syzbot


possible deadlock in rtnl_lock

Status: public: reported C repro on 2019/04/12 00:00
Reported-by: syzbot+04569264849a46d38f69@syzkaller.appspotmail.com
First crash: 2276d, last: 1648d
Similar bugs (9)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream possible deadlock in rtnl_lock (5) net C 1009 2193d 2222d 5/26 fixed on 2018/05/08 18:30
upstream possible deadlock in rtnl_lock (3) net C 3633 2270d 2271d 4/26 fixed on 2018/02/07 13:48
linux-4.19 possible deadlock in rtnl_lock C error 31 1322d 1572d 0/1 upstream: reported C repro on 2020/01/06 01:18
upstream possible deadlock in rtnl_lock (4) net C 73333 2253d 2269d 4/26 fixed on 2018/02/26 20:04
upstream possible deadlock in rtnl_lock (6) net C done error 551 1511d 1753d 0/26 auto-obsoleted due to no activity on 2022/12/21 11:47
android-49 possible deadlock in rtnl_lock C 2906 2071d 2223d 0/3 closed as invalid on 2019/04/05 05:43
upstream possible deadlock in rtnl_lock net C 15711 2276d 2333d 4/26 fixed on 2018/02/01 04:00
upstream possible deadlock in rtnl_lock (2) net C 10369 2272d 2276d 4/26 fixed on 2018/02/04 23:45
linux-4.14 possible deadlock in rtnl_lock C inconclusive 312 1431d 1572d 0/1 upstream: reported C repro on 2020/01/06 01:45

Sample crash report:
======================================================
[ INFO: possible circular locking dependency detected ]
4.4.174+ #4 Not tainted
-------------------------------------------------------
syz-executor971/2096 is trying to acquire lock:
 (rtnl_mutex){+.+.+.}, at: [<ffffffff8226e537>] rtnl_lock+0x17/0x20 net/core/rtnetlink.c:70

but task is already holding lock:
 (sk_lock-AF_INET6){+.+.+.}, at: [<ffffffff825fd4aa>] lock_sock include/net/sock.h:1497 [inline]
 (sk_lock-AF_INET6){+.+.+.}, at: [<ffffffff825fd4aa>] do_ipv6_setsockopt.isra.0+0x28a/0x30c0 net/ipv6/ipv6_sockglue.c:166

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

       [<ffffffff81205f6e>] lock_acquire+0x15e/0x450 kernel/locking/lockdep.c:3592
       [<ffffffff821e4f06>] lock_sock_nested+0xc6/0x120 net/core/sock.c:2463
       [<ffffffff826000da>] lock_sock include/net/sock.h:1497 [inline]
       [<ffffffff826000da>] do_ipv6_setsockopt.isra.0+0x2eba/0x30c0 net/ipv6/ipv6_sockglue.c:166
       [<ffffffff826003ba>] ipv6_setsockopt+0xda/0x140 net/ipv6/ipv6_sockglue.c:904
       [<ffffffff823f782a>] tcp_setsockopt net/ipv4/tcp.c:2643 [inline]
       [<ffffffff823f782a>] tcp_setsockopt+0x8a/0xe0 net/ipv4/tcp.c:2637
       [<ffffffff821def2a>] sock_common_setsockopt+0x9a/0xe0 net/core/sock.c:2663
       [<ffffffff821dcb59>] SYSC_setsockopt net/socket.c:1780 [inline]
       [<ffffffff821dcb59>] SyS_setsockopt+0x159/0x240 net/socket.c:1759
       [<ffffffff82718ba1>] entry_SYSCALL_64_fastpath+0x1e/0x9a

       [<ffffffff81202d86>] check_prev_add kernel/locking/lockdep.c:1853 [inline]
       [<ffffffff81202d86>] check_prevs_add kernel/locking/lockdep.c:1958 [inline]
       [<ffffffff81202d86>] validate_chain kernel/locking/lockdep.c:2144 [inline]
       [<ffffffff81202d86>] __lock_acquire+0x37d6/0x4f50 kernel/locking/lockdep.c:3213
       [<ffffffff81205f6e>] lock_acquire+0x15e/0x450 kernel/locking/lockdep.c:3592
       [<ffffffff8270c191>] __mutex_lock_common kernel/locking/mutex.c:521 [inline]
       [<ffffffff8270c191>] mutex_lock_nested+0xc1/0xb80 kernel/locking/mutex.c:621
       [<ffffffff8226e537>] rtnl_lock+0x17/0x20 net/core/rtnetlink.c:70
       [<ffffffff826369ee>] ipv6_sock_mc_close+0x10e/0x350 net/ipv6/mcast.c:288
       [<ffffffff825fedf1>] do_ipv6_setsockopt.isra.0+0x1bd1/0x30c0 net/ipv6/ipv6_sockglue.c:202
       [<ffffffff826003ba>] ipv6_setsockopt+0xda/0x140 net/ipv6/ipv6_sockglue.c:904
       [<ffffffff823f782a>] tcp_setsockopt net/ipv4/tcp.c:2643 [inline]
       [<ffffffff823f782a>] tcp_setsockopt+0x8a/0xe0 net/ipv4/tcp.c:2637
       [<ffffffff821def2a>] sock_common_setsockopt+0x9a/0xe0 net/core/sock.c:2663
       [<ffffffff821dcb59>] SYSC_setsockopt net/socket.c:1780 [inline]
       [<ffffffff821dcb59>] SyS_setsockopt+0x159/0x240 net/socket.c:1759
       [<ffffffff82718ba1>] entry_SYSCALL_64_fastpath+0x1e/0x9a

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(sk_lock-AF_INET6);
                               lock(rtnl_mutex);
                               lock(sk_lock-AF_INET6);
  lock(rtnl_mutex);

 *** DEADLOCK ***

