arm64: mm: update max_pfn after memory hotplug

From: Chris Goldsworthy
Date: Tue Sep 28 2021 - 14:52:01 EST


Follow up of RFC patch:

https://lore.kernel.org/linux-mm/a3bf84c4-8f35-f273-145c-55928a06f332@xxxxxxxxxxx/T/#m219937b1acdd40318bbe90ab39f187804775eb74

On arm64 we set max_pfn at boot in arch/arm64/mm/init.c. If you
hotplug in memory after booting up, max_pfn is not updated. This
breaks diagnostic functions executed from user space like
read_page_owner():

https://elixir.bootlin.com/linux/v5.14.7/source/mm/page_owner.c#L472

or kpageflags_read() (see how get_max_dump_pfn() is used):

https://elixir.bootlin.com/linux/v5.14.7/source/fs/proc/page.c#L47

Thus, this patch updates max_pfn and max_low_pfn in arm64's
arch_add_memory() function, mirroring what is updatated during boot:

https://elixir.bootlin.com/linux/v5.14.7/source/arch/arm64/mm/init.c#L448

Quick reference for David's Acked-by, with a follow-up discussion on
max_low_pfn:

https://lore.kernel.org/linux-mm/a3bf84c4-8f35-f273-145c-55928a06f332@xxxxxxxxxxx/T/#m7d30b3afa632a4fa836f5fe55f4ee8e7bbc83e5d
https://lore.kernel.org/linux-mm/a3bf84c4-8f35-f273-145c-55928a06f332@xxxxxxxxxxx/T/#m0d0e509375af1504d25451d079c5cbd6e7aa513b

Sudarshan Rajagopalan (1):
arm64: mm: update max_pfn after memory hotplug

arch/arm64/mm/mmu.c | 5 +++++
1 file changed, 5 insertions(+)

--
2.7.4