[ovs-dev] [PATCH v2] datapath-windows: Solved BSOD when loading an activated extension

Ben Pfaff blp at nicira.com
Fri Jan 30 21:27:26 UTC 2015


On Mon, Jan 26, 2015 at 07:00:40PM +0000, Sorin Vinturis wrote:
> If the OVS extension was previously enabled and the driver unloaded,
> when the driver is loaded again a BSOD is triggered.
> 
> This happens because the OVS extension registers its FilterXxx routines
> to NDIS, by calling NdisFRegisterFilterDriver, before performing all
> the necessary initialization. Because drivers that call
> NdisFRegisterFilterDriver must be prepared for an immediate call to any
> of their FilterXxx functions.
> 
> The BSOD is triggered because the FilterAttach routine, OvsExtAttach,
> tries to acquire the control lock, when the lock is not yet initialized.
> This happens because the FilterAttach is called before the driver
> finishes initialization, in OvsInit().
> 
> The solution is to perform all necessary initialization before
> registering OVS FilterXxx routines.
> 
> If device object creation fails, all allocated resources during init
> phase are released by calling OvsCleanup and NdisFDeregisterFilterDriver
> functions.
> 
> Signed-off-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
> Reported-by: Sorin Vinturis <svinturis at cloudbasesolutions.com>
> Reported-at: https://github.com/openvswitch/ovs-issues/issues/67

Applied, thanks!



More information about the dev mailing list