Message ID | 20220907100533.1719128-1-vincent.whitchurch@axis.com |
---|---|
State | Accepted |
Headers | show |
Series | um: Prevent KASAN splats in dump_stack() | expand |
On Wed, 7 Sept 2022 at 12:05, Vincent Whitchurch <vincent.whitchurch@axis.com> 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@axis.com> Reviewed-by: Dmitry Vyukov <dvyukov@google.com> > --- > 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 >
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);
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@axis.com> --- arch/um/kernel/sysrq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)