diff options
author | trasz <trasz@FreeBSD.org> | 2011-03-31 18:12:04 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2011-03-31 18:12:04 +0000 |
commit | 596c078ed8b0a61497f5b46a4d05593182e0f69d (patch) | |
tree | 363afa254162b643c981a2bfbf3762680296dccd /sys/kern/kern_prot.c | |
parent | fb3f0c3e38fd3b49bdd67c2c6440bd741f875fbe (diff) | |
download | FreeBSD-src-596c078ed8b0a61497f5b46a4d05593182e0f69d.zip FreeBSD-src-596c078ed8b0a61497f5b46a4d05593182e0f69d.tar.gz |
Notify racct when process credentials change.
Sponsored by: The FreeBSD Foundation
Reviewed by: kib (earlier version)
Diffstat (limited to 'sys/kern/kern_prot.c')
-rw-r--r-- | sys/kern/kern_prot.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 9b94825..52db659 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -64,6 +64,7 @@ __FBSDID("$FreeBSD$"); #include <sys/sysproto.h> #include <sys/jail.h> #include <sys/pioctl.h> +#include <sys/racct.h> #include <sys/resourcevar.h> #include <sys/socket.h> #include <sys/socketvar.h> @@ -584,6 +585,9 @@ setuid(struct thread *td, struct setuid_args *uap) } p->p_ucred = newcred; PROC_UNLOCK(p); +#ifdef RACCT + racct_proc_ucred_changed(p, oldcred, newcred); +#endif uifree(uip); crfree(oldcred); return (0); @@ -922,6 +926,9 @@ setreuid(register struct thread *td, struct setreuid_args *uap) } p->p_ucred = newcred; PROC_UNLOCK(p); +#ifdef RACCT + racct_proc_ucred_changed(p, oldcred, newcred); +#endif uifree(ruip); uifree(euip); crfree(oldcred); @@ -1060,6 +1067,9 @@ setresuid(register struct thread *td, struct setresuid_args *uap) } p->p_ucred = newcred; PROC_UNLOCK(p); +#ifdef RACCT + racct_proc_ucred_changed(p, oldcred, newcred); +#endif uifree(ruip); uifree(euip); crfree(oldcred); |