diff options
author | Thomas Liu <tliu@redhat.com> | 2009-07-14 12:14:09 -0400 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2009-08-17 08:37:18 +1000 |
commit | 2bf49690325b62480a42f7afed5e9f164173c570 (patch) | |
tree | bc8525f6a45ea3ffaed9449084df7644bcd4e3c2 /include/linux/lsm_audit.h | |
parent | f322abf83feddc3c37c3a91794e0c5aece4af18e (diff) | |
download | linux-stable-2bf49690325b62480a42f7afed5e9f164173c570.tar.gz linux-stable-2bf49690325b62480a42f7afed5e9f164173c570.tar.bz2 linux-stable-2bf49690325b62480a42f7afed5e9f164173c570.zip |
SELinux: Convert avc_audit to use lsm_audit.h
Convert avc_audit in security/selinux/avc.c to use lsm_audit.h,
for better maintainability.
- changed selinux to use common_audit_data instead of
avc_audit_data
- eliminated code in avc.c and used code from lsm_audit.h instead.
Had to add a LSM_AUDIT_NO_AUDIT to lsm_audit.h so that avc_audit
can call common_lsm_audit and do the pre and post callbacks without
doing the actual dump. This makes it so that the patched version
behaves the same way as the unpatched version.
Also added a denied field to the selinux_audit_data private space,
once again to make it so that the patched version behaves like the
unpatched.
I've tested and confirmed that AVCs look the same before and after
this patch.
Signed-off-by: Thomas Liu <tliu@redhat.com>
Acked-by: Stephen Smalley <sds@tycho.nsa.gov>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'include/linux/lsm_audit.h')
-rw-r--r-- | include/linux/lsm_audit.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/lsm_audit.h b/include/linux/lsm_audit.h index a5514a3a4f17..190c37854870 100644 --- a/include/linux/lsm_audit.h +++ b/include/linux/lsm_audit.h @@ -33,6 +33,7 @@ struct common_audit_data { #define LSM_AUDIT_DATA_IPC 4 #define LSM_AUDIT_DATA_TASK 5 #define LSM_AUDIT_DATA_KEY 6 +#define LSM_AUDIT_NO_AUDIT 7 struct task_struct *tsk; union { struct { @@ -86,6 +87,7 @@ struct common_audit_data { u16 tclass; u32 requested; u32 audited; + u32 denied; struct av_decision *avd; int result; } selinux_audit_data; |