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 <[email protected]> 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 <[email protected]>
> ---
>  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
>

--
Linux-audit mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/linux-audit

Reply via email to