]> www.infradead.org Git - users/jedix/linux-maple.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 17 Dec 2018 08:28:47 +0000 (09:28 +0100)
commit520e8609ecf23a3a3ac4ba88f084cb11d00f082f
treed8409588098e0611b05bf450753d64c53904201a
parent1d2cda4e8ffef837ff0f780633d536eb233a14d5
virtio-net: keep vnet header zeroed after processing XDP

[ Upstream commit 436c9453a1ac0944b82870ef2e0d9be956b396d9 ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/virtio_net.c