OSDN Git Service

platform/x86: dell-wmi-sysman: Make it safe to call exit_foo_attributes() multiple...
authorHans de Goede <hdegoede@redhat.com>
Sun, 21 Mar 2021 11:58:57 +0000 (12:58 +0100)
committerHans de Goede <hdegoede@redhat.com>
Sun, 21 Mar 2021 16:41:24 +0000 (17:41 +0100)
commitcb1e50f2f0a26fd4a4b1bdf669f5814fa414577a
treeda02ea8ad7736880f7dd46c964d9f247c9874668
parentececdb8983762d08ed726c1e5308d2f77db9ffd1
platform/x86: dell-wmi-sysman: Make it safe to call exit_foo_attributes() multiple times

During some of the error-exit paths it is possible that
release_attributes_data() will get called multiple times,
which results in exit_foo_attributes() getting called multiple
times.

Make it safe to call exit_foo_attributes() multiple times,
avoiding double-free()s in this case.

Note that release_attributes_data() really should only be called
once during error-exit paths. This will be fixed in a separate patch
and it is good to have the exit_foo_attributes() functions modified
this way regardless.

Fixes: e8a60aa7404b ("platform/x86: Introduce support for Systems Management Driver over WMI for Dell Systems")
Cc: Divya Bharathi <Divya_Bharathi@dell.com>
Cc: Mario Limonciello <mario.limonciello@dell.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20210321115901.35072-4-hdegoede@redhat.com
drivers/platform/x86/dell/dell-wmi-sysman/enum-attributes.c
drivers/platform/x86/dell/dell-wmi-sysman/int-attributes.c
drivers/platform/x86/dell/dell-wmi-sysman/passobj-attributes.c
drivers/platform/x86/dell/dell-wmi-sysman/string-attributes.c