android_kernel_msm-6.1_noth.../drivers/platform
Andy Shevchenko 7772d5c440 platform/x86: wmi: Break possible infinite loop when parsing GUID
[ Upstream commit 028e6e204ace1f080cfeacd72c50397eb8ae8883 ]

The while-loop may break on one of the two conditions, either ID string
is empty or GUID matches. The second one, may never be reached if the
parsed string is not correct GUID. In such a case the loop will never
advance to check the next ID.

Break possible infinite loop by factoring out guid_parse_and_compare()
helper which may be moved to the generic header for everyone later on
and preventing from similar mistake in the future.

Interestingly that firstly it appeared when WMI was turned into a bus
driver, but later when duplicated GUIDs were checked, the while-loop
has been replaced by for-loop and hence no mistake made again.

Fixes: a48e23385f ("platform/x86: wmi: add context pointer field to struct wmi_device_id")
Fixes: 844af950da ("platform/x86: wmi: Turn WMI into a bus driver")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230621151155.78279-1-andriy.shevchenko@linux.intel.com
Tested-by: Armin Wolf <W_Armin@gmx.de>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-07-23 13:49:24 +02:00
..
chrome platform/chrome: cros_typec_switch: Add missing fwnode_handle_put() 2023-05-11 23:03:16 +09:00
goldfish platform: goldfish: pipe: Use platform_get_irq() to get the interrupt 2022-03-18 13:55:21 +01:00
loongarch platform/loongarch: laptop: Fix possible UAF and simplify generic_acpi_laptop_init() 2022-10-29 16:29:31 +08:00
mellanox platform/mellanox: fix potential race in mlxbf-tmfifo driver 2023-06-09 10:34:08 +02:00
mips MIPS: Loongson-3: fix compile mips cpu_hwmon as module build error. 2022-06-09 22:24:19 +02:00
olpc platform/olpc: Fix uninitialized data in debugfs write 2022-07-28 20:40:15 +02:00
surface platform/surface: aggregator_tabletsw: Add support for book mode in KIP subsystem 2023-06-14 11:15:15 +02:00
x86 platform/x86: wmi: Break possible infinite loop when parsing GUID 2023-07-23 13:49:24 +02:00
Kconfig LoongArch: Add ACPI-based generic laptop driver 2022-10-12 16:36:20 +08:00
Makefile LoongArch: Add ACPI-based generic laptop driver 2022-10-12 16:36:20 +08:00