syzbot


KCSAN: data-race in n_tty_poll / tty_set_termios (9)

Status: moderation: reported on 2025/03/23 06:09
Subsystems: serial
[Documentation on labels]
Reported-by: syzbot+4771cf9a20cb6de82abc@syzkaller.appspotmail.com
First crash: 32d, last: 7d13h
Similar bugs (8)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in n_tty_poll / tty_set_termios (4) serial 1 1199d 1199d 0/28 auto-closed as invalid on 2022/02/14 10:19
upstream KCSAN: data-race in n_tty_poll / tty_set_termios (6) serial 1 447d 447d 0/28 auto-obsoleted due to no activity on 2024/03/08 03:04
upstream KCSAN: data-race in n_tty_poll / tty_set_termios (8) serial 2 128d 135d 0/28 auto-obsoleted due to no activity on 2025/02/11 05:59
upstream KCSAN: data-race in n_tty_poll / tty_set_termios (2) serial 2 1390d 1425d 0/28 auto-closed as invalid on 2021/08/07 13:54
upstream KCSAN: data-race in n_tty_poll / tty_set_termios (7) serial 1 270d 270d 0/28 auto-obsoleted due to no activity on 2024/08/31 07:27
upstream KCSAN: data-race in n_tty_poll / tty_set_termios serial 1 1467d 1467d 0/28 auto-closed as invalid on 2021/05/22 11:20
upstream KCSAN: data-race in n_tty_poll / tty_set_termios (5) serial 1 589d 589d 0/28 auto-obsoleted due to no activity on 2023/10/17 08:33
upstream KCSAN: data-race in n_tty_poll / tty_set_termios (3) serial 1 1281d 1281d 0/28 auto-closed as invalid on 2021/11/25 02:42

Sample crash report:
==================================================================
BUG: KCSAN: data-race in n_tty_poll / tty_set_termios

write to 0xffff888118c3bd1e of 1 bytes by task 4351 on cpu 1:
 unset_locked_termios drivers/tty/tty_ioctl.c:220 [inline]
 tty_set_termios+0x3a5/0x8b0 drivers/tty/tty_ioctl.c:340
 set_termios+0x4af/0x4f0 drivers/tty/tty_ioctl.c:516
 tty_mode_ioctl+0x394/0x5d0 drivers/tty/tty_ioctl.c:-1
 n_tty_ioctl_helper+0x8d/0x240 drivers/tty/tty_ioctl.c:986
 n_tty_ioctl+0xfd/0x210 drivers/tty/n_tty.c:2509
 tty_ioctl+0x878/0xbd0 drivers/tty/tty_io.c:2811
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:906 [inline]
 __se_sys_ioctl+0xc9/0x140 fs/ioctl.c:892
 __x64_sys_ioctl+0x43/0x50 fs/ioctl.c:892
 x64_sys_call+0x168d/0x2e10 arch/x86/include/generated/asm/syscalls_64.h:17
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888118c3bd1e of 1 bytes by task 4348 on cpu 0:
 input_available_p drivers/tty/n_tty.c:1921 [inline]
 n_tty_poll+0x223/0x4b0 drivers/tty/n_tty.c:2456
 tty_poll+0x78/0xf0 drivers/tty/tty_io.c:2208
 vfs_poll include/linux/poll.h:82 [inline]
 io_file_supports_nowait io_uring/rw.c:46 [inline]
 __io_read+0x2e1/0xc20 io_uring/rw.c:923
 io_read+0x1e/0x60 io_uring/rw.c:1016
 __io_issue_sqe io_uring/io_uring.c:1734 [inline]
 io_issue_sqe+0x15f/0xaf0 io_uring/io_uring.c:1753
 io_queue_sqe io_uring/io_uring.c:1969 [inline]
 io_submit_sqe io_uring/io_uring.c:2225 [inline]
 io_submit_sqes+0x67f/0x1050 io_uring/io_uring.c:2342
 __do_sys_io_uring_enter io_uring/io_uring.c:3402 [inline]
 __se_sys_io_uring_enter+0x1ce/0x1c00 io_uring/io_uring.c:3336
 __x64_sys_io_uring_enter+0x78/0x90 io_uring/io_uring.c:3336
 x64_sys_call+0x26cb/0x2e10 arch/x86/include/generated/asm/syscalls_64.h:427
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00 -> 0xff

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 4348 Comm: syz.2.261 Not tainted 6.15.0-rc2-syzkaller-00048-gc62f4b82d571 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2025
==================================================================

Crashes (3):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/04/16 17:52 upstream c62f4b82d571 a95239b1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in n_tty_poll / tty_set_termios
2025/04/16 17:52 upstream c62f4b82d571 a95239b1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in n_tty_poll / tty_set_termios
2025/03/23 06:08 upstream 183601b78a9b 4e8d3850 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in n_tty_poll / tty_set_termios
* Struck through repros no longer work on HEAD.