net: Remove spinlock from get_net_ns_by_id()
authorKirill Tkhai <[email protected]>
Tue, 16 Jan 2018 09:31:54 +0000 (12:31 +0300)
committerDavid S. Miller <[email protected]>
Wed, 17 Jan 2018 20:42:35 +0000 (15:42 -0500)
idr_find() is safe under rcu_read_lock() and
maybe_get_net() guarantees that net is alive.

Signed-off-by: Kirill Tkhai <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
net/core/net_namespace.c

index 3c77d84ad60d83d27924446761ffd7730a22a032..1ccb953b3b096cae2bc355b5fe20d89e40e8649d 100644 (file)
@@ -273,11 +273,9 @@ struct net *get_net_ns_by_id(struct net *net, int id)
                return NULL;
 
        rcu_read_lock();
-       spin_lock_bh(&net->nsid_lock);
        peer = idr_find(&net->netns_ids, id);
        if (peer)
                peer = maybe_get_net(peer);
-       spin_unlock_bh(&net->nsid_lock);
        rcu_read_unlock();
 
        return peer;