Re: arm32: panic in move_freepages (Was [PATCH v2 0/4] arm64: drop pfn_valid_within() and simplify pfn_valid())

From: Matthew Wilcox
Date: Tue May 11 2021 - 23:51:45 EST


On Sun, Apr 25, 2021 at 03:51:56PM +0800, Kefeng Wang wrote:
> we see the PC is at PageLRU, same reason like arm64 panic log,
>
> "PageBuddy in move_freepages returns false Then we call PageLRU, the macro
> calls PF_HEAD which is compound_page() compound_page reads
> page->compound_head, it is 0xffffffffffffffff, so it resturns
> 0xfffffffffffffffe - and accessing this address causes crash"

Oh. I posted patches to fix this back in 2018.

https://lore.kernel.org/linux-mm/20180414043145.3953-6-willy@xxxxxxxxxxxxx/

and 2019.

https://lore.kernel.org/linux-mm/20190501202433.GC28500@xxxxxxxxxxxxxxxxxxxxxx/

and 2020.

https://lore.kernel.org/linux-mm/20200408150148.25290-6-willy@xxxxxxxxxxxxx/

Looks like it's about that time of year for me to try to fix this again.