OSDN Git Service

audit: fix macros warnings
authorAlex Shi <alex.shi@linux.alibaba.com>
Fri, 6 Nov 2020 08:31:22 +0000 (16:31 +0800)
committerPaul Moore <paul@paul-moore.com>
Wed, 25 Nov 2020 04:28:02 +0000 (23:28 -0500)
Some unused macros could cause gcc warning:
kernel/audit.c:68:0: warning: macro "AUDIT_UNINITIALIZED" is not used
[-Wunused-macros]
kernel/auditsc.c:104:0: warning: macro "AUDIT_AUX_IPCPERM" is not used
[-Wunused-macros]
kernel/auditsc.c:82:0: warning: macro "AUDITSC_INVALID" is not used
[-Wunused-macros]

AUDIT_UNINITIALIZED and AUDITSC_INVALID are still meaningful and should
be in incorporated.

Just remove AUDIT_AUX_IPCPERM.

Thanks comments from Richard Guy Briggs and Paul Moore.

Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com>
Cc: Paul Moore <paul@paul-moore.com>
Cc: Richard Guy Briggs <rgb@redhat.com>
Cc: Eric Paris <eparis@redhat.com>
Cc: linux-audit@redhat.com
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Paul Moore <paul@paul-moore.com>
kernel/audit.c
kernel/auditsc.c

index ac0aeaa..e22f22b 100644 (file)
@@ -67,7 +67,7 @@
 #define AUDIT_DISABLED         -1
 #define AUDIT_UNINITIALIZED    0
 #define AUDIT_INITIALIZED      1
-static int     audit_initialized;
+static int     audit_initialized = AUDIT_UNINITIALIZED;
 
 u32            audit_enabled = AUDIT_OFF;
 bool           audit_ever_enabled = !!AUDIT_OFF;
index 183d79c..9cbe6d5 100644 (file)
@@ -102,8 +102,6 @@ struct audit_aux_data {
        int                     type;
 };
 
-#define AUDIT_AUX_IPCPERM      0
-
 /* Number of target pids per aux struct. */
 #define AUDIT_AUX_PIDS 16
 
@@ -552,11 +550,11 @@ static int audit_filter_rules(struct task_struct *tsk,
                        break;
 
                case AUDIT_EXIT:
-                       if (ctx && ctx->return_valid)
+                       if (ctx && ctx->return_valid != AUDITSC_INVALID)
                                result = audit_comparator(ctx->return_code, f->op, f->val);
                        break;
                case AUDIT_SUCCESS:
-                       if (ctx && ctx->return_valid) {
+                       if (ctx && ctx->return_valid != AUDITSC_INVALID) {
                                if (f->val)
                                        result = audit_comparator(ctx->return_valid, f->op, AUDITSC_SUCCESS);
                                else
@@ -930,6 +928,7 @@ static inline struct audit_context *audit_alloc_context(enum audit_state state)
        INIT_LIST_HEAD(&context->killed_trees);
        INIT_LIST_HEAD(&context->names_list);
        context->fds[0] = -1;
+       context->return_valid = AUDITSC_INVALID;
        return context;
 }
 
@@ -1488,7 +1487,7 @@ static void audit_log_exit(void)
                         context->arch, context->major);
        if (context->personality != PER_LINUX)
                audit_log_format(ab, " per=%lx", context->personality);
-       if (context->return_valid)
+       if (context->return_valid != AUDITSC_INVALID)
                audit_log_format(ab, " success=%s exit=%ld",
                                 (context->return_valid==AUDITSC_SUCCESS)?"yes":"no",
                                 context->return_code);
@@ -1625,7 +1624,7 @@ void __audit_free(struct task_struct *tsk)
         * need to log via audit_log_exit().
         */
        if (tsk == current && !context->dummy && context->in_syscall) {
-               context->return_valid = 0;
+               context->return_valid = AUDITSC_INVALID;
                context->return_code = 0;
 
                audit_filter_syscall(tsk, context,