Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4023e020 authored by Ingo Molnar's avatar Ingo Molnar Committed by Al Viro
Browse files

[PATCH] simplify audit_free() locking



Simplify 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: default avatarIngo Molnar <mingo@elte.hu>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent d9d9ec6e
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -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;