{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-54044","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-12-24T10:53:46.181Z","datePublished":"2025-12-24T12:22:56.072Z","dateUpdated":"2026-05-11T19:54:26.074Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T19:54:26.074Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nspmi: Add a check for remove callback when removing a SPMI driver\n\nWhen removing a SPMI driver, there can be a crash due to NULL pointer\ndereference if it does not have a remove callback defined. This is\none such call trace observed when removing the QCOM SPMI PMIC driver:\n\n dump_backtrace.cfi_jt+0x0/0x8\n dump_stack_lvl+0xd8/0x16c\n panic+0x188/0x498\n __cfi_slowpath+0x0/0x214\n __cfi_slowpath+0x1dc/0x214\n spmi_drv_remove+0x16c/0x1e0\n device_release_driver_internal+0x468/0x79c\n driver_detach+0x11c/0x1a0\n bus_remove_driver+0xc4/0x124\n driver_unregister+0x58/0x84\n cleanup_module+0x1c/0xc24 [qcom_spmi_pmic]\n __do_sys_delete_module+0x3ec/0x53c\n __arm64_sys_delete_module+0x18/0x28\n el0_svc_common+0xdc/0x294\n el0_svc+0x38/0x9c\n el0_sync_handler+0x8c/0xf0\n el0_sync+0x1b4/0x1c0\n\nIf a driver has all its resources allocated through devm_() APIs and\ndoes not need any other explicit cleanup, it would not require a\nremove callback to be defined. Hence, add a check for remove callback\npresence before calling it when removing a SPMI driver."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/spmi/spmi.c"],"versions":[{"version":"5a86bf343976b9c8ab2f240bc866451fa67e5573","lessThan":"b95a69214daea4aab1c8bad96571d988a62e2c97","status":"affected","versionType":"git"},{"version":"5a86bf343976b9c8ab2f240bc866451fa67e5573","lessThan":"699949219e35fe29fd42ccf8cd92c989c3d15109","status":"affected","versionType":"git"},{"version":"5a86bf343976b9c8ab2f240bc866451fa67e5573","lessThan":"54dda732225555dc6d660e95793c54a0a44b612c","status":"affected","versionType":"git"},{"version":"5a86bf343976b9c8ab2f240bc866451fa67e5573","lessThan":"c45ab3ab9c371c9ac22bbe1217e5abb2e55a3d4b","status":"affected","versionType":"git"},{"version":"5a86bf343976b9c8ab2f240bc866451fa67e5573","lessThan":"ee0b6146317a98bfec848d7bde5586beb245a38f","status":"affected","versionType":"git"},{"version":"5a86bf343976b9c8ab2f240bc866451fa67e5573","lessThan":"428cc252701d6864151f3a296ffc23e1e49a7408","status":"affected","versionType":"git"},{"version":"5a86bf343976b9c8ab2f240bc866451fa67e5573","lessThan":"af763c29b9e7040fedd0077bca053b101438a3a4","status":"affected","versionType":"git"},{"version":"5a86bf343976b9c8ab2f240bc866451fa67e5573","lessThan":"0f3ef30c1c05502f5de3b73b3715d5994845c1b4","status":"affected","versionType":"git"},{"version":"5a86bf343976b9c8ab2f240bc866451fa67e5573","lessThan":"b56eef3e16d888883fefab47425036de80dd38fc","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/spmi/spmi.c"],"versions":[{"version":"3.15","status":"affected"},{"version":"0","lessThan":"3.15","status":"unaffected","versionType":"semver"},{"version":"4.14.315","lessThanOrEqual":"4.14.*","status":"unaffected","versionType":"semver"},{"version":"4.19.283","lessThanOrEqual":"4.19.*","status":"unaffected","versionType":"semver"},{"version":"5.4.243","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.180","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.111","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.28","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.2.15","lessThanOrEqual":"6.2.*","status":"unaffected","versionType":"semver"},{"version":"6.3.2","lessThanOrEqual":"6.3.*","status":"unaffected","versionType":"semver"},{"version":"6.4","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"4.14.315"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"4.19.283"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"5.4.243"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"5.10.180"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"5.15.111"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.1.28"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.2.15"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.3.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.4"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/b95a69214daea4aab1c8bad96571d988a62e2c97"},{"url":"https://git.kernel.org/stable/c/699949219e35fe29fd42ccf8cd92c989c3d15109"},{"url":"https://git.kernel.org/stable/c/54dda732225555dc6d660e95793c54a0a44b612c"},{"url":"https://git.kernel.org/stable/c/c45ab3ab9c371c9ac22bbe1217e5abb2e55a3d4b"},{"url":"https://git.kernel.org/stable/c/ee0b6146317a98bfec848d7bde5586beb245a38f"},{"url":"https://git.kernel.org/stable/c/428cc252701d6864151f3a296ffc23e1e49a7408"},{"url":"https://git.kernel.org/stable/c/af763c29b9e7040fedd0077bca053b101438a3a4"},{"url":"https://git.kernel.org/stable/c/0f3ef30c1c05502f5de3b73b3715d5994845c1b4"},{"url":"https://git.kernel.org/stable/c/b56eef3e16d888883fefab47425036de80dd38fc"}],"title":"spmi: Add a check for remove callback when removing a SPMI driver","x_generator":{"engine":"bippy-1.2.0"}}}}