KCSAN: data-race in serial8250_do_startup / serial8250_modem_status (5)

Status: moderation: reported on 2026/10/20 17:18
Subsystems: serial
Labels: race:benign
[Documentation on labels]
Reported-by: syzbot+eebcc2b949c1c7663850@syzkaller.appspotmail.com
First crash: 1h45m, last: 1h45m
▶ ▼ ✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision
8efc447a assessment-kcsan Benign: ✅ ❓ KCSAN: data-race in serial8250_do_startup / serial8250_modem_status (5) 2026/10/20 17:18 2026/10/20 17:18 2026/10/20 18:21 61c200c7
▶ ▼ Similar bugs (4)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in serial8250_do_startup / serial8250_modem_status (3) serial 6 3 263d 296d 0/29 auto-obsoleted due to no activity on 2026/03/27 04:32
upstream KCSAN: data-race in serial8250_do_startup / serial8250_modem_status (2) serial 6 1 363d 363d 0/29 auto-obsoleted due to no activity on 2025/12/17 04:14
upstream KCSAN: data-race in serial8250_do_startup / serial8250_modem_status serial 6 5 423d 496d 0/29 auto-obsoleted due to no activity on 2025/10/18 03:59
upstream KCSAN: data-race in serial8250_do_startup / serial8250_modem_status (4) prio:low serial 6 2 157d 190d 0/29 auto-obsoleted due to no activity on 2026/07/11 16:47

Sample crash report:
==================================================================
BUG: KCSAN: data-race in serial8250_do_startup / serial8250_modem_status

write to 0xffffffff8962ff36 of 1 bytes by task 15338 on cpu 0:
 serial8250_do_startup+0x12f5/0x19d0 drivers/tty/serial/8250/8250_port.c:2390
 serial8250_startup+0x41/0x50 drivers/tty/serial/8250/8250_port.c:2410
 uart_port_startup drivers/tty/serial/serial_core.c:322 [inline]
 uart_startup+0x481/0xba0 drivers/tty/serial/serial_core.c:366
 uart_port_activate+0x67/0xc0 drivers/tty/serial/serial_core.c:1969
 tty_port_open+0x14c/0x1f0 drivers/tty/tty_port.c:798
 uart_open+0x30/0x40 drivers/tty/serial/serial_core.c:1949
 tty_open+0x3db/0xb70 drivers/tty/tty_io.c:2112
 chrdev_open+0x2eb/0x3a0 fs/char_dev.c:413
 do_dentry_open+0x496/0xa40 fs/open.c:1000
 vfs_open_consume+0x46/0x1f0 fs/open.c:1131
 do_open fs/namei.c:4845 [inline]
 path_openat+0xc16/0x11c0 fs/namei.c:5010
 do_file_open+0x16c/0x290 fs/namei.c:5039
 do_sys_openat2+0xa1/0x140 fs/open.c:1442
 do_sys_open fs/open.c:1448 [inline]
 __do_sys_openat fs/open.c:1464 [inline]
 __se_sys_openat fs/open.c:1459 [inline]
 __x64_sys_openat+0xf2/0x120 fs/open.c:1459
 x64_sys_call+0x1f72/0x2550 arch/x86/include/generated/asm/syscalls_64.h:258
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x112/0x360 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffffffff8962ff36 of 1 bytes by interrupt on cpu 1:
 serial8250_modem_status+0x6a/0x1e0 drivers/tty/serial/8250/8250_port.c:1766
 serial8250_handle_irq_locked+0x412/0x500 drivers/tty/serial/8250/8250_port.c:1856
 serial8250_handle_irq+0xb5/0x260 drivers/tty/serial/8250/8250_port.c:1875
 serial8250_default_handle_irq+0x8e/0x140 drivers/tty/serial/8250/8250_port.c:1889
 serial8250_interrupt+0x63/0x110 drivers/tty/serial/8250/8250_core.c:86
 __handle_irq_event_percpu+0x8b/0x480 kernel/irq/handle.c:209
 handle_irq_event_percpu kernel/irq/handle.c:246 [inline]
 handle_irq_event+0x64/0xf0 kernel/irq/handle.c:263
 handle_edge_irq+0x155/0x440 kernel/irq/chip.c:859
 generic_handle_irq_desc include/linux/irqdesc.h:188 [inline]
 handle_irq arch/x86/kernel/irq.c:209 [inline]
 call_irq_handler arch/x86/kernel/irq.c:-1 [inline]
 __common_interrupt+0x60/0xb0 arch/x86/kernel/irq.c:280
 common_interrupt+0x7e/0x90 arch/x86/kernel/irq.c:273
 asm_common_interrupt+0x26/0x40 arch/x86/include/asm/idtentry.h:665
 pipe_poll+0x1ae/0x320 fs/pipe.c:768
 vfs_poll include/linux/poll.h:82 [inline]
 select_poll_one fs/select.c:480 [inline]
 do_select+0x940/0xfc0 fs/select.c:536
 core_sys_select+0x469/0x7a0 fs/select.c:677
 do_pselect fs/select.c:770 [inline]
 __do_sys_pselect6 fs/select.c:809 [inline]
 __se_sys_pselect6+0x23f/0x2a0 fs/select.c:800
 __x64_sys_pselect6+0x78/0x90 fs/select.c:800
 x64_sys_call+0x1dfc/0x2550 arch/x86/include/generated/asm/syscalls_64.h:271
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x112/0x360 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00 -> 0x05

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3288 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(lazy) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/10/20 17:18 upstream f47d223627f8 df8746fb .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in serial8250_do_startup / serial8250_modem_status
* Struck through repros no longer work on HEAD.