security: Wrap SMACK and SELINUX audit data structs in ifdefs

Wrapped the smack_audit_data and selinux_audit_data
structs in include/linux/lsm_audit.h in ifdefs so that the
union will always be the correct size.

Signed-off-by: Thomas Liu <tliu@redhat.com>
Acked-by: Eric Paris <eparis@redhat.com>
Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:
Thomas Liu 2009-07-09 10:00:31 -04:00 committed by James Morris
parent d4131ded4d
commit 65c3f0a2d0
1 changed files with 4 additions and 0 deletions

View File

@ -68,6 +68,7 @@ struct common_audit_data {
} u; } u;
/* this union contains LSM specific data */ /* this union contains LSM specific data */
union { union {
#ifdef CONFIG_SECURITY_SMACK
/* SMACK data */ /* SMACK data */
struct smack_audit_data { struct smack_audit_data {
const char *function; const char *function;
@ -76,6 +77,8 @@ struct common_audit_data {
char *request; char *request;
int result; int result;
} smack_audit_data; } smack_audit_data;
#endif
#ifdef CONFIG_SECURITY_SELINUX
/* SELinux data */ /* SELinux data */
struct { struct {
u32 ssid; u32 ssid;
@ -86,6 +89,7 @@ struct common_audit_data {
struct av_decision *avd; struct av_decision *avd;
int result; int result;
} selinux_audit_data; } selinux_audit_data;
#endif
}; };
/* these callback will be implemented by a specific LSM */ /* these callback will be implemented by a specific LSM */
void (*lsm_pre_audit)(struct audit_buffer *, void *); void (*lsm_pre_audit)(struct audit_buffer *, void *);