Re: [PATCH 1/4] x86/mm/pat: Handle no-GBPAGES case correctly in populate_pud

From: Ard Biesheuvel
Date: Wed Mar 04 2020 - 16:51:16 EST


On Wed, 4 Mar 2020 at 20:54, Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote:
>
> On Wed, Mar 04, 2020 at 08:22:36PM +0100, Ard Biesheuvel wrote:
> > The wrong one, obviously :-)
> >
> > With Haswell, I get [before]
> >
> > [ 0.368541] 0x0000000000900000-0x0000000000a00000 1M
> > RW NX pte
> > [ 0.369118] 0x0000000000a00000-0x0000000080000000 2038M
> > RW PSE NX pmd
> > [ 0.369592] 0x0000000080000000-0x00000000b9800000 920M
> > pmd
> > [ 0.370177] 0x00000000b9800000-0x00000000b9856000 344K
> > pte
> ^^ so this is showing the region that didn't get mapped, so you did
> reproduce the issue.
> > [ 0.370649] 0x00000000b9856000-0x00000000b9a00000 1704K
> > RW NX pte
> > [ 0.371066] 0x00000000b9a00000-0x00000000baa00000 16M
> > ro PSE x pmd
> >
> > and after
> >
> > [ 0.349577] 0x0000000000a00000-0x0000000080000000 2038M
> > RW PSE NX pmd
> > [ 0.350049] 0x0000000080000000-0x00000000b9800000 920M
> > pmd
> > [ 0.350514] 0x00000000b9800000-0x00000000b9856000 344K
> > pte
> ^^ but it didn't get fixed :( This region should now be mapped properly
> with flags RW/NX.
> > [ 0.351013] 0x00000000b9856000-0x00000000b9a00000 1704K
> > RW NX pte
> >
> > so i'm still doing something wrong, I think?
>
> You're *sure* the after is actually after? There seems to be no change
> at all, the patch should have had some effect.

Duh.

Yes, you are right. It was 'operator error'