Lines Matching refs:peer
269 static int alloc_netid(struct net *net, struct net *peer, int reqid) in alloc_netid() argument
278 return idr_alloc(&net->netns_ids, peer, min, max, GFP_ATOMIC); in alloc_netid()
287 static int net_eq_idr(int id, void *net, void *peer) in net_eq_idr() argument
289 if (net_eq(net, peer)) in net_eq_idr()
295 static int __peernet2id(const struct net *net, struct net *peer) in __peernet2id() argument
297 int id = idr_for_each(&net->netns_ids, net_eq_idr, peer); in __peernet2id()
313 int peernet2id_alloc(struct net *net, struct net *peer, gfp_t gfp) in peernet2id_alloc() argument
321 id = __peernet2id(net, peer); in peernet2id_alloc()
332 if (!maybe_get_net(peer)) { in peernet2id_alloc()
337 id = alloc_netid(net, peer, -1); in peernet2id_alloc()
340 put_net(peer); in peernet2id_alloc()
351 int peernet2id(const struct net *net, struct net *peer) in peernet2id() argument
356 id = __peernet2id(net, peer); in peernet2id()
366 bool peernet_has_id(const struct net *net, struct net *peer) in peernet_has_id() argument
368 return peernet2id(net, peer) >= 0; in peernet_has_id()
373 struct net *peer; in get_net_ns_by_id() local
379 peer = idr_find(&net->netns_ids, id); in get_net_ns_by_id()
380 if (peer) in get_net_ns_by_id()
381 peer = maybe_get_net(peer); in get_net_ns_by_id()
384 return peer; in get_net_ns_by_id()
856 struct net *peer; in rtnl_net_newid() local
870 peer = get_net_ns_by_pid(nla_get_u32(tb[NETNSA_PID])); in rtnl_net_newid()
873 peer = get_net_ns_by_fd(nla_get_u32(tb[NETNSA_FD])); in rtnl_net_newid()
879 if (IS_ERR(peer)) { in rtnl_net_newid()
882 return PTR_ERR(peer); in rtnl_net_newid()
886 if (__peernet2id(net, peer) >= 0) { in rtnl_net_newid()
895 err = alloc_netid(net, peer, nsid); in rtnl_net_newid()
907 put_net(peer); in rtnl_net_newid()
1004 struct net *peer, *target = net; in rtnl_net_getid() local
1013 peer = get_net_ns_by_pid(nla_get_u32(tb[NETNSA_PID])); in rtnl_net_getid()
1016 peer = get_net_ns_by_fd(nla_get_u32(tb[NETNSA_FD])); in rtnl_net_getid()
1019 peer = get_net_ns_by_id(net, nla_get_s32(tb[NETNSA_NSID])); in rtnl_net_getid()
1020 if (!peer) in rtnl_net_getid()
1021 peer = ERR_PTR(-ENOENT); in rtnl_net_getid()
1028 if (IS_ERR(peer)) { in rtnl_net_getid()
1031 return PTR_ERR(peer); in rtnl_net_getid()
1046 fillargs.ref_nsid = peernet2id(net, peer); in rtnl_net_getid()
1055 fillargs.nsid = peernet2id(target, peer); in rtnl_net_getid()
1068 put_net(peer); in rtnl_net_getid()
1082 static int rtnl_net_dumpid_one(int id, void *peer, void *data) in rtnl_net_dumpid_one() argument
1092 net_cb->fillargs.ref_nsid = __peernet2id(net_cb->ref_net, peer); in rtnl_net_dumpid_one()