Lines Matching refs:peer
151 static int alloc_netid(struct net *net, struct net *peer, int reqid) in alloc_netid() argument
160 return idr_alloc(&net->netns_ids, peer, min, max, GFP_ATOMIC); in alloc_netid()
169 static int net_eq_idr(int id, void *net, void *peer) in net_eq_idr() argument
171 if (net_eq(net, peer)) in net_eq_idr()
180 static int __peernet2id_alloc(struct net *net, struct net *peer, bool *alloc) in __peernet2id_alloc() argument
182 int id = idr_for_each(&net->netns_ids, net_eq_idr, peer); in __peernet2id_alloc()
194 id = alloc_netid(net, peer, -1); in __peernet2id_alloc()
203 static int __peernet2id(struct net *net, struct net *peer) in __peernet2id() argument
207 return __peernet2id_alloc(net, peer, &no); in __peernet2id()
214 int peernet2id_alloc(struct net *net, struct net *peer) in peernet2id_alloc() argument
221 alloc = atomic_read(&peer->count) == 0 ? false : true; in peernet2id_alloc()
222 id = __peernet2id_alloc(net, peer, &alloc); in peernet2id_alloc()
231 int peernet2id(struct net *net, struct net *peer) in peernet2id() argument
237 id = __peernet2id(net, peer); in peernet2id()
245 bool peernet_has_id(struct net *net, struct net *peer) in peernet_has_id() argument
247 return peernet2id(net, peer) >= 0; in peernet_has_id()
253 struct net *peer; in get_net_ns_by_id() local
260 peer = idr_find(&net->netns_ids, id); in get_net_ns_by_id()
261 if (peer) in get_net_ns_by_id()
262 get_net(peer); in get_net_ns_by_id()
266 return peer; in get_net_ns_by_id()
546 struct net *peer; in rtnl_net_newid() local
558 peer = get_net_ns_by_pid(nla_get_u32(tb[NETNSA_PID])); in rtnl_net_newid()
560 peer = get_net_ns_by_fd(nla_get_u32(tb[NETNSA_FD])); in rtnl_net_newid()
563 if (IS_ERR(peer)) in rtnl_net_newid()
564 return PTR_ERR(peer); in rtnl_net_newid()
567 if (__peernet2id(net, peer) >= 0) { in rtnl_net_newid()
573 err = alloc_netid(net, peer, nsid); in rtnl_net_newid()
580 put_net(peer); in rtnl_net_newid()
620 struct net *peer; in rtnl_net_getid() local
628 peer = get_net_ns_by_pid(nla_get_u32(tb[NETNSA_PID])); in rtnl_net_getid()
630 peer = get_net_ns_by_fd(nla_get_u32(tb[NETNSA_FD])); in rtnl_net_getid()
634 if (IS_ERR(peer)) in rtnl_net_getid()
635 return PTR_ERR(peer); in rtnl_net_getid()
643 id = peernet2id(net, peer); in rtnl_net_getid()
655 put_net(peer); in rtnl_net_getid()
667 static int rtnl_net_dumpid_one(int id, void *peer, void *data) in rtnl_net_dumpid_one() argument