[v6.1] INFO: rcu detected stall in sys_sendto

0 views
Skip to first unread message

syzbot

unread,
Jan 26, 2024, 10:19:30 AMJan 26
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 883d1a956208 Linux 6.1.75
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=17b48e4be80000
kernel config: https://syzkaller.appspot.com/x/.config?x=e191632f30d1d52a
dashboard link: https://syzkaller.appspot.com/bug?extid=9de0cc5dc01ee3b54d50
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=1157f55fe80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15928d30180000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/645482ac7dc7/disk-883d1a95.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/13fea10060e4/vmlinux-883d1a95.xz
kernel image: https://storage.googleapis.com/syzbot-assets/73f84b482a13/bzImage-883d1a95.xz

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

rcu: INFO: rcu_preempt detected expedited stalls on CPUs/tasks: { 0-.... } 2672 jiffies s: 1693 root: 0x1/.
rcu: blocking rcu_node structures (internal RCU debug):

Sending NMI from CPU 1 to CPUs 0:
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
NMI backtrace for cpu 0
CPU: 0 PID: 2992 Comm: klogd Not tainted 6.1.75-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
RIP: 0010:io_serial_out+0x7a/0xb0 drivers/tty/serial/8250/8250_port.c:468
Code: fc 89 e9 41 d3 e7 48 83 c3 40 48 89 d8 48 c1 e8 03 42 80 3c 20 00 74 08 48 89 df e8 10 19 31 fd 44 03 3b 44 89 f0 44 89 fa ee <5b> 41 5c 41 5e 41 5f 5d c3 89 e9 80 e1 07 38 c1 7c ab 48 89 ef e8
RSP: 0018:ffffc90000006df0 EFLAGS: 00000002
RAX: 0000000000000030 RBX: ffffffff92014440 RCX: 0000000000000000
RDX: 00000000000003f8 RSI: 0000000000000000 RDI: 0000000000000020
RBP: 0000000000000000 R08: ffffffff84b0b297 R09: ffffed1003e1c047
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: 0000000000000006 R14: 0000000000000030 R15: 00000000000003f8
FS: 00007feaf0110380(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffc4078ac28 CR3: 00000000279f8000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<NMI>
</NMI>
<IRQ>
serial8250_console_write+0x11d2/0x1750 drivers/tty/serial/8250/8250_port.c:3451
call_console_driver kernel/printk/printk.c:1942 [inline]
console_emit_next_record+0xb09/0xea0 kernel/printk/printk.c:2742
console_unlock+0x278/0x7c0 kernel/printk/printk.c:2871
vprintk_emit+0x523/0x740 kernel/printk/printk.c:2268
dev_vprintk_emit+0x2aa/0x323 drivers/base/core.c:4895
dev_printk_emit+0xd9/0x118 drivers/base/core.c:4906
_dev_warn+0x11e/0x165 drivers/base/core.c:4962
usb_rx_callback_intf0+0x152/0x190 drivers/media/rc/imon.c:1771
__usb_hcd_giveback_urb+0x371/0x530 drivers/usb/core/hcd.c:1675
dummy_timer+0x8ad/0x3200 drivers/usb/gadget/udc/dummy_hcd.c:1988
call_timer_fn+0x1ad/0x6b0 kernel/time/timer.c:1474
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:check_stack_object+0x0/0x90 mm/usercopy.c:37
Code: 10 9c ff e9 7f fc ff ff e8 ed 10 9c ff e9 db fc ff ff e8 e3 10 9c ff e9 bd fd ff ff 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 <41> 57 41 56 53 49 89 f7 49 89 fe e8 c0 10 9c ff 65 48 8b 1d d8 0c
RSP: 0018:ffffc9000311fa18 EFLAGS: 00000286
RAX: 0000000000000000 RBX: 0000000000000059 RCX: ffff88807e18bb80
RDX: 0000000000000000 RSI: 000000000000005a RDI: ffff888027cf9400
RBP: 0000777fd8306bff R08: ffffffff81ee5865 R09: ffffed100fe03a4f
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000000
R13: 000000000000005a R14: ffff888027cf9400 R15: 000000000000005a
__check_object_size+0x63/0xa30 mm/usercopy.c:225
check_object_size include/linux/thread_info.h:199 [inline]
check_copy_size include/linux/thread_info.h:235 [inline]
copy_from_iter include/linux/uio.h:186 [inline]
skb_copy_datagram_from_iter+0xdf/0x6b0 net/core/datagram.c:553
unix_dgram_sendmsg+0x96c/0x2050 net/unix/af_unix.c:1954
sock_sendmsg_nosec net/socket.c:718 [inline]
__sock_sendmsg net/socket.c:730 [inline]
__sys_sendto+0x480/0x600 net/socket.c:2148
__do_sys_sendto net/socket.c:2160 [inline]
__se_sys_sendto net/socket.c:2156 [inline]
__x64_sys_sendto+0xda/0xf0 net/socket.c:2156
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:81
entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7feaf02729b5
Code: 8b 44 24 08 48 83 c4 28 48 98 c3 48 98 c3 41 89 ca 64 8b 04 25 18 00 00 00 85 c0 75 26 45 31 c9 45 31 c0 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 76 7a 48 8b 15 44 c4 0c 00 f7 d8 64 89 02 48 83
RSP: 002b:00007ffc5e7ca2c8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007feaf02729b5
RDX: 000000000000005a RSI: 00005600b758eca0 RDI: 0000000000000003
RBP: 00005600b758a910 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000004000 R11: 0000000000000246 R12: 0000000000000013
R13: 00007feaf0400212 R14: 00007ffc5e7ca3c8 R15: 0000000000000000
</TASK>
INFO: NMI handler (nmi_cpu_backtrace_handler) took too long to run: 3.140 msecs
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 5-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 4-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 5-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 4-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
usb 5-1: USB disconnect, device number 8
imon 5-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 2-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 3-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
imon 1-1:0.0: imon usb_rx_callback_intf0: status(-71): ignored
usb 5-1: new high-speed USB device number 9 using dummy_hcd
usb 5-1: Using ep0 maxpacket: 16
usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x8B has an invalid bInterval 0, changing to 7
usb 5-1: New USB device found, idVendor=15c2, idProduct=0040, bcdDevice= 7.f3
usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 5-1: Product: syz
usb 5-1: Manufacturer: syz
usb 5-1: SerialNumber: syz
usb 5-1: config 0 descriptor??
input: iMON Panel, Knob and Mouse(15c2:0040) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/input/input75
rc_core: IR keymap rc-imon-pad not found
Registered IR keymap rc-empty
imon 5-1:0.0: Looks like you're trying to use an IR protocol this device does not support
imon 5-1:0.0: Unsupported IR protocol specified, overriding to iMON IR protocol
rc rc0: iMON Remote (15c2:0040) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0
input: iMON Remote (15c2:0040) as /devices/platform/dummy_hcd.4/usb5/5-1/5-1:0.0/rc/rc0/input76
imon 5-1:0.0: iMON device (15c2:0040, intf0) on usb<5:9> initialized


---
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.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

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.

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
Reply all
Reply to author
Forward
0 new messages