Re: KVM: x86/xen: Allow 'out of range' event channel ports in IRQ routing table.

From: Sean Christopherson
Date: Mon Jun 23 2025 - 12:48:45 EST


On Mon, Jun 23, 2025, David Woodhouse wrote:
> On Mon, 2025-05-12 at 10:29 +0100, Paul Durrant wrote:
> > On 08/05/2025 21:30, David Woodhouse wrote:
> > > From: David Woodhouse <dwmw@xxxxxxxxxxxx>
> > >
> > > To avoid imposing an ordering constraint on userspace, allow 'invalid'
> > > event channel targets to be configured in the IRQ routing table.
> > >
> > > This is the same as accepting interrupts targeted at vCPUs which don't
> > > exist yet, which is already the case for both Xen event channels *and*
> > > for MSIs (which don't do any filtering of permitted APIC ID targets at
> > > all).
> > >
> > > If userspace actually *triggers* an IRQ with an invalid target, that
> > > will fail cleanly, as kvm_xen_set_evtchn_fast() also does the same range
> > > check.
> > >
> > > If KVM enforced that the IRQ target must be valid at the time it is
> > > *configured*, that would force userspace to create all vCPUs and do
> > > various other parts of setup (in this case, setting the Xen long_mode)
> > > before restoring the IRQ table.
> > >
> > > Cc: stable@xxxxxxxxxxxxxxx
> > > Signed-off-by: David Woodhouse <dwmw@xxxxxxxxxxxx>
> > > ---
> > >   arch/x86/kvm/xen.c | 14 ++++++++++++--
> > >   1 file changed, 12 insertions(+), 2 deletions(-)
> > >
> >
> > Reviewed-by: Paul Durrant <paul@xxxxxxx>
>
> Ping?

Almost there :-) I've got it applied (for 6.16), just need to run my generic
test stuff before making it "official".