]> Pileus Git - ~andy/linux/blobdiff - security/smack/smack.h
LSM: shrink sizeof LSM specific portion of common_audit_data
[~andy/linux] / security / smack / smack.h
index 2ad00657b80198f3cd9f8acbd20a5eed31f0f218..ccba3823d9efcd7b1f8af732ec203b0cb54c89aa 100644 (file)
@@ -185,6 +185,15 @@ struct smack_known {
  */
 #define SMK_NUM_ACCESS_TYPE 5
 
+/* SMACK data */
+struct smack_audit_data {
+       const char *function;
+       char *subject;
+       char *object;
+       char *request;
+       int result;
+};
+
 /*
  * Smack audit data; is empty if CONFIG_AUDIT not set
  * to save some stack
@@ -192,6 +201,7 @@ struct smack_known {
 struct smk_audit_info {
 #ifdef CONFIG_AUDIT
        struct common_audit_data a;
+       struct smack_audit_data sad;
 #endif
 };
 /*
@@ -311,7 +321,8 @@ static inline void smk_ad_init(struct smk_audit_info *a, const char *func,
 {
        memset(a, 0, sizeof(*a));
        a->a.type = type;
-       a->a.smack_audit_data.function = func;
+       a->a.smack_audit_data = &a->sad;
+       a->a.smack_audit_data->function = func;
 }
 
 static inline void smk_ad_setfield_u_tsk(struct smk_audit_info *a,