Merge tag 'omap-for-v17/fixes-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / kernel / auditsc.c
index e80459f7e1327731f6960ee5824e22d71037b8c8..4e0a4ac803db72499f67822233f6db70d7b6f3b8 100644 (file)
@@ -1511,30 +1511,28 @@ void __audit_syscall_entry(int major, unsigned long a1, unsigned long a2,
        struct audit_context *context = tsk->audit_context;
        enum audit_state     state;
 
-       if (!context)
+       if (!audit_enabled || !context)
                return;
 
        BUG_ON(context->in_syscall || context->name_count);
 
-       if (!audit_enabled)
+       state = context->state;
+       if (state == AUDIT_DISABLED)
                return;
 
+       context->dummy = !audit_n_rules;
+       if (!context->dummy && state == AUDIT_BUILD_CONTEXT) {
+               context->prio = 0;
+               if (auditd_test_task(tsk))
+                       return;
+       }
+
        context->arch       = syscall_get_arch();
        context->major      = major;
        context->argv[0]    = a1;
        context->argv[1]    = a2;
        context->argv[2]    = a3;
        context->argv[3]    = a4;
-
-       state = context->state;
-       context->dummy = !audit_n_rules;
-       if (!context->dummy && state == AUDIT_BUILD_CONTEXT) {
-               context->prio = 0;
-               state = audit_filter_syscall(tsk, context, &audit_filter_list[AUDIT_FILTER_ENTRY]);
-       }
-       if (state == AUDIT_DISABLED)
-               return;
-
        context->serial     = 0;
        context->ctime = current_kernel_time64();
        context->in_syscall = 1;