[ofw] [ofw'[Patch][opensm] Avoid dangling reference

Alex Naslednikov xalex at mellanox.co.il
Tue Mar 22 06:29:30 PDT 2011


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20110322/76954989/attachment.html>


More information about the ofw mailing list