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

From: Arvind Sankar
Date: Wed Mar 04 2020 - 14:54:52 EST


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.