diff mbox

[14/13] opensm/osm_sa_guidinfo_record.c: Fix locking

Message ID 4DD7D29A.3030206@dev.mellanox.co.il (mailing list archive)
State Under Review, archived
Delegated to: Alex Netes
Headers show

Commit Message

Hal Rosenstock May 21, 2011, 2:56 p.m. UTC
Fix locking around set_guidinfo/del_guidinfo

Found and fixed by: Alex Netes <alexne@mellanox.com>
Signed-off-by: Hal Rosenstock <hal@mellanox.com>
---
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/opensm/osm_sa_guidinfo_record.c b/opensm/osm_sa_guidinfo_record.c
index c792943..a1bb166 100644
--- a/opensm/osm_sa_guidinfo_record.c
+++ b/opensm/osm_sa_guidinfo_record.c
@@ -737,10 +737,12 @@  void osm_gir_rcv_process(IN void *ctx, IN void *data)
 		if (!osm_physp_share_pkey(sa->p_log, p_req_physp,
 					  p_port->p_physp))
 			goto Exit;
+		CL_PLOCK_EXCL_ACQUIRE(sa->p_lock);
 		if (p_rcvd_mad->method == IB_MAD_METHOD_SET)
 			set_guidinfo(sa, p_madw, p_port, p_rcvd_rec->block_num);
 		else
 			del_guidinfo(sa, p_madw, p_port, p_rcvd_rec->block_num);
+		CL_PLOCK_RELEASE(sa->p_lock);
 		break;
 	default:
 		OSM_LOG(sa->p_log, OSM_LOG_ERROR, "ERR 5105: "