syzbot


DATA RACE in packetmmap.(*Endpoint).Init (2)

Status: fixed on 2025/02/08 00:18
Fix commit: 25084ce9ed1e Add locking around packetmmap initialization and mode.
First crash: 14d, last: 13d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
gvisor DATA RACE in packetmmap.(*Endpoint).Init C 7 14d 15d 26/26 fixed on 2025/02/07 11:57

Sample crash report:
WARNING: DATA RACE
Write at 0x00c001f98148 by goroutine 780:
  gvisor.dev/gvisor/pkg/sentry/socket/netstack/packetmmap.(*Endpoint).Init()
      pkg/sentry/socket/netstack/packetmmap/endpoint.go:131 +0x7cb
  gvisor.dev/gvisor/pkg/sentry/socket/netstack.setSockOptPacket()
      pkg/sentry/socket/netstack/netstack.go:2749 +0xab7
  gvisor.dev/gvisor/pkg/sentry/socket/netstack.SetSockOpt()
      pkg/sentry/socket/netstack/netstack.go:1873 +0x2e4
  gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*sock).SetSockOpt()
      pkg/sentry/socket/netstack/netstack.go:634 +0x607
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux.SetSockOpt()
      pkg/sentry/syscalls/linux/sys_socket.go:551 +0x3b4
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:143 +0x994
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:323 +0x71
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:283 +0x93
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:258 +0x4af
  gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:269 +0x1fad
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:97 +0x4fa
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start.gowrap1()
      pkg/sentry/kernel/task_start.go:412 +0x44

Previous read at 0x00c001f98148 by goroutine 782:
  gvisor.dev/gvisor/pkg/sentry/socket/netstack/packetmmap.(*Endpoint).ConfigureMMap()
      pkg/sentry/socket/netstack/packetmmap/endpoint.go:346 +0x98
  gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*sock).ConfigureMMap()
      pkg/sentry/socket/netstack/netstack.go:3606 +0x109
  gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).ConfigureMMap()
      pkg/sentry/vfs/file_description.go:710 +0x901
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Mmap()
      pkg/sentry/syscalls/linux/sys_mmap.go:110 +0x902
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:143 +0x994
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:323 +0x71
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:283 +0x93
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:258 +0x4af
  gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:269 +0x1fad
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:97 +0x4fa
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start.gowrap1()
      pkg/sentry/kernel/task_start.go:412 +0x44

Crashes (9):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/02/07 13:22 gvisor 53d6f3dd2a22 a4f327c2 .config console log report syz / log C ci-gvisor-ptrace-2-race DATA RACE in packetmmap.(*Endpoint).Init
2025/02/07 13:20 gvisor 53d6f3dd2a22 a4f327c2 .config console log report syz / log C ci-gvisor-systrap-1-race DATA RACE in packetmmap.(*Endpoint).Init
2025/02/07 13:11 gvisor 53d6f3dd2a22 a4f327c2 .config console log report syz / log C ci-gvisor-ptrace-1-race DATA RACE in packetmmap.(*Endpoint).Init
2025/02/07 13:16 gvisor 53d6f3dd2a22 a4f327c2 .config console log report syz / log ci-gvisor-ptrace-2-race-cover DATA RACE in packetmmap.(*Endpoint).Init
2025/02/07 18:43 gvisor 53d6f3dd2a22 a4f327c2 .config console log report info ci-gvisor-systrap-1-race-cover DATA RACE in packetmmap.(*Endpoint).Init
2025/02/07 17:35 gvisor 53d6f3dd2a22 a4f327c2 .config console log report info ci-gvisor-systrap-1-race-cover DATA RACE in packetmmap.(*Endpoint).Init
2025/02/07 15:14 gvisor 53d6f3dd2a22 a4f327c2 .config console log report info ci-gvisor-systrap-1-race-cover DATA RACE in packetmmap.(*Endpoint).Init
2025/02/07 14:32 gvisor 53d6f3dd2a22 a4f327c2 .config console log report info ci-gvisor-ptrace-2-race-cover DATA RACE in packetmmap.(*Endpoint).Init
2025/02/07 12:44 gvisor 53d6f3dd2a22 a4f327c2 .config console log report info ci-gvisor-systrap-1-race-cover DATA RACE in packetmmap.(*Endpoint).Init
* Struck through repros no longer work on HEAD.