lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
 <BY5PR03MB5299B38CB5D3A3D14428698AC657A@BY5PR03MB5299.namprd03.prod.outlook.com>
Date: Tue, 15 Jul 2025 00:15:06 +0000
From: "Romli, Khairul Anuar" <khairul.anuar.romli@...era.com>
To: Dan Carpenter <dan.carpenter@...aro.org>, "oe-kbuild@...ts.linux.dev"
	<oe-kbuild@...ts.linux.dev>, Tudor Ambarus <tudor.ambarus@...aro.org>,
	Pratyush Yadav <pratyush@...nel.org>, Michael Walle <mwalle@...nel.org>,
	Miquel Raynal <miquel.raynal@...tlin.com>, Richard Weinberger
	<richard@....at>, Vignesh Raghavendra <vigneshr@...com>, "open list:SPI NOR
 SUBSYSTEM" <linux-mtd@...ts.infradead.org>, open list
	<linux-kernel@...r.kernel.org>, "Gerlach, Matthew"
	<matthew.gerlach@...era.com>
CC: "lkp@...el.com" <lkp@...el.com>, "oe-kbuild-all@...ts.linux.dev"
	<oe-kbuild-all@...ts.linux.dev>
Subject: RE: [PATCH 1/1] mtd: spi-nor: core: Prevent oops during driver
 removal with active read or write operations

