Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp393468ybz; Fri, 1 May 2020 00:34:57 -0700 (PDT) X-Google-Smtp-Source: APiQypJKx4y4Db2XpDXphkvH978NTxmUxqjq4YOgSHyJ2xh8BVUb9UomroY6SBfCvwvWrTQ4iIq/ X-Received: by 2002:a05:6402:1a33:: with SMTP id be19mr2476650edb.214.1588318497148; Fri, 01 May 2020 00:34:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588318497; cv=none; d=google.com; s=arc-20160816; b=gRzhmbAO0o0nPqD8hbehjd242SkxF2NAjr2Y+R7MSyT7Cr+QUnLKFTxEb7tz+D1Hop nNs/DhUkdS+rpmj2TB4aU3xR5WzjrIne/GE3H5kUNnV7TSQfHiVvVh0M0vWDSEzNFF8K Oa1U0oddQX06hmLD6tSczxE6NJw8N4vQSOvacmtty6t0WKc3Cog5XCiCy5kR3dSZrlMG G8e5UDHn5ffaFVPYz5mzQuEKoTNNWmjrWUZA3Os6bExWmJ1erQAkxQgRM9zR42LFC93/ kn8Mp+v36tVS3itqjUXoouUuExb5mcySRCozahgvKvmqO3jH4Z61FmIcEU1LDRfEjMSq +N4A== 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-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=gJ7apKoXn3g64IRXvFzyVzJGaTJIYjPhv1/dYrjmS68=; b=esysfB4HOnqQotCLJguGkcvwAv63Ptl84K6EJ0CIYfBw4rV15DgBbs3TzGbcEV8A21 mwXZfJrSLvC+IFGeF1001vxZI6PB3l1zTDjopJweGcNETeO6C1XSKMIXtvX7groCSIYK sNFrlXr/etXraAdMqSX0GepKOA0sRgN2yK0yKcuwUxMMCRY02Wwhogm7qKGFAtUbxBB0 2ukvUh/qcwK2jALrpP1Me88dMRrIwaRvSb/W8RzIY/Ti9RLJnL0+5ZJWooxfQHiIcZID dfHDnwZX3YFckKiMGO/pdudXs8qs7LigwgmDe7qxeQ6wzR4LyVIrI1tkUHYQ2lMBY97Y iz+Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n8si1252621edb.372.2020.05.01.00.34.33; Fri, 01 May 2020 00:34:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728345AbgEAHdA (ORCPT + 99 others); Fri, 1 May 2020 03:33:00 -0400 Received: from verein.lst.de ([213.95.11.211]:45092 "EHLO verein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726452AbgEAHdA (ORCPT ); Fri, 1 May 2020 03:33:00 -0400 Received: by verein.lst.de (Postfix, from userid 2407) id 4A94968D07; Fri, 1 May 2020 09:32:56 +0200 (CEST) Date: Fri, 1 May 2020 09:32:56 +0200 From: Christoph Hellwig To: Arnd Bergmann Cc: linux-kernel@vger.kernel.org, James Smart , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , Israel Rukshin , Max Gurtovoy , Ming Lei , Hannes Reinecke , linux-nvme@lists.infradead.org Subject: Re: [PATCH 15/15] nvme: avoid gcc-10 zero-length-bounds warning Message-ID: <20200501073256.GA23452@lst.de> References: <20200430213101.135134-1-arnd@arndb.de> <20200430213101.135134-16-arnd@arndb.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200430213101.135134-16-arnd@arndb.de> User-Agent: Mutt/1.5.17 (2007-11-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 30, 2020 at 11:30:57PM +0200, Arnd Bergmann wrote: > When CONFIG_ARCH_NO_SG_CHAIN is set, op->sgl[0] cannot be dereferenced, > as gcc-10 now points out: > > drivers/nvme/host/fc.c: In function 'nvme_fc_init_request': > drivers/nvme/host/fc.c:1774:29: warning: array subscript 0 is outside the bounds of an interior zero-length array 'struct scatterlist[0]' [-Wzero-length-bounds] > 1774 | op->op.fcp_req.first_sgl = &op->sgl[0]; > | ^~~~~~~~~~~ > drivers/nvme/host/fc.c:98:21: note: while referencing 'sgl' > 98 | struct scatterlist sgl[NVME_INLINE_SG_CNT]; > | ^~~ > > I don't know if this is a legitimate warning or a false-positive. > If this is just a false alarm, the warning is easily suppressed > by interpreting the array as a pointer. This looks like a surpression to be, but then again I find the new code actually cleaner, so I'm fine with it :)