[PATCH 0/2] Fix invalid syscall return for traced tasks

Dan Streetman ddstreet at canonical.com
Wed Apr 21 18:40:33 UTC 2021


BugLink: https://bugs.launchpad.net/bugs/1895132

For any traced task, that has _TIF_TRACED set, invalid syscalls are
sent to the tracing code, which returns EPERM instead of ENOSYS, and
breaks userspace.

Note that in focal (5.4) the return value was the actual syscall number,
while in bionic the return value is EPERM. However either value breaks
userspace.

This is causing narrow failures of hirsute containers on bionic hosts
that are running the 4.15 kernel, as detailed in bug 1916485.

Sven Schnelle (2):
  s390/ptrace: return -ENOSYS when invalid syscall is supplied
  s390/ptrace: pass invalid syscall numbers to tracing

 arch/s390/kernel/entry.S  |  2 +-
 arch/s390/kernel/ptrace.c | 23 ++++++++++++++---------
 2 files changed, 15 insertions(+), 10 deletions(-)

-- 
2.25.1




More information about the kernel-team mailing list