Running GPL PV Windows drivers on Windows 2003 Server Standard Edition SP2 - The current GPL PV Windows xennet driver source found in the repository will BSOD if the option "Large Send Offload" is changed to disabled or if the driver is disabled. Tracked down the issue via WinDbg – If a buffer is in the free list prior to the function XenNet_RxBufferFree() being called via the function XenNet_RxShutdown() the array fl->page_list[] will be overwritten and the variable page_free will be stepped on. A simple solution, which I have verified is to dispose of the free list buffers (if there are any) by calling the function XenFreelist_Dispose() prior to calling the function XenNet_RxBufferFree() Here’s the fix for the function XenNet_RxShutdown(); add the following lines after KeAcquireSpinLock() and before XenNet_RxBufferFree () /* free any buffers in free list before freeing all rx buffers */ XenFreelist_Dispose(&xi->rx_freelist); Bart _________________________________________________________________ Now you can invite friends from Facebook and other groups to join you on Windows Live™ Messenger. Add now. https://www.invite2messenger.net/im/?source=TXT_EML_WLH_AddNow_Now --_4d872b99-5d0f-40d7-8947-9e605f64f748_ Content-Type: text/html; charset="windows-1256" Content-Transfer-Encoding: 8bit <html> <head> <style> .hmmessage P { margin:0px; padding:0px } body.hmmessage { FONT-SIZE: 10pt; FONT-FAMILY:Tahoma } </style> </head> <body class=''hmmessage''> <P class=EC_MsoNormal style="BACKGROUND: white; LINE-HEIGHT: normal"><SPAN style="FONT-SIZE: 10pt"><FONT color=#000000><FONT face=Calibri>Running GPL PV Windows drivers on Windows 2003 Server Standard Edition SP2 - </FONT></FONT></SPAN></P> <P class=EC_MsoNormal style="BACKGROUND: white; LINE-HEIGHT: normal"><SPAN style="FONT-SIZE: 10pt"><FONT face=Calibri color=#000000></FONT></SPAN> </P> <P class=EC_MsoNormal style="BACKGROUND: white; LINE-HEIGHT: normal"><SPAN style="FONT-SIZE: 10pt"><FONT color=#000000><FONT face=Calibri>The current GPL PV Windows xennet driver source found in the repository will BSOD if the option "Large Send Offload" is changed to disabled or if the driver is disabled.</FONT></FONT></SPAN></P> <P class=EC_MsoNormal style="BACKGROUND: white; LINE-HEIGHT: normal"><SPAN style="FONT-SIZE: 10pt"><FONT face=Calibri color=#000000></FONT></SPAN> </P> <P class=EC_MsoNormal style="BACKGROUND: white; LINE-HEIGHT: normal"><SPAN style="FONT-SIZE: 10pt"><FONT color=#000000><FONT face=Calibri>Tracked down the issue via WinDbg –</FONT></FONT></SPAN></P> <P class=EC_MsoNormal style="BACKGROUND: white; LINE-HEIGHT: normal"><FONT color=#000000><FONT face=Calibri><SPAN style="FONT-SIZE: 10pt">If a buffer is in the free list prior to the function XenNet_RxBufferFree() being called via the function </SPAN><SPAN style="FONT-SIZE: 10pt">XenNet_RxShutdown() the array fl->page_list[] will be overwritten and the variable page_free will be stepped on.</SPAN></FONT></FONT></P> <P class=EC_MsoNormal style="BACKGROUND: white; LINE-HEIGHT: normal"><FONT color=#000000><FONT face=Calibri><SPAN style="FONT-SIZE: 10pt"></SPAN><SPAN style="FONT-SIZE: 10pt"></SPAN></FONT></FONT> </P> <P class=EC_MsoNormal><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"><FONT color=#000000><FONT face=Calibri>A simple solution, which I have verified is to dispose of the free list buffers (if there are any) by calling the function XenFreelist_Dispose() prior to calling the function XenNet_RxBufferFree()</FONT></FONT></SPAN></P> <P class=EC_MsoNormal><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"><FONT face=Calibri color=#000000></FONT></SPAN> </P> <P class=EC_MsoNormal><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"><FONT color=#000000><FONT face=Calibri>Here’s the fix for the function XenNet_RxShutdown(); add the following lines after KeAcquireSpinLock() and before <SPAN> </SPAN>XenNet_RxBufferFree ()</FONT></FONT></SPAN></P> <P class=EC_MsoNormal><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"><FONT color=#000000><FONT face=Calibri><SPAN> </SPAN>/* free any buffers in free list before freeing all rx buffers */</FONT></FONT></SPAN></P> <P class=EC_MsoNormal><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"><FONT color=#000000><FONT face=Calibri><SPAN> </SPAN>XenFreelist_Dispose(&xi->rx_freelist);</FONT></FONT></SPAN></P> <P class=EC_MsoNormal><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"><FONT face=Calibri color=#000000> </FONT></SPAN></P> <P class=EC_MsoNormal><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"></SPAN> </P> <P class=EC_MsoNormal><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%"><FONT color=#000000><FONT face=Calibri>Bart</FONT></FONT></SPAN></P><br /><hr />Now you can invite friends from Facebook and other groups to join you on Windows Live™ Messenger. <a href=''https://www.invite2messenger.net/im/?source=TXT_EML_WLH_AddNow_Now'' target=''_new''>Add them now!</a></body> </html> --_4d872b99-5d0f-40d7-8947-9e605f64f748_-- --===============1890304099=Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --===============1890304099==--