On Mon, May 21, 2018 at 04:35:04PM +0800, Jason Wang wrote: > We should not go for the error path after successfully transmitting a > XDP buffer after linearizing. Since the error path may try to pop and > drop next packet and increase the drop counters. Fixing this by simply > drop the refcnt of original page and go for xmit path. > > Fixes: 72979a6c3590 ("virtio_net: xdp, add slowpath case for non contiguous buffers") > Cc: John Fastabend <john.fastabend@xxxxxxxxx> > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> > --- > drivers/net/virtio_net.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c > index c15d240..6260d65 100644 > --- a/drivers/net/virtio_net.c > +++ b/drivers/net/virtio_net.c > @@ -775,7 +775,7 @@ static struct sk_buff *receive_mergeable(struct net_device *dev, > } > *xdp_xmit = true; > if (unlikely(xdp_page != page)) > - goto err_xdp; > + put_page(page); > rcu_read_unlock(); > goto xdp_xmit; > case XDP_REDIRECT: > -- > 2.7.4 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization