virtio-net: correctly xmit linearized page on XDP_TX
authorJason Wang <jasowang@redhat.com>
Fri, 23 Dec 2016 14:37:25 +0000 (22:37 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 23 Dec 2016 18:48:54 +0000 (13:48 -0500)
After we linearize page, we should xmit this page instead of the page
of first buffer which may lead unexpected result. With this patch, we
can see correct packet during XDP_TX.

Cc: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c

index 1067253b98bec8957196f14763d614dc4efa2351..fe4562d395e3f09a33d1bdfc7beb175680453732 100644 (file)
@@ -572,7 +572,7 @@ static struct sk_buff *receive_mergeable(struct net_device *dev,
                if (unlikely(hdr->hdr.gso_type || hdr->hdr.flags))
                        goto err_xdp;
 
-               act = do_xdp_prog(vi, rq, xdp_prog, page, offset, len);
+               act = do_xdp_prog(vi, rq, xdp_prog, xdp_page, offset, len);
                switch (act) {
                case XDP_PASS:
                        if (unlikely(xdp_page != page))