Description
In the Linux kernel, the following vulnerability has been resolved: firmware: dmi-sysfs: Fix null-ptr-deref in dmi_sysfs_register_handle KASAN reported a null-ptr-deref error: KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] CPU: 0 PID: 1373 Comm: modprobe Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) RIP: 0010:dmi_sysfs_entry_release ... Call Trace: <TASK> kobject_put dmi_sysfs_register_handle (drivers/firmware/dmi-sysfs.c:540) dmi_sysfs dmi_decode_table (drivers/firmware/dmi_scan.c:133) dmi_walk (drivers/firmware/dmi_scan.c:1115) dmi_sysfs_init (drivers/firmware/dmi-sysfs.c:149) dmi_sysfs do_one_initcall (init/main.c:1296) ... Kernel panic - not syncing: Fatal exception Kernel Offset: 0x4000000 from 0xffffffff81000000 ---[ end Kernel panic - not syncing: Fatal exception ]--- It is because previous patch added kobject_put() to release the memory which will call dmi_sysfs_entry_release() and list_del(). However, list_add_tail(entry->list) is called after the error block, so the list_head is uninitialized and cannot be deleted. Move error handling to after list_add_tail to fix this.
Product status
fdffa4ad8f6bf1ece877edfb807f2b2c729d8578 (git) before b4fe158259fb5fead52ff2b55841ec5c39492604
660ba678f9998aca6db74f2dd912fa5124f0fa31 (git) before e851996b32264e78a10863c2ac41a8689d7b9252
660ba678f9998aca6db74f2dd912fa5124f0fa31 (git) before 5d0492d1d934642bdfd2057acc1b56f4b57be465
660ba678f9998aca6db74f2dd912fa5124f0fa31 (git) before 18e126e97c961f7a93823795c879d7c085fe5098
a9bfb37d6ba7c376b0d53337a4c5f5ff324bd725 (git)
ed38d04342dfbe9e5aca745c8b5eb4188a74f0ef (git)
c66cc3c62870a27ea8f060a7e4c1ad8d26dd3f0d (git)
a724634b2a49f6ff0177a9e19a5a92fc1545e1b7 (git)
985706bd3bbeffc8737bc05965ca8d24837bc7db (git)
3ba359ebe914ac3f8c6c832b28007c14c39d3766 (git)
ec752973aa721ee281d5441e497364637c626c7b (git)
5.19
Any version before 5.19
5.15.99 (semver)
6.1.16 (semver)
6.2.3 (semver)
6.3 (original_commit_for_fix)
References
git.kernel.org/...c/b4fe158259fb5fead52ff2b55841ec5c39492604
git.kernel.org/...c/e851996b32264e78a10863c2ac41a8689d7b9252
git.kernel.org/...c/5d0492d1d934642bdfd2057acc1b56f4b57be465
git.kernel.org/...c/18e126e97c961f7a93823795c879d7c085fe5098