Commit 06865077 authored by Stefan Binding's avatar Stefan Binding Committed by Rafael J. Wysocki
Browse files

ACPI: property: Fix type detection of unified integer reading functions



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: 92304413 ("ACPI: property: Unify integer value reading functions")
Signed-off-by: default avatarStefan Binding <sbinding@opensource.cirrus.com>
Reviewed-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: default avatarJohn Garry <john.garry@huawei.com>
Acked-by: default avatarArd Biesheuvel <ardb@kernel.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 1c23f9e6
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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;					\