1 lock held by syz-executor971/2096:
 #0:  (sk_lock-AF_INET6){+.+.+.}, at: [<ffffffff825fd4aa>] lock_sock include/net/sock.h:1497 [inline]
 #0:  (sk_lock-AF_INET6){+.+.+.}, at: [<ffffffff825fd4aa>] do_ipv6_setsockopt.isra.0+0x28a/0x30c0 net/ipv6/ipv6_sockglue.c:166

stack backtrace:
CPU: 0 PID: 2096 Comm: syz-executor971 Not tainted 4.4.174+ #4
 0000000000000000 f70e933b7c74fc82 ffff8801cf3b75b0 ffffffff81aad1a1
 ffffffff84057a80 ffff8801d521c740 ffffffff83a8db50 ffffffff83acc5b0
 ffffffff83a8db50 ffff8801cf3b7600 ffffffff813abcda ffff8801cf3b76e0
Call Trace:
 [<ffffffff81aad1a1>] __dump_stack lib/dump_stack.c:15 [inline]
 [<ffffffff81aad1a1>] dump_stack+0xc1/0x120 lib/dump_stack.c:51
 [<ffffffff813abcda>] print_circular_bug.cold+0x2f7/0x44e kernel/locking/lockdep.c:1226
 [<ffffffff81202d86>] check_prev_add kernel/locking/lockdep.c:1853 [inline]
 [<ffffffff81202d86>] check_prevs_add kernel/locking/lockdep.c:1958 [inline]
 [<ffffffff81202d86>] validate_chain kernel/locking/lockdep.c:2144 [inline]
 [<ffffffff81202d86>] __lock_acquire+0x37d6/0x4f50 kernel/locking/lockdep.c:3213
 [<ffffffff81205f6e>] lock_acquire+0x15e/0x450 kernel/locking/lockdep.c:3592
 [<ffffffff8270c191>] __mutex_lock_common kernel/locking/mutex.c:521 [inline]
 [<ffffffff8270c191>] mutex_lock_nested+0xc1/0xb80 kernel/locking/mutex.c:621
 [<ffffffff8226e537>] rtnl_lock+0x17/0x20 net/core/rtnetlink.c:70
 [<ffffffff826369ee>] ipv6_sock_mc_close+0x10e/0x350 net/ipv6/mcast.c:288
 [<ffffffff825fedf1>] do_ipv6_setsockopt.isra.0+0x1bd1/0x30c0 net/ipv6/ipv6_sockglue.c:202
 [<ffffffff826003ba>] ipv6_setsockopt+0xda/0x140 net/ipv6/ipv6_sockglue.c:904
 [<ffffffff823f782a>] tcp_setsockopt net/ipv4/tcp.c:2643 [inline]
 [<ffffffff823f782a>] tcp_setsockopt+0x8a/0xe0 net/ipv4/tcp.c:2637
 [<ffffffff821def2a>] sock_common_setsockopt+0x9a/0xe0 net/core/sock.c:2663
 [<ffffffff821dcb59>] SYSC_setsockopt net/socket.c:1780 [inline]
 [<ffffffff821dcb59>] SyS_setsockopt+0x159/0x240 net/socket.c:1759

