Re: [PATCH] um: Prevent KASAN splats in dump_stack()

From: Dmitry Vyukov
Date: Wed Sep 07 2022 - 06:30:15 EST


On Wed, 7 Sept 2022 at 12:05, Vincent Whitchurch
<vincent.whitchurch@xxxxxxxx> wrote:
>
> Use READ_ONCE_NOCHECK() when reading the stack to prevent KASAN splats
> when dump_stack() is used.
>
> Fixes: 5b301409e8bc5d7fad ("UML: add support for KASAN under x86_64")
> Signed-off-by: Vincent Whitchurch <vincent.whitchurch@xxxxxxxx>

Reviewed-by: Dmitry Vyukov <dvyukov@xxxxxxxxxx>

> ---
> arch/um/kernel/sysrq.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/um/kernel/sysrq.c b/arch/um/kernel/sysrq.c
> index 7452f70d50d0..746715379f12 100644
> --- a/arch/um/kernel/sysrq.c
> +++ b/arch/um/kernel/sysrq.c
> @@ -48,7 +48,8 @@ void show_stack(struct task_struct *task, unsigned long *stack,
> break;
> if (i && ((i % STACKSLOTS_PER_LINE) == 0))
> pr_cont("\n");
> - pr_cont(" %08lx", *stack++);
> + pr_cont(" %08lx", READ_ONCE_NOCHECK(*stack));
> + stack++;
> }
>
> printk("%sCall Trace:\n", loglvl);
> --
> 2.34.1
>