Re: [PATCH 0/4] KVM: fix KVM_EXIT_SYSTEM_EVENT mess

Marc Zyngier
2022-04-22T10:01:22Z

On Fri, 22 Apr 2022 10:41:34 +0100,
Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 4/22/22 09:58, Oliver Upton wrote:
> > Is there any way we could clean this up in 5.18 and leave the whole
> > ndata/data pattern for 5.19?
> >
> > IOW, for 5.18 go back and fix the padding:
> >
> > struct {
> > __u32 type;
> > __u32 pad;
> > __u64 flags;
> > } system_event;
> >
> > Then for 5.19 circle back on the data business, except use a flag bit
> > for it:
> >
> > struct {
> > __u32 type;
> > __u32 pad;
> > #define KVM_SYSTEM_EVENT_NDATA_VALID (1u << 63)
> > __u64 flags;
> > __u64 ndata;
> > __u64 data[16];
> > } system_event;
> >
> > Where we apply that bit to system_event::flags this time instead of
> > ::type. Could also go the CAP route.
>
> These patches are against kvm/next, so that is already what I did. :)

Can you please post a complete series? It is becoming really hard to
track what you are doing.

> On the other hand right now the ARM and RISC-V flags are unusable with
> 32-bit userspace, so we need to fix _something_ in 5.18 as well.

What 32bit userspace? arm64 doesn't have any that can interact with KVM,
so I don't see anything to fix on that front.

> For
> your proposal, all that's missing is a 5.18 patch to add the
> padding. But since the flags UAPI was completely unused before 5.18
> and there's no reason to inflict the different naming of fields to
> userspace. So I think we want to apply this UAPI change in 5.18 too.

As it was pointed out already, CrosVM has already started looking at
the flags. The fact that it was always 0 until now doesn't make it
less of a UAPI.

I'd like to see a full series that implements the transition before we
make a decision on this.

Thanks,

M.

--
Without deviation from the norm, progress is not possible.