diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2006-03-29 20:30:19 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2006-05-01 06:06:13 -0400 |
commit | fa84cb935d4ec601528f5e2f0d5d31e7876a5044 (patch) | |
tree | ba0694902a1fec4e32ff15503fc316c24b4a4501 /kernel/auditsc.c | |
parent | d6fe3945b42d09a1eca7ad180a1646e585b8594f (diff) |
[PATCH] move call of audit_free() into do_exit()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'kernel/auditsc.c')
-rw-r--r-- | kernel/auditsc.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index 4052f0aec1d3..8ec52ffad633 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c | |||
@@ -698,19 +698,12 @@ static void audit_log_exit(struct audit_context *context, struct task_struct *ts | |||
698 | * audit_free - free a per-task audit context | 698 | * audit_free - free a per-task audit context |
699 | * @tsk: task whose audit context block to free | 699 | * @tsk: task whose audit context block to free |
700 | * | 700 | * |
701 | * Called from copy_process and __put_task_struct. | 701 | * Called from copy_process and do_exit |
702 | */ | 702 | */ |
703 | void audit_free(struct task_struct *tsk) | 703 | void audit_free(struct task_struct *tsk) |
704 | { | 704 | { |
705 | struct audit_context *context; | 705 | struct audit_context *context; |
706 | 706 | ||
707 | /* | ||
708 | * No need to lock the task - when we execute audit_free() | ||
709 | * then the task has no external references anymore, and | ||
710 | * we are tearing it down. (The locking also confuses | ||
711 | * DEBUG_LOCKDEP - this freeing may occur in softirq | ||
712 | * contexts as well, via RCU.) | ||
713 | */ | ||
714 | context = audit_get_context(tsk, 0, 0); | 707 | context = audit_get_context(tsk, 0, 0); |
715 | if (likely(!context)) | 708 | if (likely(!context)) |
716 | return; | 709 | return; |