[PATCH] KVM: arm64: Validate the FF-A memory access descriptor placement

Marc Zyngier maz at kernel.org
Wed Apr 22 05:24:02 PDT 2026


On Wed, 22 Apr 2026 11:25:40 +0100,
Sebastian Ene <sebastianene at google.com> wrote:
> 
> Prevent the pKVM hypervisor from making assumptions that the
> endpoint memory access descriptor (EMAD) comes right after the
> FF-A memory region header and enforce a strict placement for it
> when validating an FF-A memory lend/share transaction.

As I read this, you want to remove a bad assumption...

> 
> Prior to FF-A version 1.1 the header of the memory region
> didn't contain an offset to the endpoint memory access descriptor.
> The layout of a memory transaction looks like this:
> 
>   Field name				| Offset
> 					 -- 0
> [ Header (ffa_mem_region)               |__ ep_mem_offset
>   EMAD 1 (ffa_mem_region_attributes)	|
> ]
> 
> Reject the host from specifying a memory access descriptor offset
> that is different than the size of the memory region header.

And yet you decide that you want to enforce this assumption. I don't
understand how you arrive to this conclusion.

Looking at the spec, it appears that the offset is *designed* to allow
a gap between the header and the EMAD. Refusing to handle a it seems to be a
violation of the spec.

What am I missing?

	M.

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



More information about the linux-arm-kernel mailing list