Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp4133212imm; Mon, 11 Jun 2018 07:31:29 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKv4nZ6emL8Z8Cx9HRWW5peGyp9TTPxXFnWyVuZyf4KfB45of5FkG4SrYk7qhDjFYDBEYi4 X-Received: by 2002:a63:384c:: with SMTP id h12-v6mr11493337pgn.230.1528727489109; Mon, 11 Jun 2018 07:31:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528727489; cv=none; d=google.com; s=arc-20160816; b=SaKH3cv50hrfhSJfMzhPXY540C9Vr/eBPpq3dEVJSxfKm/hFChgI9C0qyGFQEN7hU4 8qhH08bnr1TrAcglAiRS508DlDCprCrkcknwUuCEGl6qi0jt1yAdP//+Z16Z1QeTE7kF AM1CyPSxglcy4TQAMWptEM8/zKATQWCRlSW+yXrR6hpOAdZVYVWmP1kIKJOJXXdCfQ9v CD/f3077Wf2djtgZpfk2S2HcwImIAkoNgHScL94/0RsfUgQf93ddm9vt/VfgIgmSPSwG jI8/ZnMl58GEMa6i4fTHH920VX51w2nfkAUjYHxTDNKGKqj67C9znab8l7d4kiR3cOHM 4rPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:date:cc:to:from:subject :message-id:arc-authentication-results; bh=uanmY8bZdDtNdBa/eBf1KAZrhCxWBA+2DyFr7Xc+MN4=; b=ts0+sT+v0ZOqQ4F2/4ok5OVYb06ldvpKfnrxwx7LJ+/Z+/0+tIeIiX8aive/LrFWgp r2jgUUR5CoquJyjB78C9zQxFiPSRCnAEdzb1/TFPloUU5qfTxg/b79S+yfxryQzWIuDU sEiFQ1hHdLx+ljggOsgF6uZQotAkPezhlEYdhUUok21NrUm1Z5gCJTVjbNXrsBe2w44Q 4k92uV3BAtWw0v6ijtkpQFfTvXltHpwKGGB8EW3s7+uJdPNRvkjIfMZmWPVHAJaedWVO dt46BqK50XItgSCJ41WHSXN+pA5ojgcAyeFwJTbc2XIkD+iKHEj14QoAhadUx1hdTJRd rxBQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=codethink.co.uk Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h16-v6si7819645pfi.84.2018.06.11.07.31.13; Mon, 11 Jun 2018 07:31:29 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=codethink.co.uk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934646AbeFKO3n (ORCPT + 99 others); Mon, 11 Jun 2018 10:29:43 -0400 Received: from imap1.codethink.co.uk ([176.9.8.82]:56243 "EHLO imap1.codethink.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932298AbeFKO3l (ORCPT ); Mon, 11 Jun 2018 10:29:41 -0400 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126] helo=xylophone) by imap1.codethink.co.uk with esmtpsa (Exim 4.84_2 #1 (Debian)) id 1fSNp7-0003SV-EC; Mon, 11 Jun 2018 15:29:33 +0100 Message-ID: <1528727372.2289.120.camel@codethink.co.uk> Subject: Re: [PATCH 4.4 059/268] xen-netfront: Fix race between device setup and open From: Ben Hutchings To: Ross Lagerwall , Boris Ostrovsky , Juergen Gross Cc: stable@vger.kernel.org, Sasha Levin , Greg Kroah-Hartman , LKML Date: Mon, 11 Jun 2018 15:29:32 +0100 In-Reply-To: <20180528100208.647996715@linuxfoundation.org> References: <20180528100202.045206534@linuxfoundation.org> <20180528100208.647996715@linuxfoundation.org> Organization: Codethink Ltd. Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.6-1+deb9u1 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2018-05-28 at 12:00 +0200, Greg Kroah-Hartman wrote: > 4.4-stable review patch.  If anyone has any objections, please let me know. > > ------------------ > > From: Ross Lagerwall > > [ Upstream commit f599c64fdf7d9c108e8717fb04bc41c680120da4 ] [...] > --- a/drivers/net/xen-netfront.c > +++ b/drivers/net/xen-netfront.c [...] > @@ -1839,6 +1824,7 @@ static int talk_to_netback(struct xenbus >   goto out; This "goto out" is outside the locked section... >   } >   > + rtnl_lock(); >   if (info->queues) >   xennet_destroy_queues(info); >   > @@ -1849,6 +1835,7 @@ static int talk_to_netback(struct xenbus >   info->queues = NULL; >   goto out; >   } > + rtnl_unlock(); >   >   /* Create shared ring, alloc event channel -- for each queue */ >   for (i = 0; i < num_queues; ++i) { > @@ -1945,8 +1932,10 @@ abort_transaction_no_dev_fatal: >   xenbus_transaction_end(xbt, 1); >   destroy_ring: >   xennet_disconnect_backend(info); > + rtnl_lock(); >   xennet_destroy_queues(info); >   out: > + rtnl_unlock(); ...so this will be an unmatched unlock. You need to add another label below the rtnl_unlock(). Ben. >   device_unregister(&dev->dev); >   return err; >  } [...] -- Ben Hutchings, Software Developer   Codethink Ltd https://www.codethink.co.uk/ Dale House, 35 Dale Street Manchester, M1 2HF, United Kingdom