Re: [PATCH v1] ACPI: Property: Fix type detection of unified integer reading functions

From: Sakari Ailus
Date: Fri Aug 12 2022 - 15:42:35 EST


Hi Stefan,

On Fri, Aug 12, 2022 at 02:06:45PM +0100, Stefan Binding wrote:
> The current code expects the type of the value to be an integer type,
> instead the value passed to the macro is a pointer.
> Ensure the size comparison uses the correct pointer type to choose the
> max value, instead of using the integer type.
>
> Fixes: 923044133367 ("ACPI: property: Unify integer value reading functions")
>
> Signed-off-by: Stefan Binding <sbinding@xxxxxxxxxxxxxxxxxxxxx>
> ---
> drivers/acpi/property.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c
> index 7b3ad8ed2f4e..b1d4a8db89df 100644
> --- a/drivers/acpi/property.c
> +++ b/drivers/acpi/property.c
> @@ -1043,10 +1043,10 @@ static int acpi_data_prop_read_single(const struct acpi_device_data *data,
> break; \
> } \
> if (__items[i].integer.value > _Generic(__val, \
> - u8: U8_MAX, \
> - u16: U16_MAX, \
> - u32: U32_MAX, \
> - u64: U64_MAX, \
> + u8 *: U8_MAX, \
> + u16 *: U16_MAX, \
> + u32 *: U32_MAX, \
> + u64 *: U64_MAX, \
> default: 0U)) { \
> ret = -EOVERFLOW; \
> break; \

Thanks for the patch.

I prefer this fix over the other as it uses the pointer type (rather than
value at a given index). Both have the same effect though.

Reviewed-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>

--
Kind regards,

Sakari Ailus