summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_prot.c
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2011-03-31 18:12:04 +0000
committertrasz <trasz@FreeBSD.org>2011-03-31 18:12:04 +0000
commit596c078ed8b0a61497f5b46a4d05593182e0f69d (patch)
tree363afa254162b643c981a2bfbf3762680296dccd /sys/kern/kern_prot.c
parentfb3f0c3e38fd3b49bdd67c2c6440bd741f875fbe (diff)
downloadFreeBSD-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.c10
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);
OpenPOWER on IntegriCloud