From: Chen Gang Date: Mon, 29 Apr 2013 22:05:19 +0000 (-0700) Subject: kernel/audit_tree.c: tree will leak memory when failure occurs in audit_trim_trees() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=12b2f117f3bf738c1a00a6f64393f1953a740bd4;p=openwrt%2Fstaging%2Fblogic.git kernel/audit_tree.c: tree will leak memory when failure occurs in audit_trim_trees() audit_trim_trees() calls get_tree(). If a failure occurs we must call put_tree(). [akpm@linux-foundation.org: run put_tree() before mutex_lock() for small scalability improvement] Signed-off-by: Chen Gang Cc: Al Viro Cc: Eric Paris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c index 642a89c4f3d6..a291aa23fb3f 100644 --- a/kernel/audit_tree.c +++ b/kernel/audit_tree.c @@ -617,9 +617,9 @@ void audit_trim_trees(void) } spin_unlock(&hash_lock); trim_marked(tree); - put_tree(tree); drop_collected_mounts(root_mnt); skip_it: + put_tree(tree); mutex_lock(&audit_filter_mutex); } list_del(&cursor);