Unlock most of `kern_vars' variables.
authormvs <mvs@openbsd.org>
Mon, 5 Aug 2024 15:43:58 +0000 (15:43 +0000)
committermvs <mvs@openbsd.org>
Mon, 5 Aug 2024 15:43:58 +0000 (15:43 +0000)
Add corresponding cases to the kern_sysctl() switch and unlock read-only
variables from `kern_vars'. Unlock KERN_SOMAXCONN and KERN_SOMINCONN
which are atomically read-only accessed only from solisten().

ok kettenis

sys/kern/kern_sysctl.c

index 47deb31..a796cf4 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: kern_sysctl.c,v 1.431 2024/08/05 13:46:16 mvs Exp $   */
+/*     $OpenBSD: kern_sysctl.c,v 1.432 2024/08/05 15:43:58 mvs Exp $   */
 /*     $NetBSD: kern_sysctl.c,v 1.17 1996/05/20 17:49:05 mrg Exp $     */
 
 /*-
@@ -525,6 +525,30 @@ kern_sysctl(int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp,
                return (sysctl_rdstruct(oldp, oldlenp, newp,
                    &mbs, sizeof(mbs)));
        }
+       case KERN_OSREV:
+       case KERN_NFILES:
+       case KERN_TTYCOUNT:
+       case KERN_ARGMAX:
+       case KERN_POSIX1:
+       case KERN_NGROUPS:
+       case KERN_JOB_CONTROL:
+       case KERN_SAVED_IDS:
+       case KERN_MAXPARTITIONS:
+       case KERN_RAWPARTITION:
+       case KERN_NTHREADS:
+       case KERN_SOMAXCONN:
+       case KERN_SOMINCONN:
+       case KERN_FSYNC:
+       case KERN_SYSVMSG:
+       case KERN_SYSVSEM:
+       case KERN_SYSVSHM:
+       case KERN_FSCALE:
+       case KERN_CCPU:
+       case KERN_NPROCS:
+       case KERN_NETLIVELOCKS:
+       case KERN_AUTOCONF_SERIAL:
+               return (sysctl_bounded_arr(kern_vars, nitems(kern_vars), name,
+                   namelen, oldp, oldlenp, newp, newlen));
        }
 
        savelen = *oldlenp;