From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: Re: [Xen-devel] [PATCH for stable 3.10] xen-netback: drop SKB from internal queue if frontend is disconnected Date: Fri, 11 Jul 2014 14:57:03 +0100 Message-ID: <53BFED2F.7070002@citrix.com> References: <1405084112-8134-1-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Cc: Ian Campbell , Philipp Hahn To: Wei Liu , , Return-path: Received: from smtp.citrix.com ([66.165.176.89]:54106 "EHLO SMTP.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753764AbaGKN5G (ORCPT ); Fri, 11 Jul 2014 09:57:06 -0400 In-Reply-To: <1405084112-8134-1-git-send-email-wei.liu2@citrix.com> Sender: netdev-owner@vger.kernel.org List-ID: 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. David