[ofw] RE: Patch: Avoid a crash in an ASSERT during a WHQL test.

Tzachi Dar tzachid at mellanox.co.il
Wed Oct 15 09:10:07 PDT 2008


Applied on 1653,  1654.
 
Thanks
Tzachi


________________________________

	From: ofw-bounces at lists.openfabrics.org
[mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Smith, Stan
	Sent: Wednesday, October 15, 2008 5:59 PM
	To: Tzachi Dar; ofw at lists.openfabrics.org
	Subject: [ofw] RE: Patch: Avoid a crash in an ASSERT during a
WHQL test.
	
	
	Hello,
	  Thanks for the explanation. Seems the CL_ASSERT() was residual
debug code I should have removed long ago.
	 
	stan.
	 

________________________________

	From: Tzachi Dar [mailto:tzachid at mellanox.co.il] 
	Sent: Wednesday, October 15, 2008 8:37 AM
	To: Smith, Stan; ofw at lists.openfabrics.org
	Subject: RE: Patch: Avoid a crash in an ASSERT during a WHQL
test.
	
	
	Hi Stan,
	 
	I'm not sure that I understand your question.
	 
	The problem that we had in WHQL was that the assert 
	CL_ASSERT(p_bfi == p_ext->p_parent_ext->bus_filter);
	 
	Has caused a bluescreen. The reason of the bluescreen was
because p_ext->p_parent_ext was NULL and therefore
	looking at p_ext->p_parent_ext->bus_filter caused a bluescreen.
	There was no real use for p_ext->p_parent_ext->bus_filter in the
code except for the ASSERT itself which doesn't exist
	on free.
	 
	So in order to avoid the bluescreen we have added the code that
checks that if (p_ext->p_parent_ext == NULL) no more checks will be made
and there will be no bluescreen.
	 
	Please note that p_parent_ext is not used in this function
(except for in the assert) weather it is NULL or not and no meter if
this is a chk or free build.
	 
	Thanks
	Tzachi


________________________________

		From: Smith, Stan [mailto:stan.smith at intel.com] 
		Sent: Monday, October 13, 2008 5:40 PM
		To: Tzachi Dar; ofw at lists.openfabrics.org
		Subject: RE: Patch: Avoid a crash in an ASSERT during a
WHQL test.
		
		
		Hello,
		  A few small questions.
		 
		Under what conditions is the p_parent_ext == NULL?
		 
		Why is it OK in the free build to proceed with a NULL
p_parent_ext?
		 
		Should the code read something like
		 
		if ( !p_bfi->p_ext_p_parent_ext )
		    return Some-Useful_Return-Code;
		 
		thanks,
		 
		stan.

________________________________

		From: ofw-bounces at lists.openfabrics.org
[mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Tzachi Dar
		Sent: Sunday, October 12, 2008 6:10 AM
		To: ofw at lists.openfabrics.org
		Subject: [ofw] Patch: Avoid a crash in an ASSERT during
a WHQL test.
		
		
		Index: Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c
	
===================================================================
		--- Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c
(revision 3307)
		+++ Q:/projinf4/trunk/core/bus/kernel/bus_port_mgr.c
(revision 3308)
		@@ -1219,7 +1219,9 @@
		       ("%s NULL h_ca? p_ext %p\n", p_bfi->whoami, p_ext
) );
		   return;
		  }
		- CL_ASSERT(p_bfi == p_ext->p_parent_ext->bus_filter);
		+
		+ // Don't crash if p_ext->p_parent_ext is NULL
		+ CL_ASSERT((p_ext->p_parent_ext == NULL) || p_bfi ==
p_ext->p_parent_ext->bus_filter);
		  
		  cl_mutex_acquire( &gp_port_mgr->pdo_mutex );
		  CL_ASSERT( p_ext->h_ca );
		

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


More information about the ofw mailing list