linux-next: build failure after merge of the vfs-brauner tree
From: Stephen Rothwell
Date: Mon Mar 17 2025 - 08:56:24 EST
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:
pgpEh5lTjP6Se.pgp
Description: OpenPGP digital signature