Message ID | 20241028-comments-in-switch-to-v1-1-7280d09671a8@linaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Expand comment | expand |
On Mon, Oct 28, 2024 at 11:39 PM Linus Walleij <linus.walleij@linaro.org> wrote: > When switching task, in addition to a dummy read from the new > VMAP stack, also do a dummy read from the VMAP stack's > corresponding KASAN shadow memory to sync things up in > the new MM context. > > Cc: stable@vger.kernel.org > Fixes: a1c510d0adc6 ("ARM: implement support for vmap'ed stacks") > Link: https://lore.kernel.org/linux-arm-kernel/a1a1d062-f3a2-4d05-9836-3b098de9db6d@foss.st.com/ > Reported-by: Clement LE GOFFIC <clement.legoffic@foss.st.com> > Suggested-by: Ard Biesheuvel <ardb@kernel.org> > Signed-off-by: Linus Walleij <linus.walleij@linaro.org> This patch is already in the patch tracker in it's final form. This was not supposed to go with the other patch, apologies. Only patch 2/2 is new material. Yours, Linus Walleij
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 1dfae1af8e31..ef6a657c8d13 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S @@ -25,6 +25,7 @@ #include <asm/tls.h> #include <asm/system_info.h> #include <asm/uaccess-asm.h> +#include <asm/kasan_def.h> #include "entry-header.S" #include <asm/probes.h> @@ -561,6 +562,13 @@ ENTRY(__switch_to) @ entries covering the vmalloc region. @ ldr r2, [ip] +#ifdef CONFIG_KASAN_VMALLOC + @ Also dummy read from the KASAN shadow memory for the new stack if we + @ are using KASAN + mov_l r2, KASAN_SHADOW_OFFSET + add r2, r2, ip, lsr #KASAN_SHADOW_SCALE_SHIFT + ldr r2, [r2] +#endif #endif @ When CONFIG_THREAD_INFO_IN_TASK=n, the update of SP itself is what
When switching task, in addition to a dummy read from the new VMAP stack, also do a dummy read from the VMAP stack's corresponding KASAN shadow memory to sync things up in the new MM context. Cc: stable@vger.kernel.org Fixes: a1c510d0adc6 ("ARM: implement support for vmap'ed stacks") Link: https://lore.kernel.org/linux-arm-kernel/a1a1d062-f3a2-4d05-9836-3b098de9db6d@foss.st.com/ Reported-by: Clement LE GOFFIC <clement.legoffic@foss.st.com> Suggested-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> --- arch/arm/kernel/entry-armv.S | 8 ++++++++ 1 file changed, 8 insertions(+)