title: platform/x86: dell-smbios-wmi: Fix oops on rmmod dell_smbios
description: In the Linux kernel, the following vulnerability has been resolved:
platform/x86: dell-smbios-wmi: Fix oops on rmmod dell_smbios
init_dell_smbios_wmi() only registers the dell_smbios_wmi_driver on systems
where the Dell WMI interface is supported. While exit_dell_smbios_wmi()
unregisters it unconditionally, this leads to the following oops:
[  175.722921] ------------[ cut here ]------------
[  175.722925] Unexpected driver unregister!
[  175.722939] WARNING: CPU: 1 PID: 3630 at drivers/base/driver.c:194 driver_unregister+0x38/0x40
...
[  175.723089] Call Trace:
[  175.723094]  cleanup_module+0x5/0xedd [dell_smbios]
...
[  175.723148] ---[ end trace 064c34e1ad49509d ]---
Make the unregister happen on the same condition the register happens
to fix this.
affected:
{
product: Linux
vendor: Linux
defaultStatus: unaffected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions:
version: 1a258e670434, lessThan: 75cfc833da4a, status: affected, versionType: git
version: 1a258e670434, lessThan: 6fa78a6b9a3b, status: affected, versionType: git
version: 1a258e670434, lessThan: 0cf036a0d325, status: affected, versionType: git
version: 1a258e670434, lessThan: 8d746ea7c687, status: affected, versionType: git
version: 1a258e670434, lessThan: 3a53587423d2, status: affected, versionType: git
}
{
product: Linux
vendor: Linux
defaultStatus: affected
repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
versions:
version: 4.15, status: affected
version: 0, lessThan: 4.15, status: unaffected, versionType: custom
version: 4.19.192, lessThanOrEqual: 4.19.*, status: unaffected, versionType: custom
version: 5.4.122, lessThanOrEqual: 5.4.*, status: unaffected, versionType: custom
version: 5.10.40, lessThanOrEqual: 5.10.*, status: unaffected, versionType: custom
version: 5.12.7, lessThanOrEqual: 5.12.*, status: unaffected, versionType: custom
version: 5.13, lessThanOrEqual: *, status: unaffected, versionType: original_commit_for_fix
}
