Index | Thread | Search

From:
Mark Kettenis <mark.kettenis@xs4all.nl>
Subject:
Re: Unlock most of `kern_vars' variables
To:
Vitaliy Makkoveev <mvs@openbsd.org>
Cc:
tech@openbsd.org
Date:
Mon, 05 Aug 2024 17:24:47 +0200

Download raw body.

Thread
> Date: Fri, 2 Aug 2024 23:40:20 +0300
> From: Vitaliy Makkoveev <mvs@openbsd.org>
> 
> Add corresponding cases to the kern_sysctl() switch and unlock read-only
> variables from `kern_vars'. Unlock KERN_SOMAXCONN and KERN_SOMINCONN
> which are mp-safe for a long time. They are accessed only in solisten().
> 
> ok?

ok kettenis@

> I don't see the reason to split `kern_vars' by two parts.
> 
> Index: sys/kern/kern_sysctl.c
> ===================================================================
> RCS file: /cvs/src/sys/kern/kern_sysctl.c,v
> diff -u -p -r1.430 kern_sysctl.c
> --- sys/kern/kern_sysctl.c	2 Aug 2024 14:34:45 -0000	1.430
> +++ sys/kern/kern_sysctl.c	2 Aug 2024 15:28:21 -0000
> @@ -526,6 +526,30 @@ kern_sysctl(int *name, u_int namelen, vo
>  		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;
> 
>