Re: Kernel stack read with PTRACE_EVENT_EXIT and io_uring threads

From: Al Viro
Date: Mon Jun 21 2021 - 19:23:24 EST


On Mon, Jun 21, 2021 at 04:14:36PM -0700, Linus Torvalds wrote:
> On Mon, Jun 21, 2021 at 12:45 PM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > Looks like sys_exit() and do_group_exit() would be the two places to
> > > do it (do_group_exit() would handle the signal case and
> > > sys_group_exit()).
> >
> > Maybe... I'm digging through that pile right now, will follow up when
> > I get a reasonably complete picture
>
> We might have another possible way to solve this:
>
> (a) make it the rule that everybody always saves the full (integer)
> register set in pt_regs
>
> (b) make m68k just always create that switch-stack for all system
> calls (it's really not that big, I think it's like six words or
> something)
>
> (c) admit that alpha is broken, but nobody really cares

How would it help e.g. oopsen on the way out of timer interrupts?
IMO we simply shouldn't allow ptrace access if the tracee is in that kind
of state, on any architecture...