diff options
author | Eric Dumazet | 2017-04-26 18:09:23 +0200 |
---|---|---|
committer | David S. Miller | 2017-05-01 04:23:16 +0200 |
commit | d1f496fd8f34a40458d0eda6be0655926559e546 (patch) | |
tree | 06b7b187db463b7e59a63e20498e5a57027399d1 /net/ipv4/tcp.c | |
parent | net: macb: fix phy interrupt parsing (diff) | |
download | kernel-qcow2-linux-d1f496fd8f34a40458d0eda6be0655926559e546.tar.gz kernel-qcow2-linux-d1f496fd8f34a40458d0eda6be0655926559e546.tar.xz kernel-qcow2-linux-d1f496fd8f34a40458d0eda6be0655926559e546.zip |
bpf: restore skb->sk before pskb_trim() call
While testing a fix [1] in ___pskb_trim(), addressing the WARN_ON_ONCE()
in skb_try_coalesce() reported by Andrey, I found that we had an skb
with skb->sk set but no skb->destructor.
This invalidated heuristic found in commit 158f323b9868 ("net: adjust
skb->truesize in pskb_expand_head()") and in cited patch.
Considering the BUG_ON(skb->sk) we have in skb_orphan(), we should
restrain the temporary setting to a minimal section.
[1] https://patchwork.ozlabs.org/patch/755570/
net: adjust skb->truesize in ___pskb_trim()
Fixes: 8f917bba0042 ("bpf: pass sk to helper functions")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Cc: Andrey Konovalov <andreyknvl@google.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp.c')
0 files changed, 0 insertions, 0 deletions