Re: [PATCH v2 1/8] KVM: s390: vsie: Fix dat_split_ste()
From: Christoph Schlameuss
Date: Mon Mar 23 2026 - 09:53:16 EST
On Fri Mar 20, 2026 at 5:15 PM CET, Claudio Imbrenda wrote:
> If the guest misbehaves and puts the page tables for its nested guest
> inside the memory of the nested guest itself, the shadow mapping will
> lose synchronization with the actual mapping.
>
> Propagate the vsie_notif bit from shadowed large pages to smaller pages
> when splitting a large page.
>
> Fixes: 2db149a0a6c5 ("KVM: s390: KVM page table management functions: walks")
> Signed-off-by: Claudio Imbrenda <imbrenda@xxxxxxxxxxxxx>
Reviewed-by: Christoph Schlameuss <schlameuss@xxxxxxxxxxxxx>
> ---
> arch/s390/kvm/dat.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/s390/kvm/dat.c b/arch/s390/kvm/dat.c
> index 670404d4fa44..48b5f2bcf172 100644
> --- a/arch/s390/kvm/dat.c
> +++ b/arch/s390/kvm/dat.c
> @@ -292,6 +292,7 @@ static int dat_split_ste(struct kvm_s390_mmu_cache *mc, union pmd *pmdp, gfn_t g
> pt->ptes[i].val = init.val | i * PAGE_SIZE;
> /* No need to take locks as the page table is not installed yet. */
> pgste_init.prefix_notif = old.s.fc1.prefix_notif;
> + pgste_init.vsie_notif = old.s.fc1.vsie_notif;
> pgste_init.pcl = uses_skeys && init.h.i;
> dat_init_pgstes(pt, pgste_init.val);
> } else {