Skip to content

Commit

Permalink
platform/x86: dell-smbios: Fix error path in dell_smbios_init()
Browse files Browse the repository at this point in the history
In case of error in build_tokens_sysfs(), all the memory that has been
allocated is freed at end of this function. But then free_group() is
called which performs memory deallocation again.

Also, instead of free_group() call, there should be exit_dell_smbios_smm()
and exit_dell_smbios_wmi() calls, since there is initialization, but there
is no release of resources in case of an error.

Fix these issues by replacing free_group() call with
exit_dell_smbios_wmi() and exit_dell_smbios_smm().

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 33b9ca1 ("platform/x86: dell-smbios: Add a sysfs interface for SMBIOS tokens")
Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
Link: https://lore.kernel.org/r/20240830065428.9544-1-amishin@t-argos.ru
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  • Loading branch information
Aleksandr Mishin authored and Ilpo Järvinen committed Aug 30, 2024
1 parent a3379ec commit ffc17e1
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/platform/x86/dell/dell-smbios-base.c
Original file line number Diff line number Diff line change
Expand Up @@ -622,7 +622,10 @@ static int __init dell_smbios_init(void)
return 0;

fail_sysfs:
free_group(platform_device);
if (!wmi)
exit_dell_smbios_wmi();
if (!smm)
exit_dell_smbios_smm();

fail_create_group:
platform_device_del(platform_device);
Expand Down

0 comments on commit ffc17e1

Please sign in to comment.