Message ID | 20231019154020.99080-5-dwmw2@infradead.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Get Xen PV shim running in Qemu, add net & console | expand |
On 19/10/2023 16:40, David Woodhouse wrote: > 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(-) > Reviewed-by: Paul Durrant <paul@xen.org>
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; }