From a5c83da3ccb372133fdbe43e0a8e65e06b3291e8 Mon Sep 17 00:00:00 2001 From: Andrew Goodbody Date: Tue, 1 Jul 2025 17:12:44 +0100 Subject: [PATCH] mtd: nand: Prevent dereference of NULL pointer In nand_wait_ready there is a loop that includes a NULL check for chip->dev_ready before it is dereferenced. Use a NULL check once the loop is exited as well to cover the case where it exits due to a timeout and it is therefore not known if chip->dev_ready is NULL or not. This issue found by Smatch. Signed-off-by: Andrew Goodbody Reviewed-by: Michael Trimarchi --- drivers/mtd/nand/raw/nand_base.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c index d3d1b93947b..48e3685d995 100644 --- a/drivers/mtd/nand/raw/nand_base.c +++ b/drivers/mtd/nand/raw/nand_base.c @@ -566,7 +566,7 @@ void nand_wait_ready(struct mtd_info *mtd) break; } - if (!chip->dev_ready(mtd)) + if (!chip->dev_ready || !chip->dev_ready(mtd)) pr_warn("timeout while waiting for chip to become ready\n"); } EXPORT_SYMBOL_GPL(nand_wait_ready); -- 2.47.3