syzbot


DATA RACE in fs.Rename

Status: fixed on 2018/07/04 07:42
Fix commit: 2821dfe6ce95 Hold d.parent.mu when reading d.name
First crash: 2347d, last: 2337d
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
gvisor DATA RACE in fs.Rename (3) 1 1775d 1775d 0/26 fixed on 2020/01/18 20:38
gvisor DATA RACE in fs.Rename (4) syz 2 1591d 1584d 0/26 moderation: reported syz repro on 2020/07/25 18:04
gvisor DATA RACE in fs.Rename (2) C 433 2061d 2083d 0/26 fixed on 2019/12/06 21:56

Sample crash report:
WARNING: DATA RACE
Write at 0x00c4202b6d60 by goroutine 125:
  gvisor.googlesource.com/gvisor/pkg/sentry/fs.Rename()
      pkg/sentry/fs/dirent.go:1572 +0x42c
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.renameAt.func1.1()
      pkg/sentry/syscalls/linux/sys_file.go:1825 +0x18d
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.fileOpAt()
      pkg/sentry/syscalls/linux/sys_file.go:51 +0x271
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.renameAt.func1()
      pkg/sentry/syscalls/linux/sys_file.go:1814 +0x20a
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.fileOpAt()
      pkg/sentry/syscalls/linux/sys_file.go:51 +0x271
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.renameAt()
      pkg/sentry/syscalls/linux/sys_file.go:1799 +0x1ef
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.Rename()
      pkg/sentry/syscalls/linux/sys_file.go:1834 +0x60
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:162 +0x14e
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:278 +0x7d
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:241 +0xc3
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:216 +0x19c
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:217 +0x157c
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:95 +0x264

Previous read at 0x00c4202b6d60 by goroutine 122:
  gvisor.googlesource.com/gvisor/pkg/sentry/fs.(*Dirent).InotifyEvent()
      pkg/sentry/fs/dirent.go:1345 +0x1b6
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.createAt.func1()
      pkg/sentry/syscalls/linux/sys_file.go:370 +0x606
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.fileOpAt()
      pkg/sentry/syscalls/linux/sys_file.go:51 +0x271
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.createAt()
      pkg/sentry/syscalls/linux/sys_file.go:298 +0x1dd
  gvisor.googlesource.com/gvisor/pkg/sentry/syscalls/linux.Creat()
      pkg/sentry/syscalls/linux/sys_file.go:408 +0x61
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).executeSyscall()
      pkg/sentry/kernel/task_syscall.go:162 +0x14e
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke()
      pkg/sentry/kernel/task_syscall.go:278 +0x7d
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter()
      pkg/sentry/kernel/task_syscall.go:241 +0xc3
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).doSyscall()
      pkg/sentry/kernel/task_syscall.go:216 +0x19c
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*runApp).execute()
      pkg/sentry/kernel/task_run.go:217 +0x157c
  gvisor.googlesource.com/gvisor/pkg/sentry/kernel.(*Task).run()
      pkg/sentry/kernel/task_run.go:95 +0x264

Crashes (16):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/06/28 11:00 https://github.com/dvyukov/gvisor.git race 35a840ad3ceb dba0b50e .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/06/24 10:53 https://github.com/dvyukov/gvisor.git race 60dbbdc2d54b 2064fc5c .config console log report syz C ci-gvisor-ptrace-proxy-sandbox-race
2018/07/03 18:20 https://github.com/dvyukov/gvisor.git race 082553a8233a b9f93868 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/03 16:10 https://github.com/dvyukov/gvisor.git race 082553a8233a b9f93868 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/07/02 05:00 https://github.com/dvyukov/gvisor.git race 082553a8233a 664ef9a3 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/30 13:11 https://github.com/dvyukov/gvisor.git race 082553a8233a 5739f7be .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/30 10:03 https://github.com/dvyukov/gvisor.git race 082553a8233a 5739f7be .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/28 17:24 https://github.com/dvyukov/gvisor.git race 35a840ad3ceb dba0b50e .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/28 12:02 https://github.com/dvyukov/gvisor.git race 35a840ad3ceb dba0b50e .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/27 07:53 https://github.com/dvyukov/gvisor.git race fb36f579ec12 b0294c53 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/27 07:37 https://github.com/dvyukov/gvisor.git race fb36f579ec12 b0294c53 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/27 06:08 https://github.com/dvyukov/gvisor.git race fb36f579ec12 b0294c53 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/26 17:48 https://github.com/dvyukov/gvisor.git race fb36f579ec12 089f1181 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/26 14:24 https://github.com/dvyukov/gvisor.git race fb36f579ec12 089f1181 .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/25 17:56 https://github.com/dvyukov/gvisor.git race 60dbbdc2d54b 2064fc5c .config console log report ci-gvisor-ptrace-proxy-sandbox-race
2018/06/24 10:46 https://github.com/dvyukov/gvisor.git race 60dbbdc2d54b 2064fc5c .config console log report ci-gvisor-ptrace-proxy-sandbox-race
* Struck through repros no longer work on HEAD.