[PATCH 06/14] no need to wank with task_lock() and pinning task down in audit_syscall_exit()

From: Al Viro
Date: Mon May 01 2006 - 06:32:37 EST


From: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Wed Mar 29 20:26:24 2006 -0500

Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

---

kernel/auditsc.c | 10 +---------
1 files changed, 1 insertions(+), 9 deletions(-)

97e94c453073a2aba4bb5e0825ddc5e923debf11
diff --git a/kernel/auditsc.c b/kernel/auditsc.c
index 7ed82b0..8aca4ab 100644
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@ -329,7 +329,6 @@ static enum audit_state audit_filter_sys
return AUDIT_BUILD_CONTEXT;
}

-/* This should be called with task_lock() held. */
static inline struct audit_context *audit_get_context(struct task_struct *tsk,
int return_valid,
int return_code)
@@ -823,15 +822,10 @@ void audit_syscall_exit(int valid, long
struct task_struct *tsk = current;
struct audit_context *context;

- get_task_struct(tsk);
- task_lock(tsk);
context = audit_get_context(tsk, valid, return_code);
- task_unlock(tsk);

- /* Not having a context here is ok, since the parent may have
- * called __put_task_struct. */
if (likely(!context))
- goto out;
+ return;

if (context->in_syscall && context->auditable)
audit_log_exit(context, tsk);
@@ -849,8 +843,6 @@ void audit_syscall_exit(int valid, long
audit_free_aux(context);
tsk->audit_context = context;
}
- out:
- put_task_struct(tsk);
}

/**
--
1.3.0.g0080f

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/