Hello, Any idea as to how/why p_madw->resp_expected would change between saving the value and later testing it?
Stan. From: [email protected] [mailto:[email protected]] On Behalf Of Alex Naslednikov Sent: Tuesday, March 22, 2011 6:30 AM To: [email protected] Subject: [ofw] [ofw'[Patch][opensm] Avoid dangling reference Do not use mad wrapper pointer after deleting it. The old code tried to access already de-allocated pointer, which caused to dangling reference Signed-off by: Alexander Naslednikov (xalex at mellanox.co.il) Index: B:/users/xalex/MLNX_VPI_trunk/ulp/opensm/user/opensm/osm_vl15intf.c =================================================================== --- B:/users/xalex/MLNX_VPI_trunk/ulp/opensm/user/opensm/osm_vl15intf.c (revision 7562) +++ B:/users/xalex/MLNX_VPI_trunk/ulp/opensm/user/opensm/osm_vl15intf.c (revision 7563) @@ -63,7 +63,8 @@ since we can have no confirmation that they arrived at their destination. */ - if (p_madw->resp_expected == TRUE) + boolean_t resp_expected = p_madw->resp_expected; + if (resp_expected == TRUE) /* Note that other threads may not see the response MAD arrive before send() even returns. @@ -103,7 +104,7 @@ qp0_mads_outstanding will be decremented by send error callback (called by osm_vendor_send() */ cl_atomic_dec(&p_vl->p_stats->qp0_mads_sent); - if (!p_madw->resp_expected) + if (!resp_expected) cl_atomic_dec(&p_vl->p_stats->qp0_unicasts_sent); } Alexander (XaleX) Naslednikov SW Networking Team Mellanox Technologies
_______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
