From patchwork Fri Nov 9 16:56:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tudor Ambarus X-Patchwork-Id: 995658 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=microchip.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="DxGTcJri"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=infradead.org header.i=@infradead.org header.b="jzLQ7jYg"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="0B9CcOvf"; 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 42s5tQ3Bssz9sBk for ; Sat, 10 Nov 2018 03:57:34 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: 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: List-Owner; bh=23Z0bl+132esc/5P6Fl/pRQUUtWPEe9W6jp4ivsRiQM=; b=DxGTcJri88DUCA quRqT5Ymp3cIKltGMPRgM3gOBvsn7W1zqcTwblr0e6bgvH8gFARvlVmmG3ikK4MgHzX9nACC+qzeQ h3UXLFOonb8qJ/7sOfzquVcHnnrqGDN5bga6Yp7tV3GRANgWFZL6aGy1rc/oVpsEre4z3ny73//Dt d9j0Tayz5rpR/+/qk5vymgJBQs6EQk3sRgP8V25lGKaflT8dc2iIdxOWbyo0S+W9XWksyUeGqHYeB /T79Ov1pBBrOkj2jTCmsEBNjZhNk78gIqw72SbFadSIXnvkxYVQxeHQ3MYyzVoEmUxQi7GqtxAOza 0Oode8frAT13/6ngbggg==; 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 1gLA61-00057t-Ch; Fri, 09 Nov 2018 16:57:25 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5l-00055n-6D for linux-mtd@bombadil.infradead.org; Fri, 09 Nov 2018 16:57:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=MIME-Version:Content-Transfer-Encoding: Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=pBBSzEe9gydsLeyDawc+cy8G49k0qpYgoa87pCEfNS4=; b=jzLQ7jYg6A7b/2pyodci6LviST sRfwmOG54HLVB4MuyF5r6BjV22AIWZmsoFXMnvMSQF0XK2XGauUk192e7MKHIj4Za4N9Uq5A/HnVT P1mBMCw2ncIL8ymNhKZOSq+PUwWs92sWy/QMO2Vfk7xZRrpTUMC/+QyvAXCwFVP5AbX6601s9T5IT LZ3qXxSmdvoQeqzOtQil/h7ETE7pv9FlbPoRDWizVffxdrvnn+0V6PjJNnz1RIFfu3dHY5H74B0Tk Rej3tS3lApLpCdS4H6oW6Tu1DARTYSFiOxwHTdS3sig+JZIkVEDyBT44TX1dlDbgk85Jps6QUy2jp dOXQ2tbw==; Received: from esa4.microchip.iphmx.com ([68.232.154.123]) by merlin.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5i-00064C-EG for linux-mtd@lists.infradead.org; Fri, 09 Nov 2018 16:57:07 +0000 X-IronPort-AV: E=Sophos;i="5.54,483,1534834800"; d="scan'208";a="22610343" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Nov 2018 09:56:51 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.105) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 9 Nov 2018 09:56:51 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pBBSzEe9gydsLeyDawc+cy8G49k0qpYgoa87pCEfNS4=; b=0B9CcOvfFPJyR3KDxeytfhicRS3Ts9GF23vw5/1p/jprrtt1qaWDWHPEnwtfmk9sWlB67ABdanQ0rDcn6jC+ZQaHeMTpi2PAZ+dxkrxLM6XZoKweFjrejsvfSDWM9CPLcp8JnuDlHupx92WYXvAd5p36X1vpYQ+tOulgP9vg+p8= Received: from BN6PR11MB1842.namprd11.prod.outlook.com (10.175.99.146) by BN6PR11MB1905.namprd11.prod.outlook.com (10.175.100.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Fri, 9 Nov 2018 16:56:48 +0000 Received: from BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa]) by BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa%5]) with mapi id 15.20.1294.034; Fri, 9 Nov 2018 16:56:48 +0000 From: To: , , , , Subject: [PATCH v2 1/5] mtd: spi-nor: don't drop sfdp data if optional parsers fail Thread-Topic: [PATCH v2 1/5] mtd: spi-nor: don't drop sfdp data if optional parsers fail Thread-Index: AQHUeE00AxQBHvrBzkKb1srph+UtJg== Date: Fri, 9 Nov 2018 16:56:48 +0000 Message-ID: <20181109165644.30534-2-tudor.ambarus@microchip.com> References: <20181109165644.30534-1-tudor.ambarus@microchip.com> In-Reply-To: <20181109165644.30534-1-tudor.ambarus@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR07CA0231.eurprd07.prod.outlook.com (2603:10a6:802:58::34) To BN6PR11MB1842.namprd11.prod.outlook.com (2603:10b6:404:103::18) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tudor.Ambarus@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BN6PR11MB1905; 6:X6S7o0/mx1ak3AXtlzbNJ0okp4THbuPR4Yl+eIPxBIWyAP56z+o62LM9OyIWXfByxQMWvEKY89E20dWPwvZJr3gE/ldm4wyiD6WRPowVFlOKVZcAFMP8I16nRFqAgv8Tg2ItxUfJmhEs0II7bIRVH/YfTcHe30aD0yp8ko+cZtCDyjYV4UnRD4pteJoQFN1B9sTwe+c63qKqSVvlTOrHN9U5uV5nFxmV2yQPTtNuGAkNvS5joTP84u68I2HiMD0fmid1qAD8/1DHc6fdNPbrcv1SNhJNoGBY8XIudll8e1ooy0oHwD8EvOTu4dNVtoxnMMWYoSnQsgMSOO7qk/+I5OqDfp7Nt14HhA+Zr4Weu9YLAu5Ff5cwidhUYZ0yHypZnsh+cjCVpcTRfSRk+UrEWD7HFgZom/9AWT7bebRIe7p77KrYe+yGoRKs6tNfQe+/5FNGuKZYArBgi93jDjelsQ==; 5:kfQ5XVFdQcmy9UNpHzboHpGCmYvxnsPzWb5N3t3ba2TxmcXUuyjSeWZjmj3pDP4PGQq8fS/d+r1l/lSfF68j0vhmhGbzTmfsJeODOmTWPSMJdYzclSpOkV0UZrhBWz1IXlPmEpGvfwzWMHWfMmQr6/osNo/hQbilGm02F/58G8w=; 7:qa8aHhpyernTJ5m3HQ7Urb43XkIxptYp0oLUaOTDX6k7Q1zTYUpfcvKnLHIMgDfIQLyV7EpVv2JB0Gn6Nr8SS8TpBs3f0EIh/vKnfVN5qbB45dl8yE1krE1UidoKVWmJU5mAekhN6dOK2yuTITUM+w== x-ms-office365-filtering-correlation-id: eee4182f-ab9d-445d-1450-08d6466456bc x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:BN6PR11MB1905; x-ms-traffictypediagnostic: BN6PR11MB1905: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(185117386973197); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231382)(944501410)(52105095)(93006095)(93001095)(148016)(149066)(150057)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:BN6PR11MB1905; BCL:0; PCL:0; RULEID:; SRVR:BN6PR11MB1905; x-forefront-prvs: 08512C5403 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(396003)(376002)(39860400002)(346002)(136003)(189003)(199004)(6486002)(8936002)(68736007)(3846002)(81156014)(486006)(8676002)(316002)(71190400001)(2616005)(110136005)(6116002)(11346002)(14444005)(256004)(86362001)(66066001)(2201001)(39060400002)(186003)(446003)(102836004)(54906003)(71200400001)(7736002)(305945005)(14454004)(81166006)(6436002)(5660300001)(2501003)(97736004)(26005)(2906002)(1076002)(476003)(72206003)(76176011)(4326008)(99286004)(6512007)(52116002)(478600001)(386003)(2900100001)(105586002)(25786009)(106356001)(107886003)(6506007)(53936002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR11MB1905; H:BN6PR11MB1842.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: VzEtzmAmIJvKeBK0mCrCt4BRezl2MuVbyvL1nUY7M6u0glGry/s0qHgx/mm72OnUb+ypUQxnVQ0MRiKlIPif0p+P3Pqo8a4c+nqmNX9Lc9PpNHr9zClTGI++/pFJCOSMLBgWRQhR+TvJnQHGV5o9DNm1SU/DEsR8zrpJB9QDt9kSp5q03nJG/R3iCgKKkHOT5MmtG62HMgdVtgQBtya0UaYa7qaSvslODbNVVLYm9KnUDH5/79FiDvrAiih+NnqYeMVEgcWnlMhIodCyzFcycp+NjHNl3NGK0v6fGYaNMao5FWMKi5pfGAXmvOxZzPUDf3f7K8Cibl8vnVkYxsnAXD1gWfyw7tBXhvtoDmBEHJs= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: eee4182f-ab9d-445d-1450-08d6466456bc X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2018 16:56:48.7446 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1905 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181109_115706_796270_2AD04559 X-CRM114-Status: GOOD ( 14.75 ) X-Spam-Score: -0.8 (/) X-Spam-Report: SpamAssassin version 3.4.2 on merlin.infradead.org summary: Content analysis details: (-0.8 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [68.232.154.123 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIMWL_WL_MED DKIMwl.org - Whitelisted Medium sender 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: yogeshnarayan.gaur@nxp.com, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Tudor.Ambarus@microchip.com, cyrille.pitchen@wedev4u.fr Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org JESD216C states that just the Basic Flash Parameter Table is mandatory. Already defined (or future) additional parameter headers and tables are optional. Don't drop already collected sfdp data in case an optional table parser fails. In case of failing, each optional parser is responsible to roll back to the previously known spi_nor data. Fixes: b038e8e3be72 ("mtd: spi-nor: parse SFDP Sector Map Parameter Table") Reported-by: Yogesh Gaur Suggested-by: Boris Brezillon Signed-off-by: Tudor Ambarus Tested-by: Yogesh Gaur --- v2: update Fixes tag to point to correct commit drivers/mtd/spi-nor/spi-nor.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 4a96ee719e5a..2cdf96013689 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -3130,7 +3130,7 @@ static int spi_nor_parse_sfdp(struct spi_nor *nor, if (err) goto exit; - /* Parse other parameter headers. */ + /* Parse optional parameter tables. */ for (i = 0; i < header.nph; i++) { param_header = ¶m_headers[i]; @@ -3143,8 +3143,17 @@ static int spi_nor_parse_sfdp(struct spi_nor *nor, break; } - if (err) - goto exit; + if (err) { + dev_warn(dev, "Failed to parse optional parameter table: %04x\n", + SFDP_PARAM_HEADER_ID(param_header)); + /* + * Let's not drop all information we extracted so far + * if optional table parsers fail. In case of failing, + * each optional parser is responsible to roll back to + * the previously known spi_nor data. + */ + err = 0; + } } exit: From patchwork Fri Nov 9 16:56:50 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tudor Ambarus X-Patchwork-Id: 995661 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=microchip.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="vA8G1BCs"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=infradead.org header.i=@infradead.org header.b="zoj7jfJW"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="PTqYLTzA"; 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 42s5tx336hz9sBk for ; Sat, 10 Nov 2018 03:58:01 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: 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: List-Owner; bh=jBlIkrNokS/eKZrOE84AtTP0OBipPytyKU8pvmqSfvM=; b=vA8G1BCs5U6bEd mriygXDig6jH2HGrNwdUvrFngkTcGQQDGLTFco6twg+2RShvAzkh65JRJIVk8Pf4z6A85jm/hUcck ClP7J4hqXqrA2i11U5p1h0YAYZNPu3fiIKCz26t+rl2XLCT5jUrD6+NdAkIpmu2nQpB2upFTwa0lc 4xAYCjOEiYHcGLi6jd0jyNRYOq/Py/JQbKWkOGAhYbT811fpGF3RtZb9a4vDABIw36tkxyZJJF3So aSYZDmcxQtkjOkPHbHFYEFvCxOBSfZNDYIVTRjndCgrKZ90prKl3fEOMgZ5wLpRcfiBmw+7NHUrgg 4xumIVu8wBmJyvmLor1Q==; 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 1gLA6S-0005bi-TU; Fri, 09 Nov 2018 16:57:52 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5l-00056I-HJ for linux-mtd@bombadil.infradead.org; Fri, 09 Nov 2018 16:57:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=MIME-Version:Content-Transfer-Encoding: Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=0NzgsXh84Z4sLp4D7cOVNngWNaNVlzL30QoQBQIdt0g=; b=zoj7jfJWyT1249PteZbsDc4AaT xyZjX12dcKufYZPBJv0f86tfDskxEYAN9xc9YmX8CoqDroK2Y/qGcUDKjK303usqJ8aelfkWKG9/c C1UwDDCvlbArYG1eUxDxVuRRy2eedl3DQEuTO7KZIWd7MpGYRaOhNnhTbAcFUx2GIoOx4A3zsQdtU X3YYU3Q6iux3j8Ot2v+W3TDAzPvgOYfB88MpAYJksZKXbergrtt2cWF5YPqteCPOdxwiwkyoR6Y/k LiOdGoz2YQLnu2D5rYuysGyo86AkC6yMBEHtd15FweGg0bRWw14+mHUUPwxHeP9igCCcRJNBuJvFG AWsNOOWQ==; Received: from esa6.microchip.iphmx.com ([216.71.154.253]) by merlin.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5i-00064D-FW for linux-mtd@lists.infradead.org; Fri, 09 Nov 2018 16:57:07 +0000 X-IronPort-AV: E=Sophos;i="5.54,483,1534834800"; d="scan'208";a="20177808" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa6.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Nov 2018 09:56:53 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.105) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 9 Nov 2018 09:56:53 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0NzgsXh84Z4sLp4D7cOVNngWNaNVlzL30QoQBQIdt0g=; b=PTqYLTzABa2Zjs8PcM8ATwcGaiG2Sa2qkCPC0x/lY2OlW6kZTOObFkCJTQhn/mHNrzO5s3AKmjueMS8AGQSXXLk5ZNHgcDv1YCl5HTdHD4UW1MbNApRJYsf1xZHq7AcfxIKmC7LYF6jQiN4bQKC9N4h1Nqw45eD+t6RH9rHZ12E= Received: from BN6PR11MB1842.namprd11.prod.outlook.com (10.175.99.146) by BN6PR11MB1905.namprd11.prod.outlook.com (10.175.100.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Fri, 9 Nov 2018 16:56:50 +0000 Received: from BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa]) by BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa%5]) with mapi id 15.20.1294.034; Fri, 9 Nov 2018 16:56:50 +0000 From: To: , , , , Subject: [PATCH v2 2/5] mtd: spi-nor: fix iteration over smpt array Thread-Topic: [PATCH v2 2/5] mtd: spi-nor: fix iteration over smpt array Thread-Index: AQHUeE01oW+J2GHi+UWMkO6cLyG/dQ== Date: Fri, 9 Nov 2018 16:56:50 +0000 Message-ID: <20181109165644.30534-3-tudor.ambarus@microchip.com> References: <20181109165644.30534-1-tudor.ambarus@microchip.com> In-Reply-To: <20181109165644.30534-1-tudor.ambarus@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR07CA0231.eurprd07.prod.outlook.com (2603:10a6:802:58::34) To BN6PR11MB1842.namprd11.prod.outlook.com (2603:10b6:404:103::18) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tudor.Ambarus@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BN6PR11MB1905; 6:QefcSEoXd4VZLTgolRp49I3sGHQitxQJ7WuXeumBgCp1nM/oHDrGOTzNng9p60rgp13NpmmxGZomXgQQm/Og6gnANPatPRIG3IQnPuJtwGfUd7n6M0KzRXn2klvI3K96R+whfljvbDsvnr/3Di8iLeaI1WRSr7mCsknDSWm4Bp+xlJr1aDQ+HWeyJWbATwL4N4ycsKU90kP8g9GG4RNF+pqF9iGOenYpx3NFM2CfIXJOT0dm41TvJ2ac31cNk+IqbOCfdsbYdymMhFAO5RVT+l607TFAEgv4rOtu2lrRorj6VCmKvIK8ORDv3NJRiXc3LF3Y8UEeaVfQyn06rJz7mfqcgynkO/5eoLO1o0Ae4CJuXIMloGqSjIrVRAvE4R4EdeKT/0dq65KqKLOyMh06/FPp5SdU0NzJPkKe01e5nKXX6AxFQEC4z3J1eIbBwTJL1PHISMqepWbd7340NIBoog==; 5:OJd5kNvkFk4q8IGJ81ebX/qbAJObxFSQyLB+ZAt+Q9oMDNHMc9HQivjVjLrzYkXDTn9aHa7KADLTGBcDPG4G1VCSuMznPxhrShbRsv3nv+ZTqBxQym2WKs1z+AO/nGUZ31dKe/7fNGAqV1UXXmdjVo0D0Il+AU6dBo4/HKRHBP8=; 7:btcaahfbIohqpNhGEsZMiBHgeZeX1qQYDR7x66zQ7RCcvaHOafCFtR+RJfqrSlEGrz9L6Nz6YCA3dBQWe+Tbf0KuPktnqDIUDpWbJtRfGfxOUhLc6r9amktytk/rFJD+/dB6d1WSPJPwONuT9cj1ig== x-ms-office365-filtering-correlation-id: f553447e-dcd2-4ef0-9e0b-08d6466457df x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:BN6PR11MB1905; x-ms-traffictypediagnostic: BN6PR11MB1905: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231382)(944501410)(52105095)(93006095)(93001095)(148016)(149066)(150057)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:BN6PR11MB1905; BCL:0; PCL:0; RULEID:; SRVR:BN6PR11MB1905; x-forefront-prvs: 08512C5403 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(396003)(376002)(39860400002)(346002)(136003)(189003)(199004)(6486002)(8936002)(68736007)(3846002)(81156014)(486006)(8676002)(316002)(71190400001)(2616005)(110136005)(6116002)(11346002)(256004)(86362001)(66066001)(2201001)(39060400002)(186003)(446003)(102836004)(54906003)(71200400001)(7736002)(305945005)(14454004)(81166006)(6436002)(5660300001)(2501003)(97736004)(26005)(2906002)(1076002)(476003)(72206003)(76176011)(4326008)(99286004)(6512007)(52116002)(478600001)(386003)(2900100001)(105586002)(25786009)(106356001)(107886003)(6506007)(53936002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR11MB1905; H:BN6PR11MB1842.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: nFmOaE7GyIdR2Fl/LlocfBACdqx5jpyMu5vR7mCX3sYn9AAhOpHPYk/tIrCAzyMr2CRkTuUGX5UlOR5nFRzA7J6Bf1D5UzDdGkwJ7V7HkBrtT7QkcMGjfHpNwJq74MbAmwGpaP8IiA2ltjdLOur4KJpSRJFS4Bei0iT0NSJzCV5IB12Fw1zy9/4B+tIPop9/lGrD8LUa/hHpMfdklYmco3bB8ngVd+afl0hRpvkgvWpDDvn/gP8nnA+uSxJmJq2wO/AyRVMUx+MKWRAGfkPtHmBE3d6EDzSuvqKRw1u5GlR5WoZ3S4/U+ov+2PCb/nfnnicDUm52/9Qsbt2D734Sar6DxK5k9KKErQZ+VoGTpsM= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f553447e-dcd2-4ef0-9e0b-08d6466457df X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2018 16:56:50.7583 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1905 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181109_115706_815258_A50FBAB6 X-CRM114-Status: GOOD ( 18.89 ) X-Spam-Score: -0.8 (/) X-Spam-Report: SpamAssassin version 3.4.2 on merlin.infradead.org summary: Content analysis details: (-0.8 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [216.71.154.253 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIMWL_WL_MED DKIMwl.org - Whitelisted Medium sender 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: yogeshnarayan.gaur@nxp.com, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Tudor.Ambarus@microchip.com, cyrille.pitchen@wedev4u.fr Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Iterate over smpt array using its starting address and length instead of the blind iterations that used data found in the array. This prevents possible memory accesses outside of the smpt array boundaries in case software, or manufacturers, misrepresent smpt array fields. Fixes: b038e8e3be72 ("mtd: spi-nor: parse SFDP Sector Map Parameter Table") Suggested-by: Boris Brezillon Signed-off-by: Tudor Ambarus --- v2: add Fixes tag, add a blank line drivers/mtd/spi-nor/spi-nor.c | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 2cdf96013689..98e433e8e4c2 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -2860,12 +2860,15 @@ static u8 spi_nor_smpt_read_dummy(const struct spi_nor *nor, const u32 settings) * spi_nor_get_map_in_use() - get the configuration map in use * @nor: pointer to a 'struct spi_nor' * @smpt: pointer to the sector map parameter table + * @smpt_len: sector map parameter table length */ -static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt) +static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt, + u8 smpt_len) { const u32 *ret = NULL; - u32 i, addr; + u32 addr; int err; + u8 i; u8 addr_width, read_opcode, read_dummy; u8 read_data_mask, data_byte, map_id; @@ -2874,9 +2877,11 @@ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt) read_opcode = nor->read_opcode; map_id = 0; - i = 0; /* Determine if there are any optional Detection Command Descriptors */ - while (!(smpt[i] & SMPT_DESC_TYPE_MAP)) { + for (i = 0; i < smpt_len; i += 2) { + if (smpt[i] & SMPT_DESC_TYPE_MAP) + break; + read_data_mask = SMPT_CMD_READ_DATA(smpt[i]); nor->addr_width = spi_nor_smpt_addr_width(nor, smpt[i]); nor->read_dummy = spi_nor_smpt_read_dummy(nor, smpt[i]); @@ -2892,18 +2897,33 @@ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt) * Configuration that is currently in use. */ map_id = map_id << 1 | !!(data_byte & read_data_mask); - i = i + 2; } - /* Find the matching configuration map */ - while (SMPT_MAP_ID(smpt[i]) != map_id) { + /* + * If command descriptors are provided, they always precede map + * descriptors in the table. There is no need to start the iteration + * over smpt array all over again. + * + * Find the matching configuration map. + */ + while (i < smpt_len) { + if (SMPT_MAP_ID(smpt[i]) == map_id) { + ret = smpt + i; + break; + } + + /* + * If there are no more configuration map descriptors and no + * configuration ID matched the configuration identifier, the + * sector address map is unknown. + */ if (smpt[i] & SMPT_DESC_END) - goto out; + break; + /* increment the table index to the next map */ i += SMPT_MAP_REGION_COUNT(smpt[i]) + 1; } - ret = smpt + i; /* fall through */ out: nor->addr_width = addr_width; @@ -3025,7 +3045,7 @@ static int spi_nor_parse_smpt(struct spi_nor *nor, for (i = 0; i < smpt_header->length; i++) smpt[i] = le32_to_cpu(smpt[i]); - sector_map = spi_nor_get_map_in_use(nor, smpt); + sector_map = spi_nor_get_map_in_use(nor, smpt, smpt_header->length); if (!sector_map) { ret = -EINVAL; goto out; From patchwork Fri Nov 9 16:56:52 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tudor Ambarus X-Patchwork-Id: 995664 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=microchip.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="XZOvwLHN"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=infradead.org header.i=@infradead.org header.b="fui0RB9f"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="A64ltiKB"; 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 42s5vp6Fttz9sBk for ; Sat, 10 Nov 2018 03:58:46 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: 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: List-Owner; bh=4SYgb63+dKaiQbBBHJQchv3r6FkMYVXR0cOXl5vecDY=; b=XZOvwLHNAE37Uo THUVWYmHAvy56ZbaLuevHTrnEwutio2y1i2r6Gy1ddjcAUQf1JwzY1n9Fs+RXSYATOjZoO8/HO3D2 sNzKhWuQl2nDfWZCNe5JvuXf0ESPUFIFibf7DjZrzX5OmmW+/ZmgQuIoHMz2hctnOk0G5+WKlbOLe pq2VI8+j/Xm2QwA0ZBsYPF9I+8ONZHWtrEev1N+d/P5+NzaV7nGCMwzoF/YxgMCz3HrOQ8capI5zy jlu1LKH32J176acexPRIQIpms1R8AGKnuOSbBbU7T0x+V52dRePWjw2kmcOaf1hZTbvZs7OMzMs+s RfeBwdPQrM0Eb5aVZX5g==; 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 1gLA7F-0006NT-Dd; Fri, 09 Nov 2018 16:58:41 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA68-0005EU-6r for linux-mtd@bombadil.infradead.org; Fri, 09 Nov 2018 16:57:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Transfer-Encoding: Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=e6EmGTdbrpdj+i6Ca2VSU13l1EOW4CkdQFsrEhBiqws=; b=fui0RB9f8ZaxDG3Mc16Bdpyqmc NeAQFiYPkipXdGKQKs3rQlS7i63kMjwvhCxAO9oOG3waTUIyYzyDilk9emxU4xiaRw/bNqB8D+0nO L9UwtTp848kCKt2SvgV0eHGRVj+TmunJPlA2TolYrBiafToNNDQ0XKHTgzht4prpBBtYM3zEWpD9C PVCcuuUmqOAHkGAmeOT4fdnWxZkWTxNvG/XHUt9l9GiYnXCDHsRb0u6x9KeHbbRsao2LCa5nHcJ2v D4P0uRK5qbl278XxOMpUnQZGzhKSfBojl6JMxslTKCtVCqh7SGlGIO2KextLdYPxgkVPit/wxE57s jEV1zyYQ==; Received: from esa2.microchip.iphmx.com ([68.232.149.84]) by casper.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5k-0001Qh-Ad for linux-mtd@lists.infradead.org; Fri, 09 Nov 2018 16:57:30 +0000 X-IronPort-AV: E=Sophos;i="5.54,483,1534834800"; d="scan'208";a="22919204" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Nov 2018 09:56:55 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.49) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 9 Nov 2018 09:56:54 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e6EmGTdbrpdj+i6Ca2VSU13l1EOW4CkdQFsrEhBiqws=; b=A64ltiKBlv9xg46P391o2X0ZROjhClqICQo6yQ9bVa1IfZU5u8R4ezSfF7np+sA/BmgUE0k2x8RREuH51FFbB99otnsICjvDp3ONh++v6jE/cJ5QYb8QYHjT2qzOoynShn6kkF69t2kdXhjpXZpc+bRUXJaHlNkc/1nbQ6ZfC2w= Received: from BN6PR11MB1842.namprd11.prod.outlook.com (10.175.99.146) by BN6PR11MB1905.namprd11.prod.outlook.com (10.175.100.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Fri, 9 Nov 2018 16:56:52 +0000 Received: from BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa]) by BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa%5]) with mapi id 15.20.1294.034; Fri, 9 Nov 2018 16:56:52 +0000 From: To: , , , , Subject: [PATCH v2 3/5] mtd: spi-nor: don't overwrite errno in spi_nor_get_map_in_use() Thread-Topic: [PATCH v2 3/5] mtd: spi-nor: don't overwrite errno in spi_nor_get_map_in_use() Thread-Index: AQHUeE02e2YB+znz1EKqJk1a+8CjMQ== Date: Fri, 9 Nov 2018 16:56:52 +0000 Message-ID: <20181109165644.30534-4-tudor.ambarus@microchip.com> References: <20181109165644.30534-1-tudor.ambarus@microchip.com> In-Reply-To: <20181109165644.30534-1-tudor.ambarus@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR07CA0231.eurprd07.prod.outlook.com (2603:10a6:802:58::34) To BN6PR11MB1842.namprd11.prod.outlook.com (2603:10b6:404:103::18) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tudor.Ambarus@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BN6PR11MB1905; 6:kEoIXflPSb4oIfwtXR5Uc12tPa4cJv/aL4bsn9o0/yLRSmq5ipy45hMQ0O0FsHx8KeA/6ZRApbmUd1L8oM4xboZfno//JscpN+gYCkmypRDBhR1TjRRAONX8NG/neZE82AR5wpBQrm93vtK5kfYrG4y9OKPG6bJf7tVDex1EOr58L7pQqpdjXZTLsfBZ46NHwnaKDpr9hnT7b9fFL88BbS1u/c6/cKvDoGT0W7Jev0cQwrpxVYpKmLU/uPvbqbzZR3XNJ871mscy8JKAgwcL4RgXlKMM7KC2Od5Xdbv2xeIASxzwkB1yOe6mnEv6QMYHCoFOUv2z+NPaUu2JaHgj0zeAHyPPv7vFY1hmgc0cuG3GaHL0K6/kNAcAwpH08+QmC0dAV/rvfA6ZWmHGMCbqjrRamEsEt2M25xl3VG9FH0Uw/RU0MR/iOtWcn7YSUrsy78yaHhpSTflrxaAaGAR8ig==; 5:wEmSlkaVu+klZpwGHjOCe/VOcc7crdrQFAuN5vzli6gU3SZ25EnWw9LxmPn1bCufWGVtzaL4j3SABjHCQ0qXRY14Zeo+N97oHtcwnaveHeWryK3pTEx8uPKSSu4u4uqpjRuyl8Zar7B5dflMnQe03sAHE/c1yIcSBJGE1Ileum4=; 7:4pKBE8wlWNI06SK7fH/FD4ndtTrnNnaKg3dN5T9n0GoHe0aeJCc89K7bKmqS3s3oK8ha3UixYLtENusk1ht24fkvDS6LKF4LZaipP9gxyaGx90jGHEwMaP+e7AQaPOots05bZF1xcL1u0YJ5x1k5Bg== x-ms-office365-filtering-correlation-id: 06fa576e-b77b-4788-5bae-08d646645911 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:BN6PR11MB1905; x-ms-traffictypediagnostic: BN6PR11MB1905: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231382)(944501410)(52105095)(93006095)(93001095)(148016)(149066)(150057)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:BN6PR11MB1905; BCL:0; PCL:0; RULEID:; SRVR:BN6PR11MB1905; x-forefront-prvs: 08512C5403 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(396003)(376002)(39860400002)(346002)(136003)(189003)(199004)(6486002)(8936002)(68736007)(3846002)(81156014)(486006)(8676002)(316002)(71190400001)(2616005)(110136005)(6116002)(11346002)(256004)(86362001)(66066001)(2201001)(39060400002)(186003)(446003)(102836004)(54906003)(71200400001)(7736002)(305945005)(14454004)(81166006)(6436002)(5660300001)(2501003)(97736004)(26005)(2906002)(1076002)(476003)(72206003)(76176011)(4326008)(99286004)(6512007)(52116002)(478600001)(386003)(2900100001)(105586002)(25786009)(106356001)(107886003)(6506007)(53936002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR11MB1905; H:BN6PR11MB1842.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: UT4uDqVQd+sGbruxUCdGliZzM02kvLKdIgt+Idsbt17tKoMjmFXfd3fZ3y+dTpb2x/SeGz9/7a0sSwET5o5tFUZtj0lhRQyLKnjgVAUr7wPsT4qD8Ev0spkLsNzWrOigWUgEnSK9xTZMOIuTBpR2d2n7ilv7DSkjyEfYB9jlseNj0TteU72Qp9fwgLjVgONzqMdn4Q41NPoyi17u2e+D6HCVpiwsXOulRl+vCLcmGrb3962noDLf9YYGj7yWmUrPftSg6zStUxjfuyyUXzFgs+clx4Itabpr3I8ga7YVKmjAU+JdEFMpLtk5vXK0nSF4RnlkO95Z2VcIwmNQz/3Fk4f4EukltVN6rbNbTkH1T14= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 06fa576e-b77b-4788-5bae-08d646645911 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2018 16:56:52.6389 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1905 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181109_165725_796000_01FD30F9 X-CRM114-Status: GOOD ( 14.56 ) X-Spam-Score: -0.8 (/) X-Spam-Report: SpamAssassin version 3.4.1 on casper.infradead.org summary: Content analysis details: (-0.8 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [68.232.149.84 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIMWL_WL_MED DKIMwl.org - Whitelisted Medium sender 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: yogeshnarayan.gaur@nxp.com, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Tudor.Ambarus@microchip.com, cyrille.pitchen@wedev4u.fr Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Don't overwrite the errno from spi_nor_read_raw(). Signed-off-by: Tudor Ambarus --- drivers/mtd/spi-nor/spi-nor.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 98e433e8e4c2..04a1c5b825e6 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -2861,11 +2861,13 @@ static u8 spi_nor_smpt_read_dummy(const struct spi_nor *nor, const u32 settings) * @nor: pointer to a 'struct spi_nor' * @smpt: pointer to the sector map parameter table * @smpt_len: sector map parameter table length + * + * Return: pointer to the map in use, ERR_PTR(-errno) otherwise. */ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt, u8 smpt_len) { - const u32 *ret = NULL; + const u32 *ret; u32 addr; int err; u8 i; @@ -2889,8 +2891,10 @@ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt, addr = smpt[i + 1]; err = spi_nor_read_raw(nor, addr, 1, &data_byte); - if (err) + if (err) { + ret = ERR_PTR(err); goto out; + } /* * Build an index value that is used to select the Sector Map @@ -2906,6 +2910,7 @@ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt, * * Find the matching configuration map. */ + ret = ERR_PTR(-EINVAL); while (i < smpt_len) { if (SMPT_MAP_ID(smpt[i]) == map_id) { ret = smpt + i; @@ -3046,8 +3051,8 @@ static int spi_nor_parse_smpt(struct spi_nor *nor, smpt[i] = le32_to_cpu(smpt[i]); sector_map = spi_nor_get_map_in_use(nor, smpt, smpt_header->length); - if (!sector_map) { - ret = -EINVAL; + if (IS_ERR(sector_map)) { + ret = PTR_ERR(sector_map); goto out; } From patchwork Fri Nov 9 16:56:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tudor Ambarus X-Patchwork-Id: 995662 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=microchip.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="iWLzaSQ4"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=infradead.org header.i=@infradead.org header.b="ofuOSGtV"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="F0Y+1u07"; 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 42s5v62wghz9sBk for ; Sat, 10 Nov 2018 03:58:10 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: 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: List-Owner; bh=iC35/A1FVAQJJfeDEJ9MqXPFD1I/HuQue574DXnxJwQ=; b=iWLzaSQ4frA76D UZBClYIahyZMZ7SPirbX/MouKtoL/uyTHash9QjcOv/qg12Jvv7t+Gwi9y2rgnUtvqgFt8TvOZvp0 nxnIh0bFn5KAwiSj68b1sNH6AAcPjcsaYxuqxKS2sX4qvIQCDIQLJQi8WA1kG9j4+wC7/28pGrvdi 5RWwrqdKezNUeEqr5QB+9Mux7yoyeIT+0IFy/PMvMWAvUEECXYz9bXsh+R4B+5QuMLzYvP3eTIS5a OBRkWpAjxgyVEfoImQkcsjZ8BA/2bznNyLNVBGeYmlaFjJ7MWP8j+Whv7FWJpxnum4cvn720OSndt VerC4r5T3RMdOOVNEfpQ==; 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 1gLA6f-0005ox-IH; Fri, 09 Nov 2018 16:58:05 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5o-00057v-2S for linux-mtd@bombadil.infradead.org; Fri, 09 Nov 2018 16:57:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=MIME-Version:Content-Transfer-Encoding: Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=7NXmHcYVKDO5wCbw46GgBXtyHrLrEe8DqX7Dq2bRGHI=; b=ofuOSGtVJsP+cOGkhIq8etpeGx bWMvSOufMoRwTReL8qinb3/iG0ii6amyGCwB6YQCU2/43LoHOiDFjyy2G1KFKyS5Nl60+5px0FUSD 5Y4Cg1t2wXXwAJ5345Ksdb1cOY+zg0MiJXa5LRhr+ms11pB6f7a+CNrr4T77CfbCB7l04P/5yeMdy l4H9SGzYd8BFFNbJeDcj51pBu2tIo4No1kNjc23Ri8ZmauqyA6vn/aF37scvNTnuXdbeq6TkerSxO unY+WeySpOKBXQ2vV3F90riFtAZz99VmqK2nWawXjuPAQSYBLmYcjCDutYrZhyXbcKv5tGnnV/rtO GYD59tCQ==; Received: from esa1.microchip.iphmx.com ([68.232.147.91]) by merlin.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5l-00064E-KX for linux-mtd@lists.infradead.org; Fri, 09 Nov 2018 16:57:10 +0000 X-IronPort-AV: E=Sophos;i="5.54,483,1534834800"; d="scan'208";a="23878245" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa1.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Nov 2018 09:56:57 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.108) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 9 Nov 2018 09:56:57 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7NXmHcYVKDO5wCbw46GgBXtyHrLrEe8DqX7Dq2bRGHI=; b=F0Y+1u07wJm1ljDVYRqnpZxTRFUBz9obv3Fyw8AZkTqyscmbl0pJF+qhxMPjegYfb+E6X17mmcjS0GN21VYQ/4S6g533T48f8ASZ00VYxrBSYglu72+eC4SUikRE7Ongy7x1GAUSm/yuXr0M3p9ij/My8nrbBTsnCHFo6s4at9Y= Received: from BN6PR11MB1842.namprd11.prod.outlook.com (10.175.99.146) by BN6PR11MB1905.namprd11.prod.outlook.com (10.175.100.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Fri, 9 Nov 2018 16:56:54 +0000 Received: from BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa]) by BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa%5]) with mapi id 15.20.1294.034; Fri, 9 Nov 2018 16:56:54 +0000 From: To: , , , , Subject: [PATCH v2 4/5] mtd: spi_nor: pass DMA-able buffer to spi_nor_read_raw() Thread-Topic: [PATCH v2 4/5] mtd: spi_nor: pass DMA-able buffer to spi_nor_read_raw() Thread-Index: AQHUeE03GtkA6RMtvU+Otx7Vo91x2Q== Date: Fri, 9 Nov 2018 16:56:54 +0000 Message-ID: <20181109165644.30534-5-tudor.ambarus@microchip.com> References: <20181109165644.30534-1-tudor.ambarus@microchip.com> In-Reply-To: <20181109165644.30534-1-tudor.ambarus@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR07CA0231.eurprd07.prod.outlook.com (2603:10a6:802:58::34) To BN6PR11MB1842.namprd11.prod.outlook.com (2603:10b6:404:103::18) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tudor.Ambarus@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BN6PR11MB1905; 6:uC24TRdsEbrBoJXOB7zoyMG1AhFltI0Z/aPM4JSUdxqf7vdSanY/Jue0SEEeszQnpugy48sjnWOutGp7EnFG30Esn1UGUylCgvzSzbgmS9088TdEsikKRfF0MDQH1BO+Y050vbM6kf5OeFBQ+xW8UZWCQ3DKKuZ2Z2GqKJPnD4txqRc4NlRMSphqBTZzPeT5qWoWqCvCnm8/z1cbDNftFLlpQjuQG2llwg7rMRuOmrV4Udl3afJhxbv0pulYodZVCRByu89w7fjdJKmty3pp7DciSLrre0vgz+5PIriPad6XlULEPZqOd5TxDaYNuUXaGo46Scp+BxRig0vvyy7f4n7+84O9CJvwuasqsj09/+VLNaTkkYZdPg4kORtexUcDBoNnGLC08JWVDb2//cWuKSYxKeMWcQX/rPjj7uyZlKBJwgjI81DzBbybcTgkPUM1VJ15NPlxRXMspSI7wwUAvQ==; 5:SyS18VTMr4U1xFvK+9+AOJ9O6rVbbFNCzKBvCkZhMHB+b9D279kDwXZHyJbbatoUKNv+5aVThFHX7+b+PfomvZyJEY2WDsCnsQ8QFXKhB84sIsbGtTci/7ZVWgARF5uxQUuhTw3KqutHEZKOVZ0Yo3YWYYuOyIxPZ9dXkmNajMI=; 7:0FtDMA06mVkaHy98Db+aIhmzHOHrUXtnp/SQ9g5CIjVVv8JwgnYWEwJiM6REowl4aHxPw+53k5SNocPqK4sOehHt8pESlX+s/2orQwBvB5vq4Q8lTxl3V71Qe73+XfUYNi6M/LJ35xXDGYAoUoNfaA== x-ms-office365-filtering-correlation-id: db8a8a42-501c-48a7-5e71-08d646645a33 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020); SRVR:BN6PR11MB1905; x-ms-traffictypediagnostic: BN6PR11MB1905: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(3231382)(944501410)(52105095)(93006095)(93001095)(148016)(149066)(150057)(6041310)(20161123558120)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:BN6PR11MB1905; BCL:0; PCL:0; RULEID:; SRVR:BN6PR11MB1905; x-forefront-prvs: 08512C5403 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(396003)(376002)(39860400002)(346002)(136003)(189003)(199004)(6486002)(8936002)(68736007)(3846002)(81156014)(486006)(8676002)(316002)(71190400001)(2616005)(110136005)(6116002)(11346002)(256004)(86362001)(66066001)(2201001)(39060400002)(186003)(446003)(102836004)(54906003)(71200400001)(7736002)(305945005)(14454004)(81166006)(6436002)(5660300001)(2501003)(97736004)(26005)(2906002)(1076002)(476003)(72206003)(76176011)(4326008)(99286004)(6512007)(52116002)(478600001)(386003)(2900100001)(105586002)(25786009)(106356001)(107886003)(6506007)(53936002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR11MB1905; H:BN6PR11MB1842.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: xKqVy2bR7Ont9kY7KB9ejcM5a5ySpHqVrFTTG8G5/yThkp9UuxxsWun9a0Jecf04Df6VC162X0h0hm740VJaIKIP9cCe9pj95u0tsLDcVhKBRpkvJsdUpkPIkhmUQQ/QQ0TXIoiIK/fyc7itbVxmbUL1LdSIDqWD9mAj9eKqGcuU9/9vp/y0pI1jBOqGJguKjFn/vYs1rD4NRpREy0Rytdb2fAc5dzOqZAem6n7yF5pXzgjKMHG3NUk0DTue7x2RFR52C741AGKLkincn+OU2FCHIcYVzV73XS2CfnvwM6y/2pBa4HOVkb7glEwsKG3HwE1W90WytXEdNYdsxbOSqXl1olDDm01Bfr6J5J+lHr8= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: db8a8a42-501c-48a7-5e71-08d646645a33 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2018 16:56:54.6256 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1905 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181109_115709_821338_B1C182D1 X-CRM114-Status: GOOD ( 14.72 ) X-Spam-Score: -0.8 (/) X-Spam-Report: SpamAssassin version 3.4.2 on merlin.infradead.org summary: Content analysis details: (-0.8 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [68.232.147.91 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIMWL_WL_MED DKIMwl.org - Whitelisted Medium sender 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: yogeshnarayan.gaur@nxp.com, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Tudor.Ambarus@microchip.com, cyrille.pitchen@wedev4u.fr Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org spi_nor_read_raw() calls nor->read() which might be implemented by the m25p80 driver. m25p80 uses the spi-mem layer which requires DMA-able in/out buffers. Pass kmalloc'ed dma buffer to spi_nor_read_raw(). Fixes: b038e8e3be72 ("mtd: spi-nor: parse SFDP Sector Map Parameter Table") Signed-off-by: Tudor Ambarus --- v2: drop GFP_DMA, rename buf, add comment drivers/mtd/spi-nor/spi-nor.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 04a1c5b825e6..458ca8321999 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -2161,7 +2161,7 @@ spi_nor_set_pp_settings(struct spi_nor_pp_command *pp, * @nor: pointer to a 'struct spi_nor' * @addr: offset in the serial flash memory * @len: number of bytes to read - * @buf: buffer where the data is copied into + * @buf: buffer where the data is copied into (dma-safe memory) * * Return: 0 on success, -errno otherwise. */ @@ -2868,11 +2868,17 @@ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt, u8 smpt_len) { const u32 *ret; + u8 *buf; u32 addr; int err; u8 i; u8 addr_width, read_opcode, read_dummy; - u8 read_data_mask, data_byte, map_id; + u8 read_data_mask, map_id; + + /* Use a kmalloc'ed bounce buffer to guarantee it is DMA-able. */ + buf = kmalloc(sizeof(*buf), GFP_KERNEL); + if (!buf) + return ERR_PTR(-ENOMEM); addr_width = nor->addr_width; read_dummy = nor->read_dummy; @@ -2890,7 +2896,7 @@ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt, nor->read_opcode = SMPT_CMD_OPCODE(smpt[i]); addr = smpt[i + 1]; - err = spi_nor_read_raw(nor, addr, 1, &data_byte); + err = spi_nor_read_raw(nor, addr, 1, buf); if (err) { ret = ERR_PTR(err); goto out; @@ -2900,7 +2906,7 @@ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt, * Build an index value that is used to select the Sector Map * Configuration that is currently in use. */ - map_id = map_id << 1 | !!(data_byte & read_data_mask); + map_id = map_id << 1 | !!(*buf & read_data_mask); } /* @@ -2931,6 +2937,7 @@ static const u32 *spi_nor_get_map_in_use(struct spi_nor *nor, const u32 *smpt, /* fall through */ out: + kfree(buf); nor->addr_width = addr_width; nor->read_dummy = read_dummy; nor->read_opcode = read_opcode; From patchwork Fri Nov 9 16:56:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tudor Ambarus X-Patchwork-Id: 995663 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=microchip.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="VUASV3dl"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=infradead.org header.i=@infradead.org header.b="eUofgXGw"; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=microchiptechnology.onmicrosoft.com header.i=@microchiptechnology.onmicrosoft.com header.b="2OfgM9Mx"; 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 42s5vV0LgDz9sBk for ; Sat, 10 Nov 2018 03:58:29 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: 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: List-Owner; bh=v0CnucGv8sd83hSWuRtMZF9ViFpYQvAUX2JaGhNx8Mo=; b=VUASV3dln4q8Gx JNR+edjRHDiZIC0OcEXjln6EXbHp4ZQ8/jxdSx8y4W4l0c37v41364hEF0cezLKmLalsK1koQaBBh 0qUnE8kC80sy8/I4bOZgOBfuxNwR+WwEjEmkZ70Wom0dThBhT79bCyCa31pXeH/nj0VhdFuI64Z5v 9945+ht6VxgDD9GWaI55la+dbuYw/8O/9PWjNbm3GhoHi75LbLWI48NNMhwgtM5/V8AJ9eAtaLVK+ y96HFPqMXzCf2OjJTylcmUSe8v/QlyDiGsM1G3TDNZMce+TyBt7ejPG2yNC/9aEieoJLHzy2VNhiW +waIbREtzhtb0mwDiGAw==; 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 1gLA6u-00065J-22; Fri, 09 Nov 2018 16:58:20 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA68-0005EA-3B for linux-mtd@bombadil.infradead.org; Fri, 09 Nov 2018 16:57:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Transfer-Encoding: Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=dWoIzdf/V0PCx7GmXHQNqZHzIeZ24+ifLTuyiRgkZ1E=; b=eUofgXGwaxgWQ9HMy9cO3+MgIp MQ2/PyvbTc1lunsk7yHBh3Iso3LYxORYVAtu9Tp2VuvXpuNMupzdBVxpFLupRuKaq6grvaZur1VpG xt3BFoRLOgm8EQJ8pluTFBO9wsAR0kVedlAvoB7kRPAerswqVGFMFNBiqoUsBEdrLx923Gxo6nx4z 2sEkUeSh8XGRaTvAf4S74NvwBnEYTqw7tr13mFK2Kdl5WEfAM3U6CrIZudsLRzgs6NgFq/GQfrqIz 7mlcO3yjib60E95V2zWeyerJL3eocl3n3AGNvT86AV8WrlcetDxAX13GConEI8tr+tEIKh8EjO9Ql suf56dxQ==; Received: from esa6.microchip.iphmx.com ([216.71.154.253]) by casper.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gLA5m-0001Qp-1b for linux-mtd@lists.infradead.org; Fri, 09 Nov 2018 16:57:29 +0000 X-IronPort-AV: E=Sophos;i="5.54,483,1534834800"; d="scan'208";a="20177811" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa6.microchip.iphmx.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 09 Nov 2018 09:57:00 -0700 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.76.108) with Microsoft SMTP Server (TLS) id 14.3.352.0; Fri, 9 Nov 2018 09:57:00 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector1-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dWoIzdf/V0PCx7GmXHQNqZHzIeZ24+ifLTuyiRgkZ1E=; b=2OfgM9Mx0IpdUbanqYgWfZL3vN3h9eckyMSmFfUGOyNZq6gafKqrsk3JUpJqdITSQlVTZmgSL7mfa6YXQizdLNuqmStwJL2329o7GOhMVOyhK+KUXrecdDyfTdaZyvyqTzjiRf+ASv3rRn+KGwncUyojbt7X+C7DG7BWtHyHbek= Received: from BN6PR11MB1842.namprd11.prod.outlook.com (10.175.99.146) by BN6PR11MB1251.namprd11.prod.outlook.com (10.173.32.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.26; Fri, 9 Nov 2018 16:56:56 +0000 Received: from BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa]) by BN6PR11MB1842.namprd11.prod.outlook.com ([fe80::11b7:21db:803a:7cfa%5]) with mapi id 15.20.1294.034; Fri, 9 Nov 2018 16:56:56 +0000 From: To: , , , , Subject: [PATCH v2 5/5] mtd: spi-nor: remove unneeded smpt zeroization Thread-Topic: [PATCH v2 5/5] mtd: spi-nor: remove unneeded smpt zeroization Thread-Index: AQHUeE05/IawJabFxUqWI1XY3JgXlg== Date: Fri, 9 Nov 2018 16:56:56 +0000 Message-ID: <20181109165644.30534-6-tudor.ambarus@microchip.com> References: <20181109165644.30534-1-tudor.ambarus@microchip.com> In-Reply-To: <20181109165644.30534-1-tudor.ambarus@microchip.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: VI1PR07CA0231.eurprd07.prod.outlook.com (2603:10a6:802:58::34) To BN6PR11MB1842.namprd11.prod.outlook.com (2603:10b6:404:103::18) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Tudor.Ambarus@microchip.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [94.177.32.154] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BN6PR11MB1251; 6:BruUd5OG57tRe/u8saIhfgDnD4dbG4V5jbq3DopU7uiqNUN3+n4h6mzGh+RF9RBiaBGfEVBC3rqU6X1GVtjXc4ml11fsw91ocWyFGBLJ7xQcmS/au/BoinH/DEV3YkdPGisiov3kDvXpfkbC+qRnGVvxCUZdZU7fIf1CEnbljMOomg0/13hkQOHuVs4GW23y0LlFuRCJI9/qeh9s3aJtWFklbqXJsuSQ00IZO5pF53mMAZAz4NNRXOZFjcyDzUmStkcOsPd0vVgWQ06dBE3QSTbxkkGHO/A/seyuD30+qbmSR116/tDi/uFauH61KQoKmAz+kMmU7cG45A2Q/i6De26gykS/zY41JbzI2I3LRTGJxu7+HC5JFMmVuW+CJ80qXD4f+EP4w+SmHeL+UEZBuhSpNxpwzCruMK5VaubW4capAHhxZ5cRn47D1nsin5OLYjYP+GuKwFH+Bi86qXeMbw==; 5:0DA/hRp/Lp64MlLUt6VqpKgSN9nre8fK+rWeIXmyY4nJxVdglGgn2o5jzHFlW+Qcu8d14Ic/Vej5kxlMWIRBuwjv3wUQz4fDdlJ4i3Y4LyqnEOKWNCtUgrSmeHB9qSN8fJahaJWV1BVXMfUHj276FhecDuy5FDwr5go1E2tThcs=; 7:50w72s2Ak3Zv2bDIgt362ljCMLlMHsq28qwUWB5bKiPCkSZld64a/jFZfj/N+1mAJ9FPK1cPisUEr1+JuQLuZe+MPuJLl4rDyn90Ev+PZuOA2LdjTPEypYYiyUxiwkNacBLh+VSWt+8ayzb3ZfLosw== x-ms-office365-filtering-correlation-id: dab54c45-66f1-43dc-8de0-08d646645b60 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:BN6PR11MB1251; x-ms-traffictypediagnostic: BN6PR11MB1251: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3002001)(10201501046)(93006095)(93001095)(3231382)(944501410)(52105095)(148016)(149066)(150057)(6041310)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:BN6PR11MB1251; BCL:0; PCL:0; RULEID:; SRVR:BN6PR11MB1251; x-forefront-prvs: 08512C5403 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(346002)(376002)(39860400002)(136003)(396003)(199004)(189003)(2906002)(14454004)(2616005)(106356001)(6512007)(105586002)(6436002)(72206003)(476003)(3846002)(68736007)(36756003)(6116002)(446003)(110136005)(486006)(1076002)(2900100001)(2201001)(11346002)(6486002)(86362001)(54906003)(316002)(2501003)(102836004)(39060400002)(97736004)(386003)(4326008)(186003)(76176011)(52116002)(66066001)(99286004)(6506007)(107886003)(305945005)(81156014)(53936002)(25786009)(26005)(81166006)(8936002)(8676002)(7736002)(256004)(14444005)(71190400001)(5660300001)(478600001)(71200400001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR11MB1251; H:BN6PR11MB1842.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: microchip.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 2H67/utkln6/f+J/c6ucyeuL0hEAgeub1+8TiOgpWuGsEPSjvXc2CcDesPzSJXCkoNXWtiOxTqRWdZxx0pqNvAD3vzEU3WmJgHlLbDB4sWsrojDm1KyFZ3Ic1KBPLuBZisj5Gx2+M108LRJ/IskohVAz9IL8lxwEDrRC49HpQ+hm5luizIiuLaePUKBFJHGNnlcOSzgzhO/4eOlosFakq9d9PRhK9jeDDUhI2Lw+s3wciX0zwN4uIqiOxYZXV+gJ6oD8vE59aurXEvF3THChWn2p7sduijRPKU+336z2NNZ72BshCD5Oqh95QXz+Y5WfvPkUFkxLylcPac0DEGDRyBi5vjFVBK6ilIekUIuLYys= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: dab54c45-66f1-43dc-8de0-08d646645b60 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2018 16:56:56.6859 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1251 X-OriginatorOrg: microchip.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181109_165725_799917_8750E96B X-CRM114-Status: GOOD ( 13.47 ) X-Spam-Score: -0.8 (/) X-Spam-Report: SpamAssassin version 3.4.1 on casper.infradead.org summary: Content analysis details: (-0.8 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [216.71.154.253 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIMWL_WL_MED DKIMwl.org - Whitelisted Medium sender 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: yogeshnarayan.gaur@nxp.com, linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, Tudor.Ambarus@microchip.com, cyrille.pitchen@wedev4u.fr Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The entire smpt array is initialized with data read from sfdp, there is no need to init it with zeroes before. Signed-off-by: Tudor Ambarus --- drivers/mtd/spi-nor/spi-nor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index 458ca8321999..f9c657867e5a 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -3044,7 +3044,7 @@ static int spi_nor_parse_smpt(struct spi_nor *nor, /* Read the Sector Map Parameter Table. */ len = smpt_header->length * sizeof(*smpt); - smpt = kzalloc(len, GFP_KERNEL); + smpt = kmalloc(len, GFP_KERNEL); if (!smpt) return -ENOMEM;