Commit 925f7ea7 authored by Leon Romanovsky's avatar Leon Romanovsky Committed by Jason Gunthorpe

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: 16c72e40 ("IB/cm: Refactor to avoid setting path record software only fields")
Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Reviewed-by: default avatarYuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent 3cd96fdd
...@@ -1901,8 +1901,6 @@ static int cm_req_handler(struct cm_work *work) ...@@ -1901,8 +1901,6 @@ static int cm_req_handler(struct cm_work *work)
grh->sgid_index, grh->sgid_index,
&gid, &gid_attr); &gid, &gid_attr);
if (ret) { 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); ib_send_cm_rej(cm_id, IB_CM_REJ_UNSUPPORTED, NULL, 0, NULL, 0);
goto rejected; goto rejected;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment