Hi Hugh On 4/5/22 21:59, Hugh Dickins wrote: > On Tue, 5 Apr 2022, Patrice CHOTARD wrote: >> >> We found an issue with last kernel tag v5.18-rc1 on stm32f746-disco and >> stm32h743-disco boards (ARMV7-M SoCs). >> >> Kernel hangs when executing SetPageUptodate(ZERO_PAGE(0)); in mm/filemap.c. >> >> By reverting commit 56a8c8eb1eaf ("tmpfs: do not allocate pages on read"), >> kernel boots without any issue. > > Sorry about that, thanks a lot for finding. > > I see that arch/arm/configs/stm32_defconfig says CONFIG_MMU is not set: > please confirm that is the case here. Yes i confirm, CONFIG_MMU is not set. > > Yes, it looks as if NOMMU platforms are liable to have a bogus (that's my > reading, but it may be unfair) definition for ZERO_PAGE(vaddr), and I was > walking on ice to touch it without regard for !CONFIG_MMU. > > CONFIG_SHMEM depends on CONFIG_MMU, so that PageUptodate is only needed > when CONFIG_MMU. > > Easily fixed by an #ifdef CONFIG_MMU there in mm/filemap.c, but I'll hunt > around (again) for a better place to do it - though I won't want to touch > all the architectures for it. I'll post later today. I did a quick test on my side, and yes, adding #ifdef CONFIG_MMU around SetPageUptodate(ZERO_PAGE(0)); allows to boot the boards. Thanks Patrice > > Hugh