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

From: Paul Moore
Date: Sat Jun 05 2021 - 23:08:23 EST


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