tree:
https://github.com/0day-ci/linux/commits/UPDATE-20200915-064914/Nikolay-A...
head: 784cbfb5fbccf5af49aa79a65d53338137044d35
commit: 784cbfb5fbccf5af49aa79a65d53338137044d35 [1/1] rcu: prevent RCU_LOCKDEP_WARN()
from swallowing the condition
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 784cbfb5fbccf5af49aa79a65d53338137044d35
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from include/linux/rcupdate_wait.h:9,
from kernel/rcu/srcutree.c:22:
kernel/rcu/srcutree.c: In function '__synchronize_srcu':
> kernel/rcu/srcutree.c:922:36: error: 'struct srcu_struct'
has no member named 'dep_map'
922 |
RCU_LOCKDEP_WARN(lock_is_held(&ssp->dep_map) ||
| ^~
include/linux/rcupdate.h:324:52: note: in definition of macro
'RCU_LOCKDEP_WARN'
324 | #define RCU_LOCKDEP_WARN(c, s) do { } while (0 && (c))
| ^
#
https://github.com/0day-ci/linux/commit/784cbfb5fbccf5af49aa79a65d5333813...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
UPDATE-20200915-064914/Nikolay-Aleksandrov/net-bridge-mcast-fix-unused-br-var-when-lockdep-isn-t-defined/20200908-151845
git checkout 784cbfb5fbccf5af49aa79a65d53338137044d35
vim +922 kernel/rcu/srcutree.c
dad81a2026841b Paul E. McKenney 2017-03-25 914
dad81a2026841b Paul E. McKenney 2017-03-25 915 /*
dad81a2026841b Paul E. McKenney 2017-03-25 916 * Helper function for synchronize_srcu()
and synchronize_srcu_expedited().
dad81a2026841b Paul E. McKenney 2017-03-25 917 */
aacb5d91ab1bfb Paul E. McKenney 2018-10-28 918 static void __synchronize_srcu(struct
srcu_struct *ssp, bool do_norm)
dad81a2026841b Paul E. McKenney 2017-03-25 919 {
dad81a2026841b Paul E. McKenney 2017-03-25 920 struct rcu_synchronize rcu;
dad81a2026841b Paul E. McKenney 2017-03-25 921
aacb5d91ab1bfb Paul E. McKenney 2018-10-28 @922
RCU_LOCKDEP_WARN(lock_is_held(&ssp->dep_map) ||
dad81a2026841b Paul E. McKenney 2017-03-25 923 lock_is_held(&rcu_bh_lock_map)
||
dad81a2026841b Paul E. McKenney 2017-03-25 924 lock_is_held(&rcu_lock_map) ||
dad81a2026841b Paul E. McKenney 2017-03-25 925
lock_is_held(&rcu_sched_lock_map),
dad81a2026841b Paul E. McKenney 2017-03-25 926 "Illegal synchronize_srcu() in
same-type SRCU (or in RCU) read-side critical section");
dad81a2026841b Paul E. McKenney 2017-03-25 927
dad81a2026841b Paul E. McKenney 2017-03-25 928 if (rcu_scheduler_active ==
RCU_SCHEDULER_INACTIVE)
dad81a2026841b Paul E. McKenney 2017-03-25 929 return;
dad81a2026841b Paul E. McKenney 2017-03-25 930 might_sleep();
aacb5d91ab1bfb Paul E. McKenney 2018-10-28 931 check_init_srcu_struct(ssp);
dad81a2026841b Paul E. McKenney 2017-03-25 932 init_completion(&rcu.completion);
da915ad5cf25b5 Paul E. McKenney 2017-04-05 933 init_rcu_head_on_stack(&rcu.head);
aacb5d91ab1bfb Paul E. McKenney 2018-10-28 934 __call_srcu(ssp, &rcu.head,
wakeme_after_rcu, do_norm);
dad81a2026841b Paul E. McKenney 2017-03-25 935
wait_for_completion(&rcu.completion);
da915ad5cf25b5 Paul E. McKenney 2017-04-05 936
destroy_rcu_head_on_stack(&rcu.head);
35732cf9dd38b1 Paul E. McKenney 2017-07-05 937
35732cf9dd38b1 Paul E. McKenney 2017-07-05 938 /*
35732cf9dd38b1 Paul E. McKenney 2017-07-05 939 * Make sure that later code is ordered
after the SRCU grace
d633198088bd9e Paul E. McKenney 2017-10-10 940 * period. This pairs with the
spin_lock_irq_rcu_node()
35732cf9dd38b1 Paul E. McKenney 2017-07-05 941 * in srcu_invoke_callbacks(). Unlike
Tree RCU, this is needed
35732cf9dd38b1 Paul E. McKenney 2017-07-05 942 * because the current CPU might have
been totally uninvolved with
35732cf9dd38b1 Paul E. McKenney 2017-07-05 943 * (and thus unordered against) that
grace period.
35732cf9dd38b1 Paul E. McKenney 2017-07-05 944 */
35732cf9dd38b1 Paul E. McKenney 2017-07-05 945 smp_mb();
dad81a2026841b Paul E. McKenney 2017-03-25 946 }
dad81a2026841b Paul E. McKenney 2017-03-25 947
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org