[PATCH 05/13] KVM: arm64: Support unaligned fixmap in the nVHE hyp

From: Vincent Donnefort
Date: Wed Sep 11 2024 - 05:31:56 EST


Return the fixmap VA with the page offset, instead of the page base
address.

Signed-off-by: Vincent Donnefort <vdonnefort@xxxxxxxxxx>

diff --git a/arch/arm64/kvm/hyp/nvhe/mm.c b/arch/arm64/kvm/hyp/nvhe/mm.c
index 8850b591d775..c5a9d8874eb2 100644
--- a/arch/arm64/kvm/hyp/nvhe/mm.c
+++ b/arch/arm64/kvm/hyp/nvhe/mm.c
@@ -240,7 +240,7 @@ void *hyp_fixmap_map(phys_addr_t phys)
WRITE_ONCE(*ptep, pte);
dsb(ishst);

- return (void *)slot->addr;
+ return (void *)slot->addr + offset_in_page(phys);
}

static void fixmap_clear_slot(struct hyp_fixmap_slot *slot)
--
2.46.0.598.g6f2099f65c-goog