Browse Source

AUDIT: Fix task refcount leak in audit_filter_syscall()

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
David Woodhouse 20 years ago
parent
commit
413a1c7520
1 changed files with 2 additions and 1 deletions
  1. 2 1
      kernel/auditsc.c

+ 2 - 1
kernel/auditsc.c

@@ -1007,7 +1007,7 @@ void audit_syscall_exit(struct task_struct *tsk, int valid, long return_code)
 	/* Not having a context here is ok, since the parent may have
 	 * called __put_task_struct. */
 	if (likely(!context))
-		return;
+		goto out;
 
 	if (context->in_syscall && context->auditable)
 		audit_log_exit(context, GFP_KERNEL);
@@ -1026,6 +1026,7 @@ void audit_syscall_exit(struct task_struct *tsk, int valid, long return_code)
 		audit_zero_context(context, context->state);
 		tsk->audit_context = context;
 	}
+ out:
 	put_task_struct(tsk);
 }