mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
[NETNS]: Add netns refcnt debug for kernel sockets.
Protocol control sockets and netlink kernel sockets should not prevent the namespace stop request. They are initialized and disposed in a special way by sk_change_net/sk_release_kernel. Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5d1e4468a7
commit
65a18ec58e
@ -1314,7 +1314,7 @@ void sock_net_set(struct sock *sk, struct net *net)
|
||||
static inline void sk_change_net(struct sock *sk, struct net *net)
|
||||
{
|
||||
put_net(sock_net(sk));
|
||||
sock_net_set(sk, net);
|
||||
sock_net_set(sk, hold_net(net));
|
||||
}
|
||||
|
||||
extern void sock_enable_timestamp(struct sock *sk);
|
||||
|
@ -1001,6 +1001,7 @@ void sk_release_kernel(struct sock *sk)
|
||||
|
||||
sock_hold(sk);
|
||||
sock_release(sk->sk_socket);
|
||||
release_net(sock_net(sk));
|
||||
sock_net_set(sk, get_net(&init_net));
|
||||
sock_put(sk);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user