syzbot


INFO: rcu detected stall in sctp_chunk_put

Status: fixed on 2018/07/09 18:05
Subsystems: sctp
[Documentation on labels]
Reported-by: syzbot+245a6d65319c9619b1e9@syzkaller.appspotmail.com
Fix commit: 1d88ba1ebb27 sctp: not allow transport timeout value less than HZ/5 for hb_timer
First crash: 2207d, last: 2207d

Sample crash report:
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:aa, vlan:0)
bridge0: received packet on bridge_slave_0 with own address as source address (addr:aa:aa:aa:aa:aa:aa, vlan:1)
bridge_slave_0: FDB only supports static addresses
INFO: rcu_sched self-detected stall on CPU
	0-...!: (124998 ticks this GP) idle=9e6/1/4611686018427387906 softirq=247881/247881 fqs=51 
	 (t=125000 jiffies g=135344 c=135343 q=538813)
rcu_sched kthread starved for 124742 jiffies! g135344 c135343 f0x2 RCU_GP_WAIT_FQS(3) ->state=0x0 ->cpu=1
RCU grace-period kthread stack dump:
rcu_sched       R  running task    23592     9      2 0x80000000
Call Trace:
 context_switch kernel/sched/core.c:2859 [inline]
 __schedule+0x801/0x1e30 kernel/sched/core.c:3501
 schedule+0xef/0x430 kernel/sched/core.c:3545
 schedule_timeout+0x138/0x240 kernel/time/timer.c:1801
 rcu_gp_kthread+0x6b5/0x1940 kernel/rcu/tree.c:2231
 kthread+0x345/0x410 kernel/kthread.c:240
 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412
NMI backtrace for cpu 0
CPU: 0 PID: 8 Comm: ksoftirqd/0 Not tainted 4.17.0-rc6+ #70
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1b9/0x294 lib/dump_stack.c:113
 nmi_cpu_backtrace.cold.4+0x19/0xce lib/nmi_backtrace.c:103
 nmi_trigger_cpumask_backtrace+0x151/0x192 lib/nmi_backtrace.c:62
 arch_trigger_cpumask_backtrace+0x14/0x20 arch/x86/kernel/apic/hw_nmi.c:38
 trigger_single_cpu_backtrace include/linux/nmi.h:156 [inline]
 rcu_dump_cpu_stacks+0x175/0x1c2 kernel/rcu/tree.c:1376
 print_cpu_stall kernel/rcu/tree.c:1525 [inline]
 check_cpu_stall.isra.61.cold.80+0x36c/0x59a kernel/rcu/tree.c:1593
 __rcu_pending kernel/rcu/tree.c:3356 [inline]
 rcu_pending kernel/rcu/tree.c:3401 [inline]
 rcu_check_callbacks+0x21b/0xad0 kernel/rcu/tree.c:2763
 update_process_times+0x2d/0x70 kernel/time/timer.c:1636
 tick_sched_handle+0x9f/0x180 kernel/time/tick-sched.c:164
 tick_sched_timer+0x45/0x130 kernel/time/tick-sched.c:1274
 __run_hrtimer kernel/time/hrtimer.c:1398 [inline]
 __hrtimer_run_queues+0x3e3/0x10a0 kernel/time/hrtimer.c:1460
 hrtimer_interrupt+0x2f3/0x750 kernel/time/hrtimer.c:1518
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1025 [inline]
 smp_apic_timer_interrupt+0x15d/0x710 arch/x86/kernel/apic/apic.c:1050
 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:863
 </IRQ>
