On Tue, Apr 27, 2021 at 10:37:25AM -0600, Theo de Raadt wrote:
> > Would 0, 0 min, max be a simple and obvious way to say "read only" ?
> 
> That is not as terrible.

Yes.  But it has another undocumented side effect.  I think
sysctl_bounded_arr() inherits the minimum == maximum check from
sysctl_int_bounded() which means unbounded.  The latter is only
used in sysctl_int().

> Or maybe a define like:
> + #define SYSCTL_BOUNDED_ARR_READONLY  0,0
> Which can then be used in-place without confusion.

I thought of that, too.  Then reading the code would be easy.  To
cover all features we would need

#define SYSCTL_INT_UNBOUNDED    0,0
#define SYSCTL_INT_READONLY     1,0

Both work for sysctl_bounded_arr(),
sysctl_int_bounded(SYSCTL_INT_READONLY) could be implemented.

Maybe that is too complex.

> But whatever we do, it must be documented clearly.

Yes, please.

bluhm

Reply via email to