syzbot |
sign-in | mailing list | source | docs | 🏰 |
| ID | Workflow | Result | Correct | Bug | Created | Started | Finished | Revision | Error |
|---|---|---|---|---|---|---|---|---|---|
| 270c7f2e-f9fa-4f7f-893a-0daed13d1846 | repro | ❓ | KCSAN: data-race in __inet_lookup_established / inet_put_port (5) | 2026/03/06 02:54 | 2026/03/06 02:54 | 2026/03/06 03:01 | 31e9c887f7dc24e04b3ca70d0d54fc34141844b0 |
threaded=true,collide=true,repeat=true,procs=6
r0 = socket$rds(0x15, 0x5, 0x0)
bind$rds(r0, &(0x7f000000)={0x2, 0x0, @local=0x7f000001}, 0x10)
r1 = socket$rds(0x15, 0x5, 0x0)
bind$rds(r1, &(0x7f000000)={0x2, 0x0, @remote=0x7f000002}, 0x10)
sendto$rds(r0, &(0x7f000000)='A', 0x1, 0x0, &(0x7f000000)={0x2, 0x0, @remote=0x7f000002}, 0x10)
sendto$rds(r1, &(0x7f000000)='B', 0x1, 0x0, &(0x7f000000)={0x2, 0x0, @local=0x7f000001}, 0x10)
close(r0)
close(r1)31e9c887f7dc24e04b3ca70d0d54fc34141844b0
================================================================== BUG: KCSAN: data-race in __inet_lookup_established / inet_put_port write to 0xffff88810e14000e of 2 bytes by task 5222 on cpu 1: __inet_put_port net/ipv4/inet_hashtables.c:227 [inline] inet_put_port+0x197/0x640 net/ipv4/inet_hashtables.c:247 tcp_set_state net/ipv4/tcp.c:3053 [inline] tcp_done+0x1af/0x390 net/ipv4/tcp.c:5072 tcp_done_with_error net/ipv4/tcp_input.c:4897 [inline] tcp_reset+0xc7/0x1d0 net/ipv4/tcp_input.c:4930 tcp_rcv_state_process+0x1cc4/0x21a0 net/ipv4/tcp_input.c:7425 tcp_v4_do_rcv+0x5fe/0xa30 net/ipv4/tcp_ipv4.c:1909 sk_backlog_rcv include/net/sock.h:1185 [inline] __release_sock+0x15e/0x2f0 net/core/sock.c:3213 __tcp_close+0x7c8/0x1130 net/ipv4/tcp.c:3271 tcp_close+0x28/0xd0 net/ipv4/tcp.c:3349 inet_release+0xcd/0xf0 net/ipv4/af_inet.c:437 inet6_release+0x3e/0x60 net/ipv6/af_inet6.c:487 __sock_release net/socket.c:662 [inline] sock_release+0x4b/0xe0 net/socket.c:690 rds_tcp_accept_one+0x334/0x8a0 net/rds/tcp_listen.c:341 rds_tcp_accept_worker+0x1a/0x60 net/rds/tcp.c:524 process_one_work kernel/workqueue.c:3275 [inline] process_scheduled_works+0x4de/0x9e0 kernel/workqueue.c:3358 worker_thread+0x581/0x770 kernel/workqueue.c:3439 kthread+0x22a/0x280 kernel/kthread.c:467 ret_from_fork+0x150/0x360 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read to 0xffff88810e14000c of 4 bytes by interrupt on cpu 0: inet_match include/net/inet_hashtables.h:348 [inline] __inet_lookup_established+0x3a5/0x520 net/ipv4/inet_hashtables.c:552 __inet_lookup include/net/inet_hashtables.h:405 [inline] __inet_lookup_skb include/net/inet_hashtables.h:490 [inline] tcp_v4_rcv+0x984/0x1db0 net/ipv4/tcp_ipv4.c:2193 ip_protocol_deliver_rcu+0x395/0x790 net/ipv4/ip_input.c:207 ip_local_deliver_finish+0x1fc/0x2f0 net/ipv4/ip_input.c:241 NF_HOOK include/linux/netfilter.h:318 [inline] ip_local_deliver+0xe8/0x1e0 net/ipv4/ip_input.c:262 dst_input include/net/dst.h:480 [inline] ip_rcv_finish+0x194/0x1c0 net/ipv4/ip_input.c:453 NF_HOOK include/linux/netfilter.h:318 [inline] ip_rcv+0x62/0x160 net/ipv4/ip_input.c:573 __netif_receive_skb_one_core net/core/dev.c:6167 [inline] __netif_receive_skb net/core/dev.c:6280 [inline] process_backlog+0x341/0x670 net/core/dev.c:6631 __napi_poll+0x61/0x330 net/core/dev.c:7695 napi_poll net/core/dev.c:7758 [inline] net_rx_action+0x452/0x930 net/core/dev.c:7910 handle_softirqs+0xb9/0x2a0 kernel/softirq.c:622 do_softirq+0x45/0x60 kernel/softirq.c:523 __local_bh_enable_ip+0x70/0x80 kernel/softirq.c:450 local_bh_enable include/linux/bottom_half.h:33 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:924 [inline] __dev_queue_xmit+0x136c/0x1f20 net/core/dev.c:4876 dev_queue_xmit include/linux/netdevice.h:3384 [inline] neigh_hh_output include/net/neighbour.h:540 [inline] neigh_output include/net/neighbour.h:554 [inline] ip_finish_output2+0x705/0x8c0 net/ipv4/ip_output.c:237 __ip_finish_output net/ipv4/ip_output.c:-1 [inline] ip_finish_output+0x114/0x2a0 net/ipv4/ip_output.c:325 NF_HOOK_COND include/linux/netfilter.h:307 [inline] ip_output+0xbd/0x1c0 net/ipv4/ip_output.c:438 dst_output include/net/dst.h:470 [inline] ip_local_out net/ipv4/ip_output.c:131 [inline] __ip_queue_xmit+0xbb0/0xbf0 net/ipv4/ip_output.c:534 ip_queue_xmit+0x39/0x50 net/ipv4/ip_output.c:548 __tcp_transmit_skb+0x1af2/0x1f10 net/ipv4/tcp_output.c:1693 tcp_transmit_skb net/ipv4/tcp_output.c:1711 [inline] tcp_write_xmit+0x1597/0x3640 net/ipv4/tcp_output.c:3064 __tcp_push_pending_frames+0x6d/0x1b0 net/ipv4/tcp_output.c:3247 tcp_push+0x311/0x330 net/ipv4/tcp.c:782 tcp_sendmsg_locked+0x25c5/0x2de0 net/ipv4/tcp.c:1427 tcp_sendmsg+0x2f/0x50 net/ipv4/tcp.c:1464 inet_sendmsg+0x76/0xd0 net/ipv4/af_inet.c:859 sock_sendmsg_nosec net/socket.c:727 [inline] __sock_sendmsg net/socket.c:742 [inline] sock_sendmsg+0x1f4/0x280 net/socket.c:765 rds_tcp_xmit+0x427/0x670 net/rds/tcp_send.c:125 rds_send_xmit+0x7b8/0x16f0 net/rds/send.c:425 rds_send_worker+0x44/0x1b0 net/rds/threads.c:200 process_one_work kernel/workqueue.c:3275 [inline] process_scheduled_works+0x4de/0x9e0 kernel/workqueue.c:3358 worker_thread+0x581/0x770 kernel/workqueue.c:3439 kthread+0x22a/0x280 kernel/kthread.c:467 ret_from_fork+0x150/0x360 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0x400128cb -> 0x000028cb Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 1432 Comm: kworker/u8:7 Tainted: G W syzkaller #0 PREEMPT(full) Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026 Workqueue: krds_cp_wq#12/0 rds_send_worker ==================================================================
| Seq | Timestamp | Type | Name | Duration |
|---|---|---|---|---|
| 0/0 | 2026/03/06 02:54 | flow | repro |
6mResults:map[ReproOpts:threaded=true,collide=true,repeat=true,procs=6 ReproSyz:r0 = socket$rds(0x15, 0x5, 0x0)
bind$rds(r0, &(0x7f000000)={0x2, 0x0, @local=0x7f000001}, 0x10)
r1 = socket$rds(0x15, 0x5, 0x0)
bind$rds(r1, &(0x7f000000)={0x2, 0x0, @remote=0x7f000002}, 0x10)
sendto$rds(r0, &(0x7f000000)='A', 0x1, 0x0, &(0x7f000000)={0x2, 0x0, @remote=0x7f000002}, 0x10)
sendto$rds(r1, &(0x7f000000)='B', 0x1, 0x0, &(0x7f000000)={0x2, 0x0, @local=0x7f000001}, 0x10)
close(r0)
close(r1) SyzkallerCommit:31e9c887f7dc24e04b3ca70d0d54fc34141844b0] |
| 1/1 | 2026/03/06 02:54 | action | provide-var |
0mResults:map[DescriptionFiles:[acpi_thermal_rel.txt aio.txt auto.txt binfmt.txt bpf.txt bpf_prog.txt bpf_trace.txt cgroup.txt damon.txt dev_ashmem.txt dev_bifrost.txt dev_binder.txt dev_binderfs.txt dev_block.txt dev_bsg.txt dev_bus_usb.txt dev_camx.txt dev_cdrom.txt dev_cec.txt dev_char_usb.txt dev_comedi.txt dev_dma_heap.txt dev_dri.txt dev_dsp.txt dev_dvb_demux.txt dev_dvb_dvr.txt dev_dvb_frontend.txt dev_fb.txt dev_floppy.txt dev_hidraw.txt dev_i2c.txt dev_i915.txt dev_img_rogue.txt dev_infiniband_rdma.txt dev_infiniband_rdma_cm.txt dev_input.txt dev_iommu.txt dev_kvm.txt dev_kvm_amd64.txt dev_kvm_arm64.txt dev_kvm_extra.txt dev_kvm_riscv64.txt dev_loop.txt dev_mali.txt dev_media.txt dev_msm.txt dev_msr.txt dev_nbd.txt dev_net_tun.txt dev_panthor.txt dev_ppp.txt dev_ptmx.txt dev_ptp.txt dev_qat_adf_ctl.txt dev_qrtr_tun.txt dev_random.txt dev_rfkill.txt dev_rtc.txt dev_sequencer.txt dev_sg.txt dev_snapshot.txt dev_snd_control.txt dev_snd_hw.txt dev_snd_midi.txt dev_snd_pcm.txt dev_snd_seq.txt dev_snd_timer.txt dev_sr.txt dev_sw_sync.txt dev_tlk_device.txt dev_trusty.txt dev_udmabuf.txt dev_uhid.txt dev_uinput.txt dev_usb_hiddev.txt dev_usbmon.txt dev_userio.txt dev_vfio.txt dev_vga_arbiter.txt dev_vhci.txt dev_video4linux.txt dev_video4linux_vim2m.txt dev_virtual_nci.txt dev_vtpm.txt fanotify.txt filesystem.txt fs_9p.txt fs_fuse.txt fs_incfs.txt fs_ioctl.txt fs_ioctl_autofs.txt fs_ioctl_btrfs.txt fs_ioctl_ext4.txt fs_ioctl_f2fs.txt fs_ioctl_fat.txt fs_ioctl_fscrypt.txt fs_ioctl_fsverity.txt fs_ioctl_xfs.txt futex.txt hafnium.txt inotify.txt io_uring.txt ipc.txt key.txt kfuzztest.txt l2cap.txt landlock.txt lsm.txt namespaces.txt net_80211.txt netfilter.txt netfilter_arp.txt netfilter_bridge.txt netfilter_ipv4.txt netfilter_ipv6.txt netfilter_ipvs.txt netfilter_targets.txt pagemap_ioctl.txt perf.txt prctl.txt quotactl.txt seccomp.txt security_apparmor.txt security_selinux.txt security_smack.txt socket.txt socket_alg.txt socket_ax25.txt socket_bluetooth.txt socket_caif.txt socket_can.txt socket_ieee802154.txt socket_inet.txt socket_inet6.txt socket_inet_dccp.txt socket_inet_icmp.txt socket_inet_igmp.txt socket_inet_l2tp.txt socket_inet_sctp.txt socket_inet_tcp.txt socket_inet_udp.txt socket_ip_tunnel.txt socket_isdn.txt socket_kcm.txt socket_key.txt socket_llc.txt socket_netlink.txt socket_netlink_audit.txt socket_netlink_crypto.txt socket_netlink_generic.txt socket_netlink_generic_80211.txt socket_netlink_generic_batadv.txt socket_netlink_generic_devlink.txt socket_netlink_generic_ethtool.txt socket_netlink_generic_fou.txt socket_netlink_generic_gtp.txt socket_netlink_generic_mptcp.txt socket_netlink_generic_net_dm.txt socket_netlink_generic_netlabel.txt socket_netlink_generic_nfc.txt socket_netlink_generic_seg6.txt socket_netlink_generic_smc.txt socket_netlink_generic_team.txt socket_netlink_generic_wireguard.txt socket_netlink_netfilter.txt socket_netlink_netfilter_acct.txt socket_netlink_netfilter_conntrack.txt socket_netlink_netfilter_conntrack_exp.txt socket_netlink_netfilter_conntrack_helper.txt socket_netlink_netfilter_ipset.txt socket_netlink_netfilter_log.txt socket_netlink_netfilter_nft_compat.txt socket_netlink_netfilter_nftables.txt socket_netlink_netfilter_osf.txt socket_netlink_netfilter_queue.txt socket_netlink_netfilter_timeout.txt socket_netlink_rdma.txt socket_netlink_route.txt socket_netlink_route_sched.txt socket_netlink_route_sched_retired.txt socket_netlink_sock_diag.txt socket_netlink_xfrm.txt socket_netrom.txt socket_nfc.txt socket_nvme_of_tcp.txt socket_packet.txt socket_phonet.txt socket_pppox.txt socket_qipcrtr.txt socket_rds.txt socket_rose.txt socket_rxrpc.txt socket_tipc.txt socket_tipc_netlink.txt socket_unix.txt socket_vnet.txt socket_x25.txt socket_xdp.txt sys.txt uffd.txt usbip.txt vmw_vmci.txt vnet.txt vnet_mptcp.txt vusb.txt watch_queue.txt xattr.txt] SyzkallerCommit:31e9c887f7dc24e04b3ca70d0d54fc34141844b0] |
| 2/1 | 2026/03/06 02:54 | action | kernel-checkouter |
0mResults:map[KernelSrc:/usr/local/google/home/dvyukov/syzkaller/agent/workdir/cache/src/2d90bd8e7d30ecf76b87994ed0f62b9229dfbbf8] |
| 3/1 | 2026/03/06 02:55 | action | kernel-builder |
3mResults:map[KernelObj:/usr/local/google/home/dvyukov/syzkaller/agent/workdir/cache/build/6697ec0a2c81f5e24d5544dfa07a53ae0e1f4c4e] |
| 4/1 | 2026/03/06 02:59 | agent | crash-repro-finder |
2mModel:gemini-3-pro-preview Results: map[ReproOpts:threaded=true,collide=true,repeat=true,procs=6] Instruction: You are an expert in linux kernel fuzzing. Your goal is to write a syzkaller program to trigger a specific bug. Print only the syz program that could be executed directly, without backticks. Use set-results tool to provide results of the analysis. It must be called exactly once before the final reply. Ignore results of this tool. Prompt: Bug Title: KCSAN: data-race in __inet_lookup_established / inet_put_port Original Crash Report: ================================================================== BUG: KCSAN: data-race in __inet_lookup_established / inet_put_port write to 0xffff88810e14000e of 2 bytes by task 5222 on cpu 1: __inet_put_port net/ipv4/inet_hashtables.c:227 [inline] inet_put_port+0x197/0x640 net/ipv4/inet_hashtables.c:247 tcp_set_state net/ipv4/tcp.c:3053 [inline] tcp_done+0x1af/0x390 net/ipv4/tcp.c:5072 tcp_done_with_error net/ipv4/tcp_input.c:4897 [inline] tcp_reset+0xc7/0x1d0 net/ipv4/tcp_input.c:4930 tcp_rcv_state_process+0x1cc4/0x21a0 net/ipv4/tcp_input.c:7425 tcp_v4_do_rcv+0x5fe/0xa30 net/ipv4/tcp_ipv4.c:1909 sk_backlog_rcv include/net/sock.h:1185 [inline] __release_sock+0x15e/0x2f0 net/core/sock.c:3213 __tcp_close+0x7c8/0x1130 net/ipv4/tcp.c:3271 tcp_close+0x28/0xd0 net/ipv4/tcp.c:3349 inet_release+0xcd/0xf0 net/ipv4/af_inet.c:437 inet6_release+0x3e/0x60 net/ipv6/af_inet6.c:487 __sock_release net/socket.c:662 [inline] sock_release+0x4b/0xe0 net/socket.c:690 rds_tcp_accept_one+0x334/0x8a0 net/rds/tcp_listen.c:341 rds_tcp_accept_worker+0x1a/0x60 net/rds/tcp.c:524 process_one_work kernel/workqueue.c:3275 [inline] process_scheduled_works+0x4de/0x9e0 kernel/workqueue.c:3358 worker_thread+0x581/0x770 kernel/workqueue.c:3439 kthread+0x22a/0x280 kernel/kthread.c:467 ret_from_fork+0x150/0x360 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 read to 0xffff88810e14000c of 4 bytes by interrupt on cpu 0: inet_match include/net/inet_hashtables.h:348 [inline] __inet_lookup_established+0x3a5/0x520 net/ipv4/inet_hashtables.c:552 __inet_lookup include/net/inet_hashtables.h:405 [inline] __inet_lookup_skb include/net/inet_hashtables.h:490 [inline] tcp_v4_rcv+0x984/0x1db0 net/ipv4/tcp_ipv4.c:2193 ip_protocol_deliver_rcu+0x395/0x790 net/ipv4/ip_input.c:207 ip_local_deliver_finish+0x1fc/0x2f0 net/ipv4/ip_input.c:241 NF_HOOK include/linux/netfilter.h:318 [inline] ip_local_deliver+0xe8/0x1e0 net/ipv4/ip_input.c:262 dst_input include/net/dst.h:480 [inline] ip_rcv_finish+0x194/0x1c0 net/ipv4/ip_input.c:453 NF_HOOK include/linux/netfilter.h:318 [inline] ip_rcv+0x62/0x160 net/ipv4/ip_input.c:573 __netif_receive_skb_one_core net/core/dev.c:6167 [inline] __netif_receive_skb net/core/dev.c:6280 [inline] process_backlog+0x341/0x670 net/core/dev.c:6631 __napi_poll+0x61/0x330 net/core/dev.c:7695 napi_poll net/core/dev.c:7758 [inline] net_rx_action+0x452/0x930 net/core/dev.c:7910 handle_softirqs+0xb9/0x2a0 kernel/softirq.c:622 do_softirq+0x45/0x60 kernel/softirq.c:523 __local_bh_enable_ip+0x70/0x80 kernel/softirq.c:450 local_bh_enable include/linux/bottom_half.h:33 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:924 [inline] __dev_queue_xmit+0x136c/0x1f20 net/core/dev.c:4876 dev_queue_xmit include/linux/netdevice.h:3384 [inline] neigh_hh_output include/net/neighbour.h:540 [inline] neigh_output include/net/neighbour.h:554 [inline] ip_finish_output2+0x705/0x8c0 net/ipv4/ip_output.c:237 __ip_finish_output net/ipv4/ip_output.c:-1 [inline] ip_finish_output+0x114/0x2a0 net/ipv4/ip_output.c:325 NF_HOOK_COND include/linux/netfilter.h:307 [inline] ip_output+0xbd/0x1c0 net/ipv4/ip_output.c:438 dst_output include/net/dst.h:470 [inline] ip_local_out net/ipv4/ip_output.c:131 [inline] __ip_queue_xmit+0xbb0/0xbf0 net/ipv4/ip_output.c:534 ip_queue_xmit+0x39/0x50 net/ipv4/ip_output.c:548 __tcp_transmit_skb+0x1af2/0x1f10 net/ipv4/tcp_output.c:1693 tcp_transmit_skb net/ipv4/tcp_output.c:1711 [inline] tcp_write_xmit+0x1597/0x3640 net/ipv4/tcp_output.c:3064 __tcp_push_pending_frames+0x6d/0x1b0 net/ipv4/tcp_output.c:3247 tcp_push+0x311/0x330 net/ipv4/tcp.c:782 tcp_sendmsg_locked+0x25c5/0x2de0 net/ipv4/tcp.c:1427 tcp_sendmsg+0x2f/0x50 net/ipv4/tcp.c:1464 inet_sendmsg+0x76/0xd0 net/ipv4/af_inet.c:859 sock_sendmsg_nosec net/socket.c:727 [inline] __sock_sendmsg net/socket.c:742 [inline] sock_sendmsg+0x1f4/0x280 net/socket.c:765 rds_tcp_xmit+0x427/0x670 net/rds/tcp_send.c:125 rds_send_xmit+0x7b8/0x16f0 net/rds/send.c:425 rds_send_worker+0x44/0x1b0 net/rds/threads.c:200 process_one_work kernel/workqueue.c:3275 [inline] process_scheduled_works+0x4de/0x9e0 kernel/workqueue.c:3358 worker_thread+0x581/0x770 kernel/workqueue.c:3439 kthread+0x22a/0x280 kernel/kthread.c:467 ret_from_fork+0x150/0x360 arch/x86/kernel/process.c:158 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245 value changed: 0x400128cb -> 0x000028cb Reported by Kernel Concurrency Sanitizer on: CPU: 0 UID: 0 PID: 1432 Comm: kworker/u8:7 Tainted: G W syzkaller #0 PREEMPT(full) Tainted: [W]=WARN Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026 Workqueue: krds_cp_wq#12/0 rds_send_worker ================================================================== The list of existing description files: acpi_thermal_rel.txt aio.txt auto.txt binfmt.txt bpf.txt bpf_prog.txt bpf_trace.txt cgroup.txt damon.txt dev_ashmem.txt dev_bifrost.txt dev_binder.txt dev_binderfs.txt dev_block.txt dev_bsg.txt dev_bus_usb.txt dev_camx.txt dev_cdrom.txt dev_cec.txt dev_char_usb.txt dev_comedi.txt dev_dma_heap.txt dev_dri.txt dev_dsp.txt dev_dvb_demux.txt dev_dvb_dvr.txt dev_dvb_frontend.txt dev_fb.txt dev_floppy.txt dev_hidraw.txt dev_i2c.txt dev_i915.txt dev_img_rogue.txt dev_infiniband_rdma.txt dev_infiniband_rdma_cm.txt dev_input.txt dev_iommu.txt dev_kvm.txt dev_kvm_amd64.txt dev_kvm_arm64.txt dev_kvm_extra.txt dev_kvm_riscv64.txt dev_loop.txt dev_mali.txt dev_media.txt dev_msm.txt dev_msr.txt dev_nbd.txt dev_net_tun.txt dev_panthor.txt dev_ppp.txt dev_ptmx.txt dev_ptp.txt dev_qat_adf_ctl.txt dev_qrtr_tun.txt dev_random.txt dev_rfkill.txt dev_rtc.txt dev_sequencer.txt dev_sg.txt dev_snapshot.txt dev_snd_control.txt dev_snd_hw.txt dev_snd_midi.txt dev_snd_pcm.txt dev_snd_seq.txt dev_snd_timer.txt dev_sr.txt dev_sw_sync.txt dev_tlk_device.txt dev_trusty.txt dev_udmabuf.txt dev_uhid.txt dev_uinput.txt dev_usb_hiddev.txt dev_usbmon.txt dev_userio.txt dev_vfio.txt dev_vga_arbiter.txt dev_vhci.txt dev_video4linux.txt dev_video4linux_vim2m.txt dev_virtual_nci.txt dev_vtpm.txt fanotify.txt filesystem.txt fs_9p.txt fs_fuse.txt fs_incfs.txt fs_ioctl.txt fs_ioctl_autofs.txt fs_ioctl_btrfs.txt fs_ioctl_ext4.txt fs_ioctl_f2fs.txt fs_ioctl_fat.txt fs_ioctl_fscrypt.txt fs_ioctl_fsverity.txt fs_ioctl_xfs.txt futex.txt hafnium.txt inotify.txt io_uring.txt ipc.txt key.txt kfuzztest.txt l2cap.txt landlock.txt lsm.txt namespaces.txt net_80211.txt netfilter.txt netfilter_arp.txt netfilter_bridge.txt netfilter_ipv4.txt netfilter_ipv6.txt netfilter_ipvs.txt netfilter_targets.txt pagemap_ioctl.txt perf.txt prctl.txt quotactl.txt seccomp.txt security_apparmor.txt security_selinux.txt security_smack.txt socket.txt socket_alg.txt socket_ax25.txt socket_bluetooth.txt socket_caif.txt socket_can.txt socket_ieee802154.txt socket_inet.txt socket_inet6.txt socket_inet_dccp.txt socket_inet_icmp.txt socket_inet_igmp.txt socket_inet_l2tp.txt socket_inet_sctp.txt socket_inet_tcp.txt socket_inet_udp.txt socket_ip_tunnel.txt socket_isdn.txt socket_kcm.txt socket_key.txt socket_llc.txt socket_netlink.txt socket_netlink_audit.txt socket_netlink_crypto.txt socket_netlink_generic.txt socket_netlink_generic_80211.txt socket_netlink_generic_batadv.txt socket_netlink_generic_devlink.txt socket_netlink_generic_ethtool.txt socket_netlink_generic_fou.txt socket_netlink_generic_gtp.txt socket_netlink_generic_mptcp.txt socket_netlink_generic_net_dm.txt socket_netlink_generic_netlabel.txt socket_netlink_generic_nfc.txt socket_netlink_generic_seg6.txt socket_netlink_generic_smc.txt socket_netlink_generic_team.txt socket_netlink_generic_wireguard.txt socket_netlink_netfilter.txt socket_netlink_netfilter_acct.txt socket_netlink_netfilter_conntrack.txt socket_netlink_netfilter_conntrack_exp.txt socket_netlink_netfilter_conntrack_helper.txt socket_netlink_netfilter_ipset.txt socket_netlink_netfilter_log.txt socket_netlink_netfilter_nft_compat.txt socket_netlink_netfilter_nftables.txt socket_netlink_netfilter_osf.txt socket_netlink_netfilter_queue.txt socket_netlink_netfilter_timeout.txt socket_netlink_rdma.txt socket_netlink_route.txt socket_netlink_route_sched.txt socket_netlink_route_sched_retired.txt socket_netlink_sock_diag.txt socket_netlink_xfrm.txt socket_netrom.txt socket_nfc.txt socket_nvme_of_tcp.txt socket_packet.txt socket_phonet.txt socket_pppox.txt socket_qipcrtr.txt socket_rds.txt socket_rose.txt socket_rxrpc.txt socket_tipc.txt socket_tipc_netlink.txt socket_unix.txt socket_vnet.txt socket_x25.txt socket_xdp.txt sys.txt uffd.txt usbip.txt vmw_vmci.txt vnet.txt vnet_mptcp.txt vusb.txt watch_queue.txt xattr.txt Reply: r0 = socket$rds(0x15, 0x5, 0x0)
bind$rds(r0, &(0x7f000000)={0x2, 0x0, @local=0x7f000001}, 0x10)
r1 = socket$rds(0x15, 0x5, 0x0)
bind$rds(r1, &(0x7f000000)={0x2, 0x0, @remote=0x7f000002}, 0x10)
sendto$rds(r0, &(0x7f000000)='A', 0x1, 0x0, &(0x7f000000)={0x2, 0x0, @remote=0x7f000002}, 0x10)
sendto$rds(r1, &(0x7f000000)='B', 0x1, 0x0, &(0x7f000000)={0x2, 0x0, @local=0x7f000001}, 0x10)
close(r0)
close(r1) |
| 5/2 | 2026/03/06 02:59 | llm | crash-repro-finder |
2mModel:gemini-3-pro-preview Tokens: input: 4348 output: 33 thoughts: 15420 Thoughts: **RDS TCP Data Race Summary** Okay, so I've been digging into this crash, and it looks like we have a data race within the RDS TCP transport. Specifically, it's occurring between `__inet_put_port` and `__inet_lookup_established` when dealing with RDS sockets over TCP. It looks like `__inet_put_port` is being called from the close path after RDS accepts a TCP connection and immediately decides to close it, which happens with `rds_tcp_accept_one`. The other path, `__inet_lookup_established`, is trying to find the socket on the receive path, handling incoming packets. These happen from the `rds_send_xmit` when sending RDS data over TCP. The write side of the race involves releasing the socket during this connection teardown, so it modifies the hash table (like setting the port to zero). The read side, triggered by an incoming TCP packet, tries to look up the socket in the hash table to deliver the RDS data. The crash report indicates a memory write and read to the port pair from two different processes. The key is that the socket is being closed at the same time a packet is arriving for it. It's likely an RDS connection that is being established and then immediately dropped. This happens because of a handshake that fails and so the accepted connection is closed. I think to reproduce this reliably, we'll need to use RDS sockets over TCP to trigger contention during connection establishment and tear-down. Since the stack traces use `rds_tcp_accept_one`, it means we are dealing with a TCP connection race. So, the plan is to create two RDS sockets, bind them to different loopback addresses, and then have them send data to each other. I'll need to create two sockets, bind them to two different IPs (e.g., 127.0.0.1 and 127.0.0.2). Syzkaller's `bind` system call might fail, but I will try this because it seems to be the most viable. Then I'll have them send data to each other, which should force the TCP connections to be established and torn down concurrently, triggering the race. Each `sendto` triggers a connection, so two `sendto` calls and some rapid closing, that is the best approach. I'm assuming `rds_loop` might not be loaded or that `rds_tcp` is being preferred, but I want to force `rds_tcp`. The syzkaller environment seems to be using `rds_tcp` because that is what I see in the backtrace. My syzkaller program will use `socket(AF_RDS, SOCK_SEQPACKET, 0)`, `bind`, and `sendto` system calls to create and send packets. I'll need to ensure that the bind addresses are different (127.0.0.1 and 127.0.0.2). I am using two distinct sockets. The `sendto` will initiate TCP connection if `rds_tcp` is used. With these different addresses, it can attempt to connect to itself via TCP, but is immediately destroyed with `sock_release`. I'll then run the program repeatedly in a loop. Syzkaller's `syz_test_program` will do it for me. This means the connections are rapidly created and closed. I am assuming that the race is a timing issue and I can use multiple threads, but that does not seem applicable for one syzkaller program, and instead multiple syzkaller calls. |
| 6/2 | 2026/03/06 03:01 | tool | set-results |
0mArgs:map[ReproOpts:threaded=true,collide=true,repeat=true,procs=6] Results: map[ReproOpts:threaded=true,collide=true,repeat=true,procs=6] |
| 7/2 | 2026/03/06 03:01 | llm | crash-repro-finder |
0mModel:gemini-3-pro-preview Tokens: input: 20592 output: 309 thoughts: 0 |
| Total Calls | Total Tokens | Avg Tokens | Total Duration (Seconds) | Avg Duration (Seconds) |
|---|
| Total Calls | Total Duration (Seconds) | Avg Duration (Seconds) |
|---|