syzbot


DATA RACE in fuse.newFUSEFilesystem

Status: fixed on 2022/08/08 14:03
Fix commit: 32c474d82f65 Allow multiple FUSE filesystems to share a connection.
First crash: 1033d, last: 1025d

Sample crash report:
WARNING: DATA RACE
Write at 0x00c001bac6f0 by goroutine 326:
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.newFUSEFilesystem()
      pkg/sentry/fsimpl/fuse/fusefs.go:278 +0x384
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.FilesystemType.GetFilesystem()
      pkg/sentry/fsimpl/fuse/fusefs.go:236 +0x144a
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*FilesystemType).GetFilesystem()
      <autogenerated>:1 +0xe4
  gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).MountDisconnected()
      pkg/sentry/vfs/mount.go:200 +0x191
  gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).MountAt()
      pkg/sentry/vfs/mount.go:272 +0xd4
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.Mount()
      pkg/sentry/syscalls/linux/vfs2/mount.go:112 +0x5d6
  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 0x00c001bac6f0 by goroutine 264:
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*DeviceFD).filesystemIsInitialized()
      pkg/sentry/fsimpl/fuse/dev.go:125 +0x7d
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*DeviceFD).Read()
      pkg/sentry/fsimpl/fuse/dev.go:141 +0x8e
  gvisor.dev/gvisor/pkg/sentry/vfs.(*FileDescription).Read()
      pkg/sentry/vfs/file_description.go:626 +0x16d
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.read()
      pkg/sentry/syscalls/linux/vfs2/read_write.go:94 +0xed
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.Read()
      pkg/sentry/syscalls/linux/vfs2/read_write.go:63 +0x307
  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 (384):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/02/03 07:22 gvisor a5ce865145c7 4ebb2798 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 07:21 gvisor a5ce865145c7 4ebb2798 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/01/30 15:54 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/01/30 13:13 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/01/30 10:37 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/01/30 08:14 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/01/30 05:36 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/01/29 15:58 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/01/29 12:19 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/01/29 01:31 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/01/29 01:15 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/01/29 00:58 gvisor e98016263b1e 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/01/28 14:38 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/01/28 14:35 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/01/28 14:11 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/01/28 08:44 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/01/28 08:15 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/05 08:39 gvisor 518535de9b0e e13a05ed .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/05 05:56 gvisor 518535de9b0e e13a05ed .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/05 05:54 gvisor 518535de9b0e e13a05ed .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/05 04:34 gvisor 518535de9b0e e13a05ed .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/05 02:45 gvisor 518535de9b0e e13a05ed .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/05 01:13 gvisor 518535de9b0e e13a05ed .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/05 00:01 gvisor 518535de9b0e e13a05ed .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 22:59 gvisor 518535de9b0e e13a05ed .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 20:26 gvisor dce4528a1a95 a3e470b2 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 17:57 gvisor dce4528a1a95 a3e470b2 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 16:46 gvisor dce4528a1a95 a3e470b2 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 16:25 gvisor dce4528a1a95 a3e470b2 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 14:43 gvisor dce4528a1a95 a3e470b2 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 12:33 gvisor dce4528a1a95 a3e470b2 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 11:27 gvisor dce4528a1a95 a3e470b2 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 08:57 gvisor dce4528a1a95 30646bfe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 04:36 gvisor 95d883a92e31 30646bfe .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 03:32 gvisor 95d883a92e31 30646bfe .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 02:26 gvisor 95d883a92e31 30646bfe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 01:58 gvisor 95d883a92e31 30646bfe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/04 00:38 gvisor 95d883a92e31 30646bfe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 22:57 gvisor 95d883a92e31 30646bfe .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 20:54 gvisor 95d883a92e31 30646bfe .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 19:33 gvisor 95d883a92e31 30646bfe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 17:04 gvisor a5ce865145c7 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 16:10 gvisor a5ce865145c7 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 13:50 gvisor a5ce865145c7 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 12:37 gvisor a5ce865145c7 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 11:32 gvisor a5ce865145c7 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 10:25 gvisor a5ce865145c7 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 06:38 gvisor a5ce865145c7 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 04:14 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 02:34 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 01:33 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/03 00:27 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 23:25 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 22:04 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 21:40 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 20:36 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 19:17 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 18:12 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 17:01 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 15:37 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 14:32 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEFilesystem
2022/02/02 13:25 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEFilesystem
* Struck through repros no longer work on HEAD.