RDMA/ucma: Don't allow setting RDMA_OPTION_IB_PATH without an RDMA device
Check to make sure that ctx->cm_id->device is set before we use it. Otherwise userspace can trigger a NULL dereference by doing RDMA_USER_CM_CMD_SET_OPTION on an ID that is not bound to a device. Cc: <stable@vger.kernel.org> Reported-by: <syzbot+a67bc93e14682d92fc2f@syzkaller.appspotmail.com> Signed-off-by: Roland Dreier <roland@purestorage.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
ca486a3b33
commit
8435168d50
@ -1231,6 +1231,9 @@ static int ucma_set_ib_path(struct ucma_context *ctx,
|
|||||||
if (!optlen)
|
if (!optlen)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (!ctx->cm_id->device)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
memset(&sa_path, 0, sizeof(sa_path));
|
memset(&sa_path, 0, sizeof(sa_path));
|
||||||
|
|
||||||
sa_path.rec_type = SA_PATH_REC_TYPE_IB;
|
sa_path.rec_type = SA_PATH_REC_TYPE_IB;
|
||||||
|
Loading…
Reference in New Issue
Block a user