RDMA/ocrdma: off by one in ocrdma_query_gid()
Subsystems (3)
PATCH 1/1 RDMA/ocrdma: off by one in ocrdma_query_gid()
The dev->sgid_tbl[] array is allocated in ocrdma_alloc_resources(). It has OCRDMA_MAX_SGID elements so the test here is off by one.
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c +1 -1
@@ -53,7 +53,7 @@ int ocrdma_query_gid(struct ib_device *ibdev, u8 port, dev =get_ocrdma_dev (ibdev);memset (sgid,0 ,sizeof (*sgid)); -if (index >OCRDMA_MAX_SGID ) +if (index >=OCRDMA_MAX_SGID )return -EINVAL ;memcpy (sgid, &dev->sgid_tbl[index],sizeof (*sgid));
A message that is not in the archive (sent off-list or not yet received): [email protected]
Roland Dreier
Appliedthanks, applied.
PATCH 1/1 RDMA/ocrdma: off by one in ocrdma_query_gid()
In reply to Dan CarpenterThe ->sgid_tbl[] array has OCRDMA_MAX_SGID number of elements so this test is off by one. ->sgid_tbl is allocated in ocrdma_alloc_resources().
drivers/infiniband/hw/ocrdma/ocrdma_verbs.c +1 -1
@@ -53,7 +53,7 @@ int ocrdma_query_gid(struct ib_device *ibdev, u8 port, dev =get_ocrdma_dev (ibdev);memset (sgid,0 ,sizeof (*sgid)); -if (index >OCRDMA_MAX_SGID ) +if (index >=OCRDMA_MAX_SGID )return -EINVAL ;memcpy (sgid, &dev->sgid_tbl[index],sizeof (*sgid));
Thanks !
Quoted 27 lines
-----Original Message-----
From: Dan Carpenter [mailto:[email protected]]
Sent: Monday, February 16, 2015 3:32 PM
To: Roland Dreier
Cc: Sean Hefty; Hal Rosenstock; Devesh Sharma; Selvin Xavier; Mitesh Ahuja; Yishai Hadas; [email protected]; [email protected]
Subject: [patch] RDMA/ocrdma: off by one inocrdma_query_gid()The ->sgid_tbl[] array has
OCRDMA_MAX_SGIDnumber of elements so this test is off by one. ->sgid_tbl is allocated inocrdma_alloc_resources().Signed-off-by Dan Carpenter <[email protected]>drivers/infiniband/hw/ocrdma/ocrdma_verbs.c +1
-1@@ -53,7 +53,7 @@ int ocrdma_query_gid(struct ib_device *ibdev, u8 port, dev =get_ocrdma_dev (ibdev);memset (sgid,0 ,sizeof (*sgid)); -if (index >OCRDMA_MAX_SGID ) +if (index >=OCRDMA_MAX_SGID )return -EINVAL ;memcpy (sgid, &dev->sgid_tbl[index],sizeof (*sgid));