Commit 9494f0d
smb: client/smbdirect: fix MR registration for coalesced SG lists
commit 9900b9f upstream.
The stable backport to < 7.1 patches a different file. Also
the Fixes tag below is adjusted for the old code path.
ib_dma_map_sg() modifies the provided scatterlist and returns the
number of mapped entries, which can be fewer than the requested
mr->sgt.nents if the DMA controller coalesces contiguous memory
segments. Passing the original, uncoalesced count to ib_map_mr_sg()
causes memory registration failures if coalescing actually occurs.
Capture the actual mapped count returned by ib_dma_map_sg() and pass it
to ib_map_mr_sg() to ensure correct MR registration.
Also update the ib_dma_map_sg() error logging to drop the error
pointer formatting, since the return value is an integer count
rather than an error code.
Ensure a proper error code (-EIO) is assigned when DMA mapping or
MR registration fails.
Fixes: c739858 ("CIFS: SMBD: Implement RDMA memory registration")
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221408
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Yi Kuo <yi@yikuo.dev>
Signed-off-by: Steve French <stfrench@microsoft.com>
Cc: stable@vger.kernel.org
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>1 parent 7c93f35 commit 9494f0d
1 file changed
Lines changed: 12 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2920 | 2920 | | |
2921 | 2921 | | |
2922 | 2922 | | |
2923 | | - | |
| 2923 | + | |
2924 | 2924 | | |
2925 | 2925 | | |
2926 | 2926 | | |
| |||
2948 | 2948 | | |
2949 | 2949 | | |
2950 | 2950 | | |
2951 | | - | |
2952 | | - | |
2953 | | - | |
2954 | | - | |
| 2951 | + | |
| 2952 | + | |
| 2953 | + | |
| 2954 | + | |
| 2955 | + | |
2955 | 2956 | | |
2956 | 2957 | | |
2957 | 2958 | | |
2958 | | - | |
2959 | | - | |
| 2959 | + | |
| 2960 | + | |
2960 | 2961 | | |
2961 | | - | |
2962 | | - | |
| 2962 | + | |
| 2963 | + | |
| 2964 | + | |
| 2965 | + | |
2963 | 2966 | | |
2964 | 2967 | | |
2965 | 2968 | | |
| |||
0 commit comments