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

[win-pv-devel] [PATCH] SystemVirtualCpuIndex() cannot use KeWaitForSingleObject()



The function is called at > DISPATCH_LEVEL so it cannot wait, even with a
zero timeout. Having this call there causes the system to hang.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Reported-by: Fabio Fantoni <fabio.fantoni@xxxxxxx>
---
 src/xen/system.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/src/xen/system.c b/src/xen/system.c
index efe5049..eb06bec 100644
--- a/src/xen/system.c
+++ b/src/xen/system.c
@@ -728,20 +728,8 @@ SystemVirtualCpuIndex(
 {
     PSYSTEM_CONTEXT     Context = &SystemContext;
     PSYSTEM_CPU         Cpu = Context->Cpu[Index];
-    LARGE_INTEGER       Timeout;
-    NTSTATUS            status;
 
-    ASSERT3U(Index, <, MAXIMUM_PROCESSORS);
-
-    Timeout.QuadPart = 0;
-
-    // Make sure the SystemCpuInformation() has run
-    status = KeWaitForSingleObject(&Cpu->Event,
-                                   Executive,
-                                   KernelMode,
-                                   FALSE,
-                                   &Timeout);
-    ASSERT(NT_SUCCESS(status) && status != STATUS_TIMEOUT);
+    ASSERT(Cpu != NULL);
 
     return Cpu->ProcessorID;
 }
-- 
2.1.1


_______________________________________________
win-pv-devel mailing list
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
http://lists.xenproject.org/cgi-bin/mailman/listinfo/win-pv-devel


 


Rackspace

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