OK, great, I applied this to master. On Fri, Jun 12, 2015 at 1:54 PM, Alin Serdean <[email protected]> wrote: > Acked-by: Alin Gabriel Serdean <[email protected]> > > > > -----Mesaj original----- > De la: dev [mailto:[email protected]] În numele Sorin Vinturis > Trimis: Thursday, May 28, 2015 11:31 PM > Către: [email protected] > Subiect: [ovs-dev] [PATCH] datapath-windows: BSOD when disabling the extension > > When the filter detach routine is called while there are packets still in > processing, the OvsUninitSwitchContext function call will decrement the > switch context reference count without releasing the switch context > structure. This behaviour is correct and expected, but the BSOD is caused in > this case because the gOvsSwitchContext variable is set to NULL, which is > wrong. > > The gOvsSwitchContext global variable must be set to NULL only when the > switch context structure is actually released. > > Signed-off-by: Sorin Vinturis <[email protected]> > Reported-by: Sorin Vinturis <[email protected]> > Reported-at: https://github.com/openvswitch/ovs-issues/issues/80 > --- > datapath-windows/ovsext/Switch.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/datapath-windows/ovsext/Switch.c > b/datapath-windows/ovsext/Switch.c > index f877854..99a306d 100644 > --- a/datapath-windows/ovsext/Switch.c > +++ b/datapath-windows/ovsext/Switch.c > @@ -201,6 +201,7 @@ OvsCreateSwitch(NDIS_HANDLE ndisFilterHandle, > status = OvsInitSwitchContext(switchContext); > if (status != NDIS_STATUS_SUCCESS) { > OvsFreeMemoryWithTag(switchContext, OVS_SWITCH_POOL_TAG); > + switchContext = NULL; > goto create_switch_done; > } > > @@ -240,7 +241,6 @@ OvsExtDetach(NDIS_HANDLE filterModuleContext) > } > OvsDeleteSwitch(switchContext); > OvsCleanupIpHelper(); > - gOvsSwitchContext = NULL; > /* This completes the cleanup, and a new attach can be handled now. */ > > OVS_LOG_TRACE("Exit: OvsDetach Successfully"); @@ -495,6 +495,7 @@ > OvsReleaseSwitchContext(POVS_SWITCH_CONTEXT switchContext) > > if (ref == 1) { > OvsDeleteSwitchContext(switchContext); > + gOvsSwitchContext = NULL; > } > } > > -- > 1.9.0.msysgit.0 > _______________________________________________ > dev mailing list > [email protected] > http://openvswitch.org/mailman/listinfo/dev
-- "I don't normally do acked-by's. I think it's my way of avoiding getting blamed when it all blows up." Andrew Morton _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
