Re: [PATCH] ocfs2: fix double free in user_cluster_connect()
From: Joseph Qi
Date: Tue Sep 23 2025 - 08:08:38 EST
On 2025/9/23 19:26, Dan Carpenter wrote:
> The user_cluster_disconnect() function frees "conn->cc_private" which is
> "lc" but then the error handling frees "lc" a second time. Set "lc" to
> NULL on this path to avoid a double free.
>
> Fixes: c994c2ebdbbc ("ocfs2: use the new DLM operation callbacks while requesting new lockspace")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Looks fine.
Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxxxxxxxxx>
> ---
> fs/ocfs2/stack_user.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/ocfs2/stack_user.c b/fs/ocfs2/stack_user.c
> index 765105f1ff8a..be0a5758bd40 100644
> --- a/fs/ocfs2/stack_user.c
> +++ b/fs/ocfs2/stack_user.c
> @@ -1011,6 +1011,7 @@ static int user_cluster_connect(struct ocfs2_cluster_connection *conn)
> printk(KERN_ERR "ocfs2: Could not determine"
> " locking version\n");
> user_cluster_disconnect(conn);
> + lc = NULL;
> goto out;
> }
> wait_event(lc->oc_wait, (atomic_read(&lc->oc_this_node) > 0));