Messages in this thread Patch in this message | | | Date | Wed, 1 Feb 2006 11:39:42 +0100 | From | Ingo Molnar <> | Subject | [patch] simplify audit_free() locking |
| |
this patch simplifies audit_free()'s locking: no need to lock a task that we are tearing down. [the extra locking also caused false positives in the lock validator]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Index: linux/kernel/auditsc.c =================================================================== --- linux.orig/kernel/auditsc.c +++ linux/kernel/auditsc.c @@ -692,10 +692,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; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |