Message ID | 20210421135436.394371-1-ddstreet@canonical.com |
---|---|
State | New |
Headers | show |
Series | [SRU,bionic,1/2] s390/ptrace: pass invalid syscall numbers to tracing | expand |
On 21/04/2021 15:54, Dan Streetman wrote: > From: Sven Schnelle <svens@linux.ibm.com> > > BugLink: https://bugs.launchpad.net/bugs/1916485 The SRU mentioned in buglink describes systemd impact, not kernel. You need SRU cover letter. Unless you meant: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1895132 ? The patches should be sent in the same order as in upstream, so first goes "return -ENOSYS when invalid syscall is supplied" Best regards, Krzysztof
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index cf1112a9fc41..80c4386225f2 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S @@ -383,9 +383,9 @@ ENTRY(system_call) jnz .Lsysc_nr_ok # svc 0: system call number in %r1 llgfr %r1,%r1 # clear high word in r1 + sth %r1,__PT_INT_CODE+2(%r11) cghi %r1,NR_syscalls jnl .Lsysc_nr_ok - sth %r1,__PT_INT_CODE+2(%r11) slag %r8,%r1,2 .Lsysc_nr_ok: xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index 3ffa2847c110..713e792ed24c 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c @@ -874,11 +874,9 @@ asmlinkage long do_syscall_trace_enter(struct pt_regs *regs) * call number to gprs[2]. */ if (test_thread_flag(TIF_SYSCALL_TRACE) && - (tracehook_report_syscall_entry(regs) || - regs->gprs[2] >= NR_syscalls)) { + tracehook_report_syscall_entry(regs)) { /* - * Tracing decided this syscall should not happen or the - * debugger stored an invalid system call number. Skip + * Tracing decided this syscall should not happen. Skip * the system call and the system call restart handling. */ clear_pt_regs_flag(regs, PIF_SYSCALL);