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.fastab...@gmail.com>
> Signed-off-by: Jason Wang <jasow...@redhat.com>

Acked-by: Michael S. Tsirkin <m...@redhat.com>

> ---
>  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@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to