public inbox for oe-lkp@lists.linux.dev
 help / color / mirror / Atom feed
From: kernel test robot <oliver.sang@intel.com>
To: "Jim Cromie" <jim.cromie@gmail.com>,
	"Łukasz Bartosik" <ukaszb@chromium.org>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>, <oliver.sang@intel.com>
Subject: [jimc:wk-modhash] [dyndbg]  a6e60e2484: WARNING:suspicious_RCU_usage
Date: Mon, 26 Jan 2026 21:18:37 +0800	[thread overview]
Message-ID: <202601262015.5f498cb8-lkp@intel.com> (raw)



Hello,

kernel test robot noticed "WARNING:suspicious_RCU_usage" on:

commit: a6e60e2484beb46405af7aba2a83cea2aaf0815f ("dyndbg: walk dd_mod_map intervals in dynamic_debug_init()")
https://github.com/jimc/linux.git wk-modhash

in testcase: boot

config: x86_64-randconfig-074-20260122
compiler: clang-20
test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 32G

(please refer to attached dmesg/kmsg for entire log/backtrace)


+------------------------------------------------------------------------------------+------------+------------+
|                                                                                    | 46e05bf6d2 | a6e60e2484 |
+------------------------------------------------------------------------------------+------------+------------+
| WARNING:suspicious_RCU_usage                                                       | 0          | 6          |
| include/linux/rcupdate.h:#Illegal_context_switch_in_RCU_read-side_critical_section | 0          | 6          |
| BUG:sleeping_function_called_from_invalid_context_at_include/linux/sched/mm.h      | 0          | 6          |
+------------------------------------------------------------------------------------+------------+------------+


If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202601262015.5f498cb8-lkp@intel.com



