]> err.no Git - linux-2.6/blobdiff - kernel/auditsc.c
[SCSI] dc395x: dynamically map scatter-gather for PIO
[linux-2.6] / kernel / auditsc.c
index d3d499272d1392eda45fea179131856661585455..7f160df21a23e22a3d8e0e36b29712bcc9758692 100644 (file)
@@ -704,10 +704,14 @@ void audit_free(struct task_struct *tsk)
 {
        struct audit_context *context;
 
-       task_lock(tsk);
+       /*
+        * No need to lock the task - when we execute audit_free()
+        * then the task has no external references anymore, and
+        * we are tearing it down. (The locking also confuses
+        * DEBUG_LOCKDEP - this freeing may occur in softirq
+        * contexts as well, via RCU.)
+        */
        context = audit_get_context(tsk, 0, 0);
-       task_unlock(tsk);
-
        if (likely(!context))
                return;
 
@@ -757,7 +761,7 @@ void audit_syscall_entry(struct task_struct *tsk, int arch, int major,
         *
         * i386     no
         * x86_64   no
-        * ppc64    yes (see arch/ppc64/kernel/misc.S)
+        * ppc64    yes (see arch/powerpc/platforms/iseries/misc.S)
         *
         * This also happens with vm86 emulation in a non-nested manner
         * (entries without exits), so this case must be caught.