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