Hello,
syzbot found the following crash on:
HEAD commit: 84f5ad46 Linux 4.14.162
git tree: linux-4.14.y
console output:
https://syzkaller.appspot.com/x/log.txt?x=102e4656e00000
kernel config:
https://syzkaller.appspot.com/x/.config?x=67bcc84091a71c98
dashboard link:
https://syzkaller.appspot.com/bug?extid=b60aa6f86a4198c1258e
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
Unfortunately, I don't have any reproducer for this crash yet.
IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by:
syzbot+b60aa6...@syzkaller.appspotmail.com
netlink: 20 bytes leftover after parsing attributes in process
`syz-executor.4'.
netlink: 32 bytes leftover after parsing attributes in process
`syz-executor.1'.
netlink: 32 bytes leftover after parsing attributes in process
`syz-executor.1'.
============================================
WARNING: possible recursive locking detected
4.14.162-syzkaller #0 Not tainted
kobject: 'loop2' (ffff8880a41bc320): kobject_uevent_env
--------------------------------------------
syz-executor.4/11002 is trying to acquire lock:
(rtnl_mutex){+.+.}, at: [<ffffffff85232b97>] rtnl_lock+0x17/0x20
net/core/rtnetlink.c:72
but task is already holding lock:
kobject: 'loop2' (ffff8880a41bc320): fill_kobj_path: path
= '/devices/virtual/block/loop2'
(rtnl_mutex){+.+.}, at: [<ffffffff8523c0b9>] rtnl_lock
net/core/rtnetlink.c:72 [inline]
(rtnl_mutex){+.+.}, at: [<ffffffff8523c0b9>] rtnetlink_rcv_msg+0x339/0xb70
net/core/rtnetlink.c:4301
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(rtnl_mutex);
lock(rtnl_mutex);
*** DEADLOCK ***
May be due to missing lock nesting notation
1 lock held by syz-executor.4/11002:
#0: (rtnl_mutex){+.+.}, at: [<ffffffff8523c0b9>] rtnl_lock
net/core/rtnetlink.c:72 [inline]
#0: (rtnl_mutex){+.+.}, at: [<ffffffff8523c0b9>]
rtnetlink_rcv_msg+0x339/0xb70 net/core/rtnetlink.c:4301
stack backtrace:
CPU: 1 PID: 11002 Comm: syz-executor.4 Not tainted 4.14.162-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:17 [inline]
dump_stack+0x142/0x197 lib/dump_stack.c:58
print_deadlock_bug kernel/locking/lockdep.c:1796 [inline]
check_deadlock kernel/locking/lockdep.c:1843 [inline]
validate_chain kernel/locking/lockdep.c:2444 [inline]
__lock_acquire.cold+0x2bf/0x8dc kernel/locking/lockdep.c:3487
lock_acquire+0x16f/0x430 kernel/locking/lockdep.c:3994
__mutex_lock_common kernel/locking/mutex.c:756 [inline]
__mutex_lock+0xe8/0x1470 kernel/locking/mutex.c:893
mutex_lock_nested+0x16/0x20 kernel/locking/mutex.c:908
rtnl_lock+0x17/0x20 net/core/rtnetlink.c:72
hsr_dev_destroy+0x1f/0xc0 net/hsr/hsr_device.c:371
register_netdevice+0x7da/0xca0 net/core/dev.c:7721
hsr_dev_finalize+0x582/0x80a net/hsr/hsr_device.c:490
hsr_newlink+0x250/0x340 net/hsr/hsr_netlink.c:72
rtnl_newlink+0xecb/0x1700 net/core/rtnetlink.c:2719
rtnetlink_rcv_msg+0x3da/0xb70 net/core/rtnetlink.c:4306
netlink_rcv_skb+0x14f/0x3c0 net/netlink/af_netlink.c:2432
rtnetlink_rcv+0x1d/0x30 net/core/rtnetlink.c:4318
netlink_unicast_kernel net/netlink/af_netlink.c:1286 [inline]
netlink_unicast+0x44d/0x650 net/netlink/af_netlink.c:1312
netlink_sendmsg+0x7c4/0xc60 net/netlink/af_netlink.c:1877
sock_sendmsg_nosec net/socket.c:646 [inline]
sock_sendmsg+0xce/0x110 net/socket.c:656
___sys_sendmsg+0x70a/0x840 net/socket.c:2062
__sys_sendmsg+0xb9/0x140 net/socket.c:2096
SYSC_sendmsg net/socket.c:2107 [inline]
SyS_sendmsg+0x2d/0x50 net/socket.c:2103
do_syscall_64+0x1e8/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x42/0xb7
RIP: 0033:0x45af49
RSP: 002b:00007f6fd5a38c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 000000000045af49
RDX: 0000000000000000 RSI: 0000000020000080 RDI: 0000000000000003
RBP: 000000000075bfc8 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f6fd5a396d4
R13: 00000000004ca811 R14: 00000000004e39b8 R15: 00000000ffffffff
kobject: 'loop5' (ffff8880a42e6d20): kobject_uevent_env
kobject: 'loop5' (ffff8880a42e6d20): fill_kobj_path: path
= '/devices/virtual/block/loop5'
kobject: 'loop2' (ffff8880a41bc320): kobject_uevent_env
kobject: 'loop2' (ffff8880a41bc320): fill_kobj_path: path
= '/devices/virtual/block/loop2'
kobject: 'loop3' (ffff8880a42503a0): kobject_uevent_env
kobject: 'loop3' (ffff8880a42503a0): fill_kobj_path: path
= '/devices/virtual/block/loop3'
kobject: 'loop2' (ffff8880a41bc320): kobject_uevent_env
kobject: 'loop2' (ffff8880a41bc320): fill_kobj_path: path
= '/devices/virtual/block/loop2'
kobject: 'loop2' (ffff8880a41bc320): kobject_uevent_env
kobject: 'loop2' (ffff8880a41bc320): fill_kobj_path: path
= '/devices/virtual/block/loop2'
kobject: 'loop3' (ffff8880a42503a0): kobject_uevent_env
kobject: 'loop3' (ffff8880a42503a0): fill_kobj_path: path
= '/devices/virtual/block/loop3'
kobject: 'loop1' (ffff8880a41602e0): kobject_uevent_env
kobject: 'loop1' (ffff8880a41602e0): fill_kobj_path: path
= '/devices/virtual/block/loop1'
kobject: 'loop0' (ffff8880a4128260): kobject_uevent_env
kobject: 'loop0' (ffff8880a4128260): fill_kobj_path: path
= '/devices/virtual/block/loop0'
kobject: 'loop5' (ffff8880a42e6d20): kobject_uevent_env
kobject: 'loop5' (ffff8880a42e6d20): fill_kobj_path: path
= '/devices/virtual/block/loop5'