syzbot


panic: tmpfs.inode.incLinksLocked() called with no existing links

Status: fixed on 2023/11/17 08:30
Fix commit: 77b137ffd8ec Fix umount not unmounting all the mounts it is supposed to.
First crash: 377d, last: 377d

Sample crash report:
panic: tmpfs.inode.incLinksLocked() called with no existing links

goroutine 189 [running]:
panic({0xfe2ce0?, 0x14229a0?})
	GOROOT/src/runtime/panic.go:1017 +0x3ac fp=0xc0006f3540 sp=0xc0006f3490 pc=0x43a72c
gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*inode).incLinksLocked(...)
	pkg/sentry/fsimpl/tmpfs/tmpfs.go:566
gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*filesystem).MkdirAt.func1(0x1048680?, {0xc0003be402?, 0xc0003be402?})
	pkg/sentry/fsimpl/tmpfs/filesystem.go:306 +0xdc fp=0xc0006f3570 sp=0xc0006f3540 pc=0x89757c
gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*filesystem).doCreateAt(0xc0005c41a0, {0x1442c78, 0xc000548000}, 0xc0003c0000, 0x1, 0xc0006f36d0)
	pkg/sentry/fsimpl/tmpfs/filesystem.go:210 +0x322 fp=0xc0006f36a0 sp=0xc0006f3570 pc=0x896582
gvisor.dev/gvisor/pkg/sentry/fsimpl/tmpfs.(*filesystem).MkdirAt(0xc000386558?, {0x1442c78?, 0xc000548000?}, 0xc0003c0000?, {0x4400?, 0x75?})
	pkg/sentry/fsimpl/tmpfs/filesystem.go:301 +0x65 fp=0xc0006f3700 sp=0xc0006f36a0 pc=0x897445
gvisor.dev/gvisor/pkg/sentry/vfs.(*VirtualFilesystem).MkdirAt(0xc00076a000?, {0x1442c78, 0xc000548000}, 0xc0003eb800?, 0xc0003be400?, 0xc0006f37f4)
	pkg/sentry/vfs/vfs.go:372 +0x122 fp=0xc0006f3760 sp=0xc0006f3700 pc=0x76bb22
gvisor.dev/gvisor/pkg/sentry/syscalls/linux.mkdirat(0xc000548000, 0xd8?, 0xc0006f3978?, 0x1ff)
	pkg/sentry/syscalls/linux/sys_file.go:943 +0x21f fp=0xc0006f38e8 sp=0xc0006f3760 pc=0xac6a3f
gvisor.dev/gvisor/pkg/sentry/syscalls/linux.Mkdir(0x0?, 0x0?, {{0x20000300}, {0x1ff}, {0xe09d11fd2937c1be}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/syscalls/linux/sys_file.go:922 +0x25 fp=0xc0006f3918 sp=0xc0006f38e8 pc=0xac6785
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc000548000, 0x53, {{0x20000300}, {0x1ff}, {0xe09d11fd2937c1be}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/kernel/task_syscall.go:142 +0x673 fp=0xc0006f3c58 sp=0xc0006f3918 pc=0x992c13
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc000548000, 0xc0006ba308?, {{0x20000300}, {0x1ff}, {0xe09d11fd2937c1be}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/kernel/task_syscall.go:322 +0x45 fp=0xc0006f3cb8 sp=0xc0006f3c58 pc=0x993d85
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc00038e000?, 0xc00038e000?, {{0x20000300}, {0x1ff}, {0xe09d11fd2937c1be}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/kernel/task_syscall.go:282 +0x59 fp=0xc0006f3d18 sp=0xc0006f3cb8 pc=0x993a99
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc00099c340?)
	pkg/sentry/kernel/task_syscall.go:257 +0x2d5 fp=0xc0006f3e10 sp=0xc0006f3d18 pc=0x993835
gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc0005a6280?, 0xc000548000)
	pkg/sentry/kernel/task_run.go:269 +0xfb7 fp=0xc0006f3f48 sp=0xc0006f3e10 pc=0x987b17
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc000548000, 0xf)
	pkg/sentry/kernel/task_run.go:98 +0x1ef fp=0xc0006f3fc0 sp=0xc0006f3f48 pc=0x9864af
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start.func1()
	pkg/sentry/kernel/task_start.go:391 +0x25 fp=0xc0006f3fe0 sp=0xc0006f3fc0 pc=0x991525
runtime.goexit()
	src/runtime/asm_amd64.s:1650 +0x1 fp=0xc0006f3fe8 sp=0xc0006f3fe0 pc=0x471241
created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 156
	pkg/sentry/kernel/task_start.go:391 +0xe5

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/11/15 13:51 gvisor 3ab01aedb874 cb976f63 console log report syz C ci-gvisor-ptrace-3 panic: tmpfs.inode.incLinksLocked() called with no existing links
* Struck through repros no longer work on HEAD.