hw: rdma: fix an off-by-one issue
In rdma_rm_get_backend_gid_index(), the 'sgid_idx' is used to index the array 'dev_res->port.gid_tbl' which size is MAX_PORT_GIDS. Current the 'sgid_idx' may be MAX_PORT_GIDS thus cause an off-by-one issue. Spotted by Coverity: CID 1398594 Signed-off-by: Li Qiang <liq3ea@163.com> Message-Id: <20190103131251.49271-1-liq3ea@163.com> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
This commit is contained in:
parent
a1aa88b7dc
commit
a5fe209d71
@ -579,7 +579,7 @@ int rdma_rm_del_gid(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
|
|||||||
int rdma_rm_get_backend_gid_index(RdmaDeviceResources *dev_res,
|
int rdma_rm_get_backend_gid_index(RdmaDeviceResources *dev_res,
|
||||||
RdmaBackendDev *backend_dev, int sgid_idx)
|
RdmaBackendDev *backend_dev, int sgid_idx)
|
||||||
{
|
{
|
||||||
if (unlikely(sgid_idx < 0 || sgid_idx > MAX_PORT_GIDS)) {
|
if (unlikely(sgid_idx < 0 || sgid_idx >= MAX_PORT_GIDS)) {
|
||||||
pr_dbg("Got invalid sgid_idx %d\n", sgid_idx);
|
pr_dbg("Got invalid sgid_idx %d\n", sgid_idx);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user