Re: [PATCH] syscalls: fix syscall macros for newfstat/newfstatat
From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2024-08-03 08:13:09
Also in:
linux-api, linux-riscv, lkml, loongarch
From: "Arnd Bergmann" <arnd@arndb.de>
Date: 2024-08-03 08:13:09
Also in:
linux-api, linux-riscv, lkml, loongarch
On Sat, Aug 3, 2024, at 10:00, Jakub Jelinek wrote:
On Sat, Aug 03, 2024 at 05:14:41AM +0000, Rudi Heitbaum wrote:quoted
With this patch to kernel 6.11-rc1 the error whilst compiling gcc-14.2 for aarch64 with libsanitizer has changed from '__NR_newfstatat' to '__NR_fstat', so some change, but still fail8ng. sanitizer_syscall_linux_aarch64.inc:13:23: error: '__NR_newfstatat' was not declared in this scope 13 | #define SYSCALL(name) __NR_ ## name | ^~~~~ sanitizer_syscall_linux_aarch64.inc:13:23: error: '__NR_fstat' was not declared in this scope 13 | #define SYSCALL(name) __NR_ ## name | ^~~~~
Thanks for the report! Yes, I think I messed it up again by changing both fstatat and fstat. Our internal names in the kernel are a bit inconsistent and I failed to realize that only newfstatat uses the "new" name in the user-facing macro.
Probably it would be useful to check echo '#include <asm/unistd.h>' | gcc -E -dD -xc - | grep '#define __NR_' | sort for all arches between 6.10 and the latest git, diff them and resolve any unintended differences.
Right, I should have done that before the original series really:
I spent a lot of time validating the kernel's internal changes for
consistency (which found a dozen bugs that were unrelated to my
series) but missed the unintended changes to the external header
contents.
I'll do that now and send another fixup.
Arnd