diff options
author | arr <arr@FreeBSD.org> | 2002-03-22 04:56:09 +0000 |
---|---|---|
committer | arr <arr@FreeBSD.org> | 2002-03-22 04:56:09 +0000 |
commit | fc49faf982a99592b499300f44b7d8b5db8f2c62 (patch) | |
tree | 793f74eea02d5018f3b716ba7d48afd94b494b86 /sys/kern/kern_linker.c | |
parent | c260993d3befab3dffd257b8f5c8746e508fe300 (diff) | |
download | FreeBSD-src-fc49faf982a99592b499300f44b7d8b5db8f2c62.zip FreeBSD-src-fc49faf982a99592b499300f44b7d8b5db8f2c62.tar.gz |
- Back out the commit to make the linker_load_file() securelevel check
made aware in jail environments. Supposedly something is broken, so
this should be backed out until further investigation proves otherwise,
or a proper fix can be provided.
Diffstat (limited to 'sys/kern/kern_linker.c')
-rw-r--r-- | sys/kern/kern_linker.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 1050b33..192877c 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -698,10 +698,10 @@ kldload(struct thread *td, struct kldload_args *uap) td->td_retval[0] = -1; - mtx_lock(&Giant); + if (securelevel > 0) /* redundant, but that's OK */ + return (EPERM); - if ((error = securelevel_gt(td->td_ucred, 0)) != 0) - goto out; + mtx_lock(&Giant); if ((error = suser_xxx(td->td_ucred, NULL, 0)) != 0) goto out; @@ -745,10 +745,10 @@ kldunload(struct thread *td, struct kldunload_args *uap) linker_file_t lf; int error = 0; - mtx_lock(&Giant); + if (securelevel > 0) /* redundant, but that's OK */ + return (EPERM); - if ((error = securelevel_gt(td->td_ucred, 0)) != 0) - goto out; + mtx_lock(&Giant); if ((error = suser_xxx(td->td_ucred, NULL, 0)) != 0) goto out; |