On Thu, Jun 10, 2021 at 1:58 PM Eric W. Biederman <ebiederm@xxxxxxxxxxxx> wrote: > > The problem is sometimes we read all of the registers from > a context where they are not all saved. Ouch. Yes. And this is really painful because none of the *normal* architectures do this, so it gets absolutely no coverage. > I think at this point we need to say that the architectures that have a > do this need to be fixed to at least call do_exit and the kernel > function in create_io_thread with the deeper stack. Yeah. We traditionally have that requirement for fork() and friends too (vfork/clone), so adding exit and io_uring to do so seems like the most straightforward thing. But I really wish we had some way to test and trigger this so that we wouldn't get caught on this before. Something in task_pt_regs() that catches "this doesn't actually work" and does a WARN_ON_ONCE() on the affected architectures? Linus