[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] Only call EvtchnFlush on valid Cpus
On 20/06/2023 15:33, Owen Smith wrote: The Evtchn processor array is created using KeQueryMaximumProcessorCountEx, which can include processors that do not get initialized. Skip cleanup and flushing uninitialized event channels Signed-off-by: Owen Smith <owen.smith@xxxxxxxxx> Acked-by: Paul Durrant <paul@xxxxxxx> --- src/xenbus/evtchn.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/xenbus/evtchn.c b/src/xenbus/evtchn.c index 2e63edb..ec4ac28 100644 --- a/src/xenbus/evtchn.c +++ b/src/xenbus/evtchn.c @@ -1752,10 +1752,16 @@ EvtchnRelease(for (Cpu = 0; Cpu < Context->ProcessorCount; Cpu++) {PXENBUS_EVTCHN_PROCESSOR Processor; + unsigned int vcpu_id; + NTSTATUS status;ASSERT(Context->Processor != NULL);Processor = &Context->Processor[Cpu];+ status = SystemProcessorVcpuId(Cpu, &vcpu_id);+ if (!NT_SUCCESS(status)) + continue; + EvtchnFlush(Context, Cpu);(VOID) KeRemoveQueueDpc(&Processor->Dpc);
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |