From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 440B3C433F5 for ; Mon, 8 Nov 2021 09:27:37 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EE676610A3 for ; Mon, 8 Nov 2021 09:27:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org EE676610A3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=tq-group.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Content-ID:MIME-Version:In-Reply-To: References:Message-ID:Date:Subject:CC:To:From:Reply-To:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pgAhObAlo7b0N1cCmofBTunjszn9L+2CZRBhQwsHDbI=; b=FUpbN+Lzq3KnCu vOSi9VlWTBaxV9+J3OUa2l/ZTecerLPWu7j3AYEXOTXbW2AzBBZVEeTYCeC8QXGOlAH2tiMrmNZyE V8IHyQsdKd56Wghosse2pk8ilZeDss5kWmtjxnRnG/Tmax0a21pgsJHHl4oI5MTCcjmBgNiVFnsUs Yhg8KJd1PnosbbWk9ljR1k/Lq/OD0GpSfVYnPewpKEKXGaCAxDjkBurKyxMTthdnzZIgwxJTtQK3c 3m3MEZeh4u+VnmPNiZuYXHHSCBSI2w+TbYZogUNG+qZ5Fzi9PJ1JPvzUaIux9IcwPBAV5LT1ffJuZ QuJKPCEzFWWl+asNzgHA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mk0vZ-00FrLJ-1C; Mon, 08 Nov 2021 09:26:57 +0000 Received: from mx2.tq-group.com ([93.104.207.82]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mk0vW-00FrK6-Ea for linux-mtd@lists.infradead.org; Mon, 08 Nov 2021 09:26:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1636363614; x=1667899614; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-id: content-transfer-encoding; bh=YsIfsjOydbJ7yEJPmixPtzgjosr/9p2WG1NwLYBVfNI=; b=GdsE/Hgg4c2suUKMhJgxRJHO9gLiT6w2enke6H3vHAUbCRNWFMe92aX8 qZ55NCpU/DDkhnzUS1ZvgSbJMCSqKZszJ3eJxmTZ/unY9ZXg2anlzZ+d8 wKUtr1855hHHwa1xai9vGwhKyE/cKofe3EUzzLh6P8HNF/m1t16eeDSsR n5P2DC4DLczu7SBpFRNB2IxypNPU+OxUv7tsRQReQszr4Mf21nlG4fSZr fuPIUB1vA0FFD7Q7ZqsEmybKgprLBJkTS/hhq/N8iu2fMDC1Ui0/UQfUi ZdFtr1kTuC+pRNzpAfMnB5Z90vK4/l8Jas0wcujmkaKJzAAHZSxnfHVhD A==; X-IronPort-AV: E=Sophos;i="5.87,218,1631570400"; d="scan'208";a="1159645" Received: from unknown (HELO tq-pgp-pr2.tq-net.de) ([192.168.6.18]) by mx2-pgp.tq-group.com with ESMTP; 08 Nov 2021 10:26:49 +0100 Received: from mx2.tq-group.com ([192.168.6.8]) by tq-pgp-pr2.tq-net.de (PGP Universal service); Mon, 08 Nov 2021 10:26:49 +0100 X-PGP-Universal: processed; by tq-pgp-pr2.tq-net.de on Mon, 08 Nov 2021 10:26:49 +0100 X-IronPort-AV: E=Sophos;i="5.87,218,1631570400"; d="scan'208";a="1159644" Received: from vmail01.tq-net.de ([10.150.72.11]) by mx2.tq-group.com with ESMTP; 08 Nov 2021 10:26:49 +0100 Received: from vmail01.tq-net.de (10.150.72.11) by vmail01.tq-net.de (10.150.72.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.15; Mon, 8 Nov 2021 10:26:49 +0100 Received: from vmail01.tq-net.de ([10.150.72.11]) by vmail01.tq-net.de ([10.150.72.11]) with mapi id 15.01.2308.015; Mon, 8 Nov 2021 10:26:49 +0100 From: "Stein, Alexander" To: "p.yadav@ti.com" , "vigneshr@ti.com" , "michael@walle.cc" , "tudor.ambarus@microchip.com" CC: "linux-kernel@vger.kernel.org" , "linux-mtd@lists.infradead.org" Subject: Re: (EXT) [PATCH 1/2] mtd: spi-nor: Fix shift-out-of-bounds Thread-Topic: (EXT) [PATCH 1/2] mtd: spi-nor: Fix shift-out-of-bounds Thread-Index: AQHX0uPOpq2SCHKAhUucvM9nE2hnpqv5TviA Date: Mon, 8 Nov 2021 09:26:49 +0000 Message-ID: <5f104ec3b6ad492212105ad59ba135ff8ed2cd0d.camel@tq-group.com> References: <20211106075616.95401-1-tudor.ambarus@microchip.com> <20211106075616.95401-2-tudor.ambarus@microchip.com> In-Reply-To: <20211106075616.95401-2-tudor.ambarus@microchip.com> Accept-Language: de-DE, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.150.72.21] MIME-Version: 1.0 Content-Language: en-US Content-ID: <578596A275E6EF4698090A05E2C24D9E@tq-group.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211108_012654_871289_F99BECCA X-CRM114-Status: GOOD ( 18.16 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org Am Samstag, dem 06.11.2021 um 09:56 +0200 schrieb Tudor Ambarus: > When paring SFDP we may choose to mask out an erase type, passing > an erase size of zero to spi_nor_set_erase_type(). > Fix shift-out-of-bounds and just clear the erase params when > passing zero for erase size. > While here avoid a superfluous dereference and use 'size' directly. > > UBSAN: shift-out-of-bounds in drivers/mtd/spi-nor/core.c:2237:24 > shift exponent 4294967295 is too large for 32-bit type 'int' > > Fixes: 5390a8df769e ("mtd: spi-nor: add support to non-uniform SFDP > SPI NOR flash memories") > Reported-by: Alexander Stein < > Alexander.Stein@tq-group.com > > > Signed-off-by: Tudor Ambarus < > tudor.ambarus@microchip.com > > > --- > drivers/mtd/spi-nor/core.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c > index 3d97c189c332..a1b5d5432f41 100644 > --- a/drivers/mtd/spi-nor/core.c > +++ b/drivers/mtd/spi-nor/core.c > @@ -2230,8 +2230,13 @@ void spi_nor_set_erase_type(struct > spi_nor_erase_type *erase, u32 size, > erase->size = size; > erase->opcode = opcode; > /* JEDEC JESD216B Standard imposes erase sizes to be power of > 2. */ > - erase->size_shift = ffs(erase->size) - 1; > - erase->size_mask = (1 << erase->size_shift) - 1; > + if (size) { > + erase->size_shift = ffs(size) - 1; > + erase->size_mask = (1 << erase->size_shift) - 1; > + } else { > + erase->size_shift = 0; > + erase->size_mask = 0; > + } > } > > /** Tested-By: Alexander Stein It fixes the UBSAN error and my spi-nor flash can still be detected. Best regards, Alexander ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D1E0BC433EF for ; Mon, 8 Nov 2021 09:34:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B4E586125F for ; Mon, 8 Nov 2021 09:34:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236881AbhKHJgn (ORCPT ); Mon, 8 Nov 2021 04:36:43 -0500 Received: from mx2.tq-group.com ([93.104.207.82]:42810 "EHLO mx2.tq-group.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235884AbhKHJgm (ORCPT ); Mon, 8 Nov 2021 04:36:42 -0500 X-Greylist: delayed 427 seconds by postgrey-1.27 at vger.kernel.org; Mon, 08 Nov 2021 04:36:41 EST DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1636364038; x=1667900038; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-id: content-transfer-encoding; bh=YsIfsjOydbJ7yEJPmixPtzgjosr/9p2WG1NwLYBVfNI=; b=UpOxOqpdorvBK3bVXBy9MKQ1zD8BDwwiK4uv+2602XNG+seRS5eHjTRX j9SsmZRMIWEaQuKcLGVrM/6AOS9oJEklxb1oowLmyv1uWozH+L4nl+7DU aKNF6qHNGZgmwpGQNQJF3lEybPZ/tFTazGmCaxoYZ+LpSytCno7F1+tea PQLEo6ztau2cF1f1oADT7ZPLUtCqxxMiBr5hZd/n27Xy8+jwUc4f/ulRU FQwA8i0eiNuNkNgDKVSC1KhevFKXZh7Ssmp4H6AbOu0W4we98P/yaCjqq t+WfhvCiRIKiG46VBR7JyXiUefrOGPOWQtoB+GlV7cYNddvqI4FCWA4+3 Q==; X-IronPort-AV: E=Sophos;i="5.87,218,1631570400"; d="scan'208";a="1159645" Received: from unknown (HELO tq-pgp-pr2.tq-net.de) ([192.168.6.18]) by mx2-pgp.tq-group.com with ESMTP; 08 Nov 2021 10:26:49 +0100 Received: from mx2.tq-group.com ([192.168.6.8]) by tq-pgp-pr2.tq-net.de (PGP Universal service); Mon, 08 Nov 2021 10:26:49 +0100 X-PGP-Universal: processed; by tq-pgp-pr2.tq-net.de on Mon, 08 Nov 2021 10:26:49 +0100 X-IronPort-AV: E=Sophos;i="5.87,218,1631570400"; d="scan'208";a="1159644" Received: from vmail01.tq-net.de ([10.150.72.11]) by mx2.tq-group.com with ESMTP; 08 Nov 2021 10:26:49 +0100 Received: from vmail01.tq-net.de (10.150.72.11) by vmail01.tq-net.de (10.150.72.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.15; Mon, 8 Nov 2021 10:26:49 +0100 Received: from vmail01.tq-net.de ([10.150.72.11]) by vmail01.tq-net.de ([10.150.72.11]) with mapi id 15.01.2308.015; Mon, 8 Nov 2021 10:26:49 +0100 From: "Stein, Alexander" To: "p.yadav@ti.com" , "vigneshr@ti.com" , "michael@walle.cc" , "tudor.ambarus@microchip.com" CC: "linux-kernel@vger.kernel.org" , "linux-mtd@lists.infradead.org" Subject: Re: (EXT) [PATCH 1/2] mtd: spi-nor: Fix shift-out-of-bounds Thread-Topic: (EXT) [PATCH 1/2] mtd: spi-nor: Fix shift-out-of-bounds Thread-Index: AQHX0uPOpq2SCHKAhUucvM9nE2hnpqv5TviA Date: Mon, 8 Nov 2021 09:26:49 +0000 Message-ID: <5f104ec3b6ad492212105ad59ba135ff8ed2cd0d.camel@tq-group.com> References: <20211106075616.95401-1-tudor.ambarus@microchip.com> <20211106075616.95401-2-tudor.ambarus@microchip.com> In-Reply-To: <20211106075616.95401-2-tudor.ambarus@microchip.com> Accept-Language: de-DE, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.150.72.21] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: <578596A275E6EF4698090A05E2C24D9E@tq-group.com> Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQoNCkFtIFNhbXN0YWcsIGRlbSAwNi4xMS4yMDIxIHVtIDA5OjU2ICswMjAwIHNjaHJpZWIgVHVk b3IgQW1iYXJ1czoNCj4gV2hlbiBwYXJpbmcgU0ZEUCB3ZSBtYXkgY2hvb3NlIHRvIG1hc2sgb3V0 IGFuIGVyYXNlIHR5cGUsIHBhc3NpbmcNCj4gYW4gZXJhc2Ugc2l6ZSBvZiB6ZXJvIHRvIHNwaV9u b3Jfc2V0X2VyYXNlX3R5cGUoKS4NCj4gRml4IHNoaWZ0LW91dC1vZi1ib3VuZHMgYW5kIGp1c3Qg Y2xlYXIgdGhlIGVyYXNlIHBhcmFtcyB3aGVuDQo+IHBhc3NpbmcgemVybyBmb3IgZXJhc2Ugc2l6 ZS4NCj4gV2hpbGUgaGVyZSBhdm9pZCBhIHN1cGVyZmx1b3VzIGRlcmVmZXJlbmNlIGFuZCB1c2Ug J3NpemUnIGRpcmVjdGx5Lg0KPiANCj4gVUJTQU46IHNoaWZ0LW91dC1vZi1ib3VuZHMgaW4gZHJp dmVycy9tdGQvc3BpLW5vci9jb3JlLmM6MjIzNzoyNA0KPiBzaGlmdCBleHBvbmVudCA0Mjk0OTY3 Mjk1IGlzIHRvbyBsYXJnZSBmb3IgMzItYml0IHR5cGUgJ2ludCcNCj4gDQo+IEZpeGVzOiA1Mzkw YThkZjc2OWUgKCJtdGQ6IHNwaS1ub3I6IGFkZCBzdXBwb3J0IHRvIG5vbi11bmlmb3JtIFNGRFAN Cj4gU1BJIE5PUiBmbGFzaCBtZW1vcmllcyIpDQo+IFJlcG9ydGVkLWJ5OiBBbGV4YW5kZXIgU3Rl aW4gPA0KPiBBbGV4YW5kZXIuU3RlaW5AdHEtZ3JvdXAuY29tDQo+ID4NCj4gU2lnbmVkLW9mZi1i eTogVHVkb3IgQW1iYXJ1cyA8DQo+IHR1ZG9yLmFtYmFydXNAbWljcm9jaGlwLmNvbQ0KPiA+DQo+ IC0tLQ0KPiAgZHJpdmVycy9tdGQvc3BpLW5vci9jb3JlLmMgfCA5ICsrKysrKystLQ0KPiAgMSBm aWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL210ZC9zcGktbm9yL2NvcmUuYyBiL2RyaXZlcnMvbXRkL3NwaS1ub3Iv Y29yZS5jDQo+IGluZGV4IDNkOTdjMTg5YzMzMi4uYTFiNWQ1NDMyZjQxIDEwMDY0NA0KPiAtLS0g YS9kcml2ZXJzL210ZC9zcGktbm9yL2NvcmUuYw0KPiArKysgYi9kcml2ZXJzL210ZC9zcGktbm9y L2NvcmUuYw0KPiBAQCAtMjIzMCw4ICsyMjMwLDEzIEBAIHZvaWQgc3BpX25vcl9zZXRfZXJhc2Vf dHlwZShzdHJ1Y3QNCj4gc3BpX25vcl9lcmFzZV90eXBlICplcmFzZSwgdTMyIHNpemUsDQo+ICAJ ZXJhc2UtPnNpemUgPSBzaXplOw0KPiAgCWVyYXNlLT5vcGNvZGUgPSBvcGNvZGU7DQo+ICAJLyog SkVERUMgSkVTRDIxNkIgU3RhbmRhcmQgaW1wb3NlcyBlcmFzZSBzaXplcyB0byBiZSBwb3dlciBv Zg0KPiAyLiAqLw0KPiAtCWVyYXNlLT5zaXplX3NoaWZ0ID0gZmZzKGVyYXNlLT5zaXplKSAtIDE7 DQo+IC0JZXJhc2UtPnNpemVfbWFzayA9ICgxIDw8IGVyYXNlLT5zaXplX3NoaWZ0KSAtIDE7DQo+ ICsJaWYgKHNpemUpIHsNCj4gKwkJZXJhc2UtPnNpemVfc2hpZnQgPSBmZnMoc2l6ZSkgLSAxOw0K PiArCQllcmFzZS0+c2l6ZV9tYXNrID0gKDEgPDwgZXJhc2UtPnNpemVfc2hpZnQpIC0gMTsNCj4g Kwl9IGVsc2Ugew0KPiArCQllcmFzZS0+c2l6ZV9zaGlmdCA9IDA7DQo+ICsJCWVyYXNlLT5zaXpl X21hc2sgPSAwOw0KPiArCX0NCj4gIH0NCj4gIA0KPiAgLyoqDQoNClRlc3RlZC1CeTogQWxleGFu ZGVyIFN0ZWluIDxBbGV4YW5kZXIuU3RlaW5AdHEtZ3JvdXAuY29tPg0KDQpJdCBmaXhlcyB0aGUg VUJTQU4gZXJyb3IgYW5kIG15IHNwaS1ub3IgZmxhc2ggY2FuIHN0aWxsIGJlIGRldGVjdGVkLg0K DQpCZXN0IHJlZ2FyZHMsDQpBbGV4YW5kZXINCg0K