Commit f352e363 authored by Artem Chernyshev's avatar Artem Chernyshev Committed by Zhengchao Shao
Browse files

net: rds: Fix possible NULL-pointer dereference

stable inclusion
from stable-v5.10.198
commit f515112e833791001aaa8ab886af3ca78503617f
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I95ATK
CVE: CVE-2023-52573

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f515112e833791001aaa8ab886af3ca78503617f



--------------------------------

[ Upstream commit f1d95df0 ]

In rds_rdma_cm_event_handler_cmn() check, if conn pointer exists
before dereferencing it as rdma_set_service_type() argument

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: fd261ce6 ("rds: rdma: update rdma transport for tos")
Signed-off-by: default avatarArtem Chernyshev <artem.chernyshev@red-soft.ru>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarZhengchao Shao <shaozhengchao@huawei.com>
parent 70c98c7d
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -86,10 +86,12 @@ static int rds_rdma_cm_event_handler_cmn(struct rdma_cm_id *cm_id,
		break;

	case RDMA_CM_EVENT_ADDR_RESOLVED:
		if (conn) {
			rdma_set_service_type(cm_id, conn->c_tos);
			/* XXX do we need to clean up if this fails? */
			ret = rdma_resolve_route(cm_id,
					 RDS_RDMA_RESOLVE_TIMEOUT_MS);
		}
		break;

	case RDMA_CM_EVENT_ROUTE_RESOLVED: