Re: [PATCH 3.8-stable] kernel/audit_tree.c: tree will leak memorywhen failure occurs in audit_trim_trees()

From: Luis Henriques
Date: Wed May 08 2013 - 06:36:19 EST


On Tue, Apr 30, 2013 at 05:44:01PM +0900, Jonghwan Choi wrote:
> This patch looks like it should be in the 3.8-stable tree, should we apply
> it?

This commit seems to be applicable to other stable trees as well (3.0,
3.2, 3.5, ...).

Cheers,
--
Luis


>
> ------------------
>
> From: "Chen Gang <gang.chen@xxxxxxxxxxx>"
>
> commit 12b2f117f3bf738c1a00a6f64393f1953a740bd4 upstream
>
> audit_trim_trees() calls get_tree(). If a failure occurs we must call
> put_tree().
>
> [akpm@xxxxxxxxxxxxxxxxxxxx: run put_tree() before mutex_lock() for small
> scalability improvement]
> Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx>
> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> Cc: Eric Paris <eparis@xxxxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Jonghwan Choi <jhbird.choi@xxxxxxxxxxx>
> ---
> kernel/audit_tree.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c
> index 642a89c..a291aa2 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);
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
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/