[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 04/24] hw/xen: don't clear map_track[] in xen_gnttab_reset()
From: |
David Woodhouse |
Subject: |
[PATCH v2 04/24] hw/xen: don't clear map_track[] in xen_gnttab_reset() |
Date: |
Thu, 19 Oct 2023 16:40:00 +0100 |
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.
Fixes: de26b2619789 ("hw/xen: Implement soft reset for emulated gnttab")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
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.40.1
- [PATCH v2 01/24] i386/xen: Don't advertise XENFEAT_supervisor_mode_kernel, (continued)
- [PATCH v2 01/24] i386/xen: Don't advertise XENFEAT_supervisor_mode_kernel, David Woodhouse, 2023/10/19
- [PATCH v2 20/24] hw/xenpv: fix '-nic' support for xen-net-device, David Woodhouse, 2023/10/19
- [PATCH v2 16/24] hw/xen: handle soft reset for primary console, David Woodhouse, 2023/10/19
- [PATCH v2 19/24] hw/i386/pc: support '-nic' for xen-net-device, David Woodhouse, 2023/10/19
- [PATCH v2 11/24] hw/xen: automatically assign device index to block devices, David Woodhouse, 2023/10/19
- [PATCH v2 15/24] hw/xen: add support for Xen primary console in emulated mode, David Woodhouse, 2023/10/19
- [PATCH v2 03/24] hw/xen: select kernel mode for per-vCPU event channel upcall vector, David Woodhouse, 2023/10/19
- [PATCH v2 12/24] hw/xen: add get_frontend_path() method to XenDeviceClass, David Woodhouse, 2023/10/19
- [PATCH v2 07/24] hw/xen: Clean up event channel 'type_val' handling to use union, David Woodhouse, 2023/10/19
- [PATCH v2 04/24] hw/xen: don't clear map_track[] in xen_gnttab_reset(),
David Woodhouse <=
- [PATCH v2 08/24] include: update Xen public headers to Xen 4.17.2 release, David Woodhouse, 2023/10/19
- [PATCH v2 13/24] hw/xen: do not repeatedly try to create a failing backend device, David Woodhouse, 2023/10/19
- [PATCH v2 09/24] i386/xen: advertise XEN_HVM_CPUID_UPCALL_VECTOR in CPUID, David Woodhouse, 2023/10/19
- [PATCH v2 02/24] i386/xen: fix per-vCPU upcall vector for Xen emulation, David Woodhouse, 2023/10/19
- [PATCH v2 24/24] docs: update Xen-on-KVM documentation, David Woodhouse, 2023/10/19
- [PATCH v2 18/24] hw/xen: update Xen PV NIC to XenDevice model, David Woodhouse, 2023/10/19
- [PATCH v2 22/24] tests/avocado: switch to using xen-net-device for Xen guest tests, David Woodhouse, 2023/10/19
- [PATCH v2 17/24] hw/xen: only remove peers of PCI NICs on unplug, David Woodhouse, 2023/10/19