OSDN Git Service

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)
commit436c9453a1ac0944b82870ef2e0d9be956b396d9
treea9e1fcd3efb1351fd3baa581bcec8ec205ba38d3
parent9b2156fab0b0df7c38847148b1d42a57e7985ed1
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: f600b6905015 ("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