Messages in this thread | | | From | Linus Torvalds <> | Date | Thu, 1 Apr 2021 08:39:25 -0700 | Subject | Re: [PATCH 0/6] Allow signals for IO threads |
| |
On Thu, Apr 1, 2021 at 7:58 AM Stefan Metzmacher <metze@samba.org> wrote: > > > > > Ok, the following makes gdb happy again: > > > > --- a/arch/x86/kernel/process.c > > +++ b/arch/x86/kernel/process.c > > @@ -163,6 +163,8 @@ int copy_thread(unsigned long clone_flags, unsigned long sp, unsigned long arg, > > /* Kernel thread ? */ > > if (unlikely(p->flags & (PF_KTHREAD | PF_IO_WORKER))) { > > memset(childregs, 0, sizeof(struct pt_regs)); > > + if (p->flags & PF_IO_WORKER) > > + childregs->cs = current_pt_regs()->cs; > > kthread_frame_init(frame, sp, arg); > > return 0; > > } > > Would it be possible to fix this remaining problem before 5.12 final?
Please not that way.
But doing something like
childregs->cs = __USER_CS; childregs->ss = __USER_DS; childregs->ds = __USER_DS; childregs->es = __USER_DS;
might make sense (just do it unconditionally, rather than making it special to PF_IO_WORKER).
Does that make gdb happy too?
Linus
| |