RIP: 0010:arch_local_irq_restore arch/x86/include/asm/paravirt.h:783 [inline]
RIP: 0010:kmem_cache_free+0xb3/0x2d0 mm/slab.c:3757
RSP: 0018:ffff8801d9aae7e0 EFLAGS: 00000286 ORIG_RAX: ffffffffffffff13
RAX: 0000000000000007 RBX: ffff88009ed68340 RCX: 1ffff1003b353950
RDX: 0000000000000000 RSI: ffff8801d9a9ca60 RDI: 0000000000000286
RBP: ffff8801d9aae800 R08: ffff8801d9a9ca38 R09: 0000000000000002
R10: ffff8801d9a9c200 R11: 0000000000000000 R12: ffff8801cd4f13c0
R13: 0000000000000286 R14: ffffffff86ea39d1 R15: 1ffff1003b355d19
 sctp_chunk_destroy net/sctp/sm_make_chunk.c:1466 [inline]
 sctp_chunk_put+0x321/0x440 net/sctp/sm_make_chunk.c:1489
 sctp_chunk_free+0x53/0x60 net/sctp/sm_make_chunk.c:1476
 sctp_packet_pack net/sctp/output.c:489 [inline]
 sctp_packet_transmit+0x142e/0x3ba0 net/sctp/output.c:610
 sctp_outq_flush_transports net/sctp/outqueue.c:1164 [inline]
 sctp_outq_flush+0x5f5/0x3430 net/sctp/outqueue.c:1212
 sctp_outq_uncork+0x6a/0x80 net/sctp/outqueue.c:776
 sctp_cmd_interpreter net/sctp/sm_sideeffect.c:1820 [inline]
 sctp_side_effects net/sctp/sm_sideeffect.c:1220 [inline]
 sctp_do_sm+0x596/0x7160 net/sctp/sm_sideeffect.c:1191
 sctp_generate_heartbeat_event+0x218/0x450 net/sctp/sm_sideeffect.c:406
 call_timer_fn+0x230/0x940 kernel/time/timer.c:1326
 expire_timers kernel/time/timer.c:1363 [inline]
 __run_timers+0x79e/0xc50 kernel/time/timer.c:1666
 run_timer_softirq+0x4c/0x70 kernel/time/timer.c:1692
 __do_softirq+0x2e0/0xaf5 kernel/softirq.c:285
 run_ksoftirqd+0x86/0x100 kernel/softirq.c:646
 smpboot_thread_fn+0x417/0x870 kernel/smpboot.c:164
 kthread+0x345/0x410 kernel/kthread.c:240
 ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:412
BUG: workqueue lockup - pool cpus=1 node=0 flags=0x0 nice=0 stuck for 125s!
BUG: workqueue lockup - pool cpus=1 node=0 flags=0x0 nice=-20 stuck for 121s!
BUG: workqueue lockup - pool cpus=0-1 flags=0x4 nice=0 stuck for 125s!
Showing busy workqueues and worker pools:
workqueue events: flags=0x0
  pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=9/256
    pending: defense_work_handler, defense_work_handler, defense_work_handler, defense_work_handler, defense_work_handler, defense_work_handler, rht_deferred_worker, check_corruption, cache_reap
  pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=5/256
    pending: defense_work_handler, defense_work_handler, defense_work_handler, vmstat_shepherd, cache_reap
workqueue events_long: flags=0x0
  pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/256
    pending: br_fdb_cleanup
  pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=2/256
    pending: br_fdb_cleanup, br_fdb_cleanup
workqueue events_power_efficient: flags=0x80
  pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=5/256
    pending: check_lifetime, gc_worker, neigh_periodic_work, neigh_periodic_work, do_cache_clean
workqueue mm_percpu_wq: flags=0x8
  pwq 2: cpus=1 node=0 flags=0x0 nice=0 active=1/256
    pending: vmstat_update
  pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/256
    pending: vmstat_update
workqueue writeback: flags=0x4e
  pwq 4: cpus=0-1 flags=0x4 nice=0 active=1/256
    in-flight: 23329:wb_workfn
workqueue ib_addr: flags=0xa0002
  pwq 4: cpus=0-1 flags=0x4 nice=0 active=1/1
    pending: process_req
workqueue dm_bufio_cache: flags=0x8
  pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/256
    pending: work_fn
workqueue ipv6_addrconf: flags=0x40008
  pwq 0: cpus=0 node=0 flags=0x0 nice=0 active=1/1
    pending: addrconf_verify_work
workqueue krdsd: flags=0xe000a
  pwq 4: cpus=0-1 flags=0x4 nice=0 active=1/1
    in-flight: 9744:rds_connect_worker
    delayed: rds_connect_worker
pool 2: cpus=1 node=0 flags=0x0 nice=0 hung=0s workers=7 idle: 18 31237 24490 5088 1980 8629
pool 4: cpus=0-1 flags=0x4 nice=0 hung=0s workers=7 idle: 22 86 823 6970 6

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/05/31 21:56 net-next-old 4341f8308d53 2f93b54f .config console log report ci-upstream-net-kasan-gce
* Struck through repros no longer work on HEAD.