Message ID | 20230621151155.78279-2-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | [v1,1/2] platform/x86: wmi: Break possible infinite loop when parsing GUID | expand |
Am 21.06.23 um 17:11 schrieb Andy Shevchenko: > Even though we have no issues in the code, let's replace the open > coded guid_parse_and_compare(). > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > drivers/platform/x86/wmi.c | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c > index 098512a53170..a78ddd83cda0 100644 > --- a/drivers/platform/x86/wmi.c > +++ b/drivers/platform/x86/wmi.c > @@ -1241,11 +1241,7 @@ static bool guid_already_parsed_for_legacy(struct acpi_device *device, const gui > list_for_each_entry(wblock, &wmi_block_list, list) { > /* skip warning and register if we know the driver will use struct wmi_driver */ > for (int i = 0; allow_duplicates[i] != NULL; i++) { > - guid_t tmp; > - > - if (guid_parse(allow_duplicates[i], &tmp)) > - continue; > - if (guid_equal(&tmp, guid)) > + if (guid_parse_and_compare(allow_duplicates[i], guid)) > return false; > } > if (guid_equal(&wblock->gblock.guid, guid)) { Works on my Dell Inspiron 3505, so for this patch: Tested-by: Armin Wolf <W_Armin@gmx.de> Armin Wolf
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index 098512a53170..a78ddd83cda0 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -1241,11 +1241,7 @@ static bool guid_already_parsed_for_legacy(struct acpi_device *device, const gui list_for_each_entry(wblock, &wmi_block_list, list) { /* skip warning and register if we know the driver will use struct wmi_driver */ for (int i = 0; allow_duplicates[i] != NULL; i++) { - guid_t tmp; - - if (guid_parse(allow_duplicates[i], &tmp)) - continue; - if (guid_equal(&tmp, guid)) + if (guid_parse_and_compare(allow_duplicates[i], guid)) return false; } if (guid_equal(&wblock->gblock.guid, guid)) {
Even though we have no issues in the code, let's replace the open coded guid_parse_and_compare(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/platform/x86/wmi.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)