syzbot


DATA RACE in fuse.newFUSEConnection

Status: fixed on 2022/05/03 06:19
Fix commit: 32c474d82f65 Allow multiple FUSE filesystems to share a connection.
First crash: 1033d, last: 1027d

Sample crash report:
WARNING: DATA RACE
Write at 0x00c000784288 by goroutine 278:
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.newFUSEConnection()
      pkg/sentry/fsimpl/fuse/connection.go:205 +0xfc
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.newFUSEFilesystem()
      pkg/sentry/fsimpl/fuse/fusefs.go:258 +0x7c
  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 0x00c000784288 by goroutine 298:
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*connection).callFutureLocked()
      pkg/sentry/fsimpl/fuse/connection.go:316 +0x2b6
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*connection).callFuture()
      pkg/sentry/fsimpl/fuse/connection.go:298 +0x4cf
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*connection).Call()
      pkg/sentry/fsimpl/fuse/connection.go:262 +0xb9
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*inode).newEntry()
      pkg/sentry/fsimpl/fuse/fusefs.go:602 +0x28e
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*inode).NewSymlink()
      pkg/sentry/fsimpl/fuse/fusefs.go:547 +0x111
  gvisor.dev/gvisor/pkg/sentry/fsimpl/kernfs.(*Filesystem).SymlinkAt()
      pkg/sentry/fsimpl/kernfs/filesystem.go:869 +0x40f
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*filesystem).SymlinkAt()
      <autogenerated>:1 +0x84
  gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).SymlinkAt()
      pkg/sentry/vfs/vfs.go:645 +0x15c
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.symlinkat()
      pkg/sentry/syscalls/linux/vfs2/filesystem.go:333 +0x2d5
  gvisor.dev/gvisor/pkg/sentry/syscalls/linux/vfs2.Symlinkat()
      pkg/sentry/syscalls/linux/vfs2/filesystem.go:313 +0x59
  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 (52):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/02/02 05:19 gvisor 5a642df6b326 4ebb2798 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/02/02 04:57 gvisor 5a642df6b326 4ebb2798 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/02/02 04:37 gvisor 5a642df6b326 4ebb2798 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/02/02 01:40 gvisor 5a642df6b326 4ebb2798 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/02 01:10 gvisor 5a642df6b326 4ebb2798 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/02/02 00:30 gvisor 5a642df6b326 4ebb2798 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/31 03:32 gvisor 2a3d59997fb9 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/28 11:12 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/28 10:51 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/28 10:42 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/01/28 10:31 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/28 09:37 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/01/28 08:26 gvisor 2083e858ad8d 495e00c5 .config console log report syz C ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/02 01:16 gvisor 5a642df6b326 4ebb2798 .config console log report syz ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/03 02:01 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/03 00:58 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/02 22:53 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/02/02 20:42 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/02/02 18:15 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/02/02 15:59 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/02 14:20 gvisor bcba5136d0d0 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/02/02 10:02 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/02/02 07:59 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/02 05:07 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/02 02:06 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/01 23:28 gvisor 5a642df6b326 4ebb2798 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/01 16:37 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/01 13:17 gvisor 0f8db423e270 c1c1631d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/02/01 02:41 gvisor 5ef032d4df28 6b7c57fe .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/01/31 18:35 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/01/31 18:14 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/01/31 17:55 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/31 17:43 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/31 17:33 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/31 17:14 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/01/31 17:07 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/01/31 15:30 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/01/31 15:02 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/01/31 12:15 gvisor 2a3d59997fb9 a491ad2d .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/01/31 07:08 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/01/31 06:00 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.newFUSEConnection
2022/01/31 05:20 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/01/31 05:15 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/31 02:12 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/01/31 01:43 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-1-race DATA RACE in fuse.newFUSEConnection
2022/01/31 01:06 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/01/30 14:54 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/01/30 14:36 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race DATA RACE in fuse.newFUSEConnection
2022/01/29 12:07 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-3-race-cover DATA RACE in fuse.newFUSEConnection
* Struck through repros no longer work on HEAD.