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:47:08 +0000 (17:47 +0100)
commit2d0c418c91d8c86a1b9fb254dda842ada9919513
treec02424d784feaea892891dfa8e121335666c4b5e
parentc59ab4cedab70a1a117a2dba3c48bb78e66c55ca
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