Re: [PATCH] KVM: arm64: Allow smaller FF-A RX/TX buffers

From: Marc Zyngier

Date: Thu Aug 20 2026 - 04:29:45 EST


On Thu, 20 Aug 2026 06:42:31 +0100,
Kim Mankyum via B4 Relay <devnull+mankyum.kim.samsung.com@xxxxxxxxxx> wrote:
>
> From: Kim Mankyum <mankyum.kim@xxxxxxxxxxx>
>
> pKVM currently requires the host to map PAGE_SIZE worth of RX/TX
> buffers, as do_ffa_rxtx_map() requires the FF-A page count to match
> the capacity of the hypervisor RX/TX buffers.
>
> This is unnecessarily restrictive when the kernel page size is larger
> than the minimum RX/TX buffer size advertised by the SPMC. For
> example, with a 16K kernel and an SPMC advertising a minimum RX/TX
> buffer size of 4K, a host request with a page count of one is rejected
> by pKVM.
>
> hyp_ffa_post_init() already allows an SPMC whose minimum RX/TX buffer
> size is smaller than PAGE_SIZE, and the page count supplied by the host
> is forwarded unchanged when mapping the hypervisor buffers into the
> SPMC.
>
> Allow RX/TX buffers smaller than the capacity of the hypervisor buffers
> while continuing to reject requests which exceed it.

You don't explain why this is safe.

Are you guaranteed that the physical page stays accessible to the
host?

What happens if another range in the same physical page gets shared
again? Best case, this will fail, but why is that an acceptable
behaviour?

You need to provide answers to these questions before we can consider
this change.

Thanks,

M.

--
Jazz isn't dead. It just smells funny.