Re: [PATCH stable 6.1.y 2/2] KVM: arm64: Prevent unconditional donation of unmapped regions from the host

From: Marc Zyngier
Date: Thu Sep 21 2023 - 18:15:58 EST


On Wed, 20 Sep 2023 20:27:29 +0100,
Suraj Jitindar Singh <surajjs@xxxxxxxxxx> wrote:
>
> From: Will Deacon <will@xxxxxxxxxx>
>
> commit 09cce60bddd6461a93a5bf434265a47827d1bc6f upstream.
>
> Since host stage-2 mappings are created lazily, we cannot rely solely on
> the pte in order to recover the target physical address when checking a
> host-initiated memory transition as this permits donation of unmapped
> regions corresponding to MMIO or "no-map" memory.
>
> Instead of inspecting the pte, move the addr_is_allowed_memory() check
> into the host callback function where it is passed the physical address
> directly from the walker.
>
> Cc: Quentin Perret <qperret@xxxxxxxxxx>
> Fixes: e82edcc75c4e ("KVM: arm64: Implement do_share() helper for sharing memory")
> Signed-off-by: Will Deacon <will@xxxxxxxxxx>
> Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
> Link: https://lore.kernel.org/r/20230518095844.1178-1-will@xxxxxxxxxx
> [ bp: s/ctx->addr/addr in __check_page_state_visitor due to missing commit
> "KVM: arm64: Combine visitor arguments into a context structure"
> in stable.
> ]

Same question.

> Signed-off-by: Suraj Jitindar Singh <surajjs@xxxxxxxxxx>

Again, I find this backport pretty pointless. What is the rationale
for it?

M.

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