]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'virtio_net-XDP-fixes'
authorDavid S. Miller <davem@davemloft.net>
Wed, 21 Feb 2018 20:09:30 +0000 (15:09 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Feb 2018 20:09:30 +0000 (15:09 -0500)
commit9cee9e61a940522c5df75b5d4af393ba7708dcf8
tree5986e0b30af64482afd65ea8e6013cf2fff241bb
parent9439a22d4a55038b01d1564e783a1ec4bbc3004f
parent23d1ac93ea2c8be8a71667b4586bc262495fe716
Merge branch 'virtio_net-XDP-fixes'

Jesper Dangaard Brouer says:

====================
virtio_net: several bugs in XDP code for driver virtio_net

The virtio_net driver actually violates the original memory model of
XDP causing hard to debug crashes.  Per request of John Fastabend,
instead of removing the XDP feature I'm fixing as much as possible.
While testing virtio_net with XDP_REDIRECT I found 4 different bugs.

Patch-1: not enough tail-room for build_skb in receive_mergeable()
 only option is to disable XDP_REDIRECT in receive_mergeable()

Patch-2: XDP in receive_small() basically never worked (check wrong flag)

Patch-3: fix memory leak for XDP_REDIRECT in error cases

Patch-4: avoid crash when ndo_xdp_xmit is called on dev not ready for XDP

In the longer run, we should consider introducing a separate receive
function when attaching an XDP program, and also change the memory
model to be compatible with XDP when attaching an XDP prog.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>