[ofw] [ofw'[Patch][opensm] Avoid dangling reference
Smith, Stan
stan.smith at intel.com
Tue Mar 22 09:03:06 PDT 2011
Hello,
Any idea as to how/why p_madw->resp_expected would change between saving the value and later testing it?
Stan.
From: ofw-bounces at lists.openfabrics.org [mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Alex Naslednikov
Sent: Tuesday, March 22, 2011 6:30 AM
To: ofw at lists.openfabrics.org
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20110322/a563d292/attachment.html>
More information about the ofw
mailing list