diff mbox

[opensm] osm_trap_rcv.c: fix race condition during sweep

Message ID 52C16619.2000703@dev.mellanox.co.il (mailing list archive)
State Accepted
Delegated to: Hal Rosenstock
Headers show

Commit Message

Hal Rosenstock Dec. 30, 2013, 12:24 p.m. UTC
From: Alex Netes <alexne@mellanox.com>

If SM receives trap 128 from a physp it didn't discover yet, it will
crash.

Signed-off-by: Alex Netes <alexne@mellanox.com>
Signed-off-by: Hal Rosenstock <hal@mellanox.com>
---
 opensm/osm_trap_rcv.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff mbox

Patch

diff --git a/opensm/osm_trap_rcv.c b/opensm/osm_trap_rcv.c
index 72df5db..d5f646f 100644
--- a/opensm/osm_trap_rcv.c
+++ b/opensm/osm_trap_rcv.c
@@ -568,7 +568,8 @@  check_sweep:
 	if (osm_log_is_active_v2(sm->p_log, OSM_LOG_INFO, FILE_ID)) {
 		if (ib_notice_is_generic(p_ntci) &&
 		    cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == SM_LINK_STATE_CHANGED_TRAP) {
-			p_path = osm_physp_get_dr_path_ptr(p_physp);
+			p_path = (p_physp) ?
+			    osm_physp_get_dr_path_ptr(p_physp) : NULL;
 			if (p_path) {
 				n = sprintf(buf, "SM class trap %u: ",
 					    cl_ntoh16(p_ntci->g_or_v.generic.trap_num));