From: Waiman Long <llong@redhat.com>
To: syzbot <syzbot+ed801a886dfdbfe7136d@syzkaller.appspotmail.com>,
cgroups@vger.kernel.org, hannes@cmpxchg.org,
linux-kernel@vger.kernel.org, mkoutny@suse.com,
syzkaller-bugs@googlegroups.com, tj@kernel.org,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: [syzbot] [cgroups?] possible deadlock in __run_timer_base (2)
Date: Tue, 11 Feb 2025 21:14:12 -0500 [thread overview]
Message-ID: <2aaa1663-fa9c-43ce-9421-60019899bac1@redhat.com> (raw)
In-Reply-To: <67a9136a.050a0220.110943.001e.GAE@google.com>
On 2/9/25 3:43 PM, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 92514ef226f5 Merge tag 'for-6.14-rc1-tag' of git://git.ker..
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=179453df980000
> kernel config: https://syzkaller.appspot.com/x/.config?x=1909f2f0d8e641ce
> dashboard link: https://syzkaller.appspot.com/bug?extid=ed801a886dfdbfe7136d
> compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
>
> Unfortunately, I don't have any reproducer for this issue yet.
>
> Downloadable assets:
> disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/7feb34a89c2a/non_bootable_disk-92514ef2.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/c4d8b91f8769/vmlinux-92514ef2.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/c24ec4365966/bzImage-92514ef2.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+ed801a886dfdbfe7136d@syzkaller.appspotmail.com
This problem should be fixed by the following upstream patch once it is
merged into mainline.
https://lore.kernel.org/lkml/20250127013127.3913153-1-longman@redhat.com/
Peter, are you planning to merge this patch? This is another instance
where the old way of calling wake_up_process() inside the lock critical
region can lead to deadlock.
Cheers,
Longman
>
> ------------[ cut here ]------------
> ======================================================
> WARNING: possible circular locking dependency detected
> 6.14.0-rc1-syzkaller-00034-g92514ef226f5 #0 Not tainted
> ------------------------------------------------------
> syz.0.0/5328 is trying to acquire lock:
> ffffffff8e814418 ((console_sem).lock){-.-.}-{2:2}, at: down_trylock+0x20/0xa0 kernel/locking/semaphore.c:139
>
> but task is already holding lock:
> ffff88801fc2a398 (&base->lock){-.-.}-{2:2}, at: expire_timers kernel/time/timer.c:1836 [inline]
> ffff88801fc2a398 (&base->lock){-.-.}-{2:2}, at: __run_timers kernel/time/timer.c:2414 [inline]
> ffff88801fc2a398 (&base->lock){-.-.}-{2:2}, at: __run_timer_base+0x69d/0x8e0 kernel/time/timer.c:2426
>
> which lock already depends on the new lock.
>
>
> the existing dependency chain (in reverse order) is:
>
> -> #3 (&base->lock){-.-.}-{2:2}:
> lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851
> __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
> _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162
> lock_timer_base kernel/time/timer.c:1046 [inline]
> __mod_timer+0x24a/0x10e0 kernel/time/timer.c:1127
> queue_delayed_work_on+0x1ca/0x390 kernel/workqueue.c:2559
> psi_task_change+0xed/0x270 kernel/sched/psi.c:912
> psi_enqueue kernel/sched/stats.h:166 [inline]
> enqueue_task+0x306/0x3d0 kernel/sched/core.c:2076
> activate_task kernel/sched/core.c:2116 [inline]
> wake_up_new_task+0x576/0xc70 kernel/sched/core.c:4878
> kernel_clone+0x4ee/0x8e0 kernel/fork.c:2846
> user_mode_thread+0x132/0x1a0 kernel/fork.c:2893
> rest_init+0x23/0x300 init/main.c:708
> start_kernel+0x484/0x510 init/main.c:1099
> x86_64_start_reservations+0x2a/0x30 arch/x86/kernel/head64.c:515
> x86_64_start_kernel+0x9f/0xa0 arch/x86/kernel/head64.c:496
> common_startup_64+0x13e/0x147
>
> -> #2 (&rq->__lock){-.-.}-{2:2}:
> lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851
> _raw_spin_lock_nested+0x31/0x40 kernel/locking/spinlock.c:378
> raw_spin_rq_lock_nested+0x2a/0x140 kernel/sched/core.c:598
> raw_spin_rq_lock kernel/sched/sched.h:1521 [inline]
> task_rq_lock+0xc6/0x360 kernel/sched/core.c:700
> cgroup_move_task+0x9b/0x5a0 kernel/sched/psi.c:1161
> css_set_move_task+0x72e/0x950 kernel/cgroup/cgroup.c:898
> cgroup_post_fork+0x256/0x880 kernel/cgroup/cgroup.c:6691
> copy_process+0x39e9/0x3d50 kernel/fork.c:2629
> kernel_clone+0x226/0x8e0 kernel/fork.c:2815
> user_mode_thread+0x132/0x1a0 kernel/fork.c:2893
> rest_init+0x23/0x300 init/main.c:708
> start_kernel+0x484/0x510 init/main.c:1099
> x86_64_start_reservations+0x2a/0x30 arch/x86/kernel/head64.c:515
> x86_64_start_kernel+0x9f/0xa0 arch/x86/kernel/head64.c:496
> common_startup_64+0x13e/0x147
>
> -> #1 (&p->pi_lock){-.-.}-{2:2}:
> lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851
> __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
> _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162
> class_raw_spinlock_irqsave_constructor include/linux/spinlock.h:551 [inline]
> try_to_wake_up+0xc2/0x1470 kernel/sched/core.c:4213
> up+0x72/0x90 kernel/locking/semaphore.c:191
> __up_console_sem kernel/printk/printk.c:343 [inline]
> __console_unlock+0x123/0x1f0 kernel/printk/printk.c:2869
> __console_flush_and_unlock kernel/printk/printk.c:3271 [inline]
> console_unlock+0x18f/0x3b0 kernel/printk/printk.c:3309
> vga_remove_vgacon+0xbe/0xd0 drivers/pci/vgaarb.c:186
> virtio_gpu_pci_quirk drivers/gpu/drm/virtio/virtgpu_drv.c:62 [inline]
> virtio_gpu_probe+0x33f/0x3c0 drivers/gpu/drm/virtio/virtgpu_drv.c:93
> virtio_dev_probe+0x931/0xc80 drivers/virtio/virtio.c:341
> really_probe+0x2b9/0xad0 drivers/base/dd.c:658
> __driver_probe_device+0x1a2/0x390 drivers/base/dd.c:800
> driver_probe_device+0x50/0x430 drivers/base/dd.c:830
> __driver_attach+0x45f/0x710 drivers/base/dd.c:1216
> bus_for_each_dev+0x239/0x2b0 drivers/base/bus.c:370
> bus_add_driver+0x346/0x670 drivers/base/bus.c:678
> driver_register+0x23a/0x320 drivers/base/driver.c:249
> do_one_initcall+0x248/0x870 init/main.c:1257
> do_initcall_level+0x157/0x210 init/main.c:1319
> do_initcalls+0x3f/0x80 init/main.c:1335
> kernel_init_freeable+0x435/0x5d0 init/main.c:1568
> kernel_init+0x1d/0x2b0 init/main.c:1457
> ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148
> ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244
>
> -> #0 ((console_sem).lock){-.-.}-{2:2}:
> check_prev_add kernel/locking/lockdep.c:3163 [inline]
> check_prevs_add kernel/locking/lockdep.c:3282 [inline]
> validate_chain+0x18ef/0x5920 kernel/locking/lockdep.c:3906
> __lock_acquire+0x1397/0x2100 kernel/locking/lockdep.c:5228
> lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851
> __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
> _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162
> down_trylock+0x20/0xa0 kernel/locking/semaphore.c:139
> __down_trylock_console_sem+0x109/0x250 kernel/printk/printk.c:326
> console_trylock kernel/printk/printk.c:2852 [inline]
> console_trylock_spinning kernel/printk/printk.c:2009 [inline]
> vprintk_emit+0x3d7/0xa10 kernel/printk/printk.c:2431
> _printk+0xd5/0x120 kernel/printk/printk.c:2457
> __report_bug lib/bug.c:195 [inline]
> report_bug+0x346/0x500 lib/bug.c:219
> handle_bug+0x60/0x90 arch/x86/kernel/traps.c:285
> exc_invalid_op+0x1a/0x50 arch/x86/kernel/traps.c:309
> asm_exc_invalid_op+0x1a/0x20 arch/x86/include/asm/idtentry.h:621
> expire_timers kernel/time/timer.c:1827 [inline]
> __run_timers kernel/time/timer.c:2414 [inline]
> __run_timer_base+0x6f4/0x8e0 kernel/time/timer.c:2426
> run_timer_base kernel/time/timer.c:2435 [inline]
> run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2445
> handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561
> __do_softirq kernel/softirq.c:595 [inline]
> invoke_softirq kernel/softirq.c:435 [inline]
> __irq_exit_rcu+0xf7/0x220 kernel/softirq.c:662
> irq_exit_rcu+0x9/0x30 kernel/softirq.c:678
> instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
> sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049
> asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
> get_stack_info+0x4/0xf0 arch/x86/kernel/dumpstack_64.c:193
> __unwind_start+0x434/0x740 arch/x86/kernel/unwind_orc.c:729
> unwind_start arch/x86/include/asm/unwind.h:64 [inline]
> arch_stack_walk+0xe5/0x150 arch/x86/kernel/stacktrace.c:24
> stack_trace_save+0x118/0x1d0 kernel/stacktrace.c:122
> kasan_save_stack mm/kasan/common.c:47 [inline]
> kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
> kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:576
> poison_slab_object mm/kasan/common.c:247 [inline]
> __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264
> kasan_slab_free include/linux/kasan.h:233 [inline]
> slab_free_hook mm/slub.c:2353 [inline]
> slab_free mm/slub.c:4609 [inline]
> kfree+0x196/0x430 mm/slub.c:4757
> bch2_printbuf_exit+0x6d/0xa0 fs/bcachefs/printbuf.c:219
> __bch2_fsck_err+0x11a0/0x1420 fs/bcachefs/error.c:458
> bch2_alloc_write_key fs/bcachefs/btree_gc.c:860 [inline]
> bch2_gc_alloc_done fs/bcachefs/btree_gc.c:894 [inline]
> bch2_check_allocations+0x47ad/0x6aa0 fs/bcachefs/btree_gc.c:1044
> bch2_run_recovery_pass+0xf0/0x1e0 fs/bcachefs/recovery_passes.c:226
> bch2_run_recovery_passes+0x2ad/0xa90 fs/bcachefs/recovery_passes.c:291
> bch2_fs_recovery+0x265a/0x3de0 fs/bcachefs/recovery.c:936
> bch2_fs_start+0x37c/0x610 fs/bcachefs/super.c:1030
> bch2_fs_get_tree+0xd8d/0x1740 fs/bcachefs/fs.c:2203
> vfs_get_tree+0x90/0x2b0 fs/super.c:1814
> do_new_mount+0x2be/0xb40 fs/namespace.c:3560
> do_mount fs/namespace.c:3900 [inline]
> __do_sys_mount fs/namespace.c:4111 [inline]
> __se_sys_mount+0x2d6/0x3c0 fs/namespace.c:4088
> do_syscall_x64 arch/x86/entry/common.c:52 [inline]
> do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
> entry_SYSCALL_64_after_hwframe+0x77/0x7f
>
> other info that might help us debug this:
>
> Chain exists of:
> (console_sem).lock --> &rq->__lock --> &base->lock
>
> Possible unsafe locking scenario:
>
> CPU0 CPU1
> ---- ----
> lock(&base->lock);
> lock(&rq->__lock);
> lock(&base->lock);
> lock((console_sem).lock);
>
> *** DEADLOCK ***
>
> 5 locks held by syz.0.0/5328:
> #0: ffff888052b80278 (&c->state_lock){+.+.}-{4:4}, at: bch2_fs_start+0x45/0x610 fs/bcachefs/super.c:999
> #1: ffff888052ba66d0 (&c->gc_lock){+.+.}-{4:4}, at: bch2_check_allocations+0x1df/0x6aa0 fs/bcachefs/btree_gc.c:1020
> #2: ffff888052b84378 (&c->btree_trans_barrier){.+.+}-{0:0}, at: srcu_lock_acquire include/linux/srcu.h:164 [inline]
> #2: ffff888052b84378 (&c->btree_trans_barrier){.+.+}-{0:0}, at: srcu_read_lock include/linux/srcu.h:256 [inline]
> #2: ffff888052b84378 (&c->btree_trans_barrier){.+.+}-{0:0}, at: bch2_trans_srcu_lock+0x9a/0x1a0 fs/bcachefs/btree_iter.c:3202
> #3: ffff888052368140 (bcachefs_btree){+.+.}-{0:0}, at: trans_set_locked fs/bcachefs/btree_locking.h:198 [inline]
> #3: ffff888052368140 (bcachefs_btree){+.+.}-{0:0}, at: bch2_trans_begin+0x9ca/0x1d90 fs/bcachefs/btree_iter.c:3274
> #4: ffff88801fc2a398 (&base->lock){-.-.}-{2:2}, at: expire_timers kernel/time/timer.c:1836 [inline]
> #4: ffff88801fc2a398 (&base->lock){-.-.}-{2:2}, at: __run_timers kernel/time/timer.c:2414 [inline]
> #4: ffff88801fc2a398 (&base->lock){-.-.}-{2:2}, at: __run_timer_base+0x69d/0x8e0 kernel/time/timer.c:2426
>
> stack backtrace:
> CPU: 0 UID: 0 PID: 5328 Comm: syz.0.0 Not tainted 6.14.0-rc1-syzkaller-00034-g92514ef226f5 #0
> Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
> Call Trace:
> <IRQ>
> __dump_stack lib/dump_stack.c:94 [inline]
> dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120
> print_circular_bug+0x13a/0x1b0 kernel/locking/lockdep.c:2076
> check_noncircular+0x36a/0x4a0 kernel/locking/lockdep.c:2208
> check_prev_add kernel/locking/lockdep.c:3163 [inline]
> check_prevs_add kernel/locking/lockdep.c:3282 [inline]
> validate_chain+0x18ef/0x5920 kernel/locking/lockdep.c:3906
> __lock_acquire+0x1397/0x2100 kernel/locking/lockdep.c:5228
> lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851
> __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
> _raw_spin_lock_irqsave+0xd5/0x120 kernel/locking/spinlock.c:162
> down_trylock+0x20/0xa0 kernel/locking/semaphore.c:139
> __down_trylock_console_sem+0x109/0x250 kernel/printk/printk.c:326
> console_trylock kernel/printk/printk.c:2852 [inline]
> console_trylock_spinning kernel/printk/printk.c:2009 [inline]
> vprintk_emit+0x3d7/0xa10 kernel/printk/printk.c:2431
> _printk+0xd5/0x120 kernel/printk/printk.c:2457
> __report_bug lib/bug.c:195 [inline]
> report_bug+0x346/0x500 lib/bug.c:219
> handle_bug+0x60/0x90 arch/x86/kernel/traps.c:285
> exc_invalid_op+0x1a/0x50 arch/x86/kernel/traps.c:309
> asm_exc_invalid_op+0x1a/0x20 arch/x86/include/asm/idtentry.h:621
> RIP: 0010:expire_timers kernel/time/timer.c:1827 [inline]
> RIP: 0010:__run_timers kernel/time/timer.c:2414 [inline]
> RIP: 0010:__run_timer_base+0x6f4/0x8e0 kernel/time/timer.c:2426
> Code: 24 38 42 80 3c 30 00 74 08 4c 89 ef e8 a5 c4 79 00 4d 8b 7d 00 4d 85 ff 74 33 e8 27 2c 13 00 e9 dd fe ff ff e8 1d 2c 13 00 90 <0f> 0b 90 eb ae 44 89 f1 80 e1 07 80 c1 03 38 c1 0f 8c 25 ff ff ff
> RSP: 0018:ffffc90000007ca0 EFLAGS: 00010046
> RAX: ffffffff81ac3203 RBX: ffff888044012cf0 RCX: ffff888000cc2440
> RDX: 0000000000000100 RSI: ffffffff8c6089e0 RDI: ffffffff8c6089a0
> RBP: ffffc90000007df0 R08: ffffffff81ac6c04 R09: 1ffffffff2036a2e
> R10: dffffc0000000000 R11: fffffbfff2036a2f R12: 0000000000000000
> R13: ffffc90000007d48 R14: dffffc0000000000 R15: ffff888044012cd8
> run_timer_base kernel/time/timer.c:2435 [inline]
> run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2445
> handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561
> __do_softirq kernel/softirq.c:595 [inline]
> invoke_softirq kernel/softirq.c:435 [inline]
> __irq_exit_rcu+0xf7/0x220 kernel/softirq.c:662
> irq_exit_rcu+0x9/0x30 kernel/softirq.c:678
> instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
> sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049
> </IRQ>
> <TASK>
> asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
> RIP: 0010:get_stack_info+0x4/0xf0 arch/x86/kernel/dumpstack_64.c:193
> Code: c5 c0 23 05 8c c3 cc cc cc cc 31 c0 c3 cc cc cc cc 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 0f 1f 00 <55> 41 57 41 56 41 55 41 54 53 49 89 ce 48 89 d3 48 89 f5 48 85 f6
> RSP: 0018:ffffc9000d486358 EFLAGS: 00000246
> RAX: 1ffff92001a90c7f RBX: ffffc9000d486360 RCX: ffffc9000d4863e0
> RDX: ffffc9000d4863c0 RSI: ffff888000cc2440 RDI: ffffc9000d486360
> RBP: ffffc9000d486401 R08: ffffc9000d48641f R09: 0000000000000000
> R10: ffffc9000d4863c0 R11: fffff52001a90c84 R12: ffffc9000d4863e0
> R13: ffffc9000d4863e8 R14: ffffc9000d4863c0 R15: 1ffff92001a90c7d
> __unwind_start+0x434/0x740 arch/x86/kernel/unwind_orc.c:729
> unwind_start arch/x86/include/asm/unwind.h:64 [inline]
> arch_stack_walk+0xe5/0x150 arch/x86/kernel/stacktrace.c:24
> stack_trace_save+0x118/0x1d0 kernel/stacktrace.c:122
> kasan_save_stack mm/kasan/common.c:47 [inline]
> kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
> kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:576
> poison_slab_object mm/kasan/common.c:247 [inline]
> __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264
> kasan_slab_free include/linux/kasan.h:233 [inline]
> slab_free_hook mm/slub.c:2353 [inline]
> slab_free mm/slub.c:4609 [inline]
> kfree+0x196/0x430 mm/slub.c:4757
> bch2_printbuf_exit+0x6d/0xa0 fs/bcachefs/printbuf.c:219
> __bch2_fsck_err+0x11a0/0x1420 fs/bcachefs/error.c:458
> bch2_alloc_write_key fs/bcachefs/btree_gc.c:860 [inline]
> bch2_gc_alloc_done fs/bcachefs/btree_gc.c:894 [inline]
> bch2_check_allocations+0x47ad/0x6aa0 fs/bcachefs/btree_gc.c:1044
> bch2_run_recovery_pass+0xf0/0x1e0 fs/bcachefs/recovery_passes.c:226
> bch2_run_recovery_passes+0x2ad/0xa90 fs/bcachefs/recovery_passes.c:291
> bch2_fs_recovery+0x265a/0x3de0 fs/bcachefs/recovery.c:936
> bch2_fs_start+0x37c/0x610 fs/bcachefs/super.c:1030
> bch2_fs_get_tree+0xd8d/0x1740 fs/bcachefs/fs.c:2203
> vfs_get_tree+0x90/0x2b0 fs/super.c:1814
> do_new_mount+0x2be/0xb40 fs/namespace.c:3560
> do_mount fs/namespace.c:3900 [inline]
> __do_sys_mount fs/namespace.c:4111 [inline]
> __se_sys_mount+0x2d6/0x3c0 fs/namespace.c:4088
> do_syscall_x64 arch/x86/entry/common.c:52 [inline]
> do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
> entry_SYSCALL_64_after_hwframe+0x77/0x7f
> RIP: 0033:0x7f903af8e58a
> Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 de 1a 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
> RSP: 002b:00007f903bd70e68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
> RAX: ffffffffffffffda RBX: 00007f903bd70ef0 RCX: 00007f903af8e58a
> RDX: 0000200000000000 RSI: 0000200000000040 RDI: 00007f903bd70eb0
> RBP: 0000200000000000 R08: 00007f903bd70ef0 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000246 R12: 0000200000000040
> R13: 00007f903bd70eb0 R14: 000000000000593f R15: 0000200000000380
> </TASK>
> WARNING: CPU: 0 PID: 5328 at kernel/time/timer.c:1827 expire_timers kernel/time/timer.c:1827 [inline]
> WARNING: CPU: 0 PID: 5328 at kernel/time/timer.c:1827 __run_timers kernel/time/timer.c:2414 [inline]
> WARNING: CPU: 0 PID: 5328 at kernel/time/timer.c:1827 __run_timer_base+0x6f4/0x8e0 kernel/time/timer.c:2426
> Modules linked in:
> CPU: 0 UID: 0 PID: 5328 Comm: syz.0.0 Not tainted 6.14.0-rc1-syzkaller-00034-g92514ef226f5 #0
> Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
> RIP: 0010:expire_timers kernel/time/timer.c:1827 [inline]
> RIP: 0010:__run_timers kernel/time/timer.c:2414 [inline]
> RIP: 0010:__run_timer_base+0x6f4/0x8e0 kernel/time/timer.c:2426
> Code: 24 38 42 80 3c 30 00 74 08 4c 89 ef e8 a5 c4 79 00 4d 8b 7d 00 4d 85 ff 74 33 e8 27 2c 13 00 e9 dd fe ff ff e8 1d 2c 13 00 90 <0f> 0b 90 eb ae 44 89 f1 80 e1 07 80 c1 03 38 c1 0f 8c 25 ff ff ff
> RSP: 0018:ffffc90000007ca0 EFLAGS: 00010046
> RAX: ffffffff81ac3203 RBX: ffff888044012cf0 RCX: ffff888000cc2440
> RDX: 0000000000000100 RSI: ffffffff8c6089e0 RDI: ffffffff8c6089a0
> RBP: ffffc90000007df0 R08: ffffffff81ac6c04 R09: 1ffffffff2036a2e
> R10: dffffc0000000000 R11: fffffbfff2036a2f R12: 0000000000000000
> R13: ffffc90000007d48 R14: dffffc0000000000 R15: ffff888044012cd8
> FS: 00007f903bd716c0(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 000056372c09c0c8 CR3: 000000003bc66000 CR4: 0000000000352ef0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
> <IRQ>
> run_timer_base kernel/time/timer.c:2435 [inline]
> run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2445
> handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561
> __do_softirq kernel/softirq.c:595 [inline]
> invoke_softirq kernel/softirq.c:435 [inline]
> __irq_exit_rcu+0xf7/0x220 kernel/softirq.c:662
> irq_exit_rcu+0x9/0x30 kernel/softirq.c:678
> instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
> sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049
> </IRQ>
> <TASK>
> asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
> RIP: 0010:get_stack_info+0x4/0xf0 arch/x86/kernel/dumpstack_64.c:193
> Code: c5 c0 23 05 8c c3 cc cc cc cc 31 c0 c3 cc cc cc cc 0f 1f 44 00 00 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 66 0f 1f 00 <55> 41 57 41 56 41 55 41 54 53 49 89 ce 48 89 d3 48 89 f5 48 85 f6
> RSP: 0018:ffffc9000d486358 EFLAGS: 00000246
> RAX: 1ffff92001a90c7f RBX: ffffc9000d486360 RCX: ffffc9000d4863e0
> RDX: ffffc9000d4863c0 RSI: ffff888000cc2440 RDI: ffffc9000d486360
> RBP: ffffc9000d486401 R08: ffffc9000d48641f R09: 0000000000000000
> R10: ffffc9000d4863c0 R11: fffff52001a90c84 R12: ffffc9000d4863e0
> R13: ffffc9000d4863e8 R14: ffffc9000d4863c0 R15: 1ffff92001a90c7d
> __unwind_start+0x434/0x740 arch/x86/kernel/unwind_orc.c:729
> unwind_start arch/x86/include/asm/unwind.h:64 [inline]
> arch_stack_walk+0xe5/0x150 arch/x86/kernel/stacktrace.c:24
> stack_trace_save+0x118/0x1d0 kernel/stacktrace.c:122
> kasan_save_stack mm/kasan/common.c:47 [inline]
> kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
> kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:576
> poison_slab_object mm/kasan/common.c:247 [inline]
> __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264
> kasan_slab_free include/linux/kasan.h:233 [inline]
> slab_free_hook mm/slub.c:2353 [inline]
> slab_free mm/slub.c:4609 [inline]
> kfree+0x196/0x430 mm/slub.c:4757
> bch2_printbuf_exit+0x6d/0xa0 fs/bcachefs/printbuf.c:219
> __bch2_fsck_err+0x11a0/0x1420 fs/bcachefs/error.c:458
> bch2_alloc_write_key fs/bcachefs/btree_gc.c:860 [inline]
> bch2_gc_alloc_done fs/bcachefs/btree_gc.c:894 [inline]
> bch2_check_allocations+0x47ad/0x6aa0 fs/bcachefs/btree_gc.c:1044
> bch2_run_recovery_pass+0xf0/0x1e0 fs/bcachefs/recovery_passes.c:226
> bch2_run_recovery_passes+0x2ad/0xa90 fs/bcachefs/recovery_passes.c:291
> bch2_fs_recovery+0x265a/0x3de0 fs/bcachefs/recovery.c:936
> bch2_fs_start+0x37c/0x610 fs/bcachefs/super.c:1030
> bch2_fs_get_tree+0xd8d/0x1740 fs/bcachefs/fs.c:2203
> vfs_get_tree+0x90/0x2b0 fs/super.c:1814
> do_new_mount+0x2be/0xb40 fs/namespace.c:3560
> do_mount fs/namespace.c:3900 [inline]
> __do_sys_mount fs/namespace.c:4111 [inline]
> __se_sys_mount+0x2d6/0x3c0 fs/namespace.c:4088
> do_syscall_x64 arch/x86/entry/common.c:52 [inline]
> do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
> entry_SYSCALL_64_after_hwframe+0x77/0x7f
> RIP: 0033:0x7f903af8e58a
> Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 de 1a 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
> RSP: 002b:00007f903bd70e68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
> RAX: ffffffffffffffda RBX: 00007f903bd70ef0 RCX: 00007f903af8e58a
> RDX: 0000200000000000 RSI: 0000200000000040 RDI: 00007f903bd70eb0
> RBP: 0000200000000000 R08: 00007f903bd70ef0 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000246 R12: 0000200000000040
> R13: 00007f903bd70eb0 R14: 000000000000593f R15: 0000200000000380
> </TASK>
> ----------------
> Code disassembly (best guess), 1 bytes skipped:
> 0: c0 23 05 shlb $0x5,(%rbx)
> 3: 8c c3 mov %es,%ebx
> 5: cc int3
> 6: cc int3
> 7: cc int3
> 8: cc int3
> 9: 31 c0 xor %eax,%eax
> b: c3 ret
> c: cc int3
> d: cc int3
> e: cc int3
> f: cc int3
> 10: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
> 15: 90 nop
> 16: 90 nop
> 17: 90 nop
> 18: 90 nop
> 19: 90 nop
> 1a: 90 nop
> 1b: 90 nop
> 1c: 90 nop
> 1d: 90 nop
> 1e: 90 nop
> 1f: 90 nop
> 20: 90 nop
> 21: 90 nop
> 22: 90 nop
> 23: 90 nop
> 24: 90 nop
> 25: 66 0f 1f 00 nopw (%rax)
> * 29: 55 push %rbp <-- trapping instruction
> 2a: 41 57 push %r15
> 2c: 41 56 push %r14
> 2e: 41 55 push %r13
> 30: 41 54 push %r12
> 32: 53 push %rbx
> 33: 49 89 ce mov %rcx,%r14
> 36: 48 89 d3 mov %rdx,%rbx
> 39: 48 89 f5 mov %rsi,%rbp
> 3c: 48 85 f6 test %rsi,%rsi
>
>
> ---
> This report 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 syzkaller@googlegroups.com.
>
> syzbot will keep track of this issue. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
>
> If the report is already addressed, let syzbot know by replying with:
> #syz fix: exact-commit-title
>
> If you want to overwrite report's subsystems, reply with:
> #syz set subsystems: new-subsystem
> (See the list of subsystem names on the web dashboard)
>
> If the report is a duplicate of another one, reply with:
> #syz dup: exact-subject-of-another-report
>
> If you want to undo deduplication, reply with:
> #syz undup
>
next prev parent reply other threads:[~2025-02-12 2:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-09 20:43 [syzbot] [cgroups?] possible deadlock in __run_timer_base (2) syzbot
2025-02-12 2:14 ` Waiman Long [this message]
2025-02-14 10:19 ` Peter Zijlstra
2025-02-14 14:17 ` Waiman Long
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=2aaa1663-fa9c-43ce-9421-60019899bac1@redhat.com \
--to=llong@redhat.com \
--cc=cgroups@vger.kernel.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mkoutny@suse.com \
--cc=peterz@infradead.org \
--cc=syzbot+ed801a886dfdbfe7136d@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
--cc=tj@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.