Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp866307imm; Wed, 13 Jun 2018 09:27:58 -0700 (PDT) X-Google-Smtp-Source: ADUXVKImy8BQH0AEYd/dyogR0D1O5jTFxBSdHVTPAszIW4sAjckpoDcm8DnTat6ZNUef9B+o2ZtR X-Received: by 2002:a65:5143:: with SMTP id g3-v6mr4650444pgq.190.1528907278695; Wed, 13 Jun 2018 09:27:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528907278; cv=none; d=google.com; s=arc-20160816; b=qyHvOu+oq2iMXS1D4GNlT1XFIJ6WROXBkHAw029GDrv3dteKvC0lZV2H/MIF+3Yzep H5YNS3HAm+erYKLCnqbbDdKVziJsprTZ0lC6dbmeXHEUrPQkAqegMBQAGS9boaE26OE0 XskNtrQhDNRirdbYjFnoecuZYTIysPCDp2O1igH2qJ8qggPa5Wc5PVMC8Yg7gnidmVjs 9iISDfytHkYaV+JVpa43PP+dDqHN7LAtCp3rVg0Ta8op9GLH/mrG1PXmlIyAfZj4Vr+m ETBKbY3MBTibBrH3o7ong6l7RuSCcm2AajKB0kQLO43Nj8lSr3N/tEzHDdvuCgQEuQQ5 AFcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date :arc-authentication-results; bh=ZEoJzuUJErTc6SlrZZ/cqnpAVRya3dUPeFCxrmxlGfs=; b=BJXRrTRjcLw9J4z2+rT9OVUCi5jhXWY1Cn2mWLCZzURAJIBRHfrd7C4NEd7Y/igZfO O3JSZelc6RKZ2yZKITbWhYxDe8NnJ/dkYJg0RK6sOjsQDPEbiQfBnlLCyfjLg1E8j4Zt RpjKHprvB8VXrSWKC73oqjuuq0koVQTqnvm3Dj205cysxiO/5cQxXpimwzOSwM1tPeV6 J077I0WjbqdFlMTN8K5N7i/r01zh/fy8JCuutAWTcfCT442bIBqjBOd5QpHadHU1mq2q uRiR78za49OjA5nIBuJl3Lzl9ggI6VzOaO7JSwYUY0Ppxajhry7k+r6mNe/BReHxmswI 5uZA== 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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 1-v6si3287403plv.16.2018.06.13.09.27.43; Wed, 13 Jun 2018 09:27:58 -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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935123AbeFMQ1M (ORCPT + 99 others); Wed, 13 Jun 2018 12:27:12 -0400 Received: from mga17.intel.com ([192.55.52.151]:18938 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934316AbeFMQ1K (ORCPT ); Wed, 13 Jun 2018 12:27:10 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Jun 2018 09:27:10 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,219,1526367600"; d="scan'208";a="63793633" Received: from unknown (HELO localhost.localdomain) ([10.232.112.44]) by fmsmga001.fm.intel.com with ESMTP; 13 Jun 2018 09:27:10 -0700 Date: Wed, 13 Jun 2018 10:30:07 -0600 From: Keith Busch To: Ben Hutchings Cc: Jianchao Wang , stable@vger.kernel.org, Sasha Levin , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Subject: Re: [PATCH 4.4 110/268] nvme-pci: Fix nvme queue cleanup if IRQ setup fails Message-ID: <20180613163007.GD5574@localhost.localdomain> References: <20180528100202.045206534@linuxfoundation.org> <20180528100214.621806271@linuxfoundation.org> <1528906474.2289.155.camel@codethink.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1528906474.2289.155.camel@codethink.co.uk> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 13, 2018 at 05:14:34PM +0100, Ben Hutchings wrote: > On Mon, 2018-05-28 at 12:01 +0200, Greg Kroah-Hartman wrote: > > ? result = adapter_alloc_sq(dev, qid, nvmeq); > > ? if (result < 0) > > @@ -1597,9 +1597,12 @@ static int nvme_create_queue(struct nvme > > ? return result; > > ? > > ? release_sq: > > + dev->online_queues--; > > This addition looks wrong. dev->online_queues is incremented by > nvme_init_queue(), but this function only calls that at a point where > it is sure to succeed. So why would a failure path need to decrement > it? Thank you very much the catching that. This particular patch is indeed not correct without the following: 161b8be2bd6ab ("nvme-pci: initialize queue memory before interrupts")