[    0.848842][    T1] WARNING: suspicious RCU usage
[    0.849347][    T1] 6.19.0-rc6-00039-ga6e60e2484be #1 Not tainted
[    0.850012][    T1] -----------------------------
[    0.850522][    T1] include/linux/rcupdate.h:410 Illegal context switch in RCU read-side critical section!
[    0.851549][    T1]
[    0.851549][    T1] other info that might help us debug this:
[    0.851549][    T1]
[    0.852619][    T1]
[    0.852619][    T1] rcu_scheduler_active = 2, debug_locks = 1
[    0.853448][    T1] 1 lock held by swapper/0/1:
[    0.853945][    T1]  #0: ffffffff83bcbfb0 (rcu_read_lock){....}-{1:3}, at: dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.855024][    T1]
[    0.855024][    T1] stack backtrace:
[    0.855624][    T1] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.19.0-rc6-00039-ga6e60e2484be #1 PREEMPTLAZY
[    0.856708][    T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[    0.857761][    T1] Call Trace:
[    0.858101][    T1]  <TASK>
[    0.858410][    T1]  __dump_stack (lib/dump_stack.c:95)
[    0.858859][    T1]  dump_stack_lvl (lib/dump_stack.c:123)
[    0.859338][    T1]  lockdep_rcu_suspicious (kernel/locking/lockdep.c:6877)
[    0.859898][    T1]  __might_resched (kernel/sched/core.c:8791)
[    0.860395][    T1]  __might_sleep (kernel/sched/core.c:8759)
[    0.860868][    T1]  slab_pre_alloc_hook (mm/slub.c:4906)
[    0.861392][    T1]  slab_alloc_node (mm/slub.c:5239)
[    0.861886][    T1]  ? mas_next_slot (lib/maple_tree.c:4410)
[    0.862401][    T1]  ? dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.862934][    T1]  ? ddebug_add_module (lib/dynamic_debug.c:1578)
[    0.863450][    T1]  __kmalloc_cache_noprof (mm/slub.c:5771)
[    0.863987][    T1]  ? dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.864520][    T1]  ddebug_add_module (lib/dynamic_debug.c:1578)
[    0.865012][    T1]  ? dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.865012][    T1]  dynamic_debug_init (lib/dynamic_debug.c:1811)
[    0.865012][    T1]  ? dyndbg_setup (lib/dynamic_debug.c:1843)
[    0.865012][    T1]  __initstub__kmod_dynamic_debug__1505_1843_dynamic_debug_initearly (lib/dynamic_debug.c:1843)
[    0.865012][    T1]  do_one_initcall (init/main.c:1378)
[    0.865012][    T1]  ? rcu_read_lock_any_held (kernel/rcu/update.c:386)
[    0.865012][    T1]  ? __lock_acquire (kernel/locking/lockdep.c:3801 kernel/locking/lockdep.c:3821 kernel/locking/lockdep.c:3876 kernel/locking/lockdep.c:5237)
[    0.865012][    T1]  ? ___slab_alloc (include/linux/spinlock.h:? mm/slub.c:3550 mm/slub.c:3630 mm/slub.c:4631)
[    0.865012][    T1]  ? _raw_spin_unlock_irqrestore (include/linux/spinlock_api_smp.h:152 kernel/locking/spinlock.c:194)
[    0.865012][    T1]  ? ___slab_alloc (include/linux/spinlock.h:? mm/slub.c:3550 mm/slub.c:3630 mm/slub.c:4631)
[    0.865012][    T1]  ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[    0.865012][    T1]  ? sched_clock_noinstr (arch/x86/kernel/tsc.c:272)
[    0.865012][    T1]  ? __register_sysctl_table (include/linux/spinlock.h:? fs/proc/proc_sysctl.c:?)
[    0.865012][    T1]  ? local_clock_noinstr (kernel/sched/clock.c:274 kernel/sched/clock.c:309)
[    0.865012][    T1]  ? local_clock (arch/x86/include/asm/preempt.h:95 kernel/sched/clock.c:319)
[    0.865012][    T1]  ? __register_sysctl_table (include/linux/spinlock.h:? fs/proc/proc_sysctl.c:?)
[    0.865012][    T1]  ? _raw_spin_unlock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:186)
[    0.865012][    T1]  ? _raw_write_unlock (include/linux/rwlock_api_smp.h:226 kernel/locking/spinlock.c:342)
[    0.865012][    T1]  do_pre_smp_initcalls (init/main.c:1483)
[    0.865012][    T1]  kernel_init_freeable (init/main.c:1678)
[    0.865012][    T1]  ? rest_init (init/main.c:1570)
[    0.865012][    T1]  kernel_init (kernel/async.c:297 kernel/async.c:284 init/main.c:1580)
[    0.865012][    T1]  ret_from_fork (arch/x86/kernel/process.c:164)
[    0.865012][    T1]  ? rest_init (init/main.c:1570)
[    0.865012][    T1]  ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
[    0.865012][    T1]  </TASK>
[    0.865022][    T1] BUG: sleeping function called from invalid context at include/linux/sched/mm.h:323
[    0.865708][    T1] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0
[    0.866337][    T1] preempt_count: 1, expected: 0
[    0.866679][    T1] 1 lock held by swapper/0/1:
[    0.867004][    T1]  #0: ffffffff83bcbfb0 (rcu_read_lock){....}-{1:3}, at: dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.867709][    T1] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.19.0-rc6-00039-ga6e60e2484be #1 PREEMPTLAZY
[    0.868476][    T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[    0.869211][    T1] Call Trace:
[    0.869455][    T1]  <TASK>
[    0.869751][    T1]  __dump_stack (lib/dump_stack.c:95)
[    0.870190][    T1]  dump_stack_lvl (lib/dump_stack.c:123)
[    0.870654][    T1]  __might_resched (kernel/sched/core.c:8830)
[    0.871152][    T1]  __might_sleep (kernel/sched/core.c:8759)
[    0.871671][    T1]  slab_pre_alloc_hook (mm/slub.c:4906)
[    0.872188][    T1]  slab_alloc_node (mm/slub.c:5239)
[    0.872680][    T1]  ? mas_next_slot (lib/maple_tree.c:4410)
[    0.873174][    T1]  ? dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.873699][    T1]  ? ddebug_add_module (lib/dynamic_debug.c:1578)
[    0.874214][    T1]  __kmalloc_cache_noprof (mm/slub.c:5771)
[    0.874768][    T1]  ? dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.875012][    T1]  ddebug_add_module (lib/dynamic_debug.c:1578)
[    0.875012][    T1]  ? dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.875012][    T1]  dynamic_debug_init (lib/dynamic_debug.c:1811)
[    0.875012][    T1]  ? dyndbg_setup (lib/dynamic_debug.c:1843)
[    0.875012][    T1]  __initstub__kmod_dynamic_debug__1505_1843_dynamic_debug_initearly (lib/dynamic_debug.c:1843)
[    0.875012][    T1]  do_one_initcall (init/main.c:1378)
[    0.875012][    T1]  ? rcu_read_lock_any_held (kernel/rcu/update.c:386)
[    0.875012][    T1]  ? __lock_acquire (kernel/locking/lockdep.c:3801 kernel/locking/lockdep.c:3821 kernel/locking/lockdep.c:3876 kernel/locking/lockdep.c:5237)
[    0.875012][    T1]  ? ___slab_alloc (include/linux/spinlock.h:? mm/slub.c:3550 mm/slub.c:3630 mm/slub.c:4631)
[    0.875012][    T1]  ? _raw_spin_unlock_irqrestore (include/linux/spinlock_api_smp.h:152 kernel/locking/spinlock.c:194)
[    0.875012][    T1]  ? ___slab_alloc (include/linux/spinlock.h:? mm/slub.c:3550 mm/slub.c:3630 mm/slub.c:4631)
[    0.875012][    T1]  ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[    0.875012][    T1]  ? sched_clock_noinstr (arch/x86/kernel/tsc.c:272)
[    0.875012][    T1]  ? __register_sysctl_table (include/linux/spinlock.h:? fs/proc/proc_sysctl.c:?)
[    0.875012][    T1]  ? local_clock_noinstr (kernel/sched/clock.c:274 kernel/sched/clock.c:309)
[    0.875012][    T1]  ? local_clock (arch/x86/include/asm/preempt.h:95 kernel/sched/clock.c:319)
[    0.875012][    T1]  ? __register_sysctl_table (include/linux/spinlock.h:? fs/proc/proc_sysctl.c:?)
[    0.875012][    T1]  ? _raw_spin_unlock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:186)
[    0.875012][    T1]  ? _raw_write_unlock (include/linux/rwlock_api_smp.h:226 kernel/locking/spinlock.c:342)
[    0.875012][    T1]  do_pre_smp_initcalls (init/main.c:1483)
[    0.875012][    T1]  kernel_init_freeable (init/main.c:1678)
[    0.875012][    T1]  ? rest_init (init/main.c:1570)
[    0.875012][    T1]  kernel_init (kernel/async.c:297 kernel/async.c:284 init/main.c:1580)
[    0.875012][    T1]  ret_from_fork (arch/x86/kernel/process.c:164)
[    0.875012][    T1]  ? rest_init (init/main.c:1570)
[    0.875012][    T1]  ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
[    0.875012][    T1]  </TASK>
[    0.875048][    T1]
[    0.875307][    T1] =============================
[    0.875808][    T1] [ BUG: Invalid wait context ]
[    0.876315][    T1] 6.19.0-rc6-00039-ga6e60e2484be #1 Tainted: G        W
[    0.877174][    T1] -----------------------------
[    0.877679][    T1] swapper/0/1 is trying to lock:
[    0.878204][    T1] ffffffff83ccd418 (ddebug_lock){....}-{4:4}, at: ddebug_add_module (include/linux/list.h:191 lib/dynamic_debug.c:1601)
[    0.879138][    T1] other info that might help us debug this:
[    0.879750][    T1] context-{5:5}
[    0.880110][    T1] 1 lock held by swapper/0/1:
[    0.880591][    T1]  #0: ffffffff83bcbfb0 (rcu_read_lock){....}-{1:3}, at: dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.881525][    T1] stack backtrace:
[    0.881915][    T1] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Tainted: G        W           6.19.0-rc6-00039-ga6e60e2484be #1 PREEMPTLAZY
[    0.883184][    T1] Tainted: [W]=WARN
[    0.883576][    T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[    0.884654][    T1] Call Trace:
[    0.884990][    T1]  <TASK>
[    0.885012][    T1]  __dump_stack (lib/dump_stack.c:95)
[    0.885012][    T1]  dump_stack_lvl (lib/dump_stack.c:123)
[    0.885012][    T1]  __lock_acquire (kernel/locking/lockdep.c:4832 kernel/locking/lockdep.c:4902 kernel/locking/lockdep.c:5187)
[    0.885012][    T1]  ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[    0.885012][    T1]  ? ddebug_add_module (include/linux/list.h:191 lib/dynamic_debug.c:1601)
[    0.885012][    T1]  lock_acquire (kernel/locking/lockdep.c:5868)
[    0.885012][    T1]  ? ddebug_add_module (include/linux/list.h:191 lib/dynamic_debug.c:1601)
[    0.885012][    T1]  ? __might_resched (kernel/sched/core.c:8791)
[    0.885012][    T1]  ? ddebug_add_module (include/linux/list.h:191 lib/dynamic_debug.c:1601)
[    0.885012][    T1]  __mutex_lock (kernel/locking/mutex.c:614 kernel/locking/mutex.c:776)
[    0.885012][    T1]  ? ddebug_add_module (include/linux/list.h:191 lib/dynamic_debug.c:1601)
[    0.885012][    T1]  mutex_lock_nested (kernel/locking/mutex.c:829)
[    0.885012][    T1]  ddebug_add_module (include/linux/list.h:191 lib/dynamic_debug.c:1601)
[    0.885012][    T1]  ? dynamic_debug_init (include/linux/rcupdate.h:331 include/linux/rcupdate.h:867 lib/dynamic_debug.c:1800)
[    0.885012][    T1]  dynamic_debug_init (lib/dynamic_debug.c:1811)
[    0.885012][    T1]  ? dyndbg_setup (lib/dynamic_debug.c:1843)
[    0.885012][    T1]  __initstub__kmod_dynamic_debug__1505_1843_dynamic_debug_initearly (lib/dynamic_debug.c:1843)
[    0.885012][    T1]  do_one_initcall (init/main.c:1378)
[    0.885012][    T1]  ? rcu_read_lock_any_held (kernel/rcu/update.c:386)
[    0.885012][    T1]  ? __lock_acquire (kernel/locking/lockdep.c:3801 kernel/locking/lockdep.c:3821 kernel/locking/lockdep.c:3876 kernel/locking/lockdep.c:5237)
[    0.885012][    T1]  ? ___slab_alloc (include/linux/spinlock.h:? mm/slub.c:3550 mm/slub.c:3630 mm/slub.c:4631)
[    0.885012][    T1]  ? _raw_spin_unlock_irqrestore (include/linux/spinlock_api_smp.h:152 kernel/locking/spinlock.c:194)
[    0.885012][    T1]  ? ___slab_alloc (include/linux/spinlock.h:? mm/slub.c:3550 mm/slub.c:3630 mm/slub.c:4631)
[    0.885012][    T1]  ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91)
[    0.885012][    T1]  ? sched_clock_noinstr (arch/x86/kernel/tsc.c:272)
[    0.885012][    T1]  ? __register_sysctl_table (include/linux/spinlock.h:? fs/proc/proc_sysctl.c:?)
[    0.885012][    T1]  ? local_clock_noinstr (kernel/sched/clock.c:274 kernel/sched/clock.c:309)
[    0.885012][    T1]  ? local_clock (arch/x86/include/asm/preempt.h:95 kernel/sched/clock.c:319)
[    0.885012][    T1]  ? __register_sysctl_table (include/linux/spinlock.h:? fs/proc/proc_sysctl.c:?)
[    0.885012][    T1]  ? _raw_spin_unlock (include/linux/spinlock_api_smp.h:143 kernel/locking/spinlock.c:186)
[    0.885012][    T1]  ? _raw_write_unlock (include/linux/rwlock_api_smp.h:226 kernel/locking/spinlock.c:342)
[    0.885012][    T1]  do_pre_smp_initcalls (init/main.c:1483)
[    0.885012][    T1]  kernel_init_freeable (init/main.c:1678)
[    0.885012][    T1]  ? rest_init (init/main.c:1570)
[    0.885012][    T1]  kernel_init (kernel/async.c:297 kernel/async.c:284 init/main.c:1580)
[    0.885012][    T1]  ret_from_fork (arch/x86/kernel/process.c:164)
[    0.885012][    T1]  ? rest_init (init/main.c:1570)
[    0.885012][    T1]  ret_from_fork_asm (arch/x86/entry/entry_64.S:256)
[    0.885012][    T1]  </TASK>
[    0.896451][    T1] Memory: 32541600K/33553912K available (24738K kernel code, 10275K rwdata, 11116K rodata, 2024K init, 14052K bss, 991524K reserved, 0K cma-reserved)
[    0.899956][    T1] devtmpfs: initialized


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20260126/202601262015.5f498cb8-lkp@intel.com



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


                 reply	other threads:[~2026-01-26 13:18 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202601262015.5f498cb8-lkp@intel.com \
    --to=oliver.sang@intel.com \
    --cc=jim.cromie@gmail.com \
    --cc=lkp@intel.com \
    --cc=oe-lkp@lists.linux.dev \
    --cc=ukaszb@chromium.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox