INFO: rcu detected stall in batadv_mcast_get_bridge

4 views
Skip to first unread message

syzbot

unread,
May 11, 2020, 2:21:22 PM5/11/20
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: 2ef96a5b Linux 5.7-rc5
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=123523a2100000
kernel config: https://syzkaller.appspot.com/x/.config?x=efdde85c3af536b5
dashboard link: https://syzkaller.appspot.com/bug?extid=80949c6113fc4f16d9bd
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
CC: [b...@alien8.de h...@zytor.com linux-...@vger.kernel.org mi...@redhat.com pet...@infradead.org tg...@linutronix.de x...@kernel.org]

Unfortunately, I don't have any reproducer for this crash yet.

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+80949c...@syzkaller.appspotmail.com

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P282
(detected by 1, t=10503 jiffies, g=61629, q=41)
kworker/u4:6 R running task 24784 282 2 0x80004000
Workqueue: bat_events batadv_mcast_mla_update
Call Trace:
context_switch kernel/sched/core.c:3367 [inline]
__schedule+0x937/0x1ff0 kernel/sched/core.c:4083
__sched_text_start+0x8/0x8
check_preemption_disabled lib/smp_processor_id.c:16 [inline]
__this_cpu_preempt_check+0x28/0x190 lib/smp_processor_id.c:64
set_irq_regs arch/x86/include/asm/irq_regs.h:27 [inline]
smp_apic_timer_interrupt+0x1b6/0x600 arch/x86/kernel/apic/apic.c:1142
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:50
preempt_schedule_common+0x4a/0xc0 kernel/sched/core.c:4239
preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:50
unwind_next_frame+0x1073/0x1df0 arch/x86/kernel/unwind_orc.c:604
stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:123
deref_stack_reg+0xe0/0xe0 arch/x86/kernel/unwind_orc.c:354
test_bit include/asm-generic/bitops/instrumented-non-atomic.h:110 [inline]
hlock_class kernel/locking/lockdep.c:179 [inline]
mark_lock+0x12b/0xf10 kernel/locking/lockdep.c:3912
profile_setup.cold+0xc1/0xc1
arch_stack_walk+0x81/0xf0 arch/x86/kernel/stacktrace.c:25
save_stack+0x1b/0x40 mm/kasan/common.c:49
stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:123
stack_trace_consume_entry+0x160/0x160 kernel/stacktrace.c:93
print_usage_bug+0x240/0x240 kernel/locking/lockdep.c:101
print_usage_bug+0x240/0x240 kernel/locking/lockdep.c:101
save_stack+0x1b/0x40 mm/kasan/common.c:49
test_bit include/asm-generic/bitops/instrumented-non-atomic.h:110 [inline]
hlock_class kernel/locking/lockdep.c:179 [inline]
__lock_acquire+0xcbb/0x4c50 kernel/locking/lockdep.c:4352
mark_held_locks+0xe0/0xe0 kernel/locking/lockdep.c:3620
mark_held_locks+0xe0/0xe0 kernel/locking/lockdep.c:3620
test_bit include/asm-generic/bitops/instrumented-non-atomic.h:110 [inline]
hlock_class kernel/locking/lockdep.c:179 [inline]
mark_lock+0x12b/0xf10 kernel/locking/lockdep.c:3912
print_usage_bug+0x240/0x240 kernel/locking/lockdep.c:101
lock_acquire+0x1f2/0x8f0 kernel/locking/lockdep.c:4934
kasan_poison_shadow mm/kasan/common.c:131 [inline]
kasan_unpoison_shadow+0x30/0x40 mm/kasan/common.c:145
set_track mm/kasan/common.c:57 [inline]
__kasan_kmalloc mm/kasan/common.c:495 [inline]
__kasan_kmalloc.constprop.0+0xbf/0xd0 mm/kasan/common.c:468
slab_alloc mm/slab.c:3313 [inline]
kmem_cache_alloc_trace+0x295/0x7d0 mm/slab.c:3549
slab_post_alloc_hook mm/slab.h:586 [inline]
slab_alloc mm/slab.c:3320 [inline]
kmem_cache_alloc_trace+0x13d/0x7d0 mm/slab.c:3549
lock_is_held include/linux/lockdep.h:406 [inline]
rcu_read_lock_held kernel/rcu/update.c:307 [inline]
rcu_read_lock_held+0x9c/0xb0 kernel/rcu/update.c:301
rcu_read_lock_held_common+0x130/0x130 kernel/rcu/update.c:275
kmalloc include/linux/slab.h:555 [inline]
batadv_mcast_mla_softif_get_ipv4 net/batman-adv/multicast.c:405 [inline]
batadv_mcast_mla_softif_get net/batman-adv/multicast.c:532 [inline]
__batadv_mcast_mla_update net/batman-adv/multicast.c:911 [inline]
batadv_mcast_mla_update+0x1ce2/0x2d20 net/batman-adv/multicast.c:948
lock_acquire+0x1f2/0x8f0 kernel/locking/lockdep.c:4934
batadv_mcast_get_bridge+0x200/0x200 net/batman-adv/multicast.c:95
lock_is_held include/linux/lockdep.h:406 [inline]
rcu_read_lock_sched_held+0x9c/0xd0 kernel/rcu/update.c:121
rcu_read_lock_any_held.part.0+0x50/0x50 arch/x86/include/asm/paravirt.h:754
__raw_spin_unlock_irq include/linux/spinlock_api_smp.h:168 [inline]
_raw_spin_unlock_irq+0x1f/0x80 kernel/locking/spinlock.c:199
process_one_work+0x965/0x16a0 kernel/workqueue.c:2268
lock_release+0x800/0x800 kernel/locking/lockdep.c:4689
pwq_dec_nr_in_flight+0x310/0x310 kernel/workqueue.c:1198
rwlock_bug.part.0+0x90/0x90 include/linux/sched.h:1329
worker_thread+0x96/0xe20 kernel/workqueue.c:2414
process_one_work+0x16a0/0x16a0 kernel/workqueue.c:2273
kthread+0x388/0x470 kernel/kthread.c:268
kthread_mod_delayed_work+0x1a0/0x1a0 kernel/kthread.c:1090
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:351
rcu: rcu_preempt kthread starved for 10527 jiffies! g61629 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
rcu: RCU grace-period kthread stack dump:
rcu_preempt R running task 28440 10 2 0x80004000
Call Trace:
context_switch kernel/sched/core.c:3367 [inline]
__schedule+0x937/0x1ff0 kernel/sched/core.c:4083
__sched_text_start+0x8/0x8
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:117 [inline]
_raw_spin_lock_irqsave+0x94/0xbf kernel/locking/spinlock.c:159
check_preemption_disabled lib/smp_processor_id.c:52 [inline]
debug_smp_processor_id+0x2f/0x185 lib/smp_processor_id.c:57
schedule+0xd0/0x2a0 kernel/sched/core.c:4158
schedule_timeout+0x35c/0x850 kernel/time/timer.c:1898
usleep_range+0x160/0x160 kernel/time/timer.c:2093
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline]
_raw_spin_unlock_irqrestore+0x62/0xe0 kernel/locking/spinlock.c:191
__next_timer_interrupt+0x190/0x190 kernel/time/timer.c:1512
prepare_to_swait_exclusive+0x110/0x110 kernel/sched/swait.c:98
rcu_gp_fqs_loop kernel/rcu/tree.c:1674 [inline]
rcu_gp_kthread+0x9bf/0x1960 kernel/rcu/tree.c:1836
rcu_barrier+0x4b0/0x4b0 arch/x86/include/asm/paravirt.h:764
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:160 [inline]
_raw_spin_unlock_irqrestore+0x62/0xe0 kernel/locking/spinlock.c:191
__trace_hardirqs_on_caller kernel/locking/lockdep.c:3657 [inline]
lockdep_hardirqs_on+0x463/0x620 kernel/locking/lockdep.c:3702
__kthread_parkme+0x13f/0x1e0 kernel/kthread.c:212
rcu_barrier+0x4b0/0x4b0 arch/x86/include/asm/paravirt.h:764
kthread+0x388/0x470 kernel/kthread.c:268
kthread_mod_delayed_work+0x1a0/0x1a0 kernel/kthread.c:1090
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:351


---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

unread,
Aug 9, 2020, 10:22:11 AM8/9/20
to syzkaller-upst...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages