From patchwork Wed Oct 10 18:44:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 982031 X-Patchwork-Delegate: boris.brezillon@free-electrons.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arndb.de Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="eEPZyqF6"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42Vjjf3YTKz9s8F for ; Thu, 11 Oct 2018 05:46:14 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: References:List-Owner; bh=827Ta6yFNzDUl1gVhg4RIT6RUWLjV72XdaXg4RbEtRw=; b=eEP ZyqF6f4p26hDd4hJkR7sVdV8mtV6Uw9kjL9k+osXxmBha4btFTNINyjbHH6kKP5zf7VWVv05Kzg/d JsGM2RKIvKzIJo7+lv4x1egjjjDNxM542gaf+JtceDlKRCxxQqtnGmUMW5S+55uOirjBH8QqImcrf q/vCY3nrdRnp3v0DhkZpnkfJFAGFbdkDT5f+VJdV/2bdcQEzvuFrja0iJ9CgcGT6/4LmEx/xoRsKc bXoSNKgiTEVljSexgAOvPrrGyE7xQ5pILtlL+7eZuv4nEklGXw6dau+Gj22N6ipF1Ah8ReeiRycQl j8qTvcVxhr5KCJmiQtt1ueg4Ri2uPqw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gAJUh-0006Fc-9q; Wed, 10 Oct 2018 18:46:03 +0000 Received: from mout.kundenserver.de ([212.227.126.131]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gAJUc-0006Ef-B8 for linux-mtd@lists.infradead.org; Wed, 10 Oct 2018 18:46:00 +0000 Received: from wuerfel.lan ([109.193.40.16]) by mrelayeu.kundenserver.de (mreue002 [212.227.15.129]) with ESMTPA (Nemesis) id 0MIUU3-1g6jmx0dlH-004Cbx; Wed, 10 Oct 2018 20:45:36 +0200 Received: from wuerfel.lan ([109.193.40.16]) by mrelayeu.kundenserver.de (mreue002 [212.227.15.129]) with ESMTPA (Nemesis) id 0MIUU3-1g6jmx0dlH-004Cbx; Wed, 10 Oct 2018 20:45:36 +0200 From: Arnd Bergmann To: David Woodhouse , Brian Norris , Boris Brezillon , Marek Vasut , Richard Weinberger Subject: [PATCH] mtd: sa1100: avoid VLA in sa1100_setup_mtd Date: Wed, 10 Oct 2018 20:44:50 +0200 Message-Id: <20181010184533.691620-1-arnd@arndb.de> X-Mailer: git-send-email 2.18.0 X-Provags-ID: V03:K1:pHuP1hkqhMn8MKatBeMm63W7WEVioT9BzTTRBWh4fdDIu1/1sl3 0S7NXZ6D7ybiznN6tkwS8FrnE1Q+KEWhDVtTuenuj0pc5cG88o1OYdJcjmzcmlAGK969VQ3 9LpVBa6Vt88Siot4ABrLhhqoUeC5d9sgImpC7Y9gCcOOLHTzQ031XZWltDTK6H6MI2kn3zm 3UGiaP5fNE2ML5H38z4Ew== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V01:K0:VSaFjMSoa4M=:7C4ybR+/wN58XbM+2Xs8Pa gPVBmATlklcrx5ks+mTcK/tIGMY4Ywu9j6xLjaxOqo6tluyYTgStn/OqrJggxIT7cI69EAfxx 8/NSMZX+idTxT0Hyk9I3iARDK4uo7tk/kLyuDAjsD0iFXbOgnLa5aSl7D1GjSCqyDubPm/lwU o6KEy0xniCaG6uB13Vsy2YTxbO1IETANy66M6tEEedjjBo3m+0SpkRde2gC5Rad8hBOlyDnTN gBSeR/l5l/3f5UCRNgg/AqJ4OAbMqG9AZERtyMPVi6ExXs7OScfvtaIpWyxIj8W1vfm8UbzMR haVy8W257gcQFiETcpaKQAbvtw34yayjiyz3aFpstjirwWuRkg0isqomFRY1bfhdyK7ymmCMU 7PRokdVNBCltDltAFiBDedVfge6eBDryy1yHWLchQAt1bxE4IbraNRDoIaCqbk39+GN3y5CrI CDS3bW6s0h59V0WDiKd0ro7GN2XAhHhHPGlOdRlyyoqK2dsMDpkRZr3Qam/IR9E1+XSv4x7BW h5cj3nkCot7+w5DkFtbNPAer/m+egA/mC40nhvOKI9cNkhRPXkZN6f+CHv321jNGr+aFq1aCp FiUyjMxspS5P5AAMR/hiVIxhfGj3goG3wvFbuDeIeLQv7k5greH7kPoQtyObeGxijFTzARJ9l mkJG9HDZIdzU4N+rN45t+s1wHLINPc4s5W7I0qAJUFB4W1yXSM9obn1XRrNGF53bb9/k= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181010_114558_696848_847A2C5F X-CRM114-Status: GOOD ( 15.32 ) X-Spam-Score: 0.0 (/) X-Spam-Report: SpamAssassin version 3.4.1 on bombadil.infradead.org summary: Content analysis details: (0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [212.227.126.131 listed in list.dnswl.org] X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Arnd Bergmann MIME-Version: 1.0 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Enabling -Wvla found another variable-length array with randconfig testing: drivers/mtd/maps/sa1100-flash.c: In function 'sa1100_setup_mtd': drivers/mtd/maps/sa1100-flash.c:224:10: error: ISO C90 forbids variable length array 'cdev' [-Werror=vla] As far as I can tell, there is an upper bound on the number of resources that can be passed, based on the number of CS lines on the bus. In practice, all boards we support have either one or two resources, but using six to be on the safe side has no extra cost. Signed-off-by: Arnd Bergmann Reported-by: Arnd Bergmann --- drivers/mtd/maps/sa1100-flash.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/maps/sa1100-flash.c b/drivers/mtd/maps/sa1100-flash.c index 784c6e1a0391..234573b401bd 100644 --- a/drivers/mtd/maps/sa1100-flash.c +++ b/drivers/mtd/maps/sa1100-flash.c @@ -23,6 +23,8 @@ #include #include +#define SA1100_NUM_CS 6 + struct sa_subdev_info { char name[16]; struct map_info map; @@ -157,7 +159,7 @@ static struct sa_info *sa1100_setup_mtd(struct platform_device *pdev, /* * Count number of devices. */ - for (nr = 0; ; nr++) + for (nr = 0; nr < SA1100_NUM_CS; nr++) if (!platform_get_resource(pdev, IORESOURCE_MEM, nr)) break; @@ -221,7 +223,7 @@ static struct sa_info *sa1100_setup_mtd(struct platform_device *pdev, info->mtd = info->subdev[0].mtd; ret = 0; } else if (info->num_subdev > 1) { - struct mtd_info *cdev[nr]; + struct mtd_info *cdev[SA1100_NUM_CS]; /* * We detected multiple devices. Concatenate them together. */