[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [win-pv-devel] [PATCH] Fix an ASSERT failure and BugCheck on XENBUS unload
The Prcoessor array pointer in the EVTCHN code is not being NULLed, leading to an ASSERT faiure. There is also a race in zero-ing out the per-processor DPCs and them being present on kernel queues, which leads to a BugCheck. This patch fixes both issues. Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx> --- src/xenbus/evtchn.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xenbus/evtchn.c b/src/xenbus/evtchn.c index 23eb189..a5a3caf 100644 --- a/src/xenbus/evtchn.c +++ b/src/xenbus/evtchn.c @@ -1374,6 +1374,7 @@ EvtchnRelease( EvtchnFlush(Context, Index); + (VOID) KeRemoveQueueDpc(&Processor->Dpc); RtlZeroMemory(&Processor->Dpc, sizeof (KDPC)); RtlZeroMemory(&Processor->PendingList, sizeof (LIST_ENTRY)); @@ -1383,6 +1384,7 @@ EvtchnRelease( ASSERT(IsZeroMemory(Context->Processor, sizeof (XENBUS_EVTCHN_PROCESSOR) * Context->ProcessorCount)); __EvtchnFree(Context->Processor); + Context->Processor = NULL; Context->ProcessorCount = 0; FdoFreeInterrupt(Fdo, Context->Interrupt); -- 2.1.1 _______________________________________________ win-pv-devel mailing list win-pv-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |