syzbot


panic: nested locking: stack.bridgeRWMutex:

Status: fixed on 2024/09/28 11:26
Reported-by: syzbot+9dcefbdcc9ecdeb4df96@syzkaller.appspotmail.com
Fix commit: 5e8dd6482cb7 Disallow setting a coordinator for a coordinator device.
First crash: 71d, last: 71d

Sample crash report:
panic: nested locking: stack.bridgeRWMutex:
goroutine 1293 [running]:
gvisor.dev/gvisor/pkg/tcpip/stack.(*bridgeRWMutex).Lock(0xc0006cc3c0)
	bazel-out/aarch64-fastbuild/bin/pkg/tcpip/stack/bridge_mutex.go:31 +0x40
gvisor.dev/gvisor/pkg/tcpip/stack.(*BridgeEndpoint).Attach(0xc0006cc3c0, {0x1cd2760, 0xc002b3db90})
	pkg/tcpip/stack/bridge.go:194 +0x40
gvisor.dev/gvisor/pkg/tcpip/stack.(*BridgeEndpoint).AddNIC(0xc0006cc3c0, 0xc000c8c908)
	pkg/tcpip/stack/bridge.go:131 +0x134
gvisor.dev/gvisor/pkg/tcpip/stack.(*Stack).SetNICCoordinator(0xc000649808, 0x3, 0x3)
	pkg/tcpip/stack/stack.go:1061 +0x20c
gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*Stack).setLink(0xc001129110, {0x1ce9208, 0xc002bca008}, 0x3, 0xc002f33bf0)
	pkg/sentry/socket/netstack/stack.go:212 +0x4e8
gvisor.dev/gvisor/pkg/sentry/socket/netstack.(*Stack).SetInterface(0xc001129110, {0x1ce9208, 0xc002bca008}, 0xc002f33b90)
	pkg/sentry/socket/netstack/stack.go:176 +0x574
gvisor.dev/gvisor/pkg/sentry/socket/netlink/route.(*Protocol).newLink(0x1ce9208?, {0x1ce9208, 0xc002bca008}, 0xc002bd1260, 0xc002f33b90, 0x30?)
	pkg/sentry/socket/netlink/route/protocol.go:173 +0x80
gvisor.dev/gvisor/pkg/sentry/socket/netlink/route.(*Protocol).ProcessMessage(0x389dfa0, {0x1ce9208, 0xc002bca008}, 0xc002bd1260, 0xc002f33b90, 0xc002f33bc0)
	pkg/sentry/socket/netlink/route/protocol.go:626 +0x220
gvisor.dev/gvisor/pkg/sentry/socket/netlink.(*Socket).processMessages(0xc002bd1260, {0x1ce9208, 0xc002bca008}, {0xc000f86600, 0x28, 0x28})
	pkg/sentry/socket/netlink/socket.go:758 +0x180
gvisor.dev/gvisor/pkg/sentry/socket/netlink.(*Socket).sendMsg(0xc002bd1260, {0x1ce9208, 0xc002bca008}, {{0x1ce1040, 0xc003c72008}, {0x0, 0x1, 0x20000000, 0x28}, {_, ...}}, ...)
	pkg/sentry/socket/netlink/socket.go:818 +0x2a8
gvisor.dev/gvisor/pkg/sentry/socket/netlink.(*Socket).SendMsg(0xc002bd1260, 0xc002bca008, {{0x1ce1040, 0xc003c72008}, {0x0, 0x1, 0x20000000, 0x28}, {0x0, 0x1}}, ...)
	pkg/sentry/socket/netlink/socket.go:827 +0xf4
gvisor.dev/gvisor/pkg/sentry/syscalls/linux.sendSingleMsg(0xc002bca008, {0xfffecc4c4438, 0xc002bd1260}, 0xc002bd1260, 0x200006c0, 0x0)
	pkg/sentry/syscalls/linux/sys_socket.go:1111 +0x45c
gvisor.dev/gvisor/pkg/sentry/syscalls/linux.SendMsg(0xc002bca008, 0xc00007ea08?, {{0x4}, {0x200006c0}, {0x0}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/syscalls/linux/sys_socket.go:985 +0x2a4
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).executeSyscall(0xc002bca008, 0xd3, {{0x4}, {0x200006c0}, {0x0}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/kernel/task_syscall.go:143 +0x6c0
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallInvoke(0xc002bca008, 0xd3, {{0x4}, {0x200006c0}, {0x0}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/kernel/task_syscall.go:323 +0x50
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscallEnter(0xc002bca008, 0xd3, {{0x4}, {0x200006c0}, {0x0}, {0x0}, {0x0}, {0x0}})
	pkg/sentry/kernel/task_syscall.go:283 +0x78
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).doSyscall(0xc002bca008)
	pkg/sentry/kernel/task_syscall.go:258 +0x3c0
gvisor.dev/gvisor/pkg/sentry/kernel.(*runApp).execute(0xc002bca008?, 0xc002bca008)
	pkg/sentry/kernel/task_run.go:270 +0x15f0
gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).run(0xc002bca008, 0x1fe)
	pkg/sentry/kernel/task_run.go:98 +0x340
created by gvisor.dev/gvisor/pkg/sentry/kernel.(*Task).Start in goroutine 2246
	pkg/sentry/kernel/task_start.go:400 +0x13c

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/09/15 23:20 gvisor 6b81c5821b6a 08d8a733 .config console log report info ci-gvisor-arm64-ptrace-1-race panic: nested locking: stack.bridgeRWMutex:
2024/09/15 23:19 gvisor 6b81c5821b6a 08d8a733 .config console log report info ci-gvisor-arm64-ptrace-1-race panic: nested locking: stack.bridgeRWMutex:
* Struck through repros no longer work on HEAD.