platform/x86: dell-wmi-sysman: Make init_bios_attributes() ACPI object parsing more...
authorHans de Goede <hdegoede@redhat.com>
Sun, 21 Mar 2021 12:16:07 +0000 (13:16 +0100)
committerHans de Goede <hdegoede@redhat.com>
Wed, 7 Apr 2021 17:47:22 +0000 (19:47 +0200)
commit5e3f5973c8dfd2b80268f1825ed2f2ddf81d3267
treef8ffd2c13d205d7455c4814145eb8e813dca9183
parentf1fba08609627be90e9a5a89688e420b8b3c97b2
platform/x86: dell-wmi-sysman: Make init_bios_attributes() ACPI object parsing more robust

Make init_bios_attributes() ACPI object parsing more robust:
1. Always check that the type of the return ACPI object is package, rather
   then only checking this for instance_id == 0
2. Check that the package has the minimum amount of elements which will
   be consumed by the populate_foo_data() for the attr_type

Note/TODO: The populate_foo_data() functions should also be made more
robust. The should check the type of each of the elements matches the
type which they expect and in case of populate_enum_data()
obj->package.count should be passed to it as an argument and it should
re-check this itself since it consume a variable number of elements.

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/20210321121607.35717-1-hdegoede@redhat.com
drivers/platform/x86/dell/dell-wmi-sysman/sysman.c