WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] GPL PV Windows xennet will BSOD

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] GPL PV Windows xennet will BSOD
From: bart brooks <bart_brooks@xxxxxxxxxxx>
Date: Wed, 4 Jun 2008 22:28:56 +0000
Delivery-date: Mon, 23 Jun 2008 04:00:33 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
Importance: Normal
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

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

 


Instantly invite friends from Facebook and other social networks to join you on Windows Live™ Messenger. Invite friends now!
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] GPL PV Windows xennet will BSOD, bart brooks <=