summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorarr <arr@FreeBSD.org>2002-03-21 15:27:39 +0000
committerarr <arr@FreeBSD.org>2002-03-21 15:27:39 +0000
commit68e226a99e4bb06935a253fc6a79afc3fa43bcd0 (patch)
tree7bde5895adacd26ebeb471c903ce82ce8daa74e0 /sys
parentec2a00af74c8240f7fc6f03c84ad40034fbf2aac (diff)
downloadFreeBSD-src-68e226a99e4bb06935a253fc6a79afc3fa43bcd0.zip
FreeBSD-src-68e226a99e4bb06935a253fc6a79afc3fa43bcd0.tar.gz
- Fix a logic error in checking the securelevel that was introduced in the
previous commit. Pointy hats to: arr, rwatson
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_linker.c8
-rw-r--r--sys/kern/vfs_extattr.c2
-rw-r--r--sys/kern/vfs_syscalls.c2
3 files changed, 4 insertions, 8 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
index 9d644d2..1050b33 100644
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -700,10 +700,8 @@ kldload(struct thread *td, struct kldload_args *uap)
mtx_lock(&Giant);
- if (securelevel_gt(td->td_ucred, 0) == 0) {
- error = EPERM;
+ if ((error = securelevel_gt(td->td_ucred, 0)) != 0)
goto out;
- }
if ((error = suser_xxx(td->td_ucred, NULL, 0)) != 0)
goto out;
@@ -749,10 +747,8 @@ kldunload(struct thread *td, struct kldunload_args *uap)
mtx_lock(&Giant);
- if (securelevel_gt(td->td_ucred, 0) == 0) {
- error = EPERM;
+ if ((error = securelevel_gt(td->td_ucred, 0)) != 0)
goto out;
- }
if ((error = suser_xxx(td->td_ucred, NULL, 0)) != 0)
goto out;
diff --git a/sys/kern/vfs_extattr.c b/sys/kern/vfs_extattr.c
index 8247f8d..77eece4 100644
--- a/sys/kern/vfs_extattr.c
+++ b/sys/kern/vfs_extattr.c
@@ -308,7 +308,7 @@ vfs_mount(td, fstype, fspath, fsflags, fsdata)
return error;
}
error = securelevel_gt(td->td_ucred, 0);
- if (error == 0) {
+ if (error != 0) {
vput(vp);
return (EPERM);
}
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index 8247f8d..77eece4 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -308,7 +308,7 @@ vfs_mount(td, fstype, fspath, fsflags, fsdata)
return error;
}
error = securelevel_gt(td->td_ucred, 0);
- if (error == 0) {
+ if (error != 0) {
vput(vp);
return (EPERM);
}
OpenPOWER on IntegriCloud