Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8435168d authored by Roland Dreier's avatar Roland Dreier Committed by Jason Gunthorpe
Browse files

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: default avatar <syzbot+a67bc93e14682d92fc2f@syzkaller.appspotmail.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent ca486a3b
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1231,6 +1231,9 @@ static int ucma_set_ib_path(struct ucma_context *ctx,
	if (!optlen)
		return -EINVAL;

	if (!ctx->cm_id->device)
		return -EINVAL;

	memset(&sa_path, 0, sizeof(sa_path));

	sa_path.rec_type = SA_PATH_REC_TYPE_IB;