summaryrefslogtreecommitdiffstats
path: root/sys/security/audit/audit.c
diff options
context:
space:
mode:
authorcsjp <csjp@FreeBSD.org>2008-01-28 17:33:46 +0000
committercsjp <csjp@FreeBSD.org>2008-01-28 17:33:46 +0000
commit03cdec7669472f075b2aeff145166369e76d7a5d (patch)
tree49378956877585251aa6e5d868acda47a9e5e2c8 /sys/security/audit/audit.c
parentb46ea5a5ec13975464c93fde529e20a35d070bbc (diff)
downloadFreeBSD-src-03cdec7669472f075b2aeff145166369e76d7a5d.zip
FreeBSD-src-03cdec7669472f075b2aeff145166369e76d7a5d.tar.gz
Make sure that the termid type is initialized to AU_IPv4 by default.
This makes sure that process tokens credentials with un-initialized audit contexts are handled correctly. Currently, when invariants are enabled, this change fixes a panic by ensuring that we have a valid termid family. Also, this fixes token generation for process tokens making sure that userspace is always getting a valid token. This is consistent with what Solaris does when an audit context is un-initialized. Obtained from: TrustedBSD Project MFC after: 1 week
Diffstat (limited to 'sys/security/audit/audit.c')
-rw-r--r--sys/security/audit/audit.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/security/audit/audit.c b/sys/security/audit/audit.c
index 68747b8..34de1d0 100644
--- a/sys/security/audit/audit.c
+++ b/sys/security/audit/audit.c
@@ -551,6 +551,7 @@ audit_cred_kproc0(struct ucred *cred)
{
cred->cr_audit.ai_auid = AU_DEFAUDITID;
+ cred->cr_audit.ai_termid.at_type = AU_IPv4;
}
void
@@ -558,6 +559,7 @@ audit_cred_proc1(struct ucred *cred)
{
cred->cr_audit.ai_auid = AU_DEFAUDITID;
+ cred->cr_audit.ai_termid.at_type = AU_IPv4;
}
void
OpenPOWER on IntegriCloud