From: Paul Durrant Date: Wed, 25 Nov 2020 17:55:55 +0000 (+0000) Subject: Avoid non-zero memory ASSERTion if FdoVirqInitialize() fails X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=c3b04ec45db42dcf5e85eb8e75adaf198f99c4b0;p=people%2Fpauldu%2Fxenbus.git Avoid non-zero memory ASSERTion if FdoVirqInitialize() fails 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 --- diff --git a/src/xenbus/fdo.c b/src/xenbus/fdo.c index 5419be4..18f936b 100644 --- a/src/xenbus/fdo.c +++ b/src/xenbus/fdo.c @@ -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; }