Skip to content

Commit f1d95df

Browse files
dTenebraedavem330
authored andcommitted
net: rds: Fix possible NULL-pointer dereference
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: fd261ce ("rds: rdma: update rdma transport for tos") Signed-off-by: Artem Chernyshev <artem.chernyshev@red-soft.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 4920327 commit f1d95df

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

net/rds/rdma_transport.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,11 +86,13 @@ static int rds_rdma_cm_event_handler_cmn(struct rdma_cm_id *cm_id,
8686
break;
8787

8888
case RDMA_CM_EVENT_ADDR_RESOLVED:
89-
rdma_set_service_type(cm_id, conn->c_tos);
90-
rdma_set_min_rnr_timer(cm_id, IB_RNR_TIMER_000_32);
91-
/* XXX do we need to clean up if this fails? */
92-
ret = rdma_resolve_route(cm_id,
93-
RDS_RDMA_RESOLVE_TIMEOUT_MS);
89+
if (conn) {
90+
rdma_set_service_type(cm_id, conn->c_tos);
91+
rdma_set_min_rnr_timer(cm_id, IB_RNR_TIMER_000_32);
92+
/* XXX do we need to clean up if this fails? */
93+
ret = rdma_resolve_route(cm_id,
94+
RDS_RDMA_RESOLVE_TIMEOUT_MS);
95+
}
9496
break;
9597

9698
case RDMA_CM_EVENT_ROUTE_RESOLVED:

0 commit comments

Comments
 (0)