syzbot


DATA RACE in fuse.(*DeviceFD).Release

Status: fixed on 2022/02/03 04:49
Fix commit: a5ce865145c7 fuse: Attempt to fix five data races.
First crash: 1032d, last: 1027d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
gvisor DATA RACE in fuse.(*DeviceFD).Release (2) 2 1025d 1025d 0/26 auto-closed as invalid on 2022/05/06 05:46

Sample crash report:
WARNING: DATA RACE
Write at 0x00c00031f0a8 by goroutine 696:
  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.Close()
      pkg/sentry/syscalls/linux/vfs2/fd.go:44 +0x24d
  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 read at 0x00c00031f0a8 by goroutine 677:
  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).getAttr()
      pkg/sentry/fsimpl/fuse/fusefs.go:741 +0x376
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*inode).Stat()
      pkg/sentry/fsimpl/fuse/fusefs.go:786 +0xd1
  gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*Filesystem).StatAt()
      pkg/sentry/fsimpl/kernfs/filesystem.go:828 +0x251
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*filesystem).StatAt()
      <autogenerated>:1 +0xc4
  gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).StatAt()
      pkg/sentry/vfs/vfs.go:599 +0x1a1
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.fstatat()
      pkg/sentry/syscalls/linux/vfs2/stat.go:104 +0x352
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.Newfstatat()
      pkg/sentry/syscalls/linux/vfs2/stat.go:50 +0x64
  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 (404):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/01/29 06:12 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/29 06:01 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/29 05:59 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/29 01:55 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/29 01:51 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/29 01:35 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/29 01:16 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/29 01:16 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/03 04:11 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/03 03:11 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/03 03:00 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/03 01:56 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 20:43 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 15:46 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 14:37 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 13:13 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 12:42 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 11:42 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 11:38 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 09:02 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 07:19 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 04:59 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 03:28 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 03:06 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/02 00:07 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 22:51 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 22:46 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 21:42 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 21:31 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 20:14 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 18:58 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 17:26 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 12:58 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 11:10 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 09:56 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 08:21 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 06:52 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 05:52 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 04:36 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 03:14 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 02:30 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/02/01 00:47 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 23:23 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 22:20 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 22:12 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 21:11 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 19:59 gvisor 2a3d59997fb9 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 19:38 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 18:25 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 17:24 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 16:12 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 14:38 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/31 09:30 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.(*DeviceFD).Release
2022/01/30 14:31 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-1-race-cover DATA RACE in fuse.(*DeviceFD).Release
* Struck through repros no longer work on HEAD.