DATA RACE in kernel.(*Task).waitParentLocked

Status: fixed on 2026/05/08 08:36
Fix commit: 79075c279368 clone3: Create pidfds before making new task visible
First crash: 118d, last: 118d

Sample crash report:
WARNING: DATA RACE
Read at 0x00c000a009f7 by goroutine 1570:
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).waitParentLocked()
      pkg/sentry/kernel/task_exit.go:1101 +0x4a4
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).waitOnce()
      pkg/sentry/kernel/task_exit.go:1070 +0x385
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Wait()
      pkg/sentry/kernel/task_exit.go:1049 +0x38a
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Waitid()
      pkg/sentry/syscalls/linux/sys_thread.go:392 +0x31b
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:143 +0x94b
  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 +0x48f
  gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:258 +0x1eb0
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:89 +0x4a9
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start.gowrap1()
      pkg/sentry/kernel/task_start.go:416 +0x44

Previous write at 0x00c000a009f7 by goroutine 1508:
  gvisor.dev/gvisor/pkg/sentry/kernel.failCloneAfterTaskCreation()
      pkg/sentry/kernel/task_clone.go:53 +0x4384
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Clone()
      pkg/sentry/kernel/task_clone.go:374 +0x4326
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux.clone()
      pkg/sentry/syscalls/linux/sys_thread.go:193 +0x1cf
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Clone()
      pkg/sentry/syscalls/linux/sys_clone_amd64.go:36 +0x4d
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:143 +0x94b
  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 +0x48f
  gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:258 +0x1eb0
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:89 +0x4a9
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start.gowrap1()
      pkg/sentry/kernel/task_start.go:416 +0x44

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/05/04 15:39 gvisor f395c7e409ad 85f1bcf2 .config console log report syz / log C ci-gvisor-systrap-1-race DATA RACE in kernel.(*Task).waitParentLocked
2026/05/04 15:29 gvisor f395c7e409ad 85f1bcf2 .config console log report syz / log C ci-gvisor-ptrace-2-race DATA RACE in kernel.(*Task).waitParentLocked
2026/05/04 15:29 gvisor f395c7e409ad 85f1bcf2 .config console log report syz / log C ci-gvisor-ptrace-3-race DATA RACE in kernel.(*Task).waitParentLocked
2026/05/04 15:19 gvisor f395c7e409ad 85f1bcf2 .config console log report syz / log C ci-gvisor-ptrace-1-race DATA RACE in kernel.(*Task).waitParentLocked
2026/05/04 15:05 gvisor f395c7e409ad 85f1bcf2 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in kernel.(*Task).waitParentLocked
* Struck through repros no longer work on HEAD.