================================================================== BUG: KCSAN: data-race in ppp_asynctty_receive / tty_set_termios read-write to 0xffff88810f83b108 of 4 bytes by task 565 on cpu 1: unset_locked_termios drivers/tty/tty_ioctl.c:214 [inline] tty_set_termios+0xfa/0x8b0 drivers/tty/tty_ioctl.c:340 set_termios+0x497/0x4e0 drivers/tty/tty_ioctl.c:516 tty_mode_ioctl+0x391/0x5d0 ppp_asynctty_ioctl+0x21d/0x2e0 drivers/net/ppp/ppp_async.c:324 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 x64_sys_call+0x155d/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:17 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f read to 0xffff88810f83b108 of 4 bytes by task 3602 on cpu 0: ppp_async_input drivers/net/ppp/ppp_async.c:905 [inline] ppp_asynctty_receive+0x751/0x1050 drivers/net/ppp/ppp_async.c:342 tty_ldisc_receive_buf+0xd9/0x100 drivers/tty/tty_buffer.c:391 tty_port_default_receive_buf+0x59/0x90 drivers/tty/tty_port.c:37 receive_buf drivers/tty/tty_buffer.c:445 [inline] flush_to_ldisc+0x1ce/0x410 drivers/tty/tty_buffer.c:495 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:244 value changed: 0x00000500 -> 0x00000000 Reported by Kernel Concurrency Sanitizer on: CPU: 0 PID: 3602 Comm: kworker/u8:7 Tainted: G W 6.9.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/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 team0: left allmulticast mode team_slave_0: left allmulticast mode team_slave_1: left allmulticast mode macvlan2: left allmulticast mode macvlan3: left allmulticast mode macvlan4: left allmulticast mode macvlan5: left allmulticast mode bond0: left allmulticast mode bond_slave_0: left allmulticast mode bond_slave_1: left allmulticast mode team0: left promiscuous mode team_slave_0: left promiscuous mode team_slave_1: left promiscuous mode macvlan2: left promiscuous mode macvlan3: left promiscuous mode macvlan4: left promiscuous mode macvlan5: left promiscuous mode bond0: left promiscuous mode bridge0: port 3(team0) entered disabled state 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 bond_slave_0: left promiscuous mode bond_slave_1: left promiscuous mode team0: Port device macvlan2 removed team0: Port device macvlan3 removed team0: Port device macvlan4 removed team0: Port device macvlan5 removed 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