diff options
author | csjp <csjp@FreeBSD.org> | 2008-01-28 17:33:46 +0000 |
---|---|---|
committer | csjp <csjp@FreeBSD.org> | 2008-01-28 17:33:46 +0000 |
commit | 03cdec7669472f075b2aeff145166369e76d7a5d (patch) | |
tree | 49378956877585251aa6e5d868acda47a9e5e2c8 /sys/security/audit/audit.c | |
parent | b46ea5a5ec13975464c93fde529e20a35d070bbc (diff) | |
download | FreeBSD-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.c | 2 |
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 |