> From: Dan Carpenter <dan.carpenter@...aro.org>
> Sent: Tuesday, 15 July, 2025 3:30 AM
> To: oe-kbuild@...ts.linux.dev; Romli, Khairul Anuar
> <khairul.anuar.romli@...era.com>; Tudor Ambarus
> <tudor.ambarus@...aro.org>; Pratyush Yadav <pratyush@...nel.org>;
> Michael Walle <mwalle@...nel.org>; Miquel Raynal
> <miquel.raynal@...tlin.com>; Richard Weinberger <richard@....at>;
> Vignesh Raghavendra <vigneshr@...com>; open list:SPI NOR SUBSYSTEM
> <linux-mtd@...ts.infradead.org>; open list <linux-kernel@...r.kernel.org>;
> Gerlach, Matthew <matthew.gerlach@...era.com>
> Cc: lkp@...el.com; oe-kbuild-all@...ts.linux.dev
> Subject: Re: [PATCH 1/1] mtd: spi-nor: core: Prevent oops during driver
> removal with active read or write operations
>
> Hi,
>
> kernel test robot noticed the following build warnings:
>
> https://git-/
> scm.com%2Fdocs%2Fgit-format-
> patch%23_base_tree_information&data=05%7C02%7Ckhairul.anuar.romli%4
> 0altera.com%7Cf6c3b8bb5b844138259308ddc30cd2ae%7Cfbd72e03d4a54
> 110adce614d51f2077a%7C0%7C0%7C638881182091182847%7CUnknow
> n%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIl
> AiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sd
> ata=eR42SdwIvE8%2BT3uUpe1WKz%2Fn0V4DNnLHExb1IPi1Gas%3D&reserv
> ed=0]
>
> url:
> https://gith/
> ub.com%2Fintel-lab-lkp%2Flinux%2Fcommits%2Fkhairul-anuar-romli-altera-
> com%2Fmtd-spi-nor-core-Prevent-oops-during-driver-removal-with-active-
> read-or-write-operations%2F20250709-
> 103107&data=05%7C02%7Ckhairul.anuar.romli%40altera.com%7Cf6c3b8bb
> 5b844138259308ddc30cd2ae%7Cfbd72e03d4a54110adce614d51f2077a%
> 7C0%7C0%7C638881182091208992%7CUnknown%7CTWFpbGZsb3d8eyJF
> bXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiT
> WFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=KJm%2FUt2CNwr3J2
> Gsoxd2oe36gitqmmby3df73UWsZHo%3D&reserved=0
> base:
> https://git.k/
> ernel.org%2Fpub%2Fscm%2Flinux%2Fkernel%2Fgit%2Fmtd%2Flinux.git&dat
> a=05%7C02%7Ckhairul.anuar.romli%40altera.com%7Cf6c3b8bb5b8441382
> 59308ddc30cd2ae%7Cfbd72e03d4a54110adce614d51f2077a%7C0%7C0%
> 7C638881182091223786%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hc
> GkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIld
> UIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=u3%2FCugi1Z%2BobMTJu5qWFj
> 4tkjYr%2FgC4PGVt0NJvAktA%3D&reserved=0 spi-nor/next
> patch link:
> https://lore/.
> kernel.org%2Fr%2Fe439e6b85e650a91607a1d02d5d432d096363315.1752
> 024352.git.khairul.anuar.romli%2540altera.com&data=05%7C02%7Ckhairul.
> anuar.romli%40altera.com%7Cf6c3b8bb5b844138259308ddc30cd2ae%7C
> fbd72e03d4a54110adce614d51f2077a%7C0%7C0%7C6388811820912375
> 62%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLj
> AuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%
> 7C%7C%7C&sdata=sy%2BIZORvA8IgYI5BZsHEQgoIH9wKyndszhYwQ6N7vzw
> %3D&reserved=0
> patch subject: [PATCH 1/1] mtd: spi-nor: core: Prevent oops during driver
> removal with active read or write operations
> config: i386-randconfig-141-20250711
> (https://do/
> wnload.01.org%2F0day-
> ci%2Farchive%2F20250711%2F202507110922.btkgvYrn-
> lkp%40intel.com%2Fconfig&data=05%7C02%7Ckhairul.anuar.romli%40altera
> .com%7Cf6c3b8bb5b844138259308ddc30cd2ae%7Cfbd72e03d4a54110ad
> ce614d51f2077a%7C0%7C0%7C638881182091250946%7CUnknown%7CT
> WFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJX
> aW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=zvj
> oJvmjeQnS7dTajwXbAB6GiqNwecZtS3win3Sv7lM%3D&reserved=0)
> compiler: clang version 20.1.8
> (https://gith/
> ub.com%2Fllvm%2Fllvm-
> project&data=05%7C02%7Ckhairul.anuar.romli%40altera.com%7Cf6c3b8bb
> 5b844138259308ddc30cd2ae%7Cfbd72e03d4a54110adce614d51f2077a%
> 7C0%7C0%7C638881182091264782%7CUnknown%7CTWFpbGZsb3d8eyJF
> bXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiT
> WFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=FYcm8fzKMhihgW5At
> oVRcGTCV56qKYNlx3uJpT%2B4DPo%3D&reserved=0
> 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@...el.com>
> | Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
> | Closes:
> |
> https://lore/
> | .kernel.org%2Fr%2F202507110922.btkgvYrn-
> lkp%40intel.com%2F&data=05%7C0
> |
> 2%7Ckhairul.anuar.romli%40altera.com%7Cf6c3b8bb5b844138259308ddc3
> 0cd2a
> |
> e%7Cfbd72e03d4a54110adce614d51f2077a%7C0%7C0%7C638881182091
> 278235%7CUn
> |
> known%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAw
> MCIsIlAiOi
> |
> JXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=
> NMmQgJov
> | ArDDW9sbKYrmIdl3lTRLvDD2SNq10pYeQ9s%3D&reserved=0
>
> smatch warnings:
> drivers/mtd/spi-nor/core.c:3216 spi_nor_get_device() warn: variable
> dereferenced before check 'dev' (see line 3213)
> drivers/mtd/spi-nor/core.c:3216 spi_nor_get_device() warn: variable
> dereferenced before check 'dev->driver' (see line 3213)
>
> vim +/dev +3216 drivers/mtd/spi-nor/core.c
>
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3202
> static int spi_nor_get_device(struct mtd_info *mtd)
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3203
> {
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3204
>       struct mtd_info *master = mtd_get_master(mtd);
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3205
>       struct spi_nor *nor = mtd_to_spi_nor(master);
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3206
>       struct device *dev;
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3207
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3208
>       if (nor->spimem)
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3209
>               dev = nor->spimem->spi->controller->dev.parent;
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3210
>       else
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3211
>               dev = nor->dev;
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3212
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01
> @3213         if (!try_module_get(dev->driver->owner))
>                                                                                                     ^^^^^^^^^^^^^^^^^^
> Dereference
>
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3214
>               return -ENODEV;
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3215
> 240522762fc4bc drivers/mtd/spi-nor/core.c    kromli     2025-07-09 @3216
>       if (!dev && !dev->driver && !dev->driver->owner)
>
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> These checks are done too late.  Also missing module put.

I will send the v2 revision to fix this. I don't think we need module put. Module put
Will cause the kernel oops if any of the nodes are null.

>
> 240522762fc4bc drivers/mtd/spi-nor/core.c    kromli     2025-07-09  3217
>               return -EINVAL;
> 240522762fc4bc drivers/mtd/spi-nor/core.c    kromli     2025-07-09  3218
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3219
>       return 0;
> be94215be1ab19 drivers/mtd/spi-nor/core.c    Xiang Chen 2021-04-01  3220
> }
>
> --
> 0-DAY CI Kernel Test Service
> https://gith/
> ub.com%2Fintel%2Flkp-
> tests%2Fwiki&data=05%7C02%7Ckhairul.anuar.romli%40altera.com%7Cf6c3
> b8bb5b844138259308ddc30cd2ae%7Cfbd72e03d4a54110adce614d51f20
> 77a%7C0%7C0%7C638881182091292007%7CUnknown%7CTWFpbGZsb3d
> 8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkF
> OIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=SSQX73%2Bm
> m3Eqb6XaYih3tHM7sL5d%2Fuodt3DggYXTBNc%3D&reserved=0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