Re: [PATCH 6/8] KVM: arm64: Propagate stage-2 map failure on host->guest donation

Will Deacon
2026-04-28T16:58:01Z

On Tue, Apr 28, 2026 at 03:36:43PM +0100, Fuad Tabba wrote:
> On Tue, 28 Apr 2026 at 14:45, Will Deacon <will@kernel.org> wrote:
> V2 will drop two patches (in addition to the HCR_EL2 one), and will be
> as follows:
>
> 1. host->guest share and host->guest donate (kept, rewritten): add a
> memcache-sufficiency check during the existing pre-check pass
> (option 1) and return -ENOMEM cleanly without touching any state.
> Restore the WARN_ON() on the subsequent kvm_pgtable_stage2_map() —
> with the topup precheck it asserts an established invariant rather
> than ignoring a reachable error.
>
> For the single-page donate, "topped up" is
> KVM_PGTABLE_LAST_LEVEL - vm->pgt.start_level (mirroring host EL1's
> kvm_mmu_cache_min_pages). For multi-page share I plan to use the
> conservative nr_pages * (LAST_LEVEL - start_level) bound and flag it
> as conservative in the commit message; happy to compute a tighter
> alignment-aware bound if you'd prefer.

For now, I think we should just check against kvm_mmu_cache_min_pages()
because that's what the host is using.

Cheers,

Will