syzbot


DATA RACE in fuse.(*connection).Call

Status: fixed on 2022/02/03 04:49
Fix commit: a5ce865145c7 fuse: Attempt to fix five data races.
First crash: 1031d, last: 1027d

Sample crash report:
WARNING: DATA RACE
Read at 0x00c000384868 by goroutine 406:
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*connection).Call()
      pkg/sentry/fsimpl/fuse/connection.go:254 +0x6b
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*inode).Open()
      pkg/sentry/fsimpl/fuse/fusefs.go:439 +0x4cf
  gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*Filesystem).OpenAt()
      pkg/sentry/fsimpl/kernfs/filesystem.go:523 +0x17d9
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*filesystem).OpenAt()
      <autogenerated>:1 +0x90
  gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).OpenAt()
      pkg/sentry/vfs/vfs.go:437 +0x301
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.openat()
      pkg/sentry/syscalls/linux/vfs2/filesystem.go:179 +0x31d
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.Creat()
      pkg/sentry/syscalls/linux/vfs2/filesystem.go:165 +0x66
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:103 +0x194
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:238 +0xb3
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:198 +0x10e
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:173 +0x213
  gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:254 +0x1286
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:95 +0x352

Previous write at 0x00c000384868 by goroutine 375:
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*DeviceFD).Release()
      pkg/sentry/fsimpl/fuse/dev.go:113 +0x107
  gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).DecRef.func1()
      pkg/sentry/vfs/file_description.go:192 +0x375
  gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescriptionRefs).DecRef()
      bazel-out/k8-fastbuild-ST-fa7f2b6368d1/bin/pkg/sentry/vfs/file_description_refs.go:131 +0x7c
  gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).DecRef()
      pkg/sentry/vfs/file_description.go:161 +0x76
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.Read()
      pkg/sentry/syscalls/linux/vfs2/read_write.go:65 +0x428
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:103 +0x194
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:238 +0xb3
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:198 +0x10e
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:173 +0x213
  gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:254 +0x1286
  gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:95 +0x352

Crashes (65):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/01/30 16:40 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/01/30 16:19 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/01/30 15:38 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.(*connection).Call
2022/01/30 15:30 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/30 15:06 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race-cover DATA RACE in fuse.(*connection).Call
2022/01/30 14:34 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/03 02:24 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/02/02 23:36 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/02/02 19:03 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*connection).Call
2022/02/02 17:24 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*connection).Call
2022/02/02 13:34 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*connection).Call
2022/02/02 13:04 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/02 10:28 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/02 06:47 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/02 02:40 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/02/01 20:39 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/01 18:30 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/02/01 15:11 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/01 12:55 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/02/01 11:36 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/01 09:45 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/02/01 07:20 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/01 04:19 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*connection).Call
2022/02/01 03:05 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/01 03:04 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/02/01 02:58 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/02/01 02:55 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/02/01 02:42 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*connection).Call
2022/02/01 00:29 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 23:09 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 22:05 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 20:44 gvisor 2a3d59997fb9 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 20:44 gvisor 2a3d59997fb9 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 19:44 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/01/31 19:00 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/01/31 18:34 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 18:10 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*connection).Call
2022/01/31 17:59 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 17:49 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 16:43 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 11:35 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 11:13 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 10:36 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 09:34 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 07:09 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 06:29 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 04:43 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/01/31 04:06 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/31 03:49 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/01/31 03:09 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/01/31 02:38 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/01/31 02:36 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*connection).Call
2022/01/30 18:42 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/30 16:52 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
2022/01/30 14:31 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-2-race-cover DATA RACE in fuse.(*connection).Call
2022/01/30 14:21 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race-cover DATA RACE in fuse.(*connection).Call
2022/01/30 14:14 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*connection).Call
2022/01/30 05:11 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*connection).Call
* Struck through repros no longer work on HEAD.