Re: [PATCH v2] arm64: KVM: define ESR_ELx_EC_* constants as UL

From: Will Deacon
Date: Tue Sep 10 2024 - 05:49:07 EST


On Tue, Sep 10, 2024 at 10:08:49AM +0100, Marc Zyngier wrote:
> On Tue, 10 Sep 2024 09:50:16 +0100,
> Anastasia Belova <abelova@xxxxxxxxxxxxx> wrote:
> >
> > Add explicit casting to prevent expantion of 32th bit of
> > u32 into highest half of u64 in several places.
> >
> > For example, in inject_abt64:
> > ESR_ELx_EC_DABT_LOW << ESR_ELx_EC_SHIFT = 0x24 << 26.
> > This operation's result is int with 1 in 32th bit.
> > While casting this value into u64 (esr is u64) 1
> > fills 32 highest bits.
> >
> > Found by Linux Verification Center (linuxtesting.org) with SVACE.
> >
> > Fixes: aa8eff9bfbd5 ("arm64: KVM: fault injection into a guest")
> > Signed-off-by: Anastasia Belova <abelova@xxxxxxxxxxxxx>
>
> nit: the subject line is misleading, as this doesn't only affect KVM,
> but the whole of the arm64 port (the exception classes form a generic
> architectural construct).

Weird, this v2 landed in my spam for some reason.

> This also probably deserve a Cc stable.
>
> Will, Catalin: I'm happy to queue this in the KVM tree, but if you are
> taking it directly:
>
> Acked-by: Marc Zyngier <maz@xxxxxxxxxx>


I can take it via arm64. I assume it's ok to land in v6.12 (with the cc:
stable), or is there an urgency to landing this in v6.11? It looks it
was found using verification tools, rather than because of an actual
issue affecting users.

Will