arm64: fix clang warning about TRAMP_VALIAS
authorArnd Bergmann <arnd@arndb.de>
Wed, 16 Mar 2022 18:38:18 +0000 (19:38 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 18 Mar 2022 13:48:28 +0000 (13:48 +0000)
The newly introduced TRAMP_VALIAS definition causes a build warning
with clang-14:

arch/arm64/include/asm/vectors.h:66:31: error: arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension [-Werror,-Wnull-pointer-arithmetic]
                return (char *)TRAMP_VALIAS + SZ_2K * slot;

Change the addition to something clang does not complain about.

Fixes: bd09128d16fa ("arm64: Add percpu vectors for EL1")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: James Morse <james.morse@arm.com>
Link: https://lore.kernel.org/r/20220316183833.1563139-1-arnd@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/vectors.h

index f64613a..bc9a214 100644 (file)
@@ -56,14 +56,14 @@ enum arm64_bp_harden_el1_vectors {
 DECLARE_PER_CPU_READ_MOSTLY(const char *, this_cpu_vector);
 
 #ifndef CONFIG_UNMAP_KERNEL_AT_EL0
-#define TRAMP_VALIAS   0
+#define TRAMP_VALIAS   0ul
 #endif
 
 static inline const char *
 arm64_get_bp_hardening_vector(enum arm64_bp_harden_el1_vectors slot)
 {
        if (arm64_kernel_unmapped_at_el0())
-               return (char *)TRAMP_VALIAS + SZ_2K * slot;
+               return (char *)(TRAMP_VALIAS + SZ_2K * slot);
 
        WARN_ON_ONCE(slot == EL1_VECTOR_KPTI);