device gtp2 entered promiscuous mode
IPv6: ADDRCONF(NETDEV_CHANGE): gtp2: link becomes ready
======================================================
WARNING: possible circular locking dependency detected
4.14.295-syzkaller #0 Not tainted
------------------------------------------------------
kworker/u4:4/2850 is trying to acquire lock:
 ((&(&cp->cp_send_w)->work)){+.+.}, at: [<ffffffff81367998>] flush_work+0x88/0x770 kernel/workqueue.c:2887

but task is already holding lock:
 (k-sk_lock-AF_INET){+.+.}, at: [<ffffffff869c9231>] lock_sock include/net/sock.h:1473 [inline]
 (k-sk_lock-AF_INET){+.+.}, at: [<ffffffff869c9231>] rds_tcp_reset_callbacks+0x181/0x450 net/rds/tcp.c:165

which lock already depends on the new lock.


the existing dependency chain (in reverse order) is:

-> #1 (k-sk_lock-AF_INET){+.+.}:
       lock_sock_nested+0xb7/0x100 net/core/sock.c:2813
       lock_sock include/net/sock.h:1473 [inline]
       do_tcp_setsockopt.constprop.0+0xfb/0x1c10 net/ipv4/tcp.c:2564
       tcp_setsockopt net/ipv4/tcp.c:2832 [inline]
       tcp_setsockopt+0xa7/0xc0 net/ipv4/tcp.c:2824
       kernel_setsockopt+0xfb/0x1b0 net/socket.c:3396
       rds_tcp_cork net/rds/tcp_send.c:43 [inline]
       rds_tcp_xmit_path_prepare+0xaf/0xe0 net/rds/tcp_send.c:50
       rds_send_xmit+0x1ae/0x1c00 net/rds/send.c:187
       rds_send_worker+0x6d/0x240 net/rds/threads.c:189
       process_one_work+0x793/0x14a0 kernel/workqueue.c:2117
       worker_thread+0x5cc/0xff0 kernel/workqueue.c:2251
       kthread+0x30d/0x420 kernel/kthread.c:232
       ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404

-> #0 ((&(&cp->cp_send_w)->work)){+.+.}:
       lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3998
       flush_work+0xad/0x770 kernel/workqueue.c:2890
       __cancel_work_timer+0x321/0x460 kernel/workqueue.c:2965
       rds_tcp_reset_callbacks+0x18d/0x450 net/rds/tcp.c:167
       rds_tcp_accept_one+0x61a/0x8b0 net/rds/tcp_listen.c:194
       rds_tcp_accept_worker+0x4d/0x70 net/rds/tcp.c:407
       process_one_work+0x793/0x14a0 kernel/workqueue.c:2117
       worker_thread+0x5cc/0xff0 kernel/workqueue.c:2251
       kthread+0x30d/0x420 kernel/kthread.c:232
       ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404

other info that might help us debug this:

 Possible unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(k-sk_lock-AF_INET);
                               lock((&(&cp->cp_send_w)->work));
                               lock(k-sk_lock-AF_INET);
  lock((&(&cp->cp_send_w)->work));

 *** DEADLOCK ***

4 locks held by kworker/u4:4/2850:
 #0:  ("%s""krdsd"){+.+.}, at: [<ffffffff81364eb0>] process_one_work+0x6b0/0x14a0 kernel/workqueue.c:2088
 #1:  ((&rtn->rds_tcp_accept_w)){+.+.}, at: [<ffffffff81364ee6>] process_one_work+0x6e6/0x14a0 kernel/workqueue.c:2092
 #2:  (&tc->t_conn_path_lock){+.+.}, at: [<ffffffff869cb022>] rds_tcp_accept_one+0x502/0x8b0 net/rds/tcp_listen.c:186
 #3:  (k-sk_lock-AF_INET){+.+.}, at: [<ffffffff869c9231>] lock_sock include/net/sock.h:1473 [inline]
 #3:  (k-sk_lock-AF_INET){+.+.}, at: [<ffffffff869c9231>] rds_tcp_reset_callbacks+0x181/0x450 net/rds/tcp.c:165

stack backtrace:
CPU: 0 PID: 2850 Comm: kworker/u4:4 Not tainted 4.14.295-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022
Workqueue: krdsd rds_tcp_accept_worker
Call Trace:
 __dump_stack lib/dump_stack.c:17 [inline]
 dump_stack+0x1b2/0x281 lib/dump_stack.c:58
 print_circular_bug.constprop.0.cold+0x2d7/0x41e kernel/locking/lockdep.c:1258
 check_prev_add kernel/locking/lockdep.c:1905 [inline]
 check_prevs_add kernel/locking/lockdep.c:2022 [inline]
 validate_chain kernel/locking/lockdep.c:2464 [inline]
 __lock_acquire+0x2e0e/0x3f20 kernel/locking/lockdep.c:3491
 lock_acquire+0x170/0x3f0 kernel/locking/lockdep.c:3998
 flush_work+0xad/0x770 kernel/workqueue.c:2890
 __cancel_work_timer+0x321/0x460 kernel/workqueue.c:2965
 rds_tcp_reset_callbacks+0x18d/0x450 net/rds/tcp.c:167
 rds_tcp_accept_one+0x61a/0x8b0 net/rds/tcp_listen.c:194
 rds_tcp_accept_worker+0x4d/0x70 net/rds/tcp.c:407
 process_one_work+0x793/0x14a0 kernel/workqueue.c:2117
 worker_thread+0x5cc/0xff0 kernel/workqueue.c:2251
 kthread+0x30d/0x420 kernel/kthread.c:232
 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404
