The branch stable/14 has been updated by dchagin:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=a08bb9bdd20b4226d83f1f643116275e7af7e3f9

commit a08bb9bdd20b4226d83f1f643116275e7af7e3f9
Author:     Dmitry Chagin <dcha...@freebsd.org>
AuthorDate: 2023-09-18 14:53:01 +0000
Commit:     Dmitry Chagin <dcha...@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)

Reply via email to