syzbot


DATA RACE in fuse.(*connection).callFuture

Status: fixed on 2022/02/03 04:49
Fix commit: a5ce865145c7 fuse: Attempt to fix five data races.
First crash: 839d, last: 839d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
gvisor DATA RACE in fuse.(*connection).callFuture (2) 3 834d 835d 14/26 fixed on 2022/02/05 11:11

Sample crash report:
WARNING: DATA RACE
Read at 0x00c0029081f0 by goroutine 888:
  gvisor.dev/gvisor/pkg/sentry/fsimpl/fuse.(*connection).callFuture()
      pkg/sentry/fsimpl/fuse/connection.go:287 +0x169
  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).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
D0131 02:40:15.323358  666094 task_signals.go:468] [  11:  34] Notified of signal 23
D0131 02:40:15.323649  666094 task_signals.go:221] [  11:  11] Signal 23: delivering to handler
  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 0x00c0029081f0 by goroutine 1134:
  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 (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/01/31 02:40 gvisor 2a3d59997fb9 495e00c5 .config console log report info ci-gvisor-ptrace-2-race DATA RACE in fuse.(*connection).callFuture
* Struck through repros no longer work on HEAD.