REISERFS warning (device loop2): super-6502 reiserfs_getopt: unknown mount option ""
REISERFS warning (device loop2): super-6502 reiserfs_getopt: unknown mount option ""
REISERFS warning (device loop2): super-6502 reiserfs_getopt: unknown mount option ""
REISERFS warning (device loop2): super-6502 reiserfs_getopt: unknown mount option ""
BTRFS: device fsid 5bc4d2ca-4c15-4771-a955-a99d043db860 devid 1 transid 8 /dev/loop3
BTRFS info (device loop3): unrecognized mount option 'noenosqc_debuger'
BTRFS error (device loop3): open_ctree failed
BTRFS info (device loop3): using free space tree
BTRFS info (device loop3): has skinny extents
Unknown ioctl -1072131211
EXT4-fs: Warning: mounting with data=journal disables delayed allocation and O_DIRECT support!
EXT4-fs (loop0): encrypted files will use data=ordered instead of data journaling mode
EXT4-fs (loop0): Unsupported blocksize for fs encryption
Unknown ioctl -1072131211
Unknown ioctl -1072131211
ISO 9660 Extensions: Microsoft Joliet Level 3
ISOFS: changing to secondary root
Unknown ioctl -1072131211
ISO 9660 Extensions: Microsoft Joliet Level 3
ISOFS: changing to secondary root
Unknown ioctl -1072131211
EXT4-fs (loop0): encrypted files will use data=ordered instead of data journaling mode
Unknown ioctl -1072131211
BTRFS info (device loop3): unrecognized mount option 'noenosqc_debuger'
EXT4-fs (loop0): Unsupported blocksize for fs encryption
ISO 9660 Extensions: Microsoft Joliet Level 3
Unknown ioctl -1072131211
ISOFS: changing to secondary root
BTRFS error (device loop3): open_ctree failed
BTRFS info (device loop3): using free space tree
BTRFS info (device loop3): has skinny extents
EXT4-fs (loop0): encrypted files will use data=ordered instead of data journaling mode
ISO 9660 Extensions: Microsoft Joliet Level 3
ISOFS: changing to secondary root
Unknown ioctl -1072131211
EXT4-fs (loop0): Unsupported blocksize for fs encryption
BTRFS info (device loop3): using free space tree
audit: type=1800 audit(1666091317.337:116): pid=13797 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.4" name="bus" dev="sda1" ino=14010 res=0
Unknown ioctl -1072131211
audit: type=1800 audit(1666091317.377:117): pid=13797 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.4" name="bus" dev="sda1" ino=14010 res=0
EXT4-fs (loop0): encrypted files will use data=ordered instead of data journaling mode
EXT4-fs (loop0): Unsupported blocksize for fs encryption
Unknown ioctl -1072131211
BTRFS info (device loop5): unrecognized mount option 'noenosqc_debuger'
BTRFS error (device loop5): open_ctree failed
audit: type=1800 audit(1666091317.767:118): pid=13842 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.4" name="bus" dev="sda1" ino=14026 res=0
audit: type=1800 audit(1666091317.767:119): pid=13842 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.4" name="bus" dev="sda1" ino=14026 res=0
BTRFS info (device loop5): unrecognized mount option 'noenosqc_debuger'
audit: type=1800 audit(1666091317.777:120): pid=13843 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.0" name="bus" dev="sda1" ino=14025 res=0
audit: type=1800 audit(1666091317.777:121): pid=13843 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.0" name="bus" dev="sda1" ino=14025 res=0
audit: type=1800 audit(1666091317.847:122): pid=13851 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.2" name="bus" dev="sda1" ino=14019 res=0
BTRFS error (device loop5): open_ctree failed
audit: type=1800 audit(1666091317.847:123): pid=13851 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.2" name="bus" dev="sda1" ino=14019 res=0
BTRFS info (device loop5): using free space tree
BTRFS info (device loop5): has skinny extents
audit: type=1800 audit(1666091317.927:124): pid=13864 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.3" name="bus" dev="sda1" ino=14030 res=0
audit: type=1800 audit(1666091317.927:125): pid=13864 uid=0 auid=4294967295 ses=4294967295 op="collect_data" cause="failed(directio)" comm="syz-executor.3" name="bus" dev="sda1" ino=14030 res=0