summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_mib.c
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2001-11-06 20:09:33 +0000
committerrwatson <rwatson@FreeBSD.org>2001-11-06 20:09:33 +0000
commitbd13886bd85b6d5cac62ae81da44b43eeae279de (patch)
tree61f85525938efc53df3b4991428f18da7c74ff25 /sys/kern/kern_mib.c
parentce1ebd733b14fda7e0ae4ab5ce52dd9948fb7147 (diff)
downloadFreeBSD-src-bd13886bd85b6d5cac62ae81da44b43eeae279de.zip
FreeBSD-src-bd13886bd85b6d5cac62ae81da44b43eeae279de.tar.gz
o Cache the process's struct prison so as to create a more visually
appealing code structure. In particular, s/req->p->p_ucred->cr_prison/pr/ Requested by: imp, jhb, jake, other hangers on
Diffstat (limited to 'sys/kern/kern_mib.c')
-rw-r--r--sys/kern/kern_mib.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sys/kern/kern_mib.c b/sys/kern/kern_mib.c
index 783834e..ced42e5 100644
--- a/sys/kern/kern_mib.c
+++ b/sys/kern/kern_mib.c
@@ -183,15 +183,17 @@ int securelevel = -1;
static int
sysctl_kern_securelvl(SYSCTL_HANDLER_ARGS)
{
+ struct prison *pr;
int error, level;
+ pr = req->p->p_ucred->cr_prison;
+
/*
* If the process is in jail, return the maximum of the global and
* local levels; otherwise, return the global level.
*/
- if (req->p->p_ucred->cr_prison != NULL)
- level = imax(securelevel,
- req->p->p_ucred->cr_prison->pr_securelevel);
+ if (pr != NULL)
+ level = imax(securelevel, pr->pr_securelevel);
else
level = securelevel;
error = sysctl_handle_int(oidp, &level, 0, req);
@@ -201,14 +203,13 @@ sysctl_kern_securelvl(SYSCTL_HANDLER_ARGS)
* Permit update only if the new securelevel exceeds the
* global level, and local level if any.
*/
- if (req->p->p_ucred->cr_prison != NULL) {
+ if (pr != NULL) {
#ifdef REGRESSION
if (!regression_securelevel_nonmonotonic)
#endif /* !REGRESSION */
- if (level < imax(securelevel,
- req->p->p_ucred->cr_prison->pr_securelevel))
+ if (level < imax(securelevel, pr->pr_securelevel))
return (EPERM);
- req->p->p_ucred->cr_prison->pr_securelevel = level;
+ pr->pr_securelevel = level;
} else {
#ifdef REGRESSION
if (!regression_securelevel_nonmonotonic)
OpenPOWER on IntegriCloud