All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] opensm: fix crash in DFSSSP routing engine on reroute
@ 2012-08-12  6:44 Alex Netes
  0 siblings, 0 replies; only message in thread
From: Alex Netes @ 2012-08-12  6:44 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Jens Domke; +Cc: Torsten Hoefler

Routing engine should delete the context only when calling delete
function.

Found-and-fixed-by: Jens Domke <jens.domke-PZVgAJowwIsUtdQbppsyvg@public.gmane.org>
Signed-off-by: Alex Netes <alexne-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
---
 opensm/osm_ucast_dfsssp.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/opensm/osm_ucast_dfsssp.c b/opensm/osm_ucast_dfsssp.c
index d6d65b1..ffc317f 100644
--- a/opensm/osm_ucast_dfsssp.c
+++ b/opensm/osm_ucast_dfsssp.c
@@ -2135,12 +2135,11 @@ static void dfsssp_context_destroy(void *context)
 	}
 	free(adj_list);
 	dfsssp_ctx->adj_list = NULL;
+	dfsssp_ctx->adj_list_size = 0;
 
 	/* free srcdest2vl table (can be done because, dfsssp_context_destroy is called after osm_get_dfsssp_sl) */
 	vltable_dealloc(&(dfsssp_ctx->srcdest2vl_table));
 	dfsssp_ctx->srcdest2vl_table = NULL;
-
-	free(context);
 }
 
 static void delete(void *context)
@@ -2148,6 +2147,8 @@ static void delete(void *context)
 	if (!context)
 		return;
 	dfsssp_context_destroy(context);
+
+	free(context);
 }
 
 int osm_ucast_dfsssp_setup(struct osm_routing_engine *r, osm_opensm_t * p_osm)
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2012-08-12  6:44 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-12  6:44 [PATCH] opensm: fix crash in DFSSSP routing engine on reroute Alex Netes

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.