Subject: Re: [RFC net PATCH] virtio_net: disable XDP_REDIRECT in receive_mergeable() case

From: Jesper Dangaard Brouer <[email-masked]>
Date: Sun, 18 Feb 2018 15:22:04 +0100

On Fri, 16 Feb 2018 13:31:37 +0800 Jason Wang <[email-masked]> wrote:

> > Besides the described bug:
> >
> > Update(1): There is also a OOM leak in the XDP_REDIRECT code, which
> > receive_small() is likely also affected by.

Found the issue behind this memory leak... page refcnt issues when
hitting xmit error paths.

> > Update(2): Also observed a guest crash when redirecting out an
> > another virtio_net device, when device is down.  

Also found reason behind this. It is not related to a "down" device.
It caused by redirect into a virtio_net device that does not have setup
sufficient XDP TX queues (which it assumes is one per CPU). I have a
preliminary fix patch.

> Will have a look at these issues. (Holiday in china now, so will do it 
> after).

No worry.  I can take care of this... I'll cleanup my patches and test
them Monday, should have patches ready Tuesday... as I want to make
sure they work in all the different error cases.

I'll be working on improvements for the XDP_REDIRECT code paths anyway
next week... in preparations for supporting the AF_XDP use case.

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer