[ofw] Patch fixes x86 ibbus.sys BSOD when PartitionKey not in registry.

Smith, Stan stan.smith at intel.com
Thu Jun 19 17:22:31 PDT 2008


Fixes spelling typo and x86 Server 2003 BSOD when loading ibbus.sys due
to incorrect length of default data 'empty_string' when PartitonKey not
in the registry.

Signed off by Stan Smith (stan.smith at intel.com)

diff C3 C:/Documents and Settings/scsmith/Local
Settings/Temp/bus_driver.c-revBASE.svn001.tmp.c C:/Documents and
Settings/scsmith/My
Documents/openIB-windows/SVN/gen1/trunk/core/bus/kernel/bus_driver.c
*** C:/Documents and Settings/scsmith/Local
Settings/Temp/bus_driver.c-revBASE.svn001.tmp.c	Thu Jun 19 17:08:23 2008
--- C:/Documents and Settings/scsmith/My
Documents/openIB-windows/SVN/gen1/trunk/core/bus/kernel/bus_driver.c
Thu Jun 19 17:07:11 2008
***************
*** 329,341 ****
  	RTL_QUERY_REGISTRY_TABLE	table[10];
  	UNICODE_STRING				param_path;
  	UNICODE_STRING				pkeyString;
- 	UNICODE_STRING				empy_string;
  
  	BUS_ENTER( BUS_DBG_DRV );
  
  	__read_machine_name();
  
- 	RtlInitUnicodeString( &empy_string,NULL);
  	RtlInitUnicodeString( &param_path, NULL );
  	param_path.MaximumLength = p_registry_path->Length + 
  		sizeof(L"\\Parameters");
--- 329,341 ----
  	RTL_QUERY_REGISTRY_TABLE	table[10];
  	UNICODE_STRING				param_path;
  	UNICODE_STRING				pkeyString;
+ 	UNICODE_STRING				empty_string;
  
  	BUS_ENTER( BUS_DBG_DRV );
  
  	__read_machine_name();
  
+ 	RtlInitUnicodeString( &empty_string,NULL );
  	RtlInitUnicodeString( &param_path, NULL );
  	param_path.MaximumLength = p_registry_path->Length + 
  		sizeof(L"\\Parameters");
***************
*** 430,437 ****
  	table[8].Name = L"PartitionKey";
  	table[8].EntryContext = &pkeyString;
  	table[8].DefaultType  = REG_SZ;
- 	table[8].DefaultData  = &empy_string;
- 	table[8].DefaultLength = 1024*sizeof(WCHAR);
  	/* Have at it! */
  	status = RtlQueryRegistryValues( RTL_REGISTRY_ABSOLUTE, 
  		param_path.Buffer, table, NULL, NULL );
--- 430,437 ----
  	table[8].Name = L"PartitionKey";
  	table[8].EntryContext = &pkeyString;
  	table[8].DefaultType  = REG_SZ;
+ 	table[8].DefaultData  = &empty_string;
+ 	table[8].DefaultLength = 0;
  	/* Have at it! */
  	status = RtlQueryRegistryValues( RTL_REGISTRY_ABSOLUTE, 
  		param_path.Buffer, table, NULL, NULL );



More information about the ofw mailing list