[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 4/7] hw/xen: don't clear map_track[] in xen_gnttab_reset()
From: |
David Woodhouse |
Subject: |
[PULL 4/7] hw/xen: don't clear map_track[] in xen_gnttab_reset() |
Date: |
Mon, 6 Nov 2023 10:39:52 +0000 |
From: David Woodhouse <dwmw@amazon.co.uk>
The refcounts actually correspond to 'active_ref' structures stored in a
GHashTable per "user" on the backend side (mostly, per XenDevice).
If we zero map_track[] on reset, then when the backend drivers get torn
down and release their mapping we hit the assert(s->map_track[ref] != 0)
in gnt_unref().
So leave them in place. Each backend driver will disconnect and reconnect
as the guest comes back up again and reconnects, and it all works out OK
in the end as the old refs get dropped.
Cc: qemu-stable@nongnu.org
Fixes: de26b2619789 ("hw/xen: Implement soft reset for emulated gnttab")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
hw/i386/kvm/xen_gnttab.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 21c30e3659..839ec920a1 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -541,7 +541,5 @@ int xen_gnttab_reset(void)
s->entries.v1[GNTTAB_RESERVED_XENSTORE].flags = GTF_permit_access;
s->entries.v1[GNTTAB_RESERVED_XENSTORE].frame = XEN_SPECIAL_PFN(XENSTORE);
- memset(s->map_track, 0, s->max_frames * ENTRIES_PER_FRAME_V1);
-
return 0;
}
--
2.41.0
- [PULL 0/7] xenfv-stable queue, David Woodhouse, 2023/11/06
- [PULL 3/7] hw/xen: select kernel mode for per-vCPU event channel upcall vector, David Woodhouse, 2023/11/06
- [PULL 2/7] i386/xen: fix per-vCPU upcall vector for Xen emulation, David Woodhouse, 2023/11/06
- [PULL 4/7] hw/xen: don't clear map_track[] in xen_gnttab_reset(),
David Woodhouse <=
- [PULL 1/7] i386/xen: Don't advertise XENFEAT_supervisor_mode_kernel, David Woodhouse, 2023/11/06
- [PULL 7/7] hw/xen: use correct default protocol for xen-block on x86, David Woodhouse, 2023/11/06
- [PULL 6/7] hw/xen: take iothread mutex in xen_evtchn_reset_op(), David Woodhouse, 2023/11/06
- [PULL 5/7] hw/xen: fix XenStore watch delivery to guest, David Woodhouse, 2023/11/06
- Re: [PULL 0/7] xenfv-stable queue, Stefan Hajnoczi, 2023/11/06