mirror of https://gitee.com/openkylin/linux.git
svcrdma: Catch another Reply chunk overflow case
When space in the Reply chunk runs out in the middle of a segment, we end up passing a zero-length SGL to rdma_rw_ctx_init(), and it oopses. Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
b650545978
commit
e5decb2eb5
|
@ -460,6 +460,8 @@ svc_rdma_build_writes(struct svc_rdma_write_info *info,
|
||||||
offset += info->wi_seg_off;
|
offset += info->wi_seg_off;
|
||||||
|
|
||||||
write_len = min(remaining, length - info->wi_seg_off);
|
write_len = min(remaining, length - info->wi_seg_off);
|
||||||
|
if (!write_len)
|
||||||
|
goto out_overflow;
|
||||||
ctxt = svc_rdma_get_rw_ctxt(rdma,
|
ctxt = svc_rdma_get_rw_ctxt(rdma,
|
||||||
(write_len >> PAGE_SHIFT) + 2);
|
(write_len >> PAGE_SHIFT) + 2);
|
||||||
if (!ctxt)
|
if (!ctxt)
|
||||||
|
|
Loading…
Reference in New Issue