Răsfoiți Sursa

IB/mthca: Check SRQ limit in modify SRQ operation

When setting the shared receive queue (SRQ) watermark in a modify SRQ
operation, make sure that the supplied value is not larger than the
full size of the SRQ.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Jack Morgenstein 19 ani în urmă
părinte
comite
d4301e2c66
1 a modificat fișierele cu 2 adăugiri și 0 ștergeri
  1. 2 0
      drivers/infiniband/hw/mthca/mthca_srq.c

+ 2 - 0
drivers/infiniband/hw/mthca/mthca_srq.c

@@ -358,6 +358,8 @@ int mthca_modify_srq(struct ib_srq *ibsrq, struct ib_srq_attr *attr,
 		return -EINVAL;
 
 	if (attr_mask & IB_SRQ_LIMIT) {
+		if (attr->srq_limit > srq->max)
+			return -EINVAL;
 		ret = mthca_ARM_SRQ(dev, srq->srqn, attr->srq_limit, &status);
 		if (ret)
 			return ret;