Le 17/02/2023 à 18:14, Jan-Benedict Glaw a écrit : > Hi! > > My CI builds showed that the microwatt_defconfig broke somewhere between > (upstream Linus) 6d796c50f84ca79f1722bb131799e5a5710c4700 (last known good, > log > at [1]) and 033c40a89f55525139fd5b6342281b09b97d05bf (first known bad, log at > [2]) with this: > > [...] > make V=1 ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- > INSTALL_MOD_PATH=/var/lib/laminar/run/linux-powerpc-microwatt_defconfig/28/linux-powerpc-microwatt_defconfig > > INSTALL_DTBS_PATH=/var/lib/laminar/run/linux-powerpc-microwatt_defconfig/28/linux-powerpc-microwatt_defconfig > all > [...] > [mk all 2023-02-17 01:42:27] + powerpc64le-linux-ld -EL -z noexecstack > --no-warn-rwx-segments -Bstatic --build-id=sha1 --orphan-handling=warn > --script=./arch/powerpc/kernel/vmlinux.lds --strip-debug -o > .tmp_vmlinux.kallsyms1 --whole-archive vmlinux.a init/version-timestamp.o > --no-whole-archive --start-group lib/lib.a --end-group > [mk all 2023-02-17 01:42:28] powerpc64le-linux-ld: mm/memory.o: in function > `tlb_flush_mmu_tlbonly': > [mk all 2023-02-17 01:42:28] memory.c:(.text+0x320): undefined reference to > `hash__tlb_flush' > [mk all 2023-02-17 01:42:28] powerpc64le-linux-ld: mm/mmu_gather.o: in > function `tlb_flush_mmu_tlbonly': > [mk all 2023-02-17 01:42:28] mmu_gather.c:(.text+0xe0): undefined reference > to `hash__tlb_flush' > [mk all 2023-02-17 01:42:28] powerpc64le-linux-ld: mm/mprotect.o: in function > `change_protection': > [mk all 2023-02-17 01:42:28] mprotect.c:(.text+0x59c): undefined reference to > `hash__tlb_flush' > [mk all 2023-02-17 01:42:28] powerpc64le-linux-ld: mm/madvise.o: in function > `tlb_end_vma.isra.0': > [mk all 2023-02-17 01:42:28] madvise.c:(.text+0x1f0): undefined reference to > `hash__tlb_flush' > [mk all 2023-02-17 01:42:28] make[1]: *** [scripts/Makefile.vmlinux:35: > vmlinux] Error 1 > [mk all 2023-02-17 01:42:28] make: *** [Makefile:1264: vmlinux] Error 2
The fix is available here : https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?id=4302abc628fc0dc08e5855f21bbfaed407a72bc3 > > > It's not yet bisected fully, but I guess it was caused while trying to > fix a missing tlb flush: > > commit 1665c027afb225882a5a0b014c45e84290b826c2 > Author: Michael Ellerman <[email protected]> > Date: Tue Jan 31 22:14:07 2023 +1100 > > powerpc/64s: Reconnect tlb_flush() to hash__tlb_flush() > > Commit baf1ed24b27d ("powerpc/mm: Remove empty hash__ functions") > removed some empty hash MMU flushing routines, but got a bit overeager > and also removed the call to hash__tlb_flush() from tlb_flush(). > > In regular use this doesn't lead to any noticable breakage, which is a > little concerning. Presumably there are flushes happening via other > paths such as arch_leave_lazy_mmu_mode(), and/or a bit of luck. > > Fix it by reinstating the call to hash__tlb_flush(). > > Fixes: baf1ed24b27d ("powerpc/mm: Remove empty hash__ functions") > Signed-off-by: Michael Ellerman <[email protected]> > Link: > https://lore.kernel.org/r/[email protected] > > MfG, JBG > > > [1] > http://toolchain.lug-owl.de/laminar/jobs/linux-powerpc-microwatt_defconfig/27 > [2] > http://toolchain.lug-owl.de/laminar/jobs/linux-powerpc-microwatt_defconfig/28
