From: Jung-uk Kim Date: Wed, 24 Jan 2018 23:42:30 +0000 (-0800) Subject: ACPICA: Avoid NULL pointer arithmetic X-Git-Tag: v4.16-rc1~22^2~2^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=761f0b82393353507930b6721ae4311a9df2ca36;p=thirdparty%2Fkernel%2Flinux.git ACPICA: Avoid NULL pointer arithmetic We should not assume NULL is defined as "(void *)0" because NULL is an implementation-defined macro. Especially, Clang 6 complains about it, i.e., "arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension". Signed-off-by: Jung-uk Kim Signed-off-by: Erik Schmauss Signed-off-by: Rafael J. Wysocki --- diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h index 31f1be74dd165..f3999ae7a43f1 100644 --- a/include/acpi/actypes.h +++ b/include/acpi/actypes.h @@ -485,7 +485,7 @@ typedef u8 acpi_owner_id; /* * Constants with special meanings */ -#define ACPI_ROOT_OBJECT ACPI_ADD_PTR (acpi_handle, NULL, ACPI_MAX_PTR) +#define ACPI_ROOT_OBJECT ACPI_ADD_PTR (acpi_handle, (void *) 0, ACPI_MAX_PTR) #define ACPI_WAIT_FOREVER 0xFFFF /* u16, as per ACPI spec */ #define ACPI_DO_NOT_WAIT 0 @@ -536,9 +536,9 @@ typedef u64 acpi_integer; /* Pointer/Integer type conversions */ -#define ACPI_TO_POINTER(i) ACPI_ADD_PTR (void, (void *) NULL,(acpi_size) i) -#define ACPI_TO_INTEGER(p) ACPI_PTR_DIFF (p, (void *) NULL) -#define ACPI_OFFSET(d, f) ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) NULL) +#define ACPI_TO_POINTER(i) ACPI_ADD_PTR (void, (void *) 0, (acpi_size) (i)) +#define ACPI_TO_INTEGER(p) ACPI_PTR_DIFF (p, (void *) 0) +#define ACPI_OFFSET(d, f) ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) 0) #define ACPI_PHYSADDR_TO_PTR(i) ACPI_TO_POINTER(i) #define ACPI_PTR_TO_PHYSADDR(i) ACPI_TO_INTEGER(i)