[PATCH 10/10] smb: client: let destroy_mr_list() keep smbdirect_mr_io memory if registered
Stefan Metzmacher
metze at samba.org
Wed Oct 15 07:20:56 UTC 2025
Hi Steve,
as already discussed, one additional hunk is needed...
> @@ -2402,6 +2448,9 @@ static int allocate_mr_list(struct smbdirect_socket *sc)
> goto kzalloc_mr_failed;
> }
>
> + kref_init(&mr->kref);
> + mutex_init(&mr->mutex);
> +
> mr->mr = ib_alloc_mr(sc->ib.pd,
> sc->mr_io.type,
> sp->max_frmr_depth);
Here we're missing the following hunk:
@@ -2483,6 +2483,7 @@ static int allocate_mr_list(struct smbdirect_socket *sc)
kcalloc_sgl_failed:
ib_dereg_mr(mr->mr);
ib_alloc_mr_failed:
+ mutex_destroy(&mr->mutex);
kfree(mr);
kzalloc_mr_failed:
destroy_mr_list(sc);
I fixed it in my for-6.18/fs-smb-20251015-v2 branch,
up to commit e4418cd1d5d80a8c24530ac0a41a5451c44f82bf.
git fetch https://git.samba.org/metze/linux/wip.git for-6.18/fs-smb-20251015-v2
The above hunk is the only difference to the current sfrench-cifs-2.6/for-next
(at commit 7949ce089965bd025a8d46dbaa2f5d0a2bd4ec77), I only moved my commits
to the top. So you can just replace 7949ce089965bd025a8d46dbaa2f5d0a2bd4ec77 by
e4418cd1d5d80a8c24530ac0a41a5451c44f82bf.
Thanks!
metze
More information about the samba-technical
mailing list