syzbot


DATA RACE in fuse.(*DeviceFD).Read

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
Read at 0x00c003be13f0 by goroutine 265:
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*DeviceFD).Read()
      pkg/sentry/fsimpl/fuse/dev.go:134 +0x7d
  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

Previous write at 0x00c003be13f0 by goroutine 283:
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.newFUSEFilesystem()
      pkg/sentry/fsimpl/fuse/fusefs.go:277 +0x331
  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

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