summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMd Sadre Alam <quic_mdalam@quicinc.com>2026-02-06 14:07:52 +0530
committerMiquel Raynal <miquel.raynal@bootlin.com>2026-02-06 10:03:58 +0100
commite82269e7cb93a2d33368418be4ee56015b4adc27 (patch)
tree5f9b4dd948ecc4162ff96479e1955f56085f451b
parent1e06dbfdfb851170b243d6498e442b449324c664 (diff)
mtd: spinand: fix NULL pointer dereference in spinand_support_vendor_ops()
The spinand_support_vendor_ops() helper unconditionally dereferences info->vendor_ops. For chips that do not define vendor_ops, this pointer is NULL, leading to a kernel panic during probe: Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008 Add a guard to return early when vendor_ops is NULL. This prevents the crash and allows SPI NAND devices without vendor-specific operations to be probed correctly. Fixes: fbc7538782f8 ("mtd: spinand: List vendor specific operations and make sure they are supported") Cc: stable@vger.kernel.org Signed-off-by: Md Sadre Alam <quic_mdalam@quicinc.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
-rw-r--r--drivers/mtd/nand/spi/core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
index 514f653f27f3..29fb2ac19569 100644
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
@@ -1435,6 +1435,8 @@ static int spinand_support_vendor_ops(struct spinand_device *spinand,
{
int i;
+ if (!info->vendor_ops)
+ return 0;
/*
* The vendor ops array is only used in order to verify this chip and all its memory
* operations are supported. If we see patterns emerging, we could ideally name these