Crashes (4676):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/04/07 18:16 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b c34fde03 .config console log report syz C ci-android-44-kasan-gce
2019/03/11 16:42 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 12365b99 .config console log report syz C ci-android-44-kasan-gce
2019/03/09 20:15 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 12365b99 .config console log report syz C ci-android-44-kasan-gce
2019/03/08 22:32 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 12365b99 .config console log report syz C ci-android-44-kasan-gce
2019/03/08 06:43 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 4b69c3cb .config console log report syz C ci-android-44-kasan-gce
2018/11/09 07:14 https://android.googlesource.com/kernel/common android-4.4 64102d341c13 8fd01d3a .config console log report syz C ci-android-44-kasan-gce
2018/10/29 10:25 https://android.googlesource.com/kernel/common android-4.4 c4b00eb70496 9ca2afa1 .config console log report syz C ci-android-44-kasan-gce
2018/10/26 08:31 https://android.googlesource.com/kernel/common android-4.4 c4b00eb70496 a8292de9 .config console log report syz C ci-android-44-kasan-gce
2018/10/15 18:39 https://android.googlesource.com/kernel/common android-4.4 8e7f196597f3 8cd30605 .config console log report syz C ci-android-44-kasan-gce
2018/10/10 18:20 https://android.googlesource.com/kernel/common android-4.4 ea3a6005d280 5b11ac2c .config console log report syz C ci-android-44-kasan-gce
2018/07/23 00:46 https://android.googlesource.com/kernel/common android-4.4 1b37d68f4c82 8cc079c3 .config console log report syz C ci-android-44-kasan-gce
2018/05/01 09:15 https://android.googlesource.com/kernel/common android-4.4 12ef385f51fe d5b114b4 .config console log report syz C ci-android-44-kasan-gce
2018/04/28 14:57 https://android.googlesource.com/kernel/common android-4.4 23eaecc37dfb d5a5d045 .config console log report syz C ci-android-44-kasan-gce
2018/04/26 20:58 https://android.googlesource.com/kernel/common android-4.4 bd23e3af1765 73417389 .config console log report syz C ci-android-44-kasan-gce
2018/04/25 22:21 https://android.googlesource.com/kernel/common android-4.4 bd23e3af1765 73417389 .config console log report syz C ci-android-44-kasan-gce
2018/04/25 19:16 https://android.googlesource.com/kernel/common android-4.4 bd23e3af1765 73417389 .config console log report syz C ci-android-44-kasan-gce
2018/04/24 19:37 https://android.googlesource.com/kernel/common android-4.4 bd23e3af1765 37e76fe2 .config console log report syz C ci-android-44-kasan-gce
2018/02/27 16:04 https://android.googlesource.com/kernel/common android-4.4 239a415f39e0 05b5a32c .config console log report syz C ci-android-44-kasan-gce
2019/04/07 18:16 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b c34fde03 .config console log report syz C ci-android-44-kasan-gce-386
2019/03/11 16:42 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 12365b99 .config console log report syz C ci-android-44-kasan-gce-386
2019/03/09 20:15 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 12365b99 .config console log report syz C ci-android-44-kasan-gce-386
2019/03/08 22:32 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 12365b99 .config console log report syz C ci-android-44-kasan-gce-386
2019/03/08 06:45 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 4b69c3cb .config console log report syz C ci-android-44-kasan-gce-386
2018/11/12 00:25 https://android.googlesource.com/kernel/common android-4.4 0ca3fcabdc05 7b5f8621 .config console log report syz C ci-android-44-kasan-gce-386
2018/11/09 07:34 https://android.googlesource.com/kernel/common android-4.4 64102d341c13 8fd01d3a .config console log report syz C ci-android-44-kasan-gce-386
2018/10/30 15:57 https://android.googlesource.com/kernel/common android-4.4 c4b00eb70496 8dbb755a .config console log report syz C ci-android-44-kasan-gce-386
2018/10/29 10:48 https://android.googlesource.com/kernel/common android-4.4 c4b00eb70496 9ca2afa1 .config console log report syz C ci-android-44-kasan-gce-386
2018/10/26 08:50 https://android.googlesource.com/kernel/common android-4.4 c4b00eb70496 a8292de9 .config console log report syz C ci-android-44-kasan-gce-386
2018/10/15 18:22 https://android.googlesource.com/kernel/common android-4.4 8e7f196597f3 8cd30605 .config console log report syz C ci-android-44-kasan-gce-386
2018/10/10 18:21 https://android.googlesource.com/kernel/common android-4.4 ea3a6005d280 5b11ac2c .config console log report syz C ci-android-44-kasan-gce-386
2018/05/02 17:10 https://android.googlesource.com/kernel/common android-4.4 ed11d8f2a0d0 d5b114b4 .config console log report syz ci-android-44-kasan-gce
2018/04/28 15:57 https://android.googlesource.com/kernel/common android-4.4 23eaecc37dfb d5a5d045 .config console log report syz ci-android-44-kasan-gce
2018/04/25 20:32 https://android.googlesource.com/kernel/common android-4.4 bd23e3af1765 73417389 .config console log report syz ci-android-44-kasan-gce
2018/07/23 00:28 https://android.googlesource.com/kernel/common android-4.4 1b37d68f4c82 8cc079c3 .config console log report syz ci-android-44-kasan-gce-386
2018/05/01 08:59 https://android.googlesource.com/kernel/common android-4.4 12ef385f51fe d5b114b4 .config console log report syz ci-android-44-kasan-gce-386
2018/04/23 04:55 https://android.googlesource.com/kernel/common android-4.4 38f41ec1cb31 d23fcf6c .config console log report syz ci-android-44-kasan-gce-386
2018/04/20 13:56 https://android.googlesource.com/kernel/common android-4.4 38f41ec1cb31 cc402841 .config console log report syz ci-android-44-kasan-gce-386
2018/04/18 21:42 https://android.googlesource.com/kernel/common android-4.4 38f41ec1cb31 829f0234 .config console log report syz ci-android-44-kasan-gce-386
2018/04/14 18:27 https://android.googlesource.com/kernel/common android-4.4 38f41ec1cb31 7a67784c .config console log report syz ci-android-44-kasan-gce-386
2018/04/14 07:44 https://android.googlesource.com/kernel/common android-4.4 38f41ec1cb31 7a67784c .config console log report syz ci-android-44-kasan-gce-386
2018/04/11 05:49 https://android.googlesource.com/kernel/common android-4.4 38f41ec1cb31 8b8de427 .config console log report syz ci-android-44-kasan-gce-386
2019/09/01 20:56 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b bad3cce2 .config console log report ci-android-44-kasan-gce
2019/08/27 19:36 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b d21c5d9d .config console log report ci-android-44-kasan-gce
2019/07/30 10:16 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b f28bf2a5 .config console log report ci-android-44-kasan-gce
2019/07/24 09:22 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b de453f34 .config console log report ci-android-44-kasan-gce
2019/06/09 09:27 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 0159583c .config console log report ci-android-44-kasan-gce
2019/06/07 19:28 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b ce9107d0 .config console log report ci-android-44-kasan-gce
2019/04/24 15:38 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 8e3c52b1 .config console log report ci-android-44-kasan-gce
2019/04/17 14:18 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b b0e8efcb .config console log report ci-android-44-kasan-gce
2019/04/16 16:01 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 505ab413 .config console log report ci-android-44-kasan-gce
2019/04/16 06:27 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 505ab413 .config console log report ci-android-44-kasan-gce
2019/04/06 18:11 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b c34fde03 .config console log report ci-android-44-kasan-gce
2019/04/03 11:13 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b dfd3394d .config console log report ci-android-44-kasan-gce
2019/03/08 04:54 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 4b69c3cb .config console log report ci-android-44-kasan-gce
2019/03/06 10:11 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 05cf83bf .config console log report ci-android-44-kasan-gce
2019/03/03 15:51 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 1c0e457a .config console log report ci-android-44-kasan-gce
2019/10/21 21:59 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b b24d2b8a .config console log report ci-android-44-kasan-gce-386
2019/08/12 00:11 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b acb51638 .config console log report ci-android-44-kasan-gce-386
2019/07/28 23:26 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b c85e1c5b .config console log report ci-android-44-kasan-gce-386
2019/07/24 20:38 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 32329ceb .config console log report ci-android-44-kasan-gce-386
2019/07/21 11:23 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 1656845f .config console log report ci-android-44-kasan-gce-386
2019/06/30 16:03 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 7509bf36 .config console log report ci-android-44-kasan-gce-386
2019/06/28 06:14 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 7509bf36 .config console log report ci-android-44-kasan-gce-386
2019/06/20 09:13 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 34bf9440 .config console log report ci-android-44-kasan-gce-386
2019/06/11 23:54 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b ea2f4006 .config console log report ci-android-44-kasan-gce-386
2019/06/08 21:51 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 0159583c .config console log report ci-android-44-kasan-gce-386
2019/05/25 06:30 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 85c57315 .config console log report ci-android-44-kasan-gce-386
2019/05/24 14:18 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 0dadcd9d .config console log report ci-android-44-kasan-gce-386
2019/05/19 02:08 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 5a4461b0 .config console log report ci-android-44-kasan-gce-386
2019/05/08 09:15 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b a7383bfa .config console log report ci-android-44-kasan-gce-386
2019/05/02 10:34 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 7516d9fa .config console log report ci-android-44-kasan-gce-386
2019/04/29 03:46 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b b617407b .config console log report ci-android-44-kasan-gce-386
2019/04/18 07:00 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b b0e8efcb .config console log report ci-android-44-kasan-gce-386
2019/04/16 10:39 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 505ab413 .config console log report ci-android-44-kasan-gce-386
2019/04/08 07:11 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b c34fde03 .config console log report ci-android-44-kasan-gce-386
2019/04/06 18:13 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b c34fde03 .config console log report ci-android-44-kasan-gce-386
2019/03/31 15:01 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 0c624d4d .config console log report ci-android-44-kasan-gce-386
2019/03/26 18:58 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 55684ce1 .config console log report ci-android-44-kasan-gce-386
2019/03/22 01:20 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b dce6e62f .config console log report ci-android-44-kasan-gce-386
2019/03/16 07:25 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b bab43553 .config console log report ci-android-44-kasan-gce-386
2019/03/11 21:30 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 12365b99 .config console log report ci-android-44-kasan-gce-386
2019/03/11 15:43 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 12365b99 .config console log report ci-android-44-kasan-gce-386
2019/03/09 02:03 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 12365b99 .config console log report ci-android-44-kasan-gce-386
2019/03/08 04:54 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 4b69c3cb .config console log report ci-android-44-kasan-gce-386
2019/03/07 22:16 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 4b69c3cb .config console log report ci-android-44-kasan-gce-386
2019/02/26 07:03 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 8022bafd .config console log report ci-android-44-kasan-gce-386
2019/02/24 08:23 https://android.googlesource.com/kernel/common android-4.4 62872f952d6b 7a06e792 .config console log report ci-android-44-kasan-gce-386
* Struck through repros no longer work on HEAD.