From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0FF5D2D73A6 for ; Sat, 17 Oct 2026 10:40:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792233625; cv=none; b=pHyTfVj4MR9rHF1E4C9m4P1ICX+CTcLSGw0kaQBKnbantzRXPxRnOEOBnTG9MQ/N0XFkgxA3koZgm6k+F/v18JaKv8ig+0BRllGzoE+lasrmKReBkI8/NHoeWE2hAWjlVkZ2psEe39jZFY7l3D1dZ+JvFSZUiyT1MAorrYmBU/A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792233625; c=relaxed/simple; bh=n6xy7ZX8imPBwcNi8IL29DLD+W92O4jwkt4NVLUBiFo=; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type: Date; b=iLkeeDfsIKNcyF6H/RB5Qo3s2gLNRDOd8YjH5Ung0i/BqRfz6xnm9gVHI9EQTkxPgmHzIlJTQJhhMABF1D7gm16HKRUlUfiFTrzzY97BWDv6Kj0Ni0dhq2RyMXZJzHIu0DyQsoCE+9og5vakhgDNTTE5rtn8C/lw8Zjzjc5g8js= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aoOyrWdJ; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aoOyrWdJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BF261F000C4; Sat, 17 Oct 2026 10:40:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792233623; bh=318XGSk7k3m8SB3ZUHCIBN+7ZAatLVpr/m6+KQ/qjEQ=; h=From:Subject:Reply-To:To:In-Reply-To:References:Date; b=aoOyrWdJAsPvHE0LuM27iNyt8kc3aYZTsUOvWs3G2SU95XkEsN3A8W8F5SeOI7yrh mdIhGxy66A1wnQmx1av7XwKGvVKZlDQagdF0mIso5KmknCMR9TzgRp1n46qAv2xnbD rufOPAeh0vLHSEgY9p+i729bb+363C7hD1wAYAYBD9Scg0DIOOGGHbGAD8+ak7wLdq u8Xp21DhPvb3PjdhetYEywufuxQxcj0BIOcVjmx2Zx0RrJlVUwiixWF8zim3gGOBX/ dXO31J94SBgBkGIHc8tUGr0ZJ42PCBxw8zbuacjMPBZINMp9GkSAfCg6AII71UV5RV /AvRkNrx62Ynw== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v9 4/8] mtd: spi-nor: sfdp: expose the SFDP as a read-only NVMEM device Reply-To: sashiko-reviews@lists.linux.dev To: "Manikandan Muralidharan" , pratyush@kernel.org, mwalle@kernel.org, takahiro.kuwano@infineon.com, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, srini@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, claudiu.beznea@tuxon.dev, linux@armlinux.org.uk, richardcochran@gmail.com, linusw@kernel.org, arnd@arndb.de, pengpeng@iscas.ac.cn, gregkh@linuxfoundation.org, mathieu.dubois-briand@bootlin.com, michael@walle.cc, linux-mtd@lists.infradead.org, devicetree@vger.kernel.org In-Reply-To: <889d6d5b7c608fd6553f38e4a34b050dcf70317f.1792145382.git.manikandan.m@microchip.com> References: <889d6d5b7c608fd6553f38e4a34b050dcf70317f.1792145382.git.manikandan.m@microchip.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Sat, 17 Oct 2026 10:40:21 +0000 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 1 potential issue(= s) to consider: - [High] mtd: spi-nor: sfdp: steals parent's nvmem-layout when 'jedec,sfdp'= node is missing -- commit e4111fea7a3c70b0bb1f5cd153a259e4fdb62c93 Author: Manikandan Muralidharan mtd: spi-nor: sfdp: expose the SFDP as a read-only NVMEM device This commit exposes the cached SFDP table as a read-only NVMEM device, rooted at the flash's SFDP child node if available. This allows generic and vendor NVMEM cells to reference SFDP data. > diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c > index 8bc117b46e028..ed478e48ca116 100644 > --- a/drivers/mtd/spi-nor/core.c > +++ b/drivers/mtd/spi-nor/core.c [ ... ] > @@ -3001,6 +3002,72 @@ static void spi_nor_init_fixup_flags(struct spi_no= r *nor) [ ... ] > +static int spi_nor_register_sfdp_nvmem(struct spi_nor *nor) > +{ > + struct device *dev =3D nor->dev; > + struct nvmem_config config =3D { }; > + struct nvmem_device *nvmem; > + struct device_node *np; > + > + if (!nor->sfdp) > + return 0; > + > + np =3D of_get_compatible_child(dev_of_node(dev), "jedec,sfdp"); > + > + config.dev =3D dev; > + config.of_node =3D np; [Severity: High] If the jedec,sfdp child node is missing from the device tree, np will be NULL and assigned to config.of_node. Does this inadvertently trigger the NVMEM core's fallback behavior? Looking at nvmem_register() in drivers/nvmem/core.c, there is a fallback mechanism for missing nodes: if (config->of_node) nvmem->dev.of_node =3D of_node_get(config->of_node); else nvmem->dev.of_node =3D of_node_get(config->dev->of_node); If config.of_node is NULL, the SFDP NVMEM device will incorrectly inherit the SPI NOR flash's main device node. The NVMEM core then searches for an nvmem-layout child node and will find the layout intended for the main flash memory, attaching all NVMEM cells to the small SFDP NVMEM device and marking the layout node populated. Later, when the MTD subsystem registers the primary NVMEM device for the actual flash contents, it will skip the layout node because it is already marked populated.=20 Could any consumer attempting to read an NVMEM cell then be misdirected=20 to the small SFDP NVMEM device's read callback instead of the main flash,=20 resulting in -EINVAL bounds check errors or corrupted data? > + config.name =3D "sfdp"; > + config.id =3D NVMEM_DEVID_AUTO; > + config.owner =3D THIS_MODULE; [ ... ] --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/cover.1792145382.gi= t.manikandan.m@microchip.com?part=3D4 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 4DB63CCF2C9 for ; Sat, 17 Oct 2026 10:40:34 +0000 (UTC) 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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:To:Subject:From:Message-ID:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=tdiAaBPZ1AyCADv6PnqnmvkW1pnUUqNc4r2qYVZF88M=; b=Jaz8lmYj3Szriz aEOrWrH6MLYrSx0Z6S3k28bOIGA6vtRmMOh2NrvakWvb9BWrIZz1kFXdSLttKqufpu9L7r+t2nDrn 460J9FXfusrLjdkxVrR8wcqich1QxSUqscAVo0q0D2W3qXMC8zfHfmRD7IckC83a/56bSiwgr+WLw MLK91kkodf7aJw80koJrwM5dY6JXFn9t89BHPqpTB0GSFEZDI6r60x/OiB0OKN787TYHO5d45EXlF LeoWvokRGhOAWcR3M7AmL3huiz1GQuXk6CCloA7x8Wkoi98AguLOKKto4Is1VFIVUviGSRT87HrNv ehI83C8vMop+qrziktpg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xI1pz-00000004fzm-0CYt; Sat, 17 Oct 2026 10:40:27 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xI1pw-00000004fzf-1eEF for linux-mtd@lists.infradead.org; Sat, 17 Oct 2026 10:40:24 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 99F89436D4; Sat, 17 Oct 2026 10:40:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BF261F000C4; Sat, 17 Oct 2026 10:40:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792233623; bh=318XGSk7k3m8SB3ZUHCIBN+7ZAatLVpr/m6+KQ/qjEQ=; h=From:Subject:Reply-To:To:In-Reply-To:References:Date; b=aoOyrWdJAsPvHE0LuM27iNyt8kc3aYZTsUOvWs3G2SU95XkEsN3A8W8F5SeOI7yrh mdIhGxy66A1wnQmx1av7XwKGvVKZlDQagdF0mIso5KmknCMR9TzgRp1n46qAv2xnbD rufOPAeh0vLHSEgY9p+i729bb+363C7hD1wAYAYBD9Scg0DIOOGGHbGAD8+ak7wLdq u8Xp21DhPvb3PjdhetYEywufuxQxcj0BIOcVjmx2Zx0RrJlVUwiixWF8zim3gGOBX/ dXO31J94SBgBkGIHc8tUGr0ZJ42PCBxw8zbuacjMPBZINMp9GkSAfCg6AII71UV5RV /AvRkNrx62Ynw== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v9 4/8] mtd: spi-nor: sfdp: expose the SFDP as a read-only NVMEM device To: "Manikandan Muralidharan" , pratyush@kernel.org, mwalle@kernel.org, takahiro.kuwano@infineon.com, miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, srini@kernel.org, nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com, claudiu.beznea@tuxon.dev, linux@armlinux.org.uk, richardcochran@gmail.com, linusw@kernel.org, arnd@arndb.de, pengpeng@iscas.ac.cn, gregkh@linuxfoundation.org, mathieu.dubois-briand@bootlin.com, michael@walle.cc, linux-mtd@lists.infradead.org, devicetree@vger.kernel.org In-Reply-To: <889d6d5b7c608fd6553f38e4a34b050dcf70317f.1792145382.git.manikandan.m@microchip.com> References: <889d6d5b7c608fd6553f38e4a34b050dcf70317f.1792145382.git.manikandan.m@microchip.com> Date: Sat, 17 Oct 2026 10:40:21 +0000 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: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIG10ZDogc3BpLW5vcjog c2ZkcDogc3RlYWxzIHBhcmVudCdzIG52bWVtLWxheW91dCB3aGVuICdqZWRlYyxzZmRwJyBub2Rl IGlzIG1pc3NpbmcKLS0KCmNvbW1pdCBlNDExMWZlYTdhM2M3MGIwYmIxZjVjZDE1M2EyNTllNGZk YjYyYzkzCkF1dGhvcjogTWFuaWthbmRhbiBNdXJhbGlkaGFyYW4gPG1hbmlrYW5kYW4ubUBtaWNy b2NoaXAuY29tPgoKbXRkOiBzcGktbm9yOiBzZmRwOiBleHBvc2UgdGhlIFNGRFAgYXMgYSByZWFk LW9ubHkgTlZNRU0gZGV2aWNlCgpUaGlzIGNvbW1pdCBleHBvc2VzIHRoZSBjYWNoZWQgU0ZEUCB0 YWJsZSBhcyBhIHJlYWQtb25seSBOVk1FTSBkZXZpY2UsCnJvb3RlZCBhdCB0aGUgZmxhc2gncyBT RkRQIGNoaWxkIG5vZGUgaWYgYXZhaWxhYmxlLiBUaGlzIGFsbG93cyBnZW5lcmljCmFuZCB2ZW5k b3IgTlZNRU0gY2VsbHMgdG8gcmVmZXJlbmNlIFNGRFAgZGF0YS4KCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbXRkL3NwaS1ub3IvY29yZS5jIGIvZHJpdmVycy9tdGQvc3BpLW5vci9jb3JlLmMKPiBp bmRleCA4YmMxMTdiNDZlMDI4Li5lZDQ3OGU0OGNhMTE2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv bXRkL3NwaS1ub3IvY29yZS5jCj4gKysrIGIvZHJpdmVycy9tdGQvc3BpLW5vci9jb3JlLmMKClsg Li4uIF0KCj4gQEAgLTMwMDEsNiArMzAwMiw3MiBAQCBzdGF0aWMgdm9pZCBzcGlfbm9yX2luaXRf Zml4dXBfZmxhZ3Moc3RydWN0IHNwaV9ub3IgKm5vcikKClsgLi4uIF0KCj4gK3N0YXRpYyBpbnQg c3BpX25vcl9yZWdpc3Rlcl9zZmRwX252bWVtKHN0cnVjdCBzcGlfbm9yICpub3IpCj4gK3sKPiAr CXN0cnVjdCBkZXZpY2UgKmRldiA9IG5vci0+ZGV2Owo+ICsJc3RydWN0IG52bWVtX2NvbmZpZyBj b25maWcgPSB7IH07Cj4gKwlzdHJ1Y3QgbnZtZW1fZGV2aWNlICpudm1lbTsKPiArCXN0cnVjdCBk ZXZpY2Vfbm9kZSAqbnA7Cj4gKwo+ICsJaWYgKCFub3ItPnNmZHApCj4gKwkJcmV0dXJuIDA7Cj4g Kwo+ICsJbnAgPSBvZl9nZXRfY29tcGF0aWJsZV9jaGlsZChkZXZfb2Zfbm9kZShkZXYpLCAiamVk ZWMsc2ZkcCIpOwo+ICsKPiArCWNvbmZpZy5kZXYgPSBkZXY7Cj4gKwljb25maWcub2Zfbm9kZSA9 IG5wOwoKW1NldmVyaXR5OiBIaWdoXQpJZiB0aGUgamVkZWMsc2ZkcCBjaGlsZCBub2RlIGlzIG1p c3NpbmcgZnJvbSB0aGUgZGV2aWNlIHRyZWUsIG5wIHdpbGwKYmUgTlVMTCBhbmQgYXNzaWduZWQg dG8gY29uZmlnLm9mX25vZGUuIERvZXMgdGhpcyBpbmFkdmVydGVudGx5IHRyaWdnZXIgdGhlCk5W TUVNIGNvcmUncyBmYWxsYmFjayBiZWhhdmlvcj8KCkxvb2tpbmcgYXQgbnZtZW1fcmVnaXN0ZXIo KSBpbiBkcml2ZXJzL252bWVtL2NvcmUuYywgdGhlcmUgaXMgYSBmYWxsYmFjawptZWNoYW5pc20g Zm9yIG1pc3Npbmcgbm9kZXM6CgogICAgaWYgKGNvbmZpZy0+b2Zfbm9kZSkKICAgICAgICAgICAg bnZtZW0tPmRldi5vZl9ub2RlID0gb2Zfbm9kZV9nZXQoY29uZmlnLT5vZl9ub2RlKTsKICAgIGVs c2UKICAgICAgICAgICAgbnZtZW0tPmRldi5vZl9ub2RlID0gb2Zfbm9kZV9nZXQoY29uZmlnLT5k ZXYtPm9mX25vZGUpOwoKSWYgY29uZmlnLm9mX25vZGUgaXMgTlVMTCwgdGhlIFNGRFAgTlZNRU0g ZGV2aWNlIHdpbGwgaW5jb3JyZWN0bHkgaW5oZXJpdAp0aGUgU1BJIE5PUiBmbGFzaCdzIG1haW4g ZGV2aWNlIG5vZGUuCgpUaGUgTlZNRU0gY29yZSB0aGVuIHNlYXJjaGVzIGZvciBhbiBudm1lbS1s YXlvdXQgY2hpbGQgbm9kZSBhbmQgd2lsbApmaW5kIHRoZSBsYXlvdXQgaW50ZW5kZWQgZm9yIHRo ZSBtYWluIGZsYXNoIG1lbW9yeSwgYXR0YWNoaW5nIGFsbCBOVk1FTQpjZWxscyB0byB0aGUgc21h bGwgU0ZEUCBOVk1FTSBkZXZpY2UgYW5kIG1hcmtpbmcgdGhlIGxheW91dCBub2RlIHBvcHVsYXRl ZC4KCkxhdGVyLCB3aGVuIHRoZSBNVEQgc3Vic3lzdGVtIHJlZ2lzdGVycyB0aGUgcHJpbWFyeSBO Vk1FTSBkZXZpY2UgZm9yIHRoZQphY3R1YWwgZmxhc2ggY29udGVudHMsIGl0IHdpbGwgc2tpcCB0 aGUgbGF5b3V0IG5vZGUgYmVjYXVzZSBpdCBpcyBhbHJlYWR5Cm1hcmtlZCBwb3B1bGF0ZWQuIAoK Q291bGQgYW55IGNvbnN1bWVyIGF0dGVtcHRpbmcgdG8gcmVhZCBhbiBOVk1FTSBjZWxsIHRoZW4g YmUgbWlzZGlyZWN0ZWQgCnRvIHRoZSBzbWFsbCBTRkRQIE5WTUVNIGRldmljZSdzIHJlYWQgY2Fs bGJhY2sgaW5zdGVhZCBvZiB0aGUgbWFpbiBmbGFzaCwgCnJlc3VsdGluZyBpbiAtRUlOVkFMIGJv dW5kcyBjaGVjayBlcnJvcnMgb3IgY29ycnVwdGVkIGRhdGE/Cgo+ICsJY29uZmlnLm5hbWUgPSAi c2ZkcCI7Cj4gKwljb25maWcuaWQgPSBOVk1FTV9ERVZJRF9BVVRPOwo+ICsJY29uZmlnLm93bmVy ID0gVEhJU19NT0RVTEU7CgpbIC4uLiBdCgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6 Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0L2NvdmVyLjE3OTIxNDUzODIuZ2l0Lm1hbmlrYW5kYW4u bUBtaWNyb2NoaXAuY29tP3BhcnQ9NAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1haWxpbmcgbGlzdApo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW10ZC8K