Explorar o código

RDMA/hns: Intercept illegal RDMA operation when use inline data

RDMA read operation is not supported inline data. If user cofigures
issue a RDMA read and use inline data, it will happen a hardware
error.

Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
oulijun %!s(int64=7) %!d(string=hai) anos
pai
achega
328d405b3d
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  1. 5 0
      drivers/infiniband/hw/hns/hns_roce_hw_v2.c

+ 5 - 0
drivers/infiniband/hw/hns/hns_roce_hw_v2.c

@@ -71,6 +71,11 @@ static int set_rwqe_data_seg(struct ib_qp *ibqp, struct ib_send_wr *wr,
 			return -EINVAL;
 		}
 
+		if (wr->opcode == IB_WR_RDMA_READ) {
+			dev_err(hr_dev->dev, "Not support inline data!\n");
+			return -EINVAL;
+		}
+
 		for (i = 0; i < wr->num_sge; i++) {
 			memcpy(wqe, ((void *)wr->sg_list[i].addr),
 			       wr->sg_list[i].length);