[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/3] Only call EvtchnFlush on valid Cpus



From: Owen Smith <owen.smith@xxxxxxxxx>

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>

Use EvtchnIsProcessorEnabled() rather than SystemProcessorVcpuId() as the test.

Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx>
---
 src/xenbus/evtchn.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/xenbus/evtchn.c b/src/xenbus/evtchn.c
index 2e63edb93b78..9f7026db8dde 100644
--- a/src/xenbus/evtchn.c
+++ b/src/xenbus/evtchn.c
@@ -1753,6 +1753,9 @@ EvtchnRelease(
     for (Cpu = 0; Cpu < Context->ProcessorCount; Cpu++) {
         PXENBUS_EVTCHN_PROCESSOR Processor;
 
+        if (!EvtchnIsProcessorEnabled(Context, Cpu))
+            continue;
+
         ASSERT(Context->Processor != NULL);
         Processor = &Context->Processor[Cpu];
 
-- 
2.25.1




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.