It's probably not a problem, but one needs to remember that all
updates to all bit fields need to be under the same lock/protection.
Bitfields + concurrent access is dangerous, but may well be
appropriate in this case.
-Eric
On Tue, Dec 23, 2014 at 1:20 PM, Richard Guy Briggs <rgb(a)redhat.com> wrote:
 Replace five 32-bit fields with one.  Move a nearby 32-bit field to
enable
 64-bit alignment.
 Signed-off-by: Richard Guy Briggs <rgb(a)redhat.com>
 ---
  include/linux/audit.h |   13 +++++++------
  1 files changed, 7 insertions(+), 6 deletions(-)
 diff --git a/include/linux/audit.h b/include/linux/audit.h
 index b481779..bd06f92 100644
 --- a/include/linux/audit.h
 +++ b/include/linux/audit.h
 @@ -46,13 +46,14 @@ struct audit_tree;
  struct sk_buff;
  struct audit_krule {
 -       u32                     pflags;
 -       u32                     flags;
 -       u32                     listnr;
 -       u32                     action;
 -       u32                     mask[AUDIT_BITMASK_SIZE];
 +       u32                     listnr:4,
 +                               flags:5,
 +                               action:2,
 +                               pflags:1,
 +                               field_count:7,
 +                               reserved:13;
         u32                     buflen; /* for data alloc on list rules */
 -       u32                     field_count;
 +       u32                     mask[AUDIT_BITMASK_SIZE];
         char                    *filterkey; /* ties events to rules */
         struct audit_field      *fields;
         struct audit_field      *arch_f; /* quick access to arch field */
 --
 1.7.1