On Thu, Jul 04, 2024 at 04:36:04PM +0200, Arnd Bergmann wrote:
#define __ARCH_WANT_SYS_CLONE +#define __ARCH_WANT_NEW_STAT -#ifndef __COMPAT_SYSCALL_NR -#include <uapi/asm/unistd.h> -#endif +#include <asm/unistd_64.h>
It looks like this is causing widespread build breakage in kselftest in -next for arm64, there are *many* errors in the form:
In file included from test_signals_utils.c:14: /build/stage/build-work/usr/include/asm/unistd.h:2:10: fatal error: unistd_64.h: No such file or directory 2 | #include <unistd_64.h> | ^~~~~~~~~~~~~
which obviously looks like it's tied to the above but I've not fully understood the patch/series yet. Build log at:
https://builds.sirena.org.uk/82d01fe6ee52086035b201cfa1410a3b04384257/arm64/...
A bisect appears to confirm that it's this commit, which is in -next as 6e4a077c0b607c674536908c5b68f1c31e4e26ec.
git bisect start # status: waiting for both good and bad commits # bad: [82d01fe6ee52086035b201cfa1410a3b04384257] Add linux-next specific files for 20240709 git bisect bad 82d01fe6ee52086035b201cfa1410a3b04384257 # status: waiting for good commit(s), bad commit known # good: [037206cd4cb43d535453723140fde1bcde0b296e] Merge branch 'for-linux-next-fixes' of https://gitlab.freedesktop.org/drm/misc/kernel.git git bisect good 037206cd4cb43d535453723140fde1bcde0b296e # bad: [2ae3e655fc40f1b6620194b90dcf9a4515257918] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git git bisect bad 2ae3e655fc40f1b6620194b90dcf9a4515257918 # bad: [4f2a367612d46dff2068582feadfbdd8e1c0443f] Merge branch 'fs-next' of linux-next git bisect bad 4f2a367612d46dff2068582feadfbdd8e1c0443f # bad: [d3da7ed72840f3660f90966490adfd499d96ea8f] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git git bisect bad d3da7ed72840f3660f90966490adfd499d96ea8f # good: [6355edbb3dfe322f0748b1eb3987973a568bbb42] Merge tag 'v6.11-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt git bisect good 6355edbb3dfe322f0748b1eb3987973a568bbb42 # good: [2073cda629a47f2ebe2afcd3cb8b3000d5cd13d1] mm: optimization on page allocation when CMA enabled git bisect good 2073cda629a47f2ebe2afcd3cb8b3000d5cd13d1 # good: [91a2b5b12867f77dc68d2d15ec7381e6e43820cb] Merge branch 'perf-tools-next' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git git bisect good 91a2b5b12867f77dc68d2d15ec7381e6e43820cb # bad: [b8c38a39b6ee44b02ee563b60439f417fec441ad] Merge branch 'for-next/perf' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git git bisect bad b8c38a39b6ee44b02ee563b60439f417fec441ad # good: [c100216635e922f43d9e783da918a749995350ca] Merge branch 'for-next/vcpu-hotplug' into for-next/core git bisect good c100216635e922f43d9e783da918a749995350ca # bad: [fafb823fc82dfb746cc9043b1573c4b29ef1d52a] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux.git git bisect bad fafb823fc82dfb746cc9043b1573c4b29ef1d52a # bad: [8d46f9dd06378e346a562c75bc2a260a03abe807] csky: convert to generic syscall table git bisect bad 8d46f9dd06378e346a562c75bc2a260a03abe807 # good: [57029ba74296a4dafe35f147e88d56d8ae7b69da] kbuild: add syscall table generation to scripts/Makefile.asm-headers git bisect good 57029ba74296a4dafe35f147e88d56d8ae7b69da # good: [ea0130bf3c45f276b1f9e005eeb255a80a10358b] arm64: convert unistd_32.h to syscall.tbl format git bisect good ea0130bf3c45f276b1f9e005eeb255a80a10358b # bad: [b2595bdb3eb3fe24137d0bd07a51bc622f068a81] arm64: rework compat syscall macros git bisect bad b2595bdb3eb3fe24137d0bd07a51bc622f068a81 # bad: [6e4a077c0b607c674536908c5b68f1c31e4e26ec] arm64: generate 64-bit syscall.tbl git bisect bad 6e4a077c0b607c674536908c5b68f1c31e4e26ec # first bad commit: [6e4a077c0b607c674536908c5b68f1c31e4e26ec] arm64: generate 64-bit syscall.tbl
On Tue, Jul 9, 2024, at 19:23, Mark Brown wrote:
On Thu, Jul 04, 2024 at 04:36:04PM +0200, Arnd Bergmann wrote:
#define __ARCH_WANT_SYS_CLONE +#define __ARCH_WANT_NEW_STAT -#ifndef __COMPAT_SYSCALL_NR -#include <uapi/asm/unistd.h> -#endif +#include <asm/unistd_64.h>
It looks like this is causing widespread build breakage in kselftest in -next for arm64, there are *many* errors in the form:
In file included from test_signals_utils.c:14: /build/stage/build-work/usr/include/asm/unistd.h:2:10: fatal error: unistd_64.h: No such file or directory 2 | #include <unistd_64.h> | ^~~~~~~~~~~~~
which obviously looks like it's tied to the above but I've not fully understood the patch/series yet. Build log at:
Thanks for the report! I just panicked a bit and thought I had done something entirely wrong here, but after having a closer look it turned out to be a silly typo:
diff --git a/arch/arm64/include/uapi/asm/unistd.h b/arch/arm64/include/uapi/asm/unistd.h index 038dddf8f554..df36f23876e8 100644 --- a/arch/arm64/include/uapi/asm/unistd.h +++ b/arch/arm64/include/uapi/asm/unistd.h @@ -1,2 +1,2 @@ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#include <unistd_64.h> +#include <asm/unistd_64.h>
I'm folding the fix into the tree now, in addition to the Acks I received and another small fixup.
I checked that arm64 is the only architecture that has this particular bug, and I tried building kselftest now, which seems to work better. There are still a few warnings and errors I get doing that, but I suspect those are all preexisting issues.
Arnd
On Wed, Jul 10, 2024 at 10:57:25AM +0200, Arnd Bergmann wrote:
Thanks for the report! I just panicked a bit and thought I had done something entirely wrong here, but after having a closer look it turned out to be a silly typo:
-#include <unistd_64.h> +#include <asm/unistd_64.h>
Doh, I should've spotted that even from the very quick look I gave it! Thanks for the quick fix.
I checked that arm64 is the only architecture that has this particular bug, and I tried building kselftest now, which seems to work better. There are still a few warnings and errors I get doing that, but I suspect those are all preexisting issues.
Yeah, not everything there builds cleanly (and there's a bunch of external deps you need for many of the suites).
linux-kselftest-mirror@lists.linaro.org