Re: [PATCH v3 1/1] arm64: mm: correct the inside linear map range during hotplug check
From: Pavel Tatashin
Date: Fri Feb 19 2021 - 14:46:25 EST
On Fri, Feb 19, 2021 at 2:18 PM Will Deacon <will@xxxxxxxxxx> wrote:
>
> On Tue, Feb 16, 2021 at 10:03:51AM -0500, Pavel Tatashin wrote:
> > Memory hotplug may fail on systems with CONFIG_RANDOMIZE_BASE because the
> > linear map range is not checked correctly.
> >
> > The start physical address that linear map covers can be actually at the
> > end of the range because of randomization. Check that and if so reduce it
> > to 0.
> >
> > This can be verified on QEMU with setting kaslr-seed to ~0ul:
> >
> > memstart_offset_seed = 0xffff
> > START: __pa(_PAGE_OFFSET(vabits_actual)) = ffff9000c0000000
> > END: __pa(PAGE_END - 1) = 1000bfffffff
> >
> > Signed-off-by: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
> > Fixes: 58284a901b42 ("arm64/mm: Validate hotplug range before creating linear mapping")
> > Tested-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxxx>
> > ---
> > arch/arm64/mm/mmu.c | 21 +++++++++++++++++++--
> > 1 file changed, 19 insertions(+), 2 deletions(-)
>
> I tried to queue this as a fix, but unfortunately it doesn't apply.
> Please can you send a v4 based on the arm64 for-next/fixes branch?
Hi Will,
The previous version, that is not built against linux-next would still
applies against current mainlein/for-next/fixes
https://lore.kernel.org/lkml/20210215192237.362706-2-pasha.tatashin@xxxxxxxxxx/
I just tried it. I think it would make sense to take v2 fix, so it
could also be backported to stables.
Thank you,
Pasha