]> git.baikalelectronics.ru Git - kernel.git/commit
net: make skb_set_owner_w() more robust
authorEric Dumazet <edumazet@google.com>
Sun, 1 Nov 2015 23:36:55 +0000 (15:36 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 2 Nov 2015 21:28:49 +0000 (16:28 -0500)
commit7c16448328bfc9daa2ff42615fb6159c00d9e437
tree417a79910266f08806f78be2dd970102afa3356f
parent8f648589272e208119ca9b19f34c7e521581b41a
net: make skb_set_owner_w() more robust

skb_set_owner_w() is called from various places that assume
skb->sk always point to a full blown socket (as it changes
sk->sk_wmem_alloc)

We'd like to attach skb to request sockets, and in the future
to timewait sockets as well. For these kind of pseudo sockets,
we need to take a traditional refcount and use sock_edemux()
as the destructor.

It is now time to un-inline skb_set_owner_w(), being too big.

Fixes: 4b6a53b8f218 ("tcp: attach SYNACK messages to request sockets instead of listener")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Bisected-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sock.h
net/core/sock.c
net/ipv4/tcp_output.c