Re: [PATCH] x86/mm: Split read_cr3() into read_cr3_pa() and __read_cr3()

From: Ingo Molnar
Date: Tue Jun 13 2017 - 02:49:36 EST



* Andy Lutomirski <luto@xxxxxxxxxx> wrote:

> The kernel has several code paths that read CR3. Most of them assume that
> CR3 contains the PGD's physical address, whereas some of them awkwardly
> use PHYSICAL_PAGE_MASK to mask off low bits.
>
> Add explicit mask macros for CR3 and convert all of the CR3 readers.
> This will keep them from breaking when PCID is enabled.
>
> Cc: Tom Lendacky <thomas.lendacky@xxxxxxx>
> Cc: Juergen Gross <jgross@xxxxxxxx>
> Cc: xen-devel <xen-devel@xxxxxxxxxxxxx>
> Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
> ---
>
> Hi Ingo-
>
> I broke this out because Tom's SME series and my PCID series both need it.
> Please consider applying it to tip:x86/mm.
>
> I'll send PCID v2 soon. It'll apply to x86/mm + sched/urgent + this patch.

Ok, thanks - will push it out after a bit of testing.

Note that I also merged sched/urgent into x86/mm, to create a better base tree for
the PCID changes by picking up 252d2a4117bc that PCID depends on.

Thanks,

Ingo