git: 64633a533e71 - stable/14 - kern_syscall_deregister: document syscall 0 no-op logic

From: Enji Cooper <ngie_at_FreeBSD.org>
Date: Sun, 22 Feb 2026 20:23:21 UTC
The branch stable/14 has been updated by ngie:

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

commit 64633a533e712882d86a1afbbe49ff7b8990f525
Author:     Anagh Verma <go4av05.pvtx@gmail.com>
AuthorDate: 2026-01-06 07:42:56 +0000
Commit:     Enji Cooper <ngie@FreeBSD.org>
CommitDate: 2026-02-22 20:23:16 +0000

    kern_syscall_deregister: document syscall 0 no-op logic
    
    Document syscall #0 being handled specially in
    `kern_syscall_deregister(..)`: it's a reserved syscall and not
    dynamically registered, and hence does not need to be deregistered in
    the function.
    
    Co-authored-by: ngie@
    MFC after:      2 weeks
    Differential Revision:  https://reviews.freebsd.org/D54326
    
    (cherry picked from commit f384784289dba13b90138a89d3df3a8ea063aff9)
---
 sys/kern/kern_syscalls.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/sys/kern/kern_syscalls.c b/sys/kern/kern_syscalls.c
index e330f8a2ba09..2dfe162f6c2e 100644
--- a/sys/kern/kern_syscalls.c
+++ b/sys/kern/kern_syscalls.c
@@ -162,8 +162,14 @@ kern_syscall_deregister(struct sysent *sysents, int offset,
 {
 	struct sysent *se;
 
-	if (offset == 0)
-		return (0); /* XXX? */
+	if (offset == 0) {
+		/*
+		 * Syscall #0 is reserved and is not dynamically registered.
+		 * Treat deregistration as a no-op to simplify module unload
+		 * paths.
+		 */
+		return (0);
+	}
 
 	se = &sysents[offset];
 	if ((se->sy_thrcnt & SY_THR_STATIC) != 0)