]> git.baikalelectronics.ru Git - kernel.git/commit
virtio-net: keep vnet header zeroed after processing XDP
authorJason Wang <jasowang@redhat.com>
Thu, 29 Nov 2018 05:53:16 +0000 (13:53 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 1 Dec 2018 01:25:03 +0000 (17:25 -0800)
commit68100dff98ee808a8b298a149473aee14d5d1fc9
treea9e1fcd3efb1351fd3baa581bcec8ec205ba38d3
parent76bcca4e50a87b5cf9e21751aba38fe20c930077
virtio-net: keep vnet header zeroed after processing XDP

We copy vnet header unconditionally in page_to_skb() this is wrong
since XDP may modify the packet data. So let's keep a zeroed vnet
header for not confusing the conversion between vnet header and skb
metadata.

In the future, we should able to detect whether or not the packet was
modified and keep using the vnet header when packet was not touched.

Fixes: 11c1dea1f3b7 ("virtio_net: Add XDP support")
Reported-by: Pavel Popa <pashinho1990@gmail.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c