diff --git a/arch/arm64/include/asm/vdso.h b/arch/arm64/include/asm/vdso.h index 9b197e5ea759..a08cc3cb0f8e 100644 --- a/arch/arm64/include/asm/vdso.h +++ b/arch/arm64/include/asm/vdso.h @@ -32,9 +32,10 @@ #include #endif -#define VDSO_SYMBOL(base, name) \ -({ \ - (void *)(vdso_offset_##name - VDSO_LBASE + (unsigned long)(base)); \ +#define VDSO_SYMBOL(base, name) \ +({ \ + (void *)((vdso_offset_##name & ~1UL) - VDSO_LBASE + \ + (unsigned long)(base)); \ }) #endif /* !__ASSEMBLY__ */