diff options
Diffstat (limited to 'include/net/sock.h')
-rw-r--r-- | include/net/sock.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index 570c7a12b54e..7f5c41cc45a9 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -1250,6 +1250,7 @@ static inline int sk_has_allocations(const struct sock *sk) | |||
1250 | 1250 | ||
1251 | static inline void skb_set_owner_w(struct sk_buff *skb, struct sock *sk) | 1251 | static inline void skb_set_owner_w(struct sk_buff *skb, struct sock *sk) |
1252 | { | 1252 | { |
1253 | skb_orphan(skb); | ||
1253 | skb->sk = sk; | 1254 | skb->sk = sk; |
1254 | skb->destructor = sock_wfree; | 1255 | skb->destructor = sock_wfree; |
1255 | /* | 1256 | /* |
@@ -1262,6 +1263,7 @@ static inline void skb_set_owner_w(struct sk_buff *skb, struct sock *sk) | |||
1262 | 1263 | ||
1263 | static inline void skb_set_owner_r(struct sk_buff *skb, struct sock *sk) | 1264 | static inline void skb_set_owner_r(struct sk_buff *skb, struct sock *sk) |
1264 | { | 1265 | { |
1266 | skb_orphan(skb); | ||
1265 | skb->sk = sk; | 1267 | skb->sk = sk; |
1266 | skb->destructor = sock_rfree; | 1268 | skb->destructor = sock_rfree; |
1267 | atomic_add(skb->truesize, &sk->sk_rmem_alloc); | 1269 | atomic_add(skb->truesize, &sk->sk_rmem_alloc); |