diff options
author | Leon Romanovsky <leonro@mellanox.com> | 2018-01-28 11:25:33 +0200 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2018-01-28 14:07:16 -0700 |
commit | 925f7ea7a6ba2d434f01662a4171867c26bda66a (patch) | |
tree | d3f7cbcea3ddf88f2120ee15ecf7d6f9ee641539 | |
parent | 3cd96fddccb8f0cb18899e169314276e3f9f2c44 (diff) |
RDMA/cm: Fix access to uninitialized variable
The ndev will be initialized and held only for successful
ib_get_cached_gid(), otherwise it is garbage stack memory.
Calling dev_put() in failure path is wrong.
Fixes: 16c72e402867 ("IB/cm: Refactor to avoid setting path record software only fields")
Signed-off-by: Parav Pandit <parav@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
-rw-r--r-- | drivers/infiniband/core/cm.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c index 68df93558d80..e6749157fd86 100644 --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c @@ -1901,8 +1901,6 @@ static int cm_req_handler(struct cm_work *work) grh->sgid_index, &gid, &gid_attr); if (ret) { - if (gid_attr.ndev) - dev_put(gid_attr.ndev); ib_send_cm_rej(cm_id, IB_CM_REJ_UNSUPPORTED, NULL, 0, NULL, 0); goto rejected; } |