Re: [PATCH v3 2/2] KVM: x86/xen: Stop Xen timer before changing IRQ

From: Sean Christopherson
Date: Tue Aug 09 2022 - 10:07:43 EST


On Tue, Aug 09, 2022, David Woodhouse wrote:
> On Tue, 2022-08-09 at 14:59 +0200, Paolo Bonzini wrote:
> > On 8/9/22 11:22, David Woodhouse wrote:
> > > On Mon, 2022-08-08 at 14:06 -0500, Coleman Dietsch wrote:
> > > > Stop Xen timer (if it's running) prior to changing the IRQ vector and
> > > > potentially (re)starting the timer. Changing the IRQ vector while the
> > > > timer is still running can result in KVM injecting a garbage event, e.g.
> > > > vm_xen_inject_timer_irqs() could see a non-zero xen.timer_pending from
> > > > a previous timer but inject the new xen.timer_virq.
> > >
> > > Hm, wasn't that already addressed in the first patch I saw, which just
> > > called kvm_xen_stop_timer() unconditionally before (possibly) setting
> > > it up again?
> >
> > Which patch is that?
>
> The one I acked in
> https://lore.kernel.org/all/9bad724858b6a06c25ead865b2b3d9dfc216d01c.camel@xxxxxxxxxxxxx/

It's effectively the same patch. I had asked Coleman to split it into two separate
patches: (1) fix the re-initialization of an active timer bug and (2) stop the active
timer before changing the vector (this patch).