Re: [PATCH] ptrace/x86: introduce TS_COMPAT_RESTART to fix get_nr_restart_syscall()

From: Oleg Nesterov
Date: Fri Nov 29 2019 - 12:32:51 EST


On 11/28, Andy Lutomirski wrote:
>
> I think this doesnât work for x32.

Why? get_nr_restart_syscall() can still rely on the "orig_ax & __X32_SYSCALL_BIT"
check, debugger should restore regs->orig_ax correctly.

> Letâs either save the result of syscall_get_arch()

We can save the result of syscall_get_arch(), but it doesn't distinguish
x32/x86_64 tasks, so it doesn't really differ from TS_COMPAT.

> or just actually calculate and save the restart_syscall nr here.

sure, we we can do this.

> Before we commit to this, Kees, do you think we can manage to just renumber
> restart_syscall()? Thatâs a much better solution if we can pull it off.

Agreed.

Oleg.