On Mon, Nov 16, 2020 at 2:01 PM Thomas Gleixner <t...@linutronix.de> wrote: > arch/x86/kernel/dumpstack.c | 23 +++++++++++++++++++---- > 1 file changed, 19 insertions(+), 4 deletions(-) > > --- a/arch/x86/kernel/dumpstack.c > +++ b/arch/x86/kernel/dumpstack.c > @@ -78,6 +78,9 @@ static int copy_code(struct pt_regs *reg > if (!user_mode(regs)) > return copy_from_kernel_nofault(buf, (u8 *)src, nbytes); > > + /* The user space code from other tasks cannot be accessed. */ > + if (regs != task_pt_regs(current)) > + return -EPERM;
Depending on exactly where this gets called, this may not be sufficient. You should also check nmi_uaccess_okay(). --Andy