Re: [PATCH] audit: Rename enum audit_state constants to avoid AUDIT_DISABLED redefinition

From: Paul Moore
Date: Mon Jun 07 2021 - 13:08:23 EST


On Mon, Jun 7, 2021 at 5:58 AM Sergey Nazarov <s-nazarov@xxxxxxxxx> wrote:
> Hi, Paul!
> I think this could be easer. It's enouth to rename AUDIT_DISABLE only.
> enum audit_state deals with per-task syscalls audit context, so we can
> use AUDIT_CONTEXT_DISABLED for example. If it's okay, I can send a new
> patch version.

Hi Sergey,

I personally prefer the AUDIT_STATE_* enums and would rather see that.

> В Сб, 05/06/2021 в 22:40 -0400, Paul Moore пишет:
> > On Fri, Jun 4, 2021 at 7:21 AM Sergey Nazarov <s-nazarov@xxxxxxxxx>
> > wrote:
> > >
> > > AUDIT_DISABLED defined in kernel/audit.h as element of enum
> > > audit_state
> > > and redefined in kernel/audit.c. This produces a warning when
> > > kernel builds
> > > with syscalls audit disabled and brokes kernel build if -Werror
> > > used.
> > > enum audit_state used in syscall audit code only. This patch
> > > changes
> > > enum audit_state constants prefix AUDIT to AUDITSC to avoid
> > > AUDIT_DISABLED
> > > redefinition.
> > >
> > > Signed-off-by: Sergey Nazarov <s-nazarov@xxxxxxxxx>
> > > ---
> > > kernel/audit.h | 8 ++++----
> > > kernel/auditsc.c | 34 +++++++++++++++++-----------------
> > > 2 files changed, 21 insertions(+), 21 deletions(-)
> >
> > Hi Sergey,
> >
> > Thanks for sending a patch to fix this problem. One comment below
> > ...
> >
> > > diff --git a/kernel/audit.h b/kernel/audit.h
> > > index 1522e10..ee81f20 100644
> > > --- a/kernel/audit.h
> > > +++ b/kernel/audit.h
> > > @@ -21,16 +21,16 @@
> > > a per-task filter. At syscall entry, the audit_state is
> > > augmented by
> > > the syscall filter. */
> > > enum audit_state {
> > > - AUDIT_DISABLED, /* Do not create per-task
> > > audit_context.
> > > + AUDITSC_DISABLED, /* Do not create per-task
> > > audit_context.
> > > * No syscall-specific audit
> > > records can
> > > * be generated. */
> > > - AUDIT_BUILD_CONTEXT, /* Create the per-task
> > > audit_context,
> > > + AUDITSC_BUILD_CONTEXT, /* Create the per-task
> > > audit_context,
> > > * and fill it in at syscall
> > > * entry time. This makes a full
> > > * syscall record available if some
> > > * other part of the kernel decides
> > > it
> > > * should be recorded. */
> > > - AUDIT_RECORD_CONTEXT /* Create the per-task
> > > audit_context,
> > > + AUDITSC_RECORD_CONTEXT /* Create the per-task
> > > audit_context,
> > > * always fill it in at syscall
> > > entry
> > > * time, and always write out the
> > > audit
> > > * record at syscall exit time. */
> >
> > I believe that just as the AUDIT_ prefix proved to be a bit too
> > generic, I think that the AUDITSC_ prefix is also not the best
> > choice.
> > Would you object to using the AUDIT_STATE_ prefix? As that may get a
> > bit long, I might suggest dropping the _CONTEXT from the enums too
> > such that you would end up with the following:
> >
> > enum audit_state {
> > AUDIT_STATE_DISABLED,
> > AUDIT_STATE_BUILD,
> > AUDIT_STATE_RECORD,
> > };
> >
> > Thoughts?
> >
>


--
paul moore
www.paul-moore.com