Don't define the AT_RENAME_* macros when __USE_GNU is defined since /usr/include/stdio.h defines them in that case (i.e. when _GNU_SOURCE is defined, which causes __USE_GNU to be defined). Having them defined in 2 places causes build warnings (duplicate definitions) in both samples/watch_queue/watch_test.c and samples/vfs/test-statx.c. Fixes: b4fef22c2fb9 ("uapi: explain how per-syscall AT_* flags should be allocated") Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> --- Cc: Amir Goldstein <amir73il@xxxxxxxxx> Cc: Jeff Layton <jlayton@xxxxxxxxxx> Cc: Chuck Lever <chuck.lever@xxxxxxxxxx> Cc: Alexander Aring <alex.aring@xxxxxxxxx> Cc: Josef Bacik <josef@xxxxxxxxxxxxxx> Cc: Aleksa Sarai <cyphar@xxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Christian Brauner <brauner@xxxxxxxxxx> Cc: linux-fsdevel@xxxxxxxxxxxxxxx CC: linux-api@xxxxxxxxxxxxxxx include/uapi/linux/fcntl.h | 2 ++ 1 file changed, 2 insertions(+) --- linux-next-20250819.orig/include/uapi/linux/fcntl.h +++ linux-next-20250819/include/uapi/linux/fcntl.h @@ -155,10 +155,12 @@ * as possible, so we can use them for generic bits in the future if necessary. */ +#ifndef __USE_GNU /* Flags for renameat2(2) (must match legacy RENAME_* flags). */ #define AT_RENAME_NOREPLACE 0x0001 #define AT_RENAME_EXCHANGE 0x0002 #define AT_RENAME_WHITEOUT 0x0004 +#endif /* Flag for faccessat(2). */ #define AT_EACCESS 0x200 /* Test access permitted for