summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_sysctl.c
diff options
context:
space:
mode:
authordm <dm@openbsd.org>1996-04-23 15:03:52 +0000
committerdm <dm@openbsd.org>1996-04-23 15:03:52 +0000
commit55db18b28ad67a780ecf487d007fe2e2ab9bb5b7 (patch)
tree2512c71752f31d67cd3c8080942a5204a6af1185 /sys/kern/kern_sysctl.c
parentfix last sync (that was because of rcs bug, at least theo said so ;) (diff)
downloadwireguard-openbsd-55db18b28ad67a780ecf487d007fe2e2ab9bb5b7.tar.xz
wireguard-openbsd-55db18b28ad67a780ecf487d007fe2e2ab9bb5b7.zip
Allow the security level to be lowered when in security level 0
Diffstat (limited to 'sys/kern/kern_sysctl.c')
-rw-r--r--sys/kern/kern_sysctl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c
index f46b360b905..1902a35e381 100644
--- a/sys/kern/kern_sysctl.c
+++ b/sys/kern/kern_sysctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_sysctl.c,v 1.5 1996/04/21 22:27:10 deraadt Exp $ */
+/* $OpenBSD: kern_sysctl.c,v 1.6 1996/04/23 15:03:52 dm Exp $ */
/* $NetBSD: kern_sysctl.c,v 1.16 1996/04/12 23:21:37 thorpej Exp $ */
/*-
@@ -233,7 +233,8 @@ kern_sysctl(name, namelen, oldp, oldlenp, newp, newlen, p)
if ((error = sysctl_int(oldp, oldlenp, newp, newlen, &level)) ||
newp == NULL)
return (error);
- if (level < securelevel && p->p_pid != 1)
+ if ((securelevel > 0 || level < -1)
+ && level < securelevel && p->p_pid != 1)
return (EPERM);
securelevel = level;
return (0);