[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 04/28] hw/xen: don't clear map_track[] in xen_gnttab_reset()
|
From: |
David Woodhouse |
|
Subject: |
[PATCH v3 04/28] hw/xen: don't clear map_track[] in xen_gnttab_reset() |
|
Date: |
Wed, 25 Oct 2023 15:50:18 +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>
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.40.1
- [PATCH v3 12/28] hw/xen: populate store frontend nodes with XenStore PFN/port, (continued)
- [PATCH v3 12/28] hw/xen: populate store frontend nodes with XenStore PFN/port, David Woodhouse, 2023/10/25
- [PATCH v3 09/28] hw/xen: Clean up event channel 'type_val' handling to use union, David Woodhouse, 2023/10/25
- [PATCH v3 20/28] net: do not delete nics in net_cleanup(), David Woodhouse, 2023/10/25
- [PATCH v3 08/28] i386/xen: Ignore VCPU_SSHOTTMR_future flag in set_singleshot_timer(), David Woodhouse, 2023/10/25
- [PATCH v3 10/28] include: update Xen public headers to Xen 4.17.2 release, David Woodhouse, 2023/10/25
- [PATCH v3 24/28] net: add qemu_create_nic_bus_devices(), David Woodhouse, 2023/10/25
- [PATCH v3 15/28] hw/xen: do not repeatedly try to create a failing backend device, David Woodhouse, 2023/10/25
- [PATCH v3 04/28] hw/xen: don't clear map_track[] in xen_gnttab_reset(),
David Woodhouse <=
- [PATCH v3 25/28] hw/pci: add pci_init_nic_devices(), pci_init_nic_in_slot(), David Woodhouse, 2023/10/25
- [PATCH v3 07/28] hw/xen: use correct default protocol for xen-block on x86, David Woodhouse, 2023/10/25
- [PATCH v3 11/28] i386/xen: advertise XEN_HVM_CPUID_UPCALL_VECTOR in CPUID, David Woodhouse, 2023/10/25
- [PATCH v3 06/28] hw/xen: take iothread mutex in xen_evtchn_reset_op(), David Woodhouse, 2023/10/25
- [PATCH v3 16/28] hw/xen: update Xen console to XenDevice model, David Woodhouse, 2023/10/25
- [PATCH v3 19/28] hw/xen: update Xen PV NIC to XenDevice model, David Woodhouse, 2023/10/25