git: 5804a1623054 - main - nosys(): add kern.signosys tunable/sysctl to control SIGSYS

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Mon, 02 Oct 2023 22:31:20 UTC
The branch main has been updated by kib:

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

commit 5804a1623054d865618d77cfac86978f03b8111a
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2023-09-25 16:36:04 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2023-10-02 22:30:53 +0000

    nosys(): add kern.signosys tunable/sysctl to control SIGSYS
    
    Reviewed by:    dchagin, markj
    Discussed with: jhb
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Differential revision:  https://reviews.freebsd.org/D41976
---
 sys/kern/kern_sig.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 16bc1e441119..c847783cd3da 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -159,6 +159,10 @@ static int	kern_lognosys = 0;
 SYSCTL_INT(_kern, OID_AUTO, lognosys, CTLFLAG_RWTUN, &kern_lognosys, 0,
     "Log invalid syscalls");
 
+static int	kern_signosys = 1;
+SYSCTL_INT(_kern, OID_AUTO, signosys, CTLFLAG_RWTUN, &kern_signosys, 0,
+    "Send SIGSYS on return from invalid syscall");
+
 __read_frequently bool sigfastblock_fetch_always = false;
 SYSCTL_BOOL(_kern, OID_AUTO, sigfastblock_fetch_always, CTLFLAG_RWTUN,
     &sigfastblock_fetch_always, 0,
@@ -4219,7 +4223,7 @@ nosys(struct thread *td, struct nosys_args *args)
 
 	p = td->td_proc;
 
-	if (SV_PROC_FLAG(p, SV_SIGSYS) != 0) {
+	if (SV_PROC_FLAG(p, SV_SIGSYS) != 0 && kern_signosys) {
 		PROC_LOCK(p);
 		tdsignal(td, SIGSYS);
 		PROC_UNLOCK(p);