Loading include/net/sock.h +0 −17 Original line number Diff line number Diff line Loading @@ -1518,7 +1518,6 @@ static inline void unlock_sock_fast(struct sock *sk, bool slow) struct sock *sk_alloc(struct net *net, int family, gfp_t priority, struct proto *prot, int kern); void sk_free(struct sock *sk); void sk_release_kernel(struct sock *sk); struct sock *sk_clone_lock(const struct sock *sk, const gfp_t priority); struct sk_buff *sock_wmalloc(struct sock *sk, unsigned long size, int force, Loading Loading @@ -2194,22 +2193,6 @@ void sock_net_set(struct sock *sk, struct net *net) write_pnet(&sk->sk_net, net); } /* * Kernel sockets, f.e. rtnl or icmp_socket, are a part of a namespace. * They should not hold a reference to a namespace in order to allow * to stop it. * Sockets after sk_change_net should be released using sk_release_kernel */ static inline void sk_change_net(struct sock *sk, struct net *net) { struct net *current_net = sock_net(sk); if (!net_eq(current_net, net)) { put_net(current_net); sock_net_set(sk, net); } } static inline struct sock *skb_steal_sock(struct sk_buff *skb) { if (skb->sk) { Loading net/core/sock.c +0 −19 Original line number Diff line number Diff line Loading @@ -1466,25 +1466,6 @@ void sk_free(struct sock *sk) } EXPORT_SYMBOL(sk_free); /* * Last sock_put should drop reference to sk->sk_net. It has already * been dropped in sk_change_net. Taking reference to stopping namespace * is not an option. * Take reference to a socket to remove it from hash _alive_ and after that * destroy it in the context of init_net. */ void sk_release_kernel(struct sock *sk) { if (sk == NULL || sk->sk_socket == NULL) return; sock_hold(sk); sock_net_set(sk, get_net(&init_net)); sock_release(sk->sk_socket); sock_put(sk); } EXPORT_SYMBOL(sk_release_kernel); static void sk_update_clone(const struct sock *sk, struct sock *newsk) { if (mem_cgroup_sockets_enabled && sk->sk_cgrp) Loading Loading
include/net/sock.h +0 −17 Original line number Diff line number Diff line Loading @@ -1518,7 +1518,6 @@ static inline void unlock_sock_fast(struct sock *sk, bool slow) struct sock *sk_alloc(struct net *net, int family, gfp_t priority, struct proto *prot, int kern); void sk_free(struct sock *sk); void sk_release_kernel(struct sock *sk); struct sock *sk_clone_lock(const struct sock *sk, const gfp_t priority); struct sk_buff *sock_wmalloc(struct sock *sk, unsigned long size, int force, Loading Loading @@ -2194,22 +2193,6 @@ void sock_net_set(struct sock *sk, struct net *net) write_pnet(&sk->sk_net, net); } /* * Kernel sockets, f.e. rtnl or icmp_socket, are a part of a namespace. * They should not hold a reference to a namespace in order to allow * to stop it. * Sockets after sk_change_net should be released using sk_release_kernel */ static inline void sk_change_net(struct sock *sk, struct net *net) { struct net *current_net = sock_net(sk); if (!net_eq(current_net, net)) { put_net(current_net); sock_net_set(sk, net); } } static inline struct sock *skb_steal_sock(struct sk_buff *skb) { if (skb->sk) { Loading
net/core/sock.c +0 −19 Original line number Diff line number Diff line Loading @@ -1466,25 +1466,6 @@ void sk_free(struct sock *sk) } EXPORT_SYMBOL(sk_free); /* * Last sock_put should drop reference to sk->sk_net. It has already * been dropped in sk_change_net. Taking reference to stopping namespace * is not an option. * Take reference to a socket to remove it from hash _alive_ and after that * destroy it in the context of init_net. */ void sk_release_kernel(struct sock *sk) { if (sk == NULL || sk->sk_socket == NULL) return; sock_hold(sk); sock_net_set(sk, get_net(&init_net)); sock_release(sk->sk_socket); sock_put(sk); } EXPORT_SYMBOL(sk_release_kernel); static void sk_update_clone(const struct sock *sk, struct sock *newsk) { if (mem_cgroup_sockets_enabled && sk->sk_cgrp) Loading