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

[win-pv-devel] [PATCH xenbus] Fix event channel ABI fall-back

If the version of Xen that the guest is running on does not support the
FIFO event channel ABI then the code is supposed to fall back to using the
old '2-level' ABI through the shared info page. However, this fall-back
does not work correctly because the error path in EvtchnFifoAcquire()
causes the error status to be overwritten with STATUS_SUCCESS.

This patch makes sure the error status is preserved.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
 src/xenbus/evtchn_fifo.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/xenbus/evtchn_fifo.c b/src/xenbus/evtchn_fifo.c
index b8be93b..c08e664 100644
--- a/src/xenbus/evtchn_fifo.c
+++ b/src/xenbus/evtchn_fifo.c
@@ -540,6 +540,8 @@ done:
     return STATUS_SUCCESS;
+    Error("fail2\n");
@@ -550,8 +552,7 @@ fail1:
     while (--Index >= 0) {
         unsigned int    vcpu_id;
-        status = SystemVirtualCpuIndex(Index, &vcpu_id);
-        ASSERT(NT_SUCCESS(status));
+        (VOID) SystemVirtualCpuIndex(Index, &vcpu_id);
         Mdl = Context->ControlBlockMdl[vcpu_id];
         Context->ControlBlockMdl[vcpu_id] = NULL;

win-pv-devel mailing list



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