lkml.org 
[lkml]   [2020]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 3/3] arm64: stacktrace: Convert to ARCH_STACKWALK
On Wed, Sep 02, 2020 at 11:32:13AM +0200, Miroslav Benes wrote:
> Hi,
>
> it could be a silly question, but better to ask...
>
> > + if (regs)
> > + start_backtrace(&frame, regs->regs[29], regs->pc);
> > + else
> > + start_backtrace(&frame, thread_saved_fp(task),
> > + thread_saved_pc(task));
>
> Would this also work for task == current? Given that the original code had
>
> > - start_backtrace(&frame,
> > - (unsigned long)__builtin_frame_address(0),
> > - (unsigned long)__save_stack_trace);

Oh whoops; I'm annoyed I didn't spot that.

With that gone this cannot work for (task == current && regs == NULL), as
we'll erroneously use stale values from the task struct.

It looks like the LKDTM tests only trigger cases with non-NULL regs, but
IIUC this should show up with show_stack(NULL, NULL, KERN_INFO), as
drivers/tty/sysrq.c does for other cpus.

Thanks,
Mark.

\
 
 \ /
  Last update: 2020-09-02 20:51    [W:0.058 / U:0.392 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site