]> git.baikalelectronics.ru Git - kernel.git/commit
net: fix bpf_xdp_adjust_head regression for generic-XDP
authorJesper Dangaard Brouer <brouer@redhat.com>
Thu, 1 Aug 2019 18:00:31 +0000 (20:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Aug 2019 18:17:40 +0000 (11:17 -0700)
commitcc5369e4919d18fa5fdacdc244bd8fef1e2b6339
tree8646d4782ad35e0fce6e8ebcecc3896fd694154d
parent7eb2410bd8075240225ac27f2201b156c16afa35
net: fix bpf_xdp_adjust_head regression for generic-XDP

When generic-XDP was moved to a later processing step by commit
aec5ebb63e50 ("net: core: support XDP generic on stacked devices.")
a regression was introduced when using bpf_xdp_adjust_head.

The issue is that after this commit the skb->network_header is now
changed prior to calling generic XDP and not after. Thus, if the header
is changed by XDP (via bpf_xdp_adjust_head), then skb->network_header
also need to be updated again.  Fix by calling skb_reset_network_header().

Fixes: aec5ebb63e50 ("net: core: support XDP generic on stacked devices.")
Reported-by: Brandon Cazander <brandon.cazander@multapplied.net>
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c