]> xenbits.xensource.com Git - pvdrivers/win/xenbus.git/commitdiff
Reorder StorePollLocked and StoreDisable
authorOwen Smith <owen.smith@citrix.com>
Wed, 4 Mar 2020 13:27:23 +0000 (13:27 +0000)
committerPaul Durrant <pdurrant@amazon.com>
Wed, 4 Mar 2020 13:57:35 +0000 (13:57 +0000)
StoreDisable will close and NULL the event channel, then StorePollLocked
will attempt to call EVTCHN(GetCount...) with the NULLed pointer. This
will lead to a D1 BSOD.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
src/xenbus/store.c

index f07e469873783b59537f0c3fcfff2c3b32ed5266..cbc442eb6c80abe95007d7adf1e06df7a6b4bd10 100644 (file)
@@ -2611,8 +2611,8 @@ StoreRelease(
 
     XENBUS_SUSPEND(Release, &Context->SuspendInterface);
 
-    StoreDisable(Context);
     (VOID) StorePollLocked(Context);
+    StoreDisable(Context);
     RtlZeroMemory(&Context->Response, sizeof (XENBUS_STORE_RESPONSE));
 
     XENBUS_EVTCHN(Release, &Context->EvtchnInterface);