audit: use union for audit_field values since they are mutually exclusive
[firefly-linux-kernel-4.4.55.git] / include / linux / audit.h
index 1ae00891aff9bacb64d80d2db24da82a9acb6c93..36dffeccebdbe4d9c76cecd02e400c82ef74998d 100644 (file)
@@ -66,12 +66,16 @@ struct audit_krule {
 
 struct audit_field {
        u32                             type;
-       u32                             val;
-       kuid_t                          uid;
-       kgid_t                          gid;
+       union {
+               u32                     val;
+               kuid_t                  uid;
+               kgid_t                  gid;
+               struct {
+                       char            *lsm_str;
+                       void            *lsm_rule;
+               };
+       };
        u32                             op;
-       char                            *lsm_str;
-       void                            *lsm_rule;
 };
 
 extern int is_audit_feature_set(int which);