diff mbox

[6/11] opensm/osm_sa_mcmember_record.c: Fix handling of invalid PKey

Message ID 4D961B87.7060902@dev.mellanox.co.il (mailing list archive)
State Accepted
Delegated to: Alex Netes
Headers show

Commit Message

Hal Rosenstock April 1, 2011, 6:37 p.m. UTC
None
diff mbox

Patch

diff --git a/opensm/osm_sa_mcmember_record.c
b/opensm/osm_sa_mcmember_record.c
index b2318ec..0f79e69 100644
--- a/opensm/osm_sa_mcmember_record.c
+++ b/opensm/osm_sa_mcmember_record.c
@@ -1019,6 +1019,15 @@  static void mcmr_rcv_join_mgrp(IN osm_sa_t * sa,
IN osm_madw_t * p_madw)
 		goto Exit;
 	}

+	if (p_sa_mad->comp_mask & IB_MCR_COMPMASK_PKEY &&
+	    ib_pkey_is_invalid(p_recvd_mcmember_rec->pkey)) {
+		CL_PLOCK_RELEASE(sa->p_lock);
+		OSM_LOG(sa->p_log, OSM_LOG_VERBOSE,
+			"Invalid PKey supplied in request\n");
+		osm_sa_send_error(sa, p_madw, IB_SA_MAD_STATUS_REQ_INVALID);
+		goto Exit;
+	}
+
 	ib_member_get_scope_state(p_recvd_mcmember_rec->scope_state, NULL,
 				  &join_state);