linux-next: build failure after merge of the cgroup tree

From: Stephen Rothwell
Date: Wed Dec 06 2023 - 22:47:20 EST


Hi all,

After merging the cgroup tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from <command-line>:
kernel/cgroup/cgroup.c: In function 'cgroup_free_root':
include/linux/compiler_types.h:435:45: error: call to '__compiletime_assert_1792' declared with attribute error: BUILD_BUG_ON failed: !__is_kvfree_rcu_offset(offsetof(typeof(*(root)), rcu))
435 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:416:25: note: in definition of macro '__compiletime_assert'
416 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:435:9: note: in expansion of macro '_compiletime_assert'
435 | _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)
| ^~~~~~~~~~~~~~~~
include/linux/rcupdate.h:985:17: note: in expansion of macro 'BUILD_BUG_ON'
985 | BUILD_BUG_ON(!__is_kvfree_rcu_offset(offsetof(typeof(*(ptr)), rhf))); \
| ^~~~~~~~~~~~
include/linux/rcupdate.h:957:29: note: in expansion of macro 'kvfree_rcu_arg_2'
957 | #define kfree_rcu(ptr, rhf) kvfree_rcu_arg_2(ptr, rhf)
| ^~~~~~~~~~~~~~~~
kernel/cgroup/cgroup.c:1318:9: note: in expansion of macro 'kfree_rcu'
1318 | kfree_rcu(root, rcu);
| ^~~~~~~~~
In function 'cgroup_free_root',
inlined from 'cgroup_destroy_root' at kernel/cgroup/cgroup.c:1363:2:
include/linux/compiler_types.h:435:45: error: call to '__compiletime_assert_1792' declared with attribute error: BUILD_BUG_ON failed: !__is_kvfree_rcu_offset(offsetof(typeof(*(root)), rcu))
435 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
include/linux/compiler_types.h:416:25: note: in definition of macro '__compiletime_assert'
416 | prefix ## suffix(); \
| ^~~~~~
include/linux/compiler_types.h:435:9: note: in expansion of macro '_compiletime_assert'
435 | _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)
| ^~~~~~~~~~~~~~~~
include/linux/rcupdate.h:985:17: note: in expansion of macro 'BUILD_BUG_ON'
985 | BUILD_BUG_ON(!__is_kvfree_rcu_offset(offsetof(typeof(*(ptr)), rhf))); \
| ^~~~~~~~~~~~
include/linux/rcupdate.h:957:29: note: in expansion of macro 'kvfree_rcu_arg_2'
957 | #define kfree_rcu(ptr, rhf) kvfree_rcu_arg_2(ptr, rhf)
| ^~~~~~~~~~~~~~~~
kernel/cgroup/cgroup.c:1318:9: note: in expansion of macro 'kfree_rcu'
1318 | kfree_rcu(root, rcu);
| ^~~~~~~~~

Possibly caused by commit

77070eeb8821 ("cgroup: Avoid false cacheline sharing of read mostly rstat_cpu")

I have used the cgroup tree from next-20231206 for today.



--
Cheers,
Stephen Rothwell

Attachment: pgp1VOBxBlSXJ.pgp
Description: OpenPGP digital signature