On Fri, Feb 19, 2021 at 02:44:49PM -0500, Pavel Tatashin wrote: > 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? > > 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. Taking that won't help either though, because it will just explode when it meets 'mm' in Linus's tree. So here's what I think we need to do: - I'll apply your v3 at -rc1 - You can send backports based on your -v2 for stable once the v3 has been merged upstream. Sound good? Will