From: Kyle Huey <me@kylehuey.com> To: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Andrea Righi <andrea.righi@canonical.com>, Kees Cook <keescook@chromium.org>, Shuah Khan <shuah@kernel.org>, Alexei Starovoitov <ast@kernel.org>, Andy Lutomirski <luto@amacapital.net>, Will Drewry <wad@chromium.org>, "open list:KERNEL SELFTEST FRAMEWORK" <linux-kselftest@vger.kernel.org>, bpf@vger.kernel.org, open list <linux-kernel@vger.kernel.org>, linux-hardening@vger.kernel.org, Linus Torvalds <torvalds@linux-foundation.org>, "Robert O'Callahan" <rocallahan@gmail.com> Subject: [REGRESSION] 5.16rc1: SA_IMMUTABLE breaks debuggers Date: Wed, 17 Nov 2021 10:47:13 -0800 [thread overview] Message-ID: <CAP045AoMY4xf8aC_4QU_-j7obuEPYgTcnQQP3Yxk=2X90jtpjw@mail.gmail.com> (raw) rr, a userspace record and replay debugger[0], is completely broken on 5.16rc1. I bisected this to 00b06da29cf9dc633cdba87acd3f57f4df3fd5c7. That patch makes two changes, it blocks sigaction from changing signal handlers once the kernel has decided to force the program to take a signal and it also stops notifying ptracers of the signal in the same circumstances. The latter behavior is just wrong. There's no reason that ptrace should not be able to observe and even change (non-SIGKILL) forced signals. It should be reverted. This behavior change is also observable in gdb. If you take a program that sets SIGSYS to SIG_IGN and then raises a SIGSYS via SECCOMP_RET_TRAP and run it under gdb on a good kernel gdb will stop when the SIGSYS is raised, let you inspect program state, etc. After the SA_IMMUTABLE change gdb won't stop until the program has already died of SIGSYS. - Kyle [0] https://rr-project.org/
next reply other threads:[~2021-11-17 18:47 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-11-17 18:47 Kyle Huey [this message] 2021-11-17 18:51 ` Kees Cook 2021-11-17 19:05 ` Kyle Huey 2021-11-17 19:09 ` Kyle Huey 2021-11-17 21:04 ` Eric W. Biederman 2021-11-17 21:54 ` Kees Cook 2021-11-17 23:24 ` Linus Torvalds 2021-11-18 0:05 ` Kees Cook 2021-11-18 0:15 ` Linus Torvalds 2021-11-18 0:37 ` Kyle Huey 2021-11-18 1:11 ` Linus Torvalds 2021-11-18 1:20 ` Kyle Huey 2021-11-18 1:32 ` Kees Cook 2021-11-18 16:10 ` Eric W. Biederman 2021-11-19 16:07 ` Kyle Huey 2021-11-19 16:35 ` Kees Cook 2021-11-19 16:58 ` Kyle Huey 2021-11-18 21:58 ` [PATCH 0/2] SA_IMMUTABLE fixes Eric W. Biederman 2021-11-18 22:04 ` [PATCH 1/2] signal: Don't always set SA_IMMUTABLE for forced signals Eric W. Biederman 2021-11-18 23:52 ` Kees Cook 2021-11-18 23:54 ` Kees Cook 2021-11-19 15:08 ` Eric W. Biederman 2021-11-19 1:13 ` Kyle Huey 2021-11-19 15:03 ` Eric W. Biederman 2021-11-18 22:05 ` [PATCH 2/2] signal: Replace force_fatal_sig with force_exit_sig when in doubt Eric W. Biederman 2021-11-18 23:53 ` Kees Cook 2021-11-19 1:12 ` [PATCH 0/2] SA_IMMUTABLE fixes Kyle Huey 2021-11-19 15:41 ` [GIT PULL] SA_IMMUTABLE fixes for v5.16-rc2 Eric W. Biederman 2021-11-19 19:46 ` pr-tracker-bot 2021-11-17 22:29 ` [REGRESSION] 5.16rc1: SA_IMMUTABLE breaks debuggers Kyle Huey 2021-11-18 5:43 ` Thorsten Leemhuis 2021-11-20 6:13 ` Thorsten Leemhuis
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAP045AoMY4xf8aC_4QU_-j7obuEPYgTcnQQP3Yxk=2X90jtpjw@mail.gmail.com' \ --to=me@kylehuey.com \ --cc=andrea.righi@canonical.com \ --cc=ast@kernel.org \ --cc=bpf@vger.kernel.org \ --cc=ebiederm@xmission.com \ --cc=keescook@chromium.org \ --cc=linux-hardening@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-kselftest@vger.kernel.org \ --cc=luto@amacapital.net \ --cc=rocallahan@gmail.com \ --cc=shuah@kernel.org \ --cc=torvalds@linux-foundation.org \ --cc=wad@chromium.org \ --subject='Re: [REGRESSION] 5.16rc1: SA_IMMUTABLE breaks debuggers' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).