The patch titled audit: move call of audit_free() into do_exit() has been removed from the -mm tree. Its filename is audit-move-call-of-audit_free-into-do_exit.patch This patch was probably dropped from -mm because it has now been merged into a subsystem tree or into Linus's tree, or because it was folded into its parent patch in the -mm tree. From: Al Viro <viro@xxxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- kernel/auditsc.c | 9 +-------- kernel/exit.c | 3 +++ kernel/fork.c | 2 -- 3 files changed, 4 insertions(+), 10 deletions(-) diff -puN kernel/auditsc.c~audit-move-call-of-audit_free-into-do_exit kernel/auditsc.c --- devel/kernel/auditsc.c~audit-move-call-of-audit_free-into-do_exit 2006-04-17 21:40:29.000000000 -0700 +++ devel-akpm/kernel/auditsc.c 2006-04-17 21:40:29.000000000 -0700 @@ -698,19 +698,12 @@ static void audit_log_exit(struct audit_ * audit_free - free a per-task audit context * @tsk: task whose audit context block to free * - * Called from copy_process and __put_task_struct. + * Called from copy_process and do_exit */ void audit_free(struct task_struct *tsk) { struct audit_context *context; - /* - * 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); if (likely(!context)) return; diff -puN kernel/exit.c~audit-move-call-of-audit_free-into-do_exit kernel/exit.c --- devel/kernel/exit.c~audit-move-call-of-audit_free-into-do_exit 2006-04-17 21:40:29.000000000 -0700 +++ devel-akpm/kernel/exit.c 2006-04-17 21:40:29.000000000 -0700 @@ -35,6 +35,7 @@ #include <linux/futex.h> #include <linux/compat.h> #include <linux/pipe_fs_i.h> +#include <linux/audit.h> /* for audit_free() */ #include <asm/uaccess.h> #include <asm/unistd.h> @@ -910,6 +911,8 @@ fastcall NORET_TYPE void do_exit(long co if (unlikely(tsk->compat_robust_list)) compat_exit_robust_list(tsk); #endif + if (unlikely(tsk->audit_context)) + audit_free(tsk); exit_mm(tsk); exit_sem(tsk); diff -puN kernel/fork.c~audit-move-call-of-audit_free-into-do_exit kernel/fork.c --- devel/kernel/fork.c~audit-move-call-of-audit_free-into-do_exit 2006-04-17 21:40:29.000000000 -0700 +++ devel-akpm/kernel/fork.c 2006-04-17 21:40:29.000000000 -0700 @@ -114,8 +114,6 @@ void __put_task_struct(struct task_struc WARN_ON(atomic_read(&tsk->usage)); WARN_ON(tsk == current); - if (unlikely(tsk->audit_context)) - audit_free(tsk); security_task_free(tsk); free_uid(tsk->user); put_group_info(tsk->group_info); _ Patches currently in -mm which might be from viro@xxxxxxxxxxxxxxxx are slab-leaks3-default-y.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html