Hi all, After merging the vfs-brauner tree, today's linux-next build (sparc64 defconfig) failed like this: In file included from <command-line>: fs/pidfs.c: In function 'pidfs_alloc_file': include/linux/compiler_types.h:557:45: error: call to '__compiletime_assert_399' declared with attribute error: BUILD_BUG_ON failed: O_DSYNC != CLONE_PIDFD 557 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ include/linux/compiler_types.h:538:25: note: in definition of macro '__compiletime_assert' 538 | prefix ## suffix(); \ | ^~~~~~ include/linux/compiler_types.h:557:9: note: in expansion of macro '_compiletime_assert' 557 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG' 50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) | ^~~~~~~~~~~~~~~~ fs/pidfs.c:877:9: note: in expansion of macro 'BUILD_BUG_ON' 877 | BUILD_BUG_ON(O_DSYNC != CLONE_PIDFD); | ^~~~~~~~~~~~ Caused by commit b0f4119d8b2a ("pidfs: ensure that PIDFS_INFO_EXIT is available") Why would you expect O_DSYNC == CLONE_PIDFD everywhere? $ git grep 'define\s*O_DSYNC' arch/alpha/include/uapi/asm/fcntl.h:#define O_DSYNC 040000 /* used to be O_SYNC, see below */ arch/mips/include/uapi/asm/fcntl.h:#define O_DSYNC 0x0010 /* used to be O_SYNC, see below */ arch/parisc/include/uapi/asm/fcntl.h:#define O_DSYNC 001000000 arch/sparc/include/uapi/asm/fcntl.h:#define O_DSYNC 0x2000 /* used to be O_SYNC, see below */ include/uapi/asm-generic/fcntl.h:#define O_DSYNC 00010000 /* used to be O_SYNC, see below */ $ git grep -w 'define\s*CLONE_PIDFD' include/uapi/linux/sched.h:#define CLONE_PIDFD 0x00001000 /* set if a pidfd should be placed in parent */ samples/pidfd/pidfd-metadata.c:#define CLONE_PIDFD 0x00001000 tools/perf/trace/beauty/include/uapi/linux/sched.h:#define CLONE_PIDFD 0x00001000 /* set if a pidfd should be placed in parent */ tools/testing/selftests/pidfd/pidfd.h:#define CLONE_PIDFD 0x00001000 I have reverted that commit for today. -- Cheers, Stephen Rothwell
Attachment:
pgpS2eq_mz0pM.pgp
Description: OpenPGP digital signature