Re: f410328e93 ("Default enable RCU list lockdep debugging with .."): WARNING: suspicious RCU usage

From: Amol Grover
Date: Sat May 23 2020 - 14:48:44 EST


On Sat, May 23, 2020 at 02:28:36PM -0400, joel@xxxxxxxxxxxxxxxxx wrote:
> Madhu,
> Did the creds patches make it upstream? If not, could you or Amol revive them?
>

Hi Joel,

I was myself thinking of reviving the cred patches (but it slipped my
mind). Thanks for the reminder, I'll do it.

Thanks
Amol

> Thanks.
>
>
> On May 23, 2020 1:44:37 PM EDT, kernel test robot <lkp@xxxxxxxxx> wrote:
> >Greetings,
> >
> >0day kernel testing robot got the below dmesg and the first bad commit
> >is
> >
> >https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
> >dev.2020.05.14b
> >
> >commit f410328e93834f1d9c7e2f707ac05fd9e6417c27
> >Author: Madhuparna Bhowmik <madhuparnabhowmik10@xxxxxxxxx>
> >AuthorDate: Fri Feb 28 14:54:51 2020 +0530
> >Commit: Paul E. McKenney <paulmck@xxxxxxxxxx>
> >CommitDate: Thu May 14 10:11:39 2020 -0700
> >
> > Default enable RCU list lockdep debugging with PROVE_RCU
> >
> > This patch default enables CONFIG_PROVE_RCU_LIST option with
> > CONFIG_PROVE_RCU for RCU list lockdep debugging.
> >
> > With this change, RCU list lockdep debugging will be default
> > enabled in CONFIG_PROVE_RCU=y kernels.
> >
> > Most of the RCU users (in core kernel/, drivers/, and net/
> > subsystem) have already been modified to include lockdep
> > expressions hence RCU list debugging can be enabled by
> > default.
> >
> > However, there are still chances of enountering
> > false-positive lockdep splats because not everything is converted,
> > in case RCU list primitives are used in non-RCU read-side critical
> > section but under the protection of a lock. It would be okay to
> > have a few false-positives, as long as bugs are identified, since this
> > patch only affects debugging kernels.
> >
> > Co-developed-by: Amol Grover <frextrite@xxxxxxxxx>
> > Signed-off-by: Amol Grover <frextrite@xxxxxxxxx>
> > Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@xxxxxxxxx>
> > Acked-by: Joel Fernandes (Google) <joel@xxxxxxxxxxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> >
> >df2e4807c8 torture: Add --allcpus argument to the kvm.sh script
> >f410328e93 Default enable RCU list lockdep debugging with PROVE_RCU
> >c1628f71b9 ubsan, kcsan: Don't combine sanitizer with kcov on clang
> >+-------------------------------------------------------------------------+------------+------------+------------+
> >|
> > | df2e4807c8 | f410328e93 | c1628f71b9 |
> >+-------------------------------------------------------------------------+------------+------------+------------+
> >| boot_successes
> > | 2 | 0 | 0 |
> >| boot_failures
> > | 37 | 17 | 23 |
> >| Assertion_failed
> > | 33 | 13 | 13 |
> >| Kernel_panic-not_syncing:Attempted_to_kill_init!exitcode=
> > | 35 | 15 | 21 |
> >| BUG:kernel_hang_in_test_stage
> > | 2 | 1 | |
> >| WARNING:suspicious_RCU_usage
> > | 0 | 17 | 23 |
> >| security/smack/smack_lsm.c:#RCU-list_traversed_in_non-reader_section
> > | 0 | 17 | 23 |
> >|
> >security/smack/smack_access.c:#RCU-list_traversed_in_non-reader_section
> >| 0 | 17 | 23 |
> >+-------------------------------------------------------------------------+------------+------------+------------+
> >
> >If you fix the issue, kindly add following tag
> >Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >
> >[ 0.347631] ..... CPU clock speed is 2893.0023 MHz.
> >[ 0.347631] ..... host bus clock speed is 1000.0027 MHz.
> >[ 0.347677] smpboot: CPU0: Intel Common KVM processor (family: 0xf,
> >model: 0x6, stepping: 0x1)
> >[ 0.348602]
> >[ 0.348635] =============================
> >[ 0.348962] WARNING: suspicious RCU usage
> >[ 0.349295] 5.7.0-rc2-00236-gf410328e93834 #1 Not tainted
> >[ 0.349634] -----------------------------
> >[ 0.349962] security/smack/smack_lsm.c:354 RCU-list traversed in
> >non-reader section!!
> >[ 0.350634]
> >[ 0.350634] other info that might help us debug this:
> >[ 0.350634]
> >[ 0.351278]
> >[ 0.351278] rcu_scheduler_active = 1, debug_locks = 1
> >[ 0.351675] no locks held by kthreadd/2.
> >[ 0.351997]
> >[ 0.351997] stack backtrace:
> >[ 0.352636] CPU: 0 PID: 2 Comm: kthreadd Not tainted
> >5.7.0-rc2-00236-gf410328e93834 #1
> >[ 0.353267] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
> >BIOS 1.12.0-1 04/01/2014
> >[ 0.353631] Call Trace:
> >[ 0.353631] ? dump_stack+0x6b/0x9b
> >[ 0.353631] ? smack_cred_prepare+0x1c8/0x1e0
> >[ 0.353631] ? smack_sk_alloc_security+0xa0/0xa0
> >[ 0.353631] ? security_prepare_creds+0x3f/0x90
> >[ 0.353631] ? prepare_creds+0x13c/0x260
> >[ 0.353631] ? copy_creds+0x2c/0x1d0
> >[ 0.353631] ? copy_process+0x366/0x1760
> >[ 0.353631] ? lock_acquire+0x72/0x370
> >[ 0.353631] ? _do_fork+0x71/0x680
> >[ 0.353631] ? lock_acquire+0x72/0x370
> >[ 0.353631] ? kthread_park+0xa0/0xa0
> >[ 0.353631] ? kthreadd+0x50/0x140
> >[ 0.353631] ? kernel_thread+0x4e/0x60
> >[ 0.353631] ? kthread_park+0xa0/0xa0
> >[ 0.353631] ? kthreadd+0xf4/0x140
> >[ 0.353631] ? kthread_create_on_cpu+0x80/0x80
> >[ 0.353631] ? ret_from_fork+0x2e/0x38
> >[ 0.354096] Performance Events: unsupported Netburst CPU model 6 no
> >PMU driver, software events only.
> >[ 0.354910] rcu: Hierarchical SRCU implementation.
> >[ 0.356850] NMI watchdog: Perf NMI watchdog permanently disabled
> >[ 0.357864] smp: Bringing up secondary CPUs ...
> >[ 0.359261] x86: Booting SMP configuration:
> >
> > # HH:MM RESULT GOOD BAD GOOD_BUT_DIRTY DIRTY_NOT_BAD
> >git bisect start 144ce0ceed88071d2cffb323089fcb710f2e4350
> >0e698dfa282211e414076f9dc7e83c1c288314fd --
> >git bisect good 0f5233d56ed5563c895eb957131074e71b821ffd # 23:25 G
> >11 0 11 11 Merge 'regulator/for-next' into
> >devel-catchup-202005150615
> >git bisect good a9f1f0805c1a2d8b1a53afbae38c3516b5194179 # 23:31 G
> > 11 0 11 17 Merge 's390/fixes' into devel-catchup-202005150615
> >git bisect bad 61973078db675fd3ee2e26fc0bd9708b9d79b2df # 23:41 B
> >0 8 29 5 Merge 'rcu/dev.2020.05.14b' into
> >devel-catchup-202005150615
> >git bisect good 74e078cc85670493864c48208e04229d4fac48fa # 23:50 G
> >11 0 11 17 Merge
> >'linux-review/Grygorii-Strashko/soc-ti-add-k3-platforms-chipid-module-driver/20200514-153644'
> >into devel-catchup-202005150615
> >git bisect good 4b0c4c07546dfca786eaa447d9f9f95b25c7b399 # 23:58 G
> >10 0 10 22 Merge 'jpirko-mlxsw/combined_queue' into
> >devel-catchup-202005150615
> >git bisect good 8b458949f2e7896ee126899994a23735a9be2d2d # 00:07 G
> >11 0 11 17 Merge 'block/for-5.8/block' into
> >devel-catchup-202005150615
> >git bisect bad e317828f7d9693a7cd5a718e947bcf3824f6146a # 00:16 B
> > 0 7 25 2 rcu: Expedited grace-period sleeps to idle priority
> >git bisect bad 9ddfee9e62685e77b23c25a0fff7eaef56092130 # 00:23 B
> >0 11 32 5 rcu: Grace-period-kthread related sleeps to idle
> >priority
> >git bisect bad f410328e93834f1d9c7e2f707ac05fd9e6417c27 # 00:33 B
> >0 1 21 4 Default enable RCU list lockdep debugging with
> >PROVE_RCU
> ># first bad commit: [f410328e93834f1d9c7e2f707ac05fd9e6417c27] Default
> >enable RCU list lockdep debugging with PROVE_RCU
> >git bisect good df2e4807c87c32ff01e0fe25b0fdf1352ab986bd # 00:53 G
> >33 0 33 35 torture: Add --allcpus argument to the kvm.sh script
> ># extra tests with debug options
> >git bisect bad f410328e93834f1d9c7e2f707ac05fd9e6417c27 # 01:01 B
> >0 10 26 0 Default enable RCU list lockdep debugging with
> >PROVE_RCU
> ># extra tests on head commit of rcu/dev.2020.05.14b
> >git bisect bad c1628f71b9ac81a2349f02cdebaaefe35a3fe4ba # 01:22 B
> >0 8 36 12 ubsan, kcsan: Don't combine sanitizer with kcov on
> >clang
> ># bad: [c1628f71b9ac81a2349f02cdebaaefe35a3fe4ba] ubsan, kcsan: Don't
> >combine sanitizer with kcov on clang
> ># extra tests on revert first bad commit
> >git bisect good 183564b7c798c2d106ad64972d202433a536ccca # 01:44 G
> >11 0 11 11 Revert "Default enable RCU list lockdep debugging
> >with PROVE_RCU"
> ># good: [183564b7c798c2d106ad64972d202433a536ccca] Revert "Default
> >enable RCU list lockdep debugging with PROVE_RCU"
> >
> >---
> >0-DAY CI Kernel Test Service, Intel Corporation
> >https://lists.01.org/hyperkitty/list/lkp@xxxxxxxxxxxx
>
> --
> Sent from my Android device with K-9 Mail. Please excuse my brevity.