Messages in this thread | | | Subject | Re: [PATCH] ARM: add BUILD_BUG_ON to check if fixmap range spans multiple pmds | From | Quanyang Wang <> | Date | Tue, 26 Oct 2021 17:53:25 +0800 |
| |
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: >> On Wed, Oct 20, 2021 at 7:50 AM <quanyang.wang@windriver.com> wrote: >> >>> From: Quanyang Wang <quanyang.wang@windriver.com> >>> >>> 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 <quanyang.wang@windriver.com> >> >> Looks reasonable to me. >> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> >> >> 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. >
| |