[moderation] [serial?] KCSAN: data-race in __stop_tty / pty_write (13)

0 views
Skip to first unread message

syzbot

unread,
Mar 20, 2024, 5:24:21 AMMar 20
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: a4145ce1e7bc Merge tag 'bcachefs-2024-03-19' of https://ev..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=13cdea6e180000
kernel config: https://syzkaller.appspot.com/x/.config?x=8e033e6bf1fa349a
dashboard link: https://syzkaller.appspot.com/bug?extid=8e125c73756bec7942ee
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
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/3b550dae6a5e/disk-a4145ce1.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/0ca9e25fb92b/vmlinux-a4145ce1.xz
kernel image: https://storage.googleapis.com/syzbot-assets/2b0d6e5da868/bzImage-a4145ce1.xz

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

==================================================================
BUG: KCSAN: data-race in __stop_tty / pty_write

write to 0xffff88810a81e9bc of 1 bytes by task 13677 on cpu 1:
__stop_tty+0x42/0x90 drivers/tty/tty_io.c:753
n_tty_ioctl_helper+0x223/0x240 drivers/tty/tty_ioctl.c:955
n_tty_ioctl+0xfd/0x200 drivers/tty/n_tty.c:2511
tty_ioctl+0x886/0xbe0 drivers/tty/tty_io.c:2812
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:904 [inline]
__se_sys_ioctl+0xd3/0x150 fs/ioctl.c:890
__x64_sys_ioctl+0x43/0x50 fs/ioctl.c:890
do_syscall_64+0xd3/0x1d0
entry_SYSCALL_64_after_hwframe+0x6d/0x75

read to 0xffff88810a81e9bc of 1 bytes by task 260 on cpu 0:
pty_write+0x26/0xa0 drivers/tty/pty.c:115
tty_put_char+0x8d/0xc0 drivers/tty/tty_io.c:3168
n_tty_process_echo_ops drivers/tty/n_tty.c:664 [inline]
__process_echoes+0x3a3/0x6b0 drivers/tty/n_tty.c:709
flush_echoes drivers/tty/n_tty.c:807 [inline]
__receive_buf drivers/tty/n_tty.c:1632 [inline]
n_tty_receive_buf_common+0x8e6/0xbd0 drivers/tty/n_tty.c:1729
n_tty_receive_buf2+0x33/0x40 drivers/tty/n_tty.c:1775
tty_ldisc_receive_buf+0x63/0x100 drivers/tty/tty_buffer.c:386
tty_port_default_receive_buf+0x59/0x90 drivers/tty/tty_port.c:37
receive_buf drivers/tty/tty_buffer.c:444 [inline]
flush_to_ldisc+0x1ce/0x410 drivers/tty/tty_buffer.c:494
process_one_work kernel/workqueue.c:3254 [inline]
process_scheduled_works+0x465/0x990 kernel/workqueue.c:3335
worker_thread+0x526/0x730 kernel/workqueue.c:3416
kthread+0x1d1/0x210 kernel/kthread.c:388
ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243

value changed: 0x00 -> 0x01

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 260 Comm: kworker/u8:4 Not tainted 6.8.0-syzkaller-11743-ga4145ce1e7bc #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024
Workqueue: events_unbound flush_to_ldisc
==================================================================
netdevsim netdevsim3 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim3 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim3 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim3 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0
bridge_slave_1: left allmulticast mode
bridge_slave_1: left promiscuous 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
bond0 (unregistering): (slave bond_slave_0): Releasing backup interface
bond0 (unregistering): (slave bond_slave_1): Releasing backup interface
bond0 (unregistering): Released all slaves
hsr_slave_0: left promiscuous mode
hsr_slave_1: left promiscuous mode
batman_adv: batadv0: Interface deactivated: batadv_slave_0
batman_adv: batadv0: Removing interface: batadv_slave_0
batman_adv: batadv0: Interface deactivated: batadv_slave_1
batman_adv: batadv0: Removing interface: batadv_slave_1
veth1_macvtap: left promiscuous mode
veth0_macvtap: left promiscuous mode
veth1_vlan: left promiscuous mode
veth0_vlan: left promiscuous mode
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