diff mbox series

[v1,2/2] platform/x86: wmi: Replace open coded guid_parse_and_compare()

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

Commit Message

Andy Shevchenko June 21, 2023, 3:11 p.m. UTC
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(-)

Comments

Armin Wolf June 21, 2023, 9:21 p.m. UTC | #1
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 mbox series

Patch

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)) {