syzbot


DATA RACE in udp.(*endpoint).Connect (2)

Status: fixed on 2021/12/27 19:33
Fix commit: 2485a4e2cb4a Make stack.Route safe to access concurrently
First crash: 1467d, last: 1461d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
gvisor DATA RACE in udp.(*endpoint).Connect syz 10 1727d 1733d 0/26 fixed on 2020/03/10 21:06

Sample crash report:
WARNING: DATA RACE
Write at 0x00c000475cc8 by goroutine 324:
  gvisor.dev/gvisor/pkg/tcpip/transport/udp.(*endpoint).Connect()
      pkg/tcpip/transport/udp/endpoint.go:1168 +0x644
  gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*socketOpsCommon).Connect()
      pkg/sentry/socket/netstack/netstack.go:783 +0x4e7
  gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*SocketVFS2).Connect()
      <autogenerated>:1 +0x84
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.Connect()
      pkg/sentry/syscalls/linux/vfs2/socket.go:278 +0x256
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:104 +0x452
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:239 +0xb9
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:199 +0x10e
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:174 +0x1e9
  gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:282 +0x12a6
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:97 +0x397

Previous read at 0x00c000475cc8 by goroutine 322:
  gvisor.dev/gvisor/pkg/tcpip/stack.(*Route).Stats()
      pkg/tcpip/stack/route.go:191 +0x84a
  gvisor.dev/gvisor/pkg/tcpip/transport/udp.sendUDP()
      pkg/tcpip/transport/udp/endpoint.go:1029 +0x818
  gvisor.dev/gvisor/pkg/tcpip/transport/udp.(*endpoint).write()
      pkg/tcpip/transport/udp/endpoint.go:568 +0x7a4
  gvisor.dev/gvisor/pkg/tcpip/transport/udp.(*endpoint).Write()
      pkg/tcpip/transport/udp/endpoint.go:398 +0x84
  gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*socketOpsCommon).SendMsg()
      pkg/sentry/socket/netstack/netstack.go:2987 +0x23c
  gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*SocketVFS2).SendMsg()
      <autogenerated>:1 +0x177
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.sendSingleMsg()
      pkg/sentry/syscalls/linux/vfs2/socket.go:1056 +0x419
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.SendMMsg()
      pkg/sentry/syscalls/linux/vfs2/socket.go:980 +0x319
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:104 +0x452
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:239 +0xb9
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:199 +0x10e
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:174 +0x1e9
  gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:282 +0x12a6
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:97 +0x397

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/11/20 13:47 gvisor ed8185fc754e 0767f13f .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2020/11/26 00:36 gvisor d04144fbb7b9 3f581b43 .config console log report info ci-gvisor-ptrace-proxy-sandbox-race
2020/11/25 17:24 gvisor d04144fbb7b9 3f581b43 .config console log report info ci-gvisor-ptrace-proxy-sandbox-race
2020/11/20 13:35 gvisor ed8185fc754e 0767f13f .config console log report info ci-gvisor-ptrace-proxy-sandbox-race
* Struck through repros no longer work on HEAD.