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

From: Richard Guy Briggs
Date: Mon Jun 07 2021 - 13:51:15 EST


On 2021-06-07 13:07, Paul Moore wrote:
> 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.

I find AUDITSC_* or AUDIT*CONTEXT* are more helpful since that makes it
clear it is about syscall context while STATE doesn't make that clear.

The minimal change could have been to AUDIT_DISABLE_CONTEXT.

> > В Сб, 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

- RGB

--
Richard Guy Briggs <rgb@xxxxxxxxxx>
Sr. S/W Engineer, Kernel Security, Base Operating Systems
Remote, Ottawa, Red Hat Canada
IRC: rgb, SunRaycer
Voice: +1.647.777.2635, Internal: (81) 32635