[v6.1] WARNING in call_timer_fn

2 views
Skip to first unread message

syzbot

unread,
Mar 8, 2023, 7:11:46 AM3/8/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 42616e0f09fb Linux 6.1.15
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=15a93f5ac80000
kernel config: https://syzkaller.appspot.com/x/.config?x=690b9ff41783cd73
dashboard link: https://syzkaller.appspot.com/bug?extid=954b5c22c964bef843db
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/7aca0b4cb788/disk-42616e0f.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/458e15d5fc53/vmlinux-42616e0f.xz
kernel image: https://storage.googleapis.com/syzbot-assets/7d3a81dd294e/bzImage-42616e0f.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+954b5c...@syzkaller.appspotmail.com

------------[ cut here ]------------
WARNING: CPU: 0 PID: 9623 at kernel/workqueue.c:1438 __queue_work+0xe16/0xfc0
Modules linked in:
CPU: 0 PID: 9623 Comm: syz-executor.3 Not tainted 6.1.15-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/02/2023
RIP: 0010:__queue_work+0xe16/0xfc0 kernel/workqueue.c:1438
Code: 8b 3c 24 e8 6c e5 86 00 e9 ac fc ff ff e8 a2 da 30 00 89 ee 48 c7 c7 00 50 dd 8c e8 24 cc 09 03 e9 f1 fb ff ff e8 8a da 30 00 <0f> 0b 48 83 c4 48 5b 41 5c 41 5d 41 5e 41 5f 5d c3 e8 74 da 30 00
RSP: 0018:ffffc90000007b00 EFLAGS: 00010046
RAX: ffffffff81594f96 RBX: 00000000000b0012 RCX: ffff8880287157c0
RDX: 0000000000000101 RSI: 0000000000000100 RDI: 0000000000000000
RBP: 0000000000010000 R08: ffffffff815a30f5 R09: fffffbfff1ca4fce
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: 0000000000000008 R14: ffff88807a20d000 R15: 1ffff92000000f74
FS: 0000000000000000(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055f388760950 CR3: 0000000057559000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
call_timer_fn+0x1e5/0x800 kernel/time/timer.c:1474
expire_timers kernel/time/timer.c:1514 [inline]
__run_timers+0x6a8/0x890 kernel/time/timer.c:1790
run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1803
__do_softirq+0x304/0xb09 kernel/softirq.c:571
invoke_softirq kernel/softirq.c:445 [inline]
__irq_exit_rcu+0x155/0x240 kernel/softirq.c:650
irq_exit_rcu+0x5/0x20 kernel/softirq.c:662
sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1107
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:649
RIP: 0010:preempt_schedule_irq+0xf2/0x1c0 kernel/sched/core.c:6863
Code: 89 f5 49 c1 ed 03 eb 0d 48 f7 03 08 00 00 00 0f 84 97 00 00 00 bf 01 00 00 00 e8 59 7f d4 f6 e8 a4 30 07 f7 fb bf 01 00 00 00 <e8> 89 b6 ff ff 43 80 7c 3d 00 00 74 08 4c 89 f7 e8 39 89 56 f7 48
RSP: 0018:ffffc90005c77260 EFLAGS: 00000286
RAX: e9b7ecac7f553600 RBX: 1ffff92000b8ee54 RCX: ffffffff816a8a3a
RDX: dffffc0000000000 RSI: ffffffff8aebcf60 RDI: 0000000000000001
RBP: ffffc90005c77320 R08: dffffc0000000000 R09: fffffbfff202ea54
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff92000b8ee4c
R13: 1ffff92000b8ee50 R14: ffffc90005c77280 R15: dffffc0000000000
irqentry_exit+0x53/0x80 kernel/entry/common.c:432
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:649
RIP: 0010:lock_acquire+0x2a8/0x620 kernel/locking/lockdep.c:5672
Code: 2b 00 74 08 4c 89 f7 e8 46 15 76 00 f6 44 24 61 02 0f 85 d1 01 00 00 41 f7 c7 00 02 00 00 74 01 fb 48 c7 44 24 40 0e 36 e0 45 <4b> c7 44 25 00 00 00 00 00 43 c7 44 25 09 00 00 00 00 43 c7 44 25
RSP: 0018:ffffc90005c773e0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 1ffff92000b8ee88 RCX: ffffffff9196d003
RDX: dffffc0000000000 RSI: ffffffff8aebe0e0 RDI: ffffffff8b3d0400
RBP: ffffc90005c77528 R08: dffffc0000000000 R09: fffffbfff2242855
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff92000b8ee84
R13: dffffc0000000000 R14: ffffc90005c77440 R15: 0000000000000246
__flush_workqueue+0x170/0x1610 kernel/workqueue.c:2809
drain_workqueue+0xc5/0x390 kernel/workqueue.c:2974
hci_dev_close_sync+0x435/0x1000 net/bluetooth/hci_sync.c:4817
hci_dev_do_close net/bluetooth/hci_core.c:554 [inline]
hci_unregister_dev+0x1c6/0x470 net/bluetooth/hci_core.c:2702
vhci_release+0x7f/0xd0 drivers/bluetooth/hci_vhci.c:568
__fput+0x3b7/0x890 fs/file_table.c:320
task_work_run+0x246/0x300 kernel/task_work.c:179
exit_task_work include/linux/task_work.h:38 [inline]
do_exit+0x671/0x2280 kernel/exit.c:867
do_group_exit+0x202/0x2b0 kernel/exit.c:1012
get_signal+0x16f7/0x17d0 kernel/signal.c:2858
arch_do_signal_or_restart+0xb0/0x1a10 arch/x86/kernel/signal.c:869
exit_to_user_mode_loop+0x6a/0x100 kernel/entry/common.c:168
exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:203
__syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
syscall_exit_to_user_mode+0x60/0x2c0 kernel/entry/common.c:296
do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7fbb8dc8c0f9
Code: Unable to access opcode bytes at 0x7fbb8dc8c0cf.
RSP: 002b:00007fbb8e9d3168 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: 0000000000000012 RBX: 00007fbb8ddabf80 RCX: 00007fbb8dc8c0f9
RDX: 0000000000000012 RSI: 0000000020000040 RDI: 0000000000000005
RBP: 00007fbb8dce7ae9 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fffdc0d592f R14: 00007fbb8e9d3300 R15: 0000000000022000
</TASK>
----------------
Code disassembly (best guess):
0: 89 f5 mov %esi,%ebp
2: 49 c1 ed 03 shr $0x3,%r13
6: eb 0d jmp 0x15
8: 48 f7 03 08 00 00 00 testq $0x8,(%rbx)
f: 0f 84 97 00 00 00 je 0xac
15: bf 01 00 00 00 mov $0x1,%edi
1a: e8 59 7f d4 f6 callq 0xf6d47f78
1f: e8 a4 30 07 f7 callq 0xf70730c8
24: fb sti
25: bf 01 00 00 00 mov $0x1,%edi
* 2a: e8 89 b6 ff ff callq 0xffffb6b8 <-- trapping instruction
2f: 43 80 7c 3d 00 00 cmpb $0x0,0x0(%r13,%r15,1)
35: 74 08 je 0x3f
37: 4c 89 f7 mov %r14,%rdi
3a: e8 39 89 56 f7 callq 0xf7568978
3f: 48 rex.W


---
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 syzk...@googlegroups.com.

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

syzbot

unread,
Feb 5, 2024, 12:25:33 PMFeb 5
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: e5c3b988b827 Linux 6.1.76
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=112cdf38180000
kernel config: https://syzkaller.appspot.com/x/.config?x=45ee9ee9d909cb91
dashboard link: https://syzkaller.appspot.com/bug?extid=954b5c22c964bef843db
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=169c19afe80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1229ba50180000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/9d5449ad90f4/disk-e5c3b988.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/1030e05dd6ca/vmlinux-e5c3b988.xz
kernel image: https://storage.googleapis.com/syzbot-assets/74078c13d34e/bzImage-e5c3b988.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+954b5c...@syzkaller.appspotmail.com

------------[ cut here ]------------
timer: addrconf_rs_timer+0x0/0x610 net/ipv6/addrconf.c:6568 preempt leak: 00000103 -> 00000102
WARNING: CPU: 1 PID: 3549 at kernel/time/timer.c:1481 call_timer_fn+0x2f0/0x6b0 kernel/time/timer.c:1480
Modules linked in:
CPU: 1 PID: 3549 Comm: syz-executor369 Not tainted 6.1.76-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
RIP: 0010:call_timer_fn+0x2f0/0x6b0 kernel/time/timer.c:1480
Code: 11 00 c6 05 b8 f0 e5 0c 01 65 8b 0d c2 21 89 7e 81 e1 ff ff ff 7f 48 c7 c7 a0 d4 ed 8a 48 8b 74 24 10 44 89 fa e8 20 1b d9 ff <0f> 0b eb 05 e8 c7 1a 11 00 65 8b 0d 98 21 89 7e 89 ca 81 e2 00 00
RSP: 0018:ffffc900001e0b80 EFLAGS: 00010246
RAX: db9b514e7a87fc00 RBX: 0000000000000102 RCX: ffff88802890bb80
RDX: 0000000000000102 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc900001e0c70 R08: ffffffff81526b4e R09: fffff5200003c0d1
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: 1ffff9200003c174 R14: 0000000000000001 R15: 0000000000000103
FS: 0000555555645480(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555555645788 CR3: 0000000075f9b000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
expire_timers kernel/time/timer.c:1519 [inline]
__run_timers+0x67c/0x890 kernel/time/timer.c:1790
run_timer_softirq+0x63/0xf0 kernel/time/timer.c:1803
__do_softirq+0x2e9/0xa4c kernel/softirq.c:571
invoke_softirq kernel/softirq.c:445 [inline]
__irq_exit_rcu+0x155/0x240 kernel/softirq.c:650
irq_exit_rcu+0x5/0x20 kernel/softirq.c:662
sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1106
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:653
RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:152 [inline]
RIP: 0010:_raw_spin_unlock_irqrestore+0xd4/0x130 kernel/locking/spinlock.c:194
Code: 9c 8f 44 24 20 42 80 3c 23 00 74 08 4c 89 f7 e8 b2 54 4d f7 f6 44 24 21 02 75 4e 41 f7 c7 00 02 00 00 74 01 fb bf 01 00 00 00 <e8> 67 b0 c9 f6 65 8b 05 e8 f3 6d 75 85 c0 74 3f 48 c7 04 24 0e 36
RSP: 0018:ffffc90003b3fc40 EFLAGS: 00000206
RAX: db9b514e7a87fc00 RBX: 1ffff92000767f8c RCX: ffffffff91c88103
RDX: dffffc0000000000 RSI: ffffffff8aebebc0 RDI: 0000000000000001
RBP: ffffc90003b3fcd0 R08: dffffc0000000000 R09: fffffbfff1a310bd
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: 1ffff92000767f88 R14: ffffc90003b3fc60 R15: 0000000000000246
____bpf_trace_printk kernel/trace/bpf_trace.c:394 [inline]
bpf_trace_printk+0x1a3/0x200 kernel/trace/bpf_trace.c:376
</TASK>
----------------
Code disassembly (best guess):
0: 9c pushf
1: 8f 44 24 20 pop 0x20(%rsp)
5: 42 80 3c 23 00 cmpb $0x0,(%rbx,%r12,1)
a: 74 08 je 0x14
c: 4c 89 f7 mov %r14,%rdi
f: e8 b2 54 4d f7 call 0xf74d54c6
14: f6 44 24 21 02 testb $0x2,0x21(%rsp)
19: 75 4e jne 0x69
1b: 41 f7 c7 00 02 00 00 test $0x200,%r15d
22: 74 01 je 0x25
24: fb sti
25: bf 01 00 00 00 mov $0x1,%edi
* 2a: e8 67 b0 c9 f6 call 0xf6c9b096 <-- trapping instruction
2f: 65 8b 05 e8 f3 6d 75 mov %gs:0x756df3e8(%rip),%eax # 0x756df41e
36: 85 c0 test %eax,%eax
38: 74 3f je 0x79
3a: 48 rex.W
3b: c7 .byte 0xc7
3c: 04 24 add $0x24,%al
3e: 0e (bad)
3f: 36 ss


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
Reply all
Reply to author
Forward
0 new messages