[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <151913348634.28247.17519468037896960567.stgit@firesoul>
Date: Tue, 20 Feb 2018 14:31:59 +0100
From: Jesper Dangaard Brouer <brouer@...hat.com>
To: Jason Wang <jasowang@...hat.com>
Cc: "Michael S. Tsirkin" <mst@...hat.com>, netdev@...r.kernel.org,
John Fastabend <john.fastabend@...il.com>,
Alexei Starovoitov <alexei.starovoitov@...il.com>,
Saeed Mahameed <saeedm@...lanox.com>,
Jesper Dangaard Brouer <brouer@...hat.com>,
Daniel Borkmann <borkmann@...earbox.net>,
"David S. Miller" <davem@...emloft.net>,
Tariq Toukan <tariqt@...lanox.com>
Subject: [net PATCH 0/4] 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.
---
Jesper Dangaard Brouer (4):
virtio_net: disable XDP_REDIRECT in receive_mergeable() case
virtio_net: fix XDP code path in receive_small()
virtio_net: fix memory leak in XDP_REDIRECT
virtio_net: fix ndo_xdp_xmit crash towards dev not ready for XDP
drivers/net/virtio_net.c | 58 +++++++++++++++++++++++++++-------------------
1 file changed, 34 insertions(+), 24 deletions(-)
--
Powered by blists - more mailing lists