Re: [PATCH] ARM: add BUILD_BUG_ON to check if fixmap range spans multiple pmds
From: Quanyang Wang <hidden>
Date: 2021-10-26 09:54:12
Also in:
lkml
Hi, Sorry for the inconvenience. On 10/26/21 4:59 PM, Russell King (Oracle) wrote:
On Sun, Oct 24, 2021 at 11:44:31PM +0200, Linus Walleij wrote:quoted
On Wed, Oct 20, 2021 at 7:50 AM [off-list ref] wrote:quoted
From: Quanyang Wang <redacted> Not only the early fixmap range, but also the fixmap range should be checked if it spans multiple pmds. When enabling CONFIG_DEBUG_HIGHMEM, some systems which contain up to 16 CPUs will crash. Signed-off-by: Quanyang Wang <redacted>Looks reasonable to me. Reviewed-by: Linus Walleij <redacted> Please submit this patch into Russell's patch tracker.... and has totally broken what looks like _all_ ARM kernel builds.
This patch is intended to trigger build error when it check the value of __end_of_fixmap_region is equal or larger than 256. In fact, it breaks the ARM kernel builds which NR_CPUS is equal or more than 16. If CONFIG_DEBUG_HIGHMEM is enabled, all ARM builds which NR_CPUS is more than 8 will fail. It
can not have been tested.
I tested this patch with allyesconfig instead of some configs in arch/arm/configs/. In allyesconfig, NR_CPUS is 4, so it not trigger build error. Then I changed it to 8 to verify my patch. Maybe it's uncovered a previously unknown
problem,
Yes, at my side, axm5516 with CONFIG_DEBUG_HIGHMEM always falls into crash. Other ARM platform which contains more than 8 CPUs may encounter the same issue. but causing such a wide-range regression is disappointing. Sorry for not consider this thoroughly. Thanks, Quanyang
I'm going to revert this commit.
_______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel