]> xenbits.xensource.com Git - pvdrivers/win/xenbus.git/commitdiff
Avoid non-zero memory ASSERTion if FdoVirqInitialize() fails
authorPaul Durrant <pdurrant@amazon.com>
Wed, 25 Nov 2020 17:55:55 +0000 (17:55 +0000)
committerPaul Durrant <pdurrant@amazon.com>
Fri, 27 Nov 2020 07:53:50 +0000 (07:53 +0000)
FdoVirqTeardown() should also be called from the 'fail1' label to clean up
'VirqList'. This patch also modifies FdoVirqTeardown() to make sure 'VirqLock'
is properly zeroed.

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
src/xenbus/fdo.c

index 5419be4911cee0f83627b7d6592618f053d0cb3d..18f936baae382edec211ed7e05bf3e321a566461 100644 (file)
@@ -2966,6 +2966,7 @@ FdoVirqTeardown(
         __FdoVirqDestroy(Virq);
     }
 
+    RtlZeroMemory(&Fdo->VirqLock, sizeof (HIGH_LOCK));
     RtlZeroMemory(&Fdo->VirqList, sizeof (LIST_ENTRY));
 }
 
@@ -3018,11 +3019,11 @@ fail3:
 fail2:
     Error("fail2\n");
 
-    FdoVirqTeardown(Fdo);
-
 fail1:
     Error("fail1 (%08x)\n", status);
 
+    FdoVirqTeardown(Fdo);
+
     return status;
 }