Re: [PATCH] mm: introduce arch_has_hw_pmd_young()

From: Yu Zhao
Date: Mon Nov 21 2022 - 04:53:14 EST


On Mon, Nov 21, 2022 at 2:50 AM Juergen Gross <jgross@xxxxxxxx> wrote:
>
> On 21.11.22 10:32, Juergen Gross wrote:
> > When running as a Xen PV guests commit eed9a328aa1a ("mm: x86: add
> > CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG") can cause a protection violation
> > in pmdp_test_and_clear_young():
> >
> > BUG: unable to handle page fault for address: ffff8880083374d0
> > #PF: supervisor write access in kernel mode
> > #PF: error_code(0x0003) - permissions violation
> > PGD 3026067 P4D 3026067 PUD 3027067 PMD 7fee5067 PTE 8010000008337065
> > Oops: 0003 [#1] PREEMPT SMP NOPTI
> > CPU: 7 PID: 158 Comm: kswapd0 Not tainted 6.1.0-rc5-20221118-doflr+ #1
> > RIP: e030:pmdp_test_and_clear_young+0x25/0x40
> >
> > This happens because the Xen hypervisor can't emulate direct writes to
> > page table entries other than PTEs.
> >
> > This can easily be fixed by introducing arch_has_hw_pmd_young()
> > similar to arch_has_hw_pte_young() and test that instead of
> > CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG.
>
> I just spotted that I missed to update my commit message to match the
> patch:
>
> s/arch_has_hw_pmd_young/arch_has_hw_nonleaf_pmd_young/
>
> I'll wait with a resend in order to get some feedback first.

Thanks. For the next spin:

Acked-by: Yu Zhao <yuzhao@xxxxxxxxxx>