On Sun, Dec 12, 2021 at 06:48:56PM +0100, Heiko Carstens wrote: > On Wed, Dec 08, 2021 at 02:25:23PM -0600, Eric W. Biederman wrote: > > My s390 assembly is not particularly good so I have read the history > > of the reference to do_exit copy_thread and have been able to > > verify that do_exit is not used. > > > > The general argument is that s390 has been changed to use the generic > > kernel_thread and kernel_execve and the generic versions do not call > > do_exit. So it is strange to see a do_exit reference sitting there. > > > > The history of the do_exit reference in s390's version of copy_thread > > seems conclusive that the do_exit reference is something that lingers > > and should have been removed several years ago. > ... > > Remove this dead reference to do_exit to make it clear that s390 is > > not doing anything with do_exit in copy_thread. > > > > Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> > > --- > > arch/s390/kernel/process.c | 1 - > > 1 file changed, 1 deletion(-) > > Applied to s390 tree. Just in case you want to apply this to your tree too: > Acked-by: Heiko Carstens <hca@xxxxxxxxxxxxx> FWIW, this frame->childregs.psw.addr = (unsigned long)__ret_from_fork; is also pointless. We do want psw.mask (if nothing else, __ret_from_fork() that is called by ret_from_fork() will, in effect, check user_mode(task_pt_regs()). But psw.addr is, AFAICS, pointless - the only way the callback is allowed to return is after successful kernel_execve(), which would set psw.addr; moreover, psw.addr is meaningless until that happens.