git: a08bb9bdd20b - stable/14 - linux(4): On Linux SIGKILL can not be reset to default
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 25 Sep 2023 10:24:55 UTC
The branch stable/14 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=a08bb9bdd20b4226d83f1f643116275e7af7e3f9 commit a08bb9bdd20b4226d83f1f643116275e7af7e3f9 Author: Dmitry Chagin <dchagin@FreeBSD.org> AuthorDate: 2023-09-18 14:53:01 +0000 Commit: Dmitry Chagin <dchagin@FreeBSD.org> CommitDate: 2023-09-25 10:18:55 +0000 linux(4): On Linux SIGKILL can not be reset to default MFC after: 1 week (cherry picked from commit 227d01c1bc7caf2e838ee6eef1e6a3cc81d79d1b) --- sys/compat/linux/linux_signal.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c index e3e3fc74a6a9..9a84700b3949 100644 --- a/sys/compat/linux/linux_signal.c +++ b/sys/compat/linux/linux_signal.c @@ -170,6 +170,7 @@ linux_do_sigaction(struct thread *td, int linux_sig, l_sigaction_t *linux_nsa, if (!LINUX_SIG_VALID(linux_sig)) return (EINVAL); + sig = linux_to_bsd_signal(linux_sig); osa = (linux_osa != NULL) ? &oact : NULL; if (linux_nsa != NULL) { @@ -180,9 +181,11 @@ linux_do_sigaction(struct thread *td, int linux_sig, l_sigaction_t *linux_nsa, linux_ktrsigset(&linux_nsa->lsa_mask, sizeof(linux_nsa->lsa_mask)); #endif + if ((sig == SIGKILL || sig == SIGSTOP) && + nsa->sa_handler == SIG_DFL) + return (EINVAL); } else nsa = NULL; - sig = linux_to_bsd_signal(linux_sig); error = kern_sigaction(td, sig, nsa, osa, 0); if (error != 0)