[moderation] [serial?] KCSAN: data-race in n_tty_ioctl_helper / n_tty_receive_char (5)

0 views
Skip to first unread message

syzbot

unread,
6:59 AM (10 hours ago) 6:59 AM
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 9ecfb2f7287a Merge tag 'trace-ring-buffer-v7.2' of git://g..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=173b12ae580000
kernel config: https://syzkaller.appspot.com/x/.config?x=b0ae27ce66b92956
dashboard link: https://syzkaller.appspot.com/bug?extid=9c3758dfcabb48374c16
compiler: Debian clang version 22.1.6 (++20260514074242+fc4aad7b5db3-1~exp1~20260514074407.73), Debian LLD 22.1.6
CC: [gre...@linuxfoundation.org jiri...@kernel.org linux-...@vger.kernel.org linux-...@vger.kernel.org]

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/b53789497f25/disk-9ecfb2f7.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/4ab94a742e46/vmlinux-9ecfb2f7.xz
kernel image: https://storage.googleapis.com/syzbot-assets/3e50f1d78723/bzImage-9ecfb2f7.xz

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

==================================================================
BUG: KCSAN: data-race in n_tty_ioctl_helper / n_tty_receive_char

write to 0xffff888119de8195 of 1 bytes by task 11602 on cpu 0:
n_tty_ioctl_helper+0x2c2/0x370 drivers/tty/tty_ioctl.c:950
n_tty_ioctl+0x101/0x200 drivers/tty/n_tty.c:2496
tty_ioctl+0x83e/0xb80 drivers/tty/tty_io.c:2801
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:597 [inline]
__se_sys_ioctl+0xce/0x140 fs/ioctl.c:583
__x64_sys_ioctl+0x43/0x50 fs/ioctl.c:583
x64_sys_call+0x1563/0x3020 arch/x86/include/generated/asm/syscalls_64.h:17
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x136/0x3c0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888119de8195 of 1 bytes by task 36 on cpu 1:
n_tty_receive_char+0x51/0x6d0 drivers/tty/n_tty.c:1403
n_tty_receive_buf_standard+0x563/0x3cb0 drivers/tty/n_tty.c:1582
__receive_buf drivers/tty/n_tty.c:1616 [inline]
n_tty_receive_buf_common+0x821/0xc10 drivers/tty/n_tty.c:1715
n_tty_receive_buf2+0x33/0x40 drivers/tty/n_tty.c:1759
tty_ldisc_receive_buf+0x66/0xf0 drivers/tty/tty_buffer.c:394
tty_port_default_receive_buf+0x59/0x90 drivers/tty/tty_port.c:37
receive_buf drivers/tty/tty_buffer.c:452 [inline]
flush_to_ldisc+0x13a/0x330 drivers/tty/tty_buffer.c:502
process_one_work kernel/workqueue.c:3322 [inline]
process_scheduled_works+0x4d4/0x9a0 kernel/workqueue.c:3405
worker_thread+0x569/0x750 kernel/workqueue.c:3486
kthread+0x221/0x270 kernel/kthread.c:436
ret_from_fork+0x146/0x330 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245

value changed: 0x00 -> 0x01

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 36 Comm: kworker/u8:2 Not tainted syzkaller #0 PREEMPT(lazy)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/09/2026
Workqueue: events_unbound flush_to_ldisc
==================================================================
bridge_slave_1: left allmulticast mode
bridge0: port 2(bridge_slave_1) entered disabled state
bridge_slave_0: left allmulticast mode
bridge_slave_0: left promiscuous mode
bridge0: port 1(bridge_slave_0) entered disabled state
bond1 (unregistering): (slave ip6gretap1): Releasing active interface
bond0 (unregistering): (slave bond_slave_0): Releasing backup interface
bond0 (unregistering): (slave bond_slave_1): Releasing backup interface
bond0 (unregistering): Released all slaves
bond1 (unregistering): Released all slaves
hsr_slave_0: left promiscuous mode
hsr_slave_1: left promiscuous mode
batman_adv: batadv0: Removing interface: batadv_slave_0
batman_adv: batadv0: Removing interface: batadv_slave_1
team0 (unregistering): Port device team_slave_1 removed
team0 (unregistering): Port device team_slave_0 removed


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