diff mbox series

[v2] IB/{mlx5,ocrdma,qedr,rxe}: Omit port validation from IB verbs

Message ID 20181209110610.1440-1-yuval.shaia@oracle.com (mailing list archive)
State Accepted
Commit 59590b8ad2eea9543a639880fc0d2c139b66d164
Delegated to: Jason Gunthorpe
Headers show
Series [v2] IB/{mlx5,ocrdma,qedr,rxe}: Omit port validation from IB verbs | expand

Commit Message

Yuval Shaia Dec. 9, 2018, 11:06 a.m. UTC
RDMA core layer already make sure port is valid, no need to check it
here again.

For the pkey validation this depends on commit b3ac5742fead ("RDMA/core:
Validate port number in query_pkey verb")

Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
---
v1 -> v2:
	* Delete no-longer-used "out" tag as suggested by Yanjun
	* Took care of some other drivers that do this extra check as
	  suggested by Jason
---
 drivers/infiniband/hw/mlx5/mad.c            |  5 -----
 drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 12 -----------
 drivers/infiniband/hw/qedr/verbs.c          | 12 -----------
 drivers/infiniband/sw/rxe/rxe_verbs.c       | 22 +--------------------
 4 files changed, 1 insertion(+), 50 deletions(-)

Comments

Leon Romanovsky Dec. 9, 2018, 4:45 p.m. UTC | #1
On Sun, Dec 09, 2018 at 01:06:10PM +0200, Yuval Shaia wrote:
> RDMA core layer already make sure port is valid, no need to check it
> here again.
>
> For the pkey validation this depends on commit b3ac5742fead ("RDMA/core:
> Validate port number in query_pkey verb")
>
> Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
> ---
> v1 -> v2:
> 	* Delete no-longer-used "out" tag as suggested by Yanjun
> 	* Took care of some other drivers that do this extra check as
> 	  suggested by Jason
> ---
>  drivers/infiniband/hw/mlx5/mad.c            |  5 -----
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 12 -----------
>  drivers/infiniband/hw/qedr/verbs.c          | 12 -----------
>  drivers/infiniband/sw/rxe/rxe_verbs.c       | 22 +--------------------
>  4 files changed, 1 insertion(+), 50 deletions(-)
>

Thanks,
Acked-by: Leon Romanovsky <leonro@mellanox.com>
Jason Gunthorpe Dec. 11, 2018, 8:58 p.m. UTC | #2
On Sun, Dec 09, 2018 at 01:06:10PM +0200, Yuval Shaia wrote:
> RDMA core layer already make sure port is valid, no need to check it
> here again.
> 
> For the pkey validation this depends on commit b3ac5742fead ("RDMA/core:
> Validate port number in query_pkey verb")
> 
> Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com>
> Acked-by: Leon Romanovsky <leonro@mellanox.com>
> ---
> v1 -> v2:
> 	* Delete no-longer-used "out" tag as suggested by Yanjun
> 	* Took care of some other drivers that do this extra check as
> 	  suggested by Jason
> ---
>  drivers/infiniband/hw/mlx5/mad.c            |  5 -----
>  drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 12 -----------
>  drivers/infiniband/hw/qedr/verbs.c          | 12 -----------
>  drivers/infiniband/sw/rxe/rxe_verbs.c       | 22 +--------------------
>  4 files changed, 1 insertion(+), 50 deletions(-)

Applied to for-next

Thanks,
Jason
diff mbox series

Patch

diff --git a/drivers/infiniband/hw/mlx5/mad.c b/drivers/infiniband/hw/mlx5/mad.c
index 32a9e9228b13..7524e6686f68 100644
--- a/drivers/infiniband/hw/mlx5/mad.c
+++ b/drivers/infiniband/hw/mlx5/mad.c
@@ -526,11 +526,6 @@  int mlx5_query_mad_ifc_port(struct ib_device *ibdev, u8 port,
 	int ext_active_speed;
 	int err = -ENOMEM;
 
-	if (port < 1 || port > dev->num_ports) {
-		mlx5_ib_warn(dev, "invalid port number %d\n", port);
-		return -EINVAL;
-	}
-
 	in_mad  = kzalloc(sizeof(*in_mad), GFP_KERNEL);
 	out_mad = kmalloc(sizeof(*out_mad), GFP_KERNEL);
 	if (!in_mad || !out_mad)
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index 06d2a7f3304c..1a5c048e1d67 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -177,11 +177,6 @@  int ocrdma_query_port(struct ib_device *ibdev,
 
 	/* props being zeroed by the caller, avoid zeroing it here */
 	dev = get_ocrdma_dev(ibdev);
-	if (port > 1) {
-		pr_err("%s(%d) invalid_port=0x%x\n", __func__,
-		       dev->id, port);
-		return -EINVAL;
-	}
 	netdev = dev->nic_info.netdev;
 	if (netif_running(netdev) && netif_oper_up(netdev)) {
 		port_state = IB_PORT_ACTIVE;
@@ -215,13 +210,6 @@  int ocrdma_query_port(struct ib_device *ibdev,
 int ocrdma_modify_port(struct ib_device *ibdev, u8 port, int mask,
 		       struct ib_port_modify *props)
 {
-	struct ocrdma_dev *dev;
-
-	dev = get_ocrdma_dev(ibdev);
-	if (port > 1) {
-		pr_err("%s(%d) invalid_port=0x%x\n", __func__, dev->id, port);
-		return -EINVAL;
-	}
 	return 0;
 }
 
diff --git a/drivers/infiniband/hw/qedr/verbs.c b/drivers/infiniband/hw/qedr/verbs.c
index 82ee4b4a7084..28c6d5b11487 100644
--- a/drivers/infiniband/hw/qedr/verbs.c
+++ b/drivers/infiniband/hw/qedr/verbs.c
@@ -216,10 +216,6 @@  int qedr_query_port(struct ib_device *ibdev, u8 port, struct ib_port_attr *attr)
 	struct qed_rdma_port *rdma_port;
 
 	dev = get_qedr_dev(ibdev);
-	if (port > 1) {
-		DP_ERR(dev, "invalid_port=0x%x\n", port);
-		return -EINVAL;
-	}
 
 	if (!dev->rdma_ctx) {
 		DP_ERR(dev, "rdma_ctx is NULL\n");
@@ -263,14 +259,6 @@  int qedr_query_port(struct ib_device *ibdev, u8 port, struct ib_port_attr *attr)
 int qedr_modify_port(struct ib_device *ibdev, u8 port, int mask,
 		     struct ib_port_modify *props)
 {
-	struct qedr_dev *dev;
-
-	dev = get_qedr_dev(ibdev);
-	if (port > 1) {
-		DP_ERR(dev, "invalid_port=0x%x\n", port);
-		return -EINVAL;
-	}
-
 	return 0;
 }
 
diff --git a/drivers/infiniband/sw/rxe/rxe_verbs.c b/drivers/infiniband/sw/rxe/rxe_verbs.c
index 30817c79ba96..e4df2d60fe8b 100644
--- a/drivers/infiniband/sw/rxe/rxe_verbs.c
+++ b/drivers/infiniband/sw/rxe/rxe_verbs.c
@@ -56,12 +56,7 @@  static int rxe_query_port(struct ib_device *dev,
 {
 	struct rxe_dev *rxe = to_rdev(dev);
 	struct rxe_port *port;
-	int rc = -EINVAL;
-
-	if (unlikely(port_num != 1)) {
-		pr_warn("invalid port_number %d\n", port_num);
-		goto out;
-	}
+	int rc;
 
 	port = &rxe->port;
 
@@ -81,7 +76,6 @@  static int rxe_query_port(struct ib_device *dev,
 
 	mutex_unlock(&rxe->usdev_lock);
 
-out:
 	return rc;
 }
 
@@ -104,12 +98,6 @@  static int rxe_query_pkey(struct ib_device *device,
 	struct rxe_dev *rxe = to_rdev(device);
 	struct rxe_port *port;
 
-	if (unlikely(port_num != 1)) {
-		dev_warn(device->dev.parent, "invalid port_num = %d\n",
-			 port_num);
-		goto err1;
-	}
-
 	port = &rxe->port;
 
 	if (unlikely(index >= port->attr.pkey_tbl_len)) {
@@ -147,11 +135,6 @@  static int rxe_modify_port(struct ib_device *dev,
 	struct rxe_dev *rxe = to_rdev(dev);
 	struct rxe_port *port;
 
-	if (unlikely(port_num != 1)) {
-		pr_warn("invalid port_num = %d\n", port_num);
-		goto err1;
-	}
-
 	port = &rxe->port;
 
 	port->attr.port_cap_flags |= attr->set_port_cap_mask;
@@ -161,9 +144,6 @@  static int rxe_modify_port(struct ib_device *dev,
 		port->attr.qkey_viol_cntr = 0;
 
 	return 0;
-
-err1:
-	return -EINVAL;
 }
 
 static enum rdma_link_layer rxe_get_link_layer(struct ib_device *dev,