diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2015-05-08 21:10:31 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-05-11 10:50:18 -0400 |
commit | 26abe14379f8e2fa3fd1bcf97c9a7ad9364886fe (patch) | |
tree | e2161c09531299ce4bfbeb1506c420b9f8db7fc2 /include/net/inet_common.h | |
parent | 11aa9c28b4209242a9de0a661a7b3405adb568a0 (diff) |
net: Modify sk_alloc to not reference count the netns of kernel sockets.
Now that sk_alloc knows when a kernel socket is being allocated modify
it to not reference count the network namespace of kernel sockets.
Keep track of if a socket needs reference counting by adding a flag to
struct sock called sk_net_refcnt.
Update all of the callers of sock_create_kern to stop using
sk_change_net and sk_release_kernel as those hacks are no longer
needed, to avoid reference counting a kernel socket.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/inet_common.h')
-rw-r--r-- | include/net/inet_common.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/inet_common.h b/include/net/inet_common.h index 4a92423eefa5..279f83591971 100644 --- a/include/net/inet_common.h +++ b/include/net/inet_common.h @@ -41,7 +41,7 @@ int inet_recv_error(struct sock *sk, struct msghdr *msg, int len, static inline void inet_ctl_sock_destroy(struct sock *sk) { - sk_release_kernel(sk); + sock_release(sk->sk_socket); } #endif |