Re: [PATCH v2 1/1] x86/mm/KASLR: Store pud_page_tramp into entry rather than page

From: Lee Jones
Date: Mon Jun 19 2023 - 06:44:01 EST


On Fri, 16 Jun 2023, Lee Jones wrote:

> On Wed, 14 Jun 2023, Lee Jones wrote:
>
> > set_pgd() expects to be passed whole pages to operate on, whereas
> > trampoline_pgd_entry is, as the name suggests, an entry. The
> > ramifications for using set_pgd() here are that the following thread of
> > execution will not only place the suggested value into the
> > trampoline_pgd_entry (8-Byte globally stored [.bss]) variable, PTI will
> > also attempt to replicate that value into the non-existent neighboring
> > user page (located +4k away), leading to the corruption of other global
> > [.bss] stored variables.
> >
> > Suggested-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
> > Signed-off-by: Lee Jones <lee@xxxxxxxxxx>
> > ---
> > arch/x86/mm/kaslr.c | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
>
> Is there any more you need from me at this point?
>
> Would you like me to resubmit with the Fixes: tag applied, or is
> someone happy to apply it on merge?

Superstar, thanks Dave.

--
Lee Jones [李琼斯]