[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH for stable 3.10] xen-netback: drop SKB from internal queue if frontend is disconnected



On Fri, Jul 11, 2014 at 02:57:03PM +0100, David Vrabel wrote:
> On 11/07/14 14:08, Wei Liu wrote:
> > 
> > --- a/drivers/net/xen-netback/netback.c
> > +++ b/drivers/net/xen-netback/netback.c
> > @@ -720,6 +720,16 @@ static void xen_netbk_rx_action(struct xen_netbk 
> > *netbk)
> >             vif = netdev_priv(skb->dev);
> >             nr_frags = skb_shinfo(skb)->nr_frags;
> >  
> > +           /* In rare case that frontend is disconnected while
> > +            * there's still SKBs stuck in netback internal
> > +            * rx_queue, drop these SKBs.
> > +            */
> > +           if (unlikely(!vif->ring_mapped)) {
> > +                   dev_kfree_skb(skb);
> > +                   xenvif_put(vif);
> > +                   continue;
> > +           }
> 
> Is this racy?  The ring may be unmapped after the test but before we put
> responses on it.
> 

Hmm... there's still a window. Ignore this patch for now. I will need to
look further into a ref-counting solution.

Wei.

> David

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.