summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/kern_loginclass.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/sys/kern/kern_loginclass.c b/sys/kern/kern_loginclass.c
index 92eb3cf..c0946ef 100644
--- a/sys/kern/kern_loginclass.c
+++ b/sys/kern/kern_loginclass.c
@@ -178,24 +178,14 @@ struct getloginclass_args {
int
sys_getloginclass(struct thread *td, struct getloginclass_args *uap)
{
- int error = 0;
- size_t lcnamelen;
- struct proc *p;
struct loginclass *lc;
+ size_t lcnamelen;
- p = td->td_proc;
- PROC_LOCK(p);
- lc = p->p_ucred->cr_loginclass;
- loginclass_hold(lc);
- PROC_UNLOCK(p);
-
+ lc = td->td_ucred->cr_loginclass;
lcnamelen = strlen(lc->lc_name) + 1;
if (lcnamelen > uap->namelen)
- error = ERANGE;
- if (error == 0)
- error = copyout(lc->lc_name, uap->namebuf, lcnamelen);
- loginclass_free(lc);
- return (error);
+ return (ERANGE);
+ return (copyout(lc->lc_name, uap->namebuf, lcnamelen));
}
/*
OpenPOWER on IntegriCloud