* [syzbot] [net?] possible deadlock in do_ip_setsockopt (4)
@ 2024-06-26 9:50 syzbot
2024-08-24 16:48 ` syzbot
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: syzbot @ 2024-06-26 9:50 UTC (permalink / raw)
To: davem, dsahern, edumazet, kuba, linux-kernel, netdev, pabeni,
syzkaller-bugs
Hello,
syzbot found the following issue on:
HEAD commit: 73cfd947dbdb net: ethernet: mtk_eth_soc: ppe: prevent ppe ..
git tree: net-next
console output: https://syzkaller.appspot.com/x/log.txt?x=139ee301980000
kernel config: https://syzkaller.appspot.com/x/.config?x=e78fc116033e0ab7
dashboard link: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/f7f95ead320b/disk-73cfd947.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/2bb36264003f/vmlinux-73cfd947.xz
kernel image: https://storage.googleapis.com/syzbot-assets/d854697a8694/bzImage-73cfd947.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+e4c27043b9315839452d@syzkaller.appspotmail.com
======================================================
WARNING: possible circular locking dependency detected
6.10.0-rc4-syzkaller-00909-g73cfd947dbdb #0 Not tainted
------------------------------------------------------
syz.2.3207/15261 is trying to acquire lock:
ffffffff8f5e7288 (rtnl_mutex){+.+.}-{3:3}, at: do_ip_setsockopt+0x127d/0x3cd0 net/ipv4/ip_sockglue.c:1077
but task is already holding lock:
ffff88804708c150 (&smc->clcsock_release_lock){+.+.}-{3:3}, at: smc_setsockopt+0x1c3/0xe50 net/smc/af_smc.c:3064
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #2 (&smc->clcsock_release_lock){+.+.}-{3:3}:
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5754
__mutex_lock_common kernel/locking/mutex.c:608 [inline]
__mutex_lock+0x136/0xd70 kernel/locking/mutex.c:752
smc_switch_to_fallback+0x35/0xd00 net/smc/af_smc.c:902
smc_sendmsg+0x11f/0x530 net/smc/af_smc.c:2779
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:745
__sys_sendto+0x3a4/0x4f0 net/socket.c:2192
__do_sys_sendto net/socket.c:2204 [inline]
__se_sys_sendto net/socket.c:2200 [inline]
__x64_sys_sendto+0xde/0x100 net/socket.c:2200
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
-> #1 (sk_lock-AF_INET){+.+.}-{0:0}:
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5754
lock_sock_nested+0x48/0x100 net/core/sock.c:3543
do_ip_setsockopt+0x1a2d/0x3cd0 net/ipv4/ip_sockglue.c:1078
ip_setsockopt+0x63/0x100 net/ipv4/ip_sockglue.c:1417
do_sock_setsockopt+0x3af/0x720 net/socket.c:2312
__sys_setsockopt+0x1ae/0x250 net/socket.c:2335
__do_sys_setsockopt net/socket.c:2344 [inline]
__se_sys_setsockopt net/socket.c:2341 [inline]
__x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2341
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
-> #0 (rtnl_mutex){+.+.}-{3:3}:
check_prev_add kernel/locking/lockdep.c:3134 [inline]
check_prevs_add kernel/locking/lockdep.c:3253 [inline]
validate_chain+0x18e0/0x5900 kernel/locking/lockdep.c:3869
__lock_acquire+0x1346/0x1fd0 kernel/locking/lockdep.c:5137
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5754
__mutex_lock_common kernel/locking/mutex.c:608 [inline]
__mutex_lock+0x136/0xd70 kernel/locking/mutex.c:752
do_ip_setsockopt+0x127d/0x3cd0 net/ipv4/ip_sockglue.c:1077
ip_setsockopt+0x63/0x100 net/ipv4/ip_sockglue.c:1417
smc_setsockopt+0x275/0xe50 net/smc/af_smc.c:3072
do_sock_setsockopt+0x3af/0x720 net/socket.c:2312
__sys_setsockopt+0x1ae/0x250 net/socket.c:2335
__do_sys_setsockopt net/socket.c:2344 [inline]
__se_sys_setsockopt net/socket.c:2341 [inline]
__x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2341
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
other info that might help us debug this:
Chain exists of:
rtnl_mutex --> sk_lock-AF_INET --> &smc->clcsock_release_lock
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
lock(&smc->clcsock_release_lock);
lock(sk_lock-AF_INET);
lock(&smc->clcsock_release_lock);
lock(rtnl_mutex);
*** DEADLOCK ***
1 lock held by syz.2.3207/15261:
#0: ffff88804708c150 (&smc->clcsock_release_lock){+.+.}-{3:3}, at: smc_setsockopt+0x1c3/0xe50 net/smc/af_smc.c:3064
stack backtrace:
CPU: 0 PID: 15261 Comm: syz.2.3207 Not tainted 6.10.0-rc4-syzkaller-00909-g73cfd947dbdb #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:114
check_noncircular+0x36a/0x4a0 kernel/locking/lockdep.c:2187
check_prev_add kernel/locking/lockdep.c:3134 [inline]
check_prevs_add kernel/locking/lockdep.c:3253 [inline]
validate_chain+0x18e0/0x5900 kernel/locking/lockdep.c:3869
__lock_acquire+0x1346/0x1fd0 kernel/locking/lockdep.c:5137
lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5754
__mutex_lock_common kernel/locking/mutex.c:608 [inline]
__mutex_lock+0x136/0xd70 kernel/locking/mutex.c:752
do_ip_setsockopt+0x127d/0x3cd0 net/ipv4/ip_sockglue.c:1077
ip_setsockopt+0x63/0x100 net/ipv4/ip_sockglue.c:1417
smc_setsockopt+0x275/0xe50 net/smc/af_smc.c:3072
do_sock_setsockopt+0x3af/0x720 net/socket.c:2312
__sys_setsockopt+0x1ae/0x250 net/socket.c:2335
__do_sys_setsockopt net/socket.c:2344 [inline]
__se_sys_setsockopt net/socket.c:2341 [inline]
__x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2341
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fec50775ae9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fec514fe048 EFLAGS: 00000246 ORIG_RAX: 0000000000000036
RAX: ffffffffffffffda RBX: 00007fec50903fa0 RCX: 00007fec50775ae9
RDX: 0000000000000023 RSI: 0000000000000000 RDI: 0000000000000003
RBP: 00007fec507f6746 R08: 000000000000000c R09: 0000000000000000
R10: 000000002000e040 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000000b R14: 00007fec50903fa0 R15: 00007fff4616c208
</TASK>
---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title
If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)
If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report
If you want to undo deduplication, reply with:
#syz undup
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) 2024-06-26 9:50 [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) syzbot @ 2024-08-24 16:48 ` syzbot 2024-08-25 3:37 ` syzbot 2025-05-29 0:01 ` [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) syzbot 2 siblings, 0 replies; 13+ messages in thread From: syzbot @ 2024-08-24 16:48 UTC (permalink / raw) To: davem, dsahern, edumazet, kuba, linux-kernel, netdev, pabeni, syzkaller-bugs syzbot has found a reproducer for the following issue on: HEAD commit: d2bafcf224f3 Merge tag 'cgroup-for-6.11-rc4-fixes' of git:.. git tree: upstream console+strace: https://syzkaller.appspot.com/x/log.txt?x=1214fd05980000 kernel config: https://syzkaller.appspot.com/x/.config?x=4fc2afd52fd008bb dashboard link: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 syz repro: https://syzkaller.appspot.com/x/repro.syz?x=10e70233980000 C reproducer: https://syzkaller.appspot.com/x/repro.c?x=10a44815980000 Downloadable assets: disk image: https://storage.googleapis.com/syzbot-assets/8864ed10d80d/disk-d2bafcf2.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/6165bc385834/vmlinux-d2bafcf2.xz kernel image: https://storage.googleapis.com/syzbot-assets/83bf9db2da50/bzImage-d2bafcf2.xz IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: syzbot+e4c27043b9315839452d@syzkaller.appspotmail.com ====================================================== WARNING: possible circular locking dependency detected 6.11.0-rc4-syzkaller-00255-gd2bafcf224f3 #0 Not tainted ------------------------------------------------------ syz-executor266/5220 is trying to acquire lock: ffff888017752958 (sk_lock-AF_INET){+.+.}-{0:0}, at: do_ip_setsockopt+0x1a2d/0x3cd0 net/ipv4/ip_sockglue.c:1078 but task is already holding lock: ffffffff8fa72248 (rtnl_mutex){+.+.}-{3:3}, at: do_ip_setsockopt+0x127d/0x3cd0 net/ipv4/ip_sockglue.c:1077 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (rtnl_mutex){+.+.}-{3:3}: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 __mutex_lock_common kernel/locking/mutex.c:608 [inline] __mutex_lock+0x136/0xd70 kernel/locking/mutex.c:752 smc_vlan_by_tcpsk+0x399/0x4e0 net/smc/smc_core.c:1853 __smc_connect+0x2a4/0x1890 net/smc/af_smc.c:1522 smc_connect+0x868/0xde0 net/smc/af_smc.c:1702 __sys_connect_file net/socket.c:2061 [inline] __sys_connect+0x2df/0x310 net/socket.c:2078 __do_sys_connect net/socket.c:2088 [inline] __se_sys_connect net/socket.c:2085 [inline] __x64_sys_connect+0x7a/0x90 net/socket.c:2085 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f -> #0 (sk_lock-AF_INET){+.+.}-{0:0}: check_prev_add kernel/locking/lockdep.c:3133 [inline] check_prevs_add kernel/locking/lockdep.c:3252 [inline] validate_chain+0x18e0/0x5900 kernel/locking/lockdep.c:3868 __lock_acquire+0x137a/0x2040 kernel/locking/lockdep.c:5142 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 lock_sock_nested+0x48/0x100 net/core/sock.c:3543 do_ip_setsockopt+0x1a2d/0x3cd0 net/ipv4/ip_sockglue.c:1078 ip_setsockopt+0x63/0x100 net/ipv4/ip_sockglue.c:1417 do_sock_setsockopt+0x3af/0x720 net/socket.c:2324 __sys_setsockopt+0x1ae/0x250 net/socket.c:2347 __do_sys_setsockopt net/socket.c:2356 [inline] __se_sys_setsockopt net/socket.c:2353 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2353 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(rtnl_mutex); lock(sk_lock-AF_INET); lock(rtnl_mutex); lock(sk_lock-AF_INET); *** DEADLOCK *** 1 lock held by syz-executor266/5220: #0: ffffffff8fa72248 (rtnl_mutex){+.+.}-{3:3}, at: do_ip_setsockopt+0x127d/0x3cd0 net/ipv4/ip_sockglue.c:1077 stack backtrace: CPU: 1 UID: 0 PID: 5220 Comm: syz-executor266 Not tainted 6.11.0-rc4-syzkaller-00255-gd2bafcf224f3 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:93 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119 check_noncircular+0x36a/0x4a0 kernel/locking/lockdep.c:2186 check_prev_add kernel/locking/lockdep.c:3133 [inline] check_prevs_add kernel/locking/lockdep.c:3252 [inline] validate_chain+0x18e0/0x5900 kernel/locking/lockdep.c:3868 __lock_acquire+0x137a/0x2040 kernel/locking/lockdep.c:5142 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5759 lock_sock_nested+0x48/0x100 net/core/sock.c:3543 do_ip_setsockopt+0x1a2d/0x3cd0 net/ipv4/ip_sockglue.c:1078 ip_setsockopt+0x63/0x100 net/ipv4/ip_sockglue.c:1417 do_sock_setsockopt+0x3af/0x720 net/socket.c:2324 __sys_setsockopt+0x1ae/0x250 net/socket.c:2347 __do_sys_setsockopt net/socket.c:2356 [inline] __se_sys_setsockopt net/socket.c:2353 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2353 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f9dbe0ada79 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 c1 17 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffcf0f564e8 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f9dbe0ada79 RDX: 0000000000000023 RSI: 0000000000000000 RDI: 0000000000000004 RBP: 00007f9dbe1205f0 R08: 0000000000000000 R09: 0000000000000006 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001 R13: 431bde82d7b634db R14: 0000000000000001 R15: 0000000000000001 </TASK> --- If you want syzbot to run the reproducer, reply with: #syz test: git://repo/address.git branch-or-commit-hash If you attach or paste a git patch, syzbot will apply it before testing. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) 2024-06-26 9:50 [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) syzbot 2024-08-24 16:48 ` syzbot @ 2024-08-25 3:37 ` syzbot 2024-09-17 21:11 ` Ananta Srikar Puranam 2025-05-29 0:01 ` [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) syzbot 2 siblings, 1 reply; 13+ messages in thread From: syzbot @ 2024-08-25 3:37 UTC (permalink / raw) To: alibuda, davem, dsahern, dust.li, edumazet, kuba, linux-kernel, netdev, pabeni, schnelle, syzkaller-bugs, wenjia syzbot has bisected this issue to: commit d25a92ccae6bed02327b63d138e12e7806830f78 Author: D. Wythe <alibuda@linux.alibaba.com> Date: Thu Jun 13 18:00:30 2024 +0000 net/smc: Introduce IPPROTO_SMC bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=15e95825980000 start commit: d2bafcf224f3 Merge tag 'cgroup-for-6.11-rc4-fixes' of git:.. git tree: upstream final oops: https://syzkaller.appspot.com/x/report.txt?x=17e95825980000 console output: https://syzkaller.appspot.com/x/log.txt?x=13e95825980000 kernel config: https://syzkaller.appspot.com/x/.config?x=4fc2afd52fd008bb dashboard link: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d syz repro: https://syzkaller.appspot.com/x/repro.syz?x=10e70233980000 C reproducer: https://syzkaller.appspot.com/x/repro.c?x=10a44815980000 Reported-by: syzbot+e4c27043b9315839452d@syzkaller.appspotmail.com Fixes: d25a92ccae6b ("net/smc: Introduce IPPROTO_SMC") For information about bisection process see: https://goo.gl/tpsmEJ#bisection ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) 2024-08-25 3:37 ` syzbot @ 2024-09-17 21:11 ` Ananta Srikar Puranam 2024-09-17 21:28 ` syzbot 0 siblings, 1 reply; 13+ messages in thread From: Ananta Srikar Puranam @ 2024-09-17 21:11 UTC (permalink / raw) To: syzbot+e4c27043b9315839452d Cc: alibuda, davem, dsahern, dust.li, edumazet, kuba, linux-kernel, netdev, pabeni, schnelle, syzkaller-bugs, wenjia #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2f27fce67173bbb05d5a0ee03dae5c021202c912 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) 2024-09-17 21:11 ` Ananta Srikar Puranam @ 2024-09-17 21:28 ` syzbot 2024-09-17 21:47 ` Ananta Srikar Puranam ` (2 more replies) 0 siblings, 3 replies; 13+ messages in thread From: syzbot @ 2024-09-17 21:28 UTC (permalink / raw) To: alibuda, davem, dsahern, dust.li, edumazet, kuba, linux-kernel, netdev, pabeni, schnelle, srikarananta01, syzkaller-bugs, wenjia Hello, syzbot has tested the proposed patch but the reproducer is still triggering an issue: possible deadlock in do_ip_setsockopt ====================================================== WARNING: possible circular locking dependency detected 6.11.0-syzkaller-04557-g2f27fce67173-dirty #0 Not tainted ------------------------------------------------------ syz.0.15/6023 is trying to acquire lock: ffff888025c40918 (sk_lock-AF_INET){+.+.}-{0:0}, at: do_ip_setsockopt+0x1a2d/0x3cd0 net/ipv4/ip_sockglue.c:1078 but task is already holding lock: ffffffff8faa9708 (rtnl_mutex){+.+.}-{3:3}, at: do_ip_setsockopt+0x127d/0x3cd0 net/ipv4/ip_sockglue.c:1077 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (rtnl_mutex){+.+.}-{3:3}: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5822 __mutex_lock_common kernel/locking/mutex.c:608 [inline] __mutex_lock+0x136/0xd70 kernel/locking/mutex.c:752 smc_vlan_by_tcpsk+0x399/0x4e0 net/smc/smc_core.c:1898 __smc_connect+0x292/0x1850 net/smc/af_smc.c:1518 smc_connect+0x868/0xde0 net/smc/af_smc.c:1694 __sys_connect_file net/socket.c:2067 [inline] __sys_connect+0x2d1/0x300 net/socket.c:2084 __do_sys_connect net/socket.c:2094 [inline] __se_sys_connect net/socket.c:2091 [inline] __x64_sys_connect+0x7a/0x90 net/socket.c:2091 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f -> #0 (sk_lock-AF_INET){+.+.}-{0:0}: check_prev_add kernel/locking/lockdep.c:3158 [inline] check_prevs_add kernel/locking/lockdep.c:3277 [inline] validate_chain+0x18ef/0x5920 kernel/locking/lockdep.c:3901 __lock_acquire+0x1384/0x2050 kernel/locking/lockdep.c:5199 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5822 lock_sock_nested+0x48/0x100 net/core/sock.c:3611 do_ip_setsockopt+0x1a2d/0x3cd0 net/ipv4/ip_sockglue.c:1078 ip_setsockopt+0x63/0x100 net/ipv4/ip_sockglue.c:1417 do_sock_setsockopt+0x3af/0x720 net/socket.c:2330 __sys_setsockopt+0x1a8/0x250 net/socket.c:2353 __do_sys_setsockopt net/socket.c:2362 [inline] __se_sys_setsockopt net/socket.c:2359 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2359 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(rtnl_mutex); lock(sk_lock-AF_INET); lock(rtnl_mutex); lock(sk_lock-AF_INET); *** DEADLOCK *** 1 lock held by syz.0.15/6023: #0: ffffffff8faa9708 (rtnl_mutex){+.+.}-{3:3}, at: do_ip_setsockopt+0x127d/0x3cd0 net/ipv4/ip_sockglue.c:1077 stack backtrace: CPU: 0 UID: 0 PID: 6023 Comm: syz.0.15 Not tainted 6.11.0-syzkaller-04557-g2f27fce67173-dirty #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:93 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119 print_circular_bug+0x13a/0x1b0 kernel/locking/lockdep.c:2074 check_noncircular+0x36a/0x4a0 kernel/locking/lockdep.c:2203 check_prev_add kernel/locking/lockdep.c:3158 [inline] check_prevs_add kernel/locking/lockdep.c:3277 [inline] validate_chain+0x18ef/0x5920 kernel/locking/lockdep.c:3901 __lock_acquire+0x1384/0x2050 kernel/locking/lockdep.c:5199 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5822 lock_sock_nested+0x48/0x100 net/core/sock.c:3611 do_ip_setsockopt+0x1a2d/0x3cd0 net/ipv4/ip_sockglue.c:1078 ip_setsockopt+0x63/0x100 net/ipv4/ip_sockglue.c:1417 do_sock_setsockopt+0x3af/0x720 net/socket.c:2330 __sys_setsockopt+0x1a8/0x250 net/socket.c:2353 __do_sys_setsockopt net/socket.c:2362 [inline] __se_sys_setsockopt net/socket.c:2359 [inline] __x64_sys_setsockopt+0xb5/0xd0 net/socket.c:2359 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f34b9b79e79 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f34b95ff038 EFLAGS: 00000246 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 00007f34b9d15f80 RCX: 00007f34b9b79e79 RDX: 0000000000000023 RSI: 0000000000000000 RDI: 0000000000000004 RBP: 00007f34b9be793e R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f34b9d15f80 R15: 00007ffd22175db8 </TASK> Tested on: commit: 2f27fce6 Merge tag 'sound-6.12-rc1' of git://git.kerne.. git tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git console output: https://syzkaller.appspot.com/x/log.txt?x=104cb500580000 kernel config: https://syzkaller.appspot.com/x/.config?x=c7e7e5a089fe8488 dashboard link: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 Note: no patches were applied. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) 2024-09-17 21:28 ` syzbot @ 2024-09-17 21:47 ` Ananta Srikar Puranam 2024-09-17 21:58 ` Ananta Srikar Puranam 2024-09-17 23:50 ` [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop AnantaSrikar 2 siblings, 0 replies; 13+ messages in thread From: Ananta Srikar Puranam @ 2024-09-17 21:47 UTC (permalink / raw) To: syzbot+e4c27043b9315839452d Cc: alibuda, davem, dsahern, dust.li, edumazet, kuba, linux-kernel, netdev, pabeni, schnelle, srikarananta01, syzkaller-bugs, wenjia Fixed the circular lock dependency reported by syzkaller. Signed-off-by: Ananta Srikar <srikarananta01@gmail.com> Reported-by: syzbot+e4c27043b9315839452d@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d Fixes: d2bafcf224f3 ("Merge tag 'cgroup-for-6.11-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup") --- net/ipv4/ip_sockglue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index cf377377b52d..a8f46d1ba62b 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -1073,9 +1073,11 @@ int do_ip_setsockopt(struct sock *sk, int level, int optname, } err = 0; + + sockopt_lock_sock(sk); + if (needs_rtnl) rtnl_lock(); - sockopt_lock_sock(sk); switch (optname) { case IP_OPTIONS: -- 2.43.0 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) 2024-09-17 21:28 ` syzbot 2024-09-17 21:47 ` Ananta Srikar Puranam @ 2024-09-17 21:58 ` Ananta Srikar Puranam 2024-09-17 22:31 ` syzbot 2024-09-17 23:50 ` [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop AnantaSrikar 2 siblings, 1 reply; 13+ messages in thread From: Ananta Srikar Puranam @ 2024-09-17 21:58 UTC (permalink / raw) To: syzbot+e4c27043b9315839452d Cc: alibuda, davem, dsahern, dust.li, edumazet, kuba, linux-kernel, netdev, pabeni, schnelle, srikarananta01, syzkaller-bugs, wenjia #syz test git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2f27fce67173bbb05d5a0ee03dae5c021202c912 Fixed the circular lock dependency reported by syzkaller. Signed-off-by: Ananta Srikar <srikarananta01@gmail.com> Reported-by: syzbot+e4c27043b9315839452d@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d Fixes: d2bafcf224f3 ("Merge tag 'cgroup-for-6.11-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup") --- net/ipv4/ip_sockglue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index cf377377b52d..a8f46d1ba62b 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -1073,9 +1073,11 @@ int do_ip_setsockopt(struct sock *sk, int level, int optname, } err = 0; + + sockopt_lock_sock(sk); + if (needs_rtnl) rtnl_lock(); - sockopt_lock_sock(sk); switch (optname) { case IP_OPTIONS: -- 2.43.0 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) 2024-09-17 21:58 ` Ananta Srikar Puranam @ 2024-09-17 22:31 ` syzbot 0 siblings, 0 replies; 13+ messages in thread From: syzbot @ 2024-09-17 22:31 UTC (permalink / raw) To: alibuda, davem, dsahern, dust.li, edumazet, kuba, linux-kernel, netdev, pabeni, schnelle, srikarananta01, syzkaller-bugs, wenjia Hello, syzbot tried to test the proposed patch but the build/boot failed: failed to apply patch: checking file net/ipv4/ip_sockglue.c patch: **** unexpected end of file in patch Tested on: commit: 2f27fce6 Merge tag 'sound-6.12-rc1' of git://git.kerne.. git tree: upstream kernel config: https://syzkaller.appspot.com/x/.config?x=4fc2afd52fd008bb dashboard link: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d compiler: patch: https://syzkaller.appspot.com/x/patch.diff?x=152784a9980000 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop 2024-09-17 21:28 ` syzbot 2024-09-17 21:47 ` Ananta Srikar Puranam 2024-09-17 21:58 ` Ananta Srikar Puranam @ 2024-09-17 23:50 ` AnantaSrikar 2024-09-22 9:26 ` kernel test robot 2024-09-22 16:11 ` Eric Dumazet 2 siblings, 2 replies; 13+ messages in thread From: AnantaSrikar @ 2024-09-17 23:50 UTC (permalink / raw) To: syzbot+e4c27043b9315839452d Cc: alibuda, davem, dsahern, dust.li, edumazet, kuba, linux-kernel, netdev, pabeni, schnelle, srikarananta01, syzkaller-bugs, wenjia Fixed the circular lock dependency reported by syzkaller. Signed-off-by: AnantaSrikar <srikarananta01@gmail.com> Reported-by: syzbot+e4c27043b9315839452d@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d Fixes: d2bafcf224f3 ("Merge tag 'cgroup-for-6.11-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup") --- net/ipv4/ip_sockglue.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index cf377377b52d..a8f46d1ba62b 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -1073,9 +1073,11 @@ int do_ip_setsockopt(struct sock *sk, int level, int optname, } err = 0; + + sockopt_lock_sock(sk); + if (needs_rtnl) rtnl_lock(); - sockopt_lock_sock(sk); switch (optname) { case IP_OPTIONS: -- 2.43.0 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop 2024-09-17 23:50 ` [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop AnantaSrikar @ 2024-09-22 9:26 ` kernel test robot 2024-09-22 16:11 ` Eric Dumazet 1 sibling, 0 replies; 13+ messages in thread From: kernel test robot @ 2024-09-22 9:26 UTC (permalink / raw) To: AnantaSrikar Cc: oe-lkp, lkp, netdev, syzbot+e4c27043b9315839452d, alibuda, davem, dsahern, dust.li, edumazet, kuba, linux-kernel, pabeni, schnelle, srikarananta01, syzkaller-bugs, wenjia, oliver.sang Hello, kernel test robot noticed "WARNING:possible_circular_locking_dependency_detected" on: commit: 1b1e90e04f3485bbd37b605a863b16f42fa9566c ("[PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop") url: https://github.com/intel-lab-lkp/linux/commits/AnantaSrikar/net-ipv4-Fix-circular-deadlock-in-do_ip_setsockop/20240918-075223 base: https://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git 9410645520e9b820069761f3450ef6661418e279 patch link: https://lore.kernel.org/all/20240917235027.218692-2-srikarananta01@gmail.com/ patch subject: [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop in testcase: trinity version: trinity-i386-abe9de86-1_20230429 with following parameters: runtime: 300s group: group-00 nr_groups: 5 compiler: clang-18 test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G (please refer to attached dmesg/kmsg for entire log/backtrace) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <oliver.sang@intel.com> | Closes: https://lore.kernel.org/oe-lkp/202409221753.e29d62c8-lkp@intel.com [ 102.908754][T20485] WARNING: possible circular locking dependency detected [ 102.909639][T20485] 6.11.0-01459-g1b1e90e04f34 #1 Not tainted [ 102.910197][T20485] ------------------------------------------------------ [ 102.910822][T20485] trinity-c2/20485 is trying to acquire lock: [102.911369][T20485] c2ab6a78 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock (net/core/rtnetlink.c:80) [ 102.912029][T20485] [ 102.912029][T20485] but task is already holding lock: [102.912663][T20485] edce5dd8 (sk_lock-AF_INET6){+.+.}-{0:0}, at: sockopt_lock_sock (include/net/sock.h:? net/core/sock.c:1125) [ 102.913455][T20485] [ 102.913455][T20485] which lock already depends on the new lock. [ 102.913455][T20485] [ 102.914386][T20485] [ 102.914386][T20485] the existing dependency chain (in reverse order) is: [ 102.915187][T20485] [ 102.915187][T20485] -> #1 (sk_lock-AF_INET6){+.+.}-{0:0}: [102.915862][T20485] lock_sock_nested (net/core/sock.c:3611) [102.916319][T20485] sockopt_lock_sock (include/net/sock.h:? net/core/sock.c:1125) [102.916778][T20485] do_ipv6_setsockopt (net/ipv6/ipv6_sockglue.c:?) [102.917283][T20485] ipv6_setsockopt (net/ipv6/ipv6_sockglue.c:?) [102.917740][T20485] udpv6_setsockopt (net/ipv6/udp.c:1702) [102.918226][T20485] sock_common_setsockopt (net/core/sock.c:3803) [102.918766][T20485] __sys_setsockopt (net/socket.c:? net/socket.c:2353) [102.919224][T20485] __ia32_sys_socketcall (net/socket.c:?) [102.919727][T20485] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-053-20240920/./arch/x86/include/generated/asm/syscalls_32.h:?) [102.920298][T20485] __do_fast_syscall_32 (arch/x86/entry/common.c:?) [102.920778][T20485] do_fast_syscall_32 (arch/x86/entry/common.c:411) [102.921263][T20485] do_SYSENTER_32 (arch/x86/entry/common.c:449) [102.921720][T20485] entry_SYSENTER_32 (arch/x86/entry/entry_32.S:836) [ 102.922222][T20485] [ 102.922222][T20485] -> #0 (rtnl_mutex){+.+.}-{3:3}: [102.922871][T20485] __lock_acquire (kernel/locking/lockdep.c:?) [102.923356][T20485] lock_acquire (kernel/locking/lockdep.c:5759) [102.923817][T20485] __mutex_lock_common (kernel/locking/mutex.c:608) [102.924293][T20485] mutex_lock_nested (kernel/locking/mutex.c:752 kernel/locking/mutex.c:804) [102.924748][T20485] rtnl_lock (net/core/rtnetlink.c:80) [102.925154][T20485] do_ip_setsockopt (net/ipv4/ip_sockglue.c:1082) [102.925613][T20485] ip_setsockopt (net/ipv4/ip_sockglue.c:1419) [102.926060][T20485] ipv6_setsockopt (net/ipv6/ipv6_sockglue.c:?) [102.926522][T20485] tcp_setsockopt (net/ipv4/tcp.c:?) [102.926976][T20485] sock_common_setsockopt (net/core/sock.c:3803) [102.927459][T20485] __sys_setsockopt (net/socket.c:? net/socket.c:2353) [102.927910][T20485] __ia32_sys_setsockopt (net/socket.c:2362 net/socket.c:2359 net/socket.c:2359) [102.928384][T20485] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-053-20240920/./arch/x86/include/generated/asm/syscalls_32.h:?) [102.928839][T20485] __do_fast_syscall_32 (arch/x86/entry/common.c:?) [102.929362][T20485] do_fast_syscall_32 (arch/x86/entry/common.c:411) [102.929824][T20485] do_SYSENTER_32 (arch/x86/entry/common.c:449) [102.930273][T20485] entry_SYSENTER_32 (arch/x86/entry/entry_32.S:836) [ 102.930754][T20485] [ 102.930754][T20485] other info that might help us debug this: [ 102.930754][T20485] [ 102.931662][T20485] Possible unsafe locking scenario: [ 102.931662][T20485] [ 102.932291][T20485] CPU0 CPU1 [ 102.932748][T20485] ---- ---- [ 102.933216][T20485] lock(sk_lock-AF_INET6); [ 102.937469][T20485] lock(rtnl_mutex); [ 102.938054][T20485] lock(sk_lock-AF_INET6); [ 102.938658][T20485] lock(rtnl_mutex); [ 102.939013][T20485] [ 102.939013][T20485] *** DEADLOCK *** [ 102.939013][T20485] [ 102.939714][T20485] 1 lock held by trinity-c2/20485: [102.940182][T20485] #0: edce5dd8 (sk_lock-AF_INET6){+.+.}-{0:0}, at: sockopt_lock_sock (include/net/sock.h:? net/core/sock.c:1125) [ 102.940929][T20485] [ 102.940929][T20485] stack backtrace: [ 102.941423][T20485] CPU: 1 UID: 65534 PID: 20485 Comm: trinity-c2 Not tainted 6.11.0-01459-g1b1e90e04f34 #1 [ 102.942250][T20485] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 102.943160][T20485] Call Trace: [102.943455][T20485] dump_stack_lvl (lib/dump_stack.c:121) [102.943867][T20485] dump_stack (lib/dump_stack.c:128) [102.944221][T20485] print_circular_bug (kernel/locking/lockdep.c:?) [102.944654][T20485] check_noncircular (kernel/locking/lockdep.c:2186) [102.945117][T20485] __lock_acquire (kernel/locking/lockdep.c:?) [102.945557][T20485] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [102.946018][T20485] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [102.946456][T20485] ? local_clock_noinstr (kernel/sched/clock.c:301) [102.946906][T20485] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [102.947350][T20485] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [102.947782][T20485] ? local_clock_noinstr (kernel/sched/clock.c:301) [102.948222][T20485] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [102.948678][T20485] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [102.949157][T20485] lock_acquire (kernel/locking/lockdep.c:5759) [102.949581][T20485] ? rtnl_lock (net/core/rtnetlink.c:80) [102.949977][T20485] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [102.950442][T20485] __mutex_lock_common (kernel/locking/mutex.c:608) [102.950906][T20485] ? rtnl_lock (net/core/rtnetlink.c:80) [102.951292][T20485] ? lock_sock_nested (net/core/sock.c:3619) [102.951724][T20485] ? trace_hardirqs_on (kernel/trace/trace_preemptirq.c:63) [102.952182][T20485] ? __local_bh_enable_ip (arch/x86/include/asm/irqflags.h:42 arch/x86/include/asm/irqflags.h:97 kernel/softirq.c:387) [102.952627][T20485] mutex_lock_nested (kernel/locking/mutex.c:752 kernel/locking/mutex.c:804) [102.953058][T20485] ? rtnl_lock (net/core/rtnetlink.c:80) [102.953414][T20485] rtnl_lock (net/core/rtnetlink.c:80) [102.953790][T20485] do_ip_setsockopt (net/ipv4/ip_sockglue.c:1082) [102.954216][T20485] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [102.954690][T20485] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [102.955140][T20485] ip_setsockopt (net/ipv4/ip_sockglue.c:1419) [102.955521][T20485] ipv6_setsockopt (net/ipv6/ipv6_sockglue.c:?) [102.955912][T20485] ? ipv6_set_mcast_msfilter (net/ipv6/ipv6_sockglue.c:984) [102.956398][T20485] tcp_setsockopt (net/ipv4/tcp.c:?) [102.956828][T20485] ? tcp_enable_tx_delay (net/ipv4/tcp.c:4024) [102.957294][T20485] sock_common_setsockopt (net/core/sock.c:3803) [102.957771][T20485] ? sock_common_recvmsg (net/core/sock.c:3799) [102.958233][T20485] ? sock_common_recvmsg (net/core/sock.c:3799) [102.958680][T20485] __sys_setsockopt (net/socket.c:? net/socket.c:2353) [102.959124][T20485] __ia32_sys_setsockopt (net/socket.c:2362 net/socket.c:2359 net/socket.c:2359) [102.959583][T20485] ia32_sys_call (kbuild/obj/consumer/i386-randconfig-053-20240920/./arch/x86/include/generated/asm/syscalls_32.h:?) [102.960019][T20485] __do_fast_syscall_32 (arch/x86/entry/common.c:?) [102.960473][T20485] ? irqentry_exit_to_user_mode (kernel/entry/common.c:234) [102.960984][T20485] do_fast_syscall_32 (arch/x86/entry/common.c:411) [102.961511][T20485] do_SYSENTER_32 (arch/x86/entry/common.c:449) [102.961909][T20485] entry_SYSENTER_32 (arch/x86/entry/entry_32.S:836) [ 102.962336][T20485] EIP: 0xb7fbb539 [ 102.962665][T20485] Code: 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 90 90 90 90 0f 1f 00 58 b8 77 00 00 00 cd 80 90 0f 1f All code ======== 0: 03 74 b4 01 add 0x1(%rsp,%rsi,4),%esi 4: 10 07 adc %al,(%rdi) 6: 03 74 b0 01 add 0x1(%rax,%rsi,4),%esi a: 10 08 adc %cl,(%rax) c: 03 74 d8 01 add 0x1(%rax,%rbx,8),%esi ... 20: 00 51 52 add %dl,0x52(%rcx) 23: 55 push %rbp 24:* 89 e5 mov %esp,%ebp <-- trapping instruction 26: 0f 34 sysenter 28: cd 80 int $0x80 2a: 5d pop %rbp 2b: 5a pop %rdx 2c: 59 pop %rcx 2d: c3 ret 2e: 90 nop 2f: 90 nop 30: 90 nop 31: 90 nop 32: 0f 1f 00 nopl (%rax) 35: 58 pop %rax 36: b8 77 00 00 00 mov $0x77,%eax 3b: cd 80 int $0x80 3d: 90 nop 3e: 0f .byte 0xf 3f: 1f (bad) Code starting with the faulting instruction =========================================== 0: 5d pop %rbp 1: 5a pop %rdx 2: 59 pop %rcx 3: c3 ret 4: 90 nop 5: 90 nop 6: 90 nop 7: 90 nop 8: 0f 1f 00 nopl (%rax) b: 58 pop %rax c: b8 77 00 00 00 mov $0x77,%eax 11: cd 80 int $0x80 13: 90 nop 14: 0f .byte 0xf 15: 1f (bad) The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20240922/202409221753.e29d62c8-lkp@intel.com -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop 2024-09-17 23:50 ` [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop AnantaSrikar 2024-09-22 9:26 ` kernel test robot @ 2024-09-22 16:11 ` Eric Dumazet 2024-09-22 21:04 ` Ananta Srikar Puranam 1 sibling, 1 reply; 13+ messages in thread From: Eric Dumazet @ 2024-09-22 16:11 UTC (permalink / raw) To: AnantaSrikar Cc: syzbot+e4c27043b9315839452d, alibuda, davem, dsahern, dust.li, kuba, linux-kernel, netdev, pabeni, schnelle, syzkaller-bugs, wenjia On Wed, Sep 18, 2024 at 1:51 AM AnantaSrikar <srikarananta01@gmail.com> wrote: > > Fixed the circular lock dependency reported by syzkaller. > > Signed-off-by: AnantaSrikar <srikarananta01@gmail.com> > Reported-by: syzbot+e4c27043b9315839452d@syzkaller.appspotmail.com > Closes: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d > Fixes: d2bafcf224f3 ("Merge tag 'cgroup-for-6.11-rc4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup") > --- > net/ipv4/ip_sockglue.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c > index cf377377b52d..a8f46d1ba62b 100644 > --- a/net/ipv4/ip_sockglue.c > +++ b/net/ipv4/ip_sockglue.c > @@ -1073,9 +1073,11 @@ int do_ip_setsockopt(struct sock *sk, int level, int optname, > } > > err = 0; > + > + sockopt_lock_sock(sk); > + > if (needs_rtnl) > rtnl_lock(); > - sockopt_lock_sock(sk); > > switch (optname) { > case IP_OPTIONS: I think you missed an earlier conversation about SMC being at fault here. https://lore.kernel.org/netdev/CANn89iKcWmufo83xy-SwSrXYt6UpL2Pb+5pWuzyYjMva5F8bBQ@mail.gmail.com/ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop 2024-09-22 16:11 ` Eric Dumazet @ 2024-09-22 21:04 ` Ananta Srikar Puranam 0 siblings, 0 replies; 13+ messages in thread From: Ananta Srikar Puranam @ 2024-09-22 21:04 UTC (permalink / raw) To: Eric Dumazet Cc: syzbot+e4c27043b9315839452d, alibuda, davem, dsahern, dust.li, kuba, linux-kernel, netdev, pabeni, schnelle, syzkaller-bugs, wenjia On 22/09/24 12:11 pm, Eric Dumazet wrote: > I think you missed an earlier conversation about SMC being at fault here. You're right, I missed the earlier discussion about SMC. I apologize for the oversight and thank you for pointing it out. As a first-time contributor, I'll be more diligent in researching existing discussions before submitting patches in the future. Best regards, Srikar ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) 2024-06-26 9:50 [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) syzbot 2024-08-24 16:48 ` syzbot 2024-08-25 3:37 ` syzbot @ 2025-05-29 0:01 ` syzbot 2 siblings, 0 replies; 13+ messages in thread From: syzbot @ 2025-05-29 0:01 UTC (permalink / raw) To: alibuda, davem, dsahern, dust.li, edumazet, horms, kuba, kuniyu, linux-kernel, lkp, netdev, oe-lkp, oliver.sang, pabeni, schnelle, srikarananta01, syzkaller-bugs, wenjia syzbot suspects this issue was fixed by commit: commit 752e2217d789be2c6a6ac66554b981cd71cd9f31 Author: Kuniyuki Iwashima <kuniyu@amazon.com> Date: Mon Apr 7 17:03:17 2025 +0000 smc: Fix lockdep false-positive for IPPROTO_SMC. bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=17cd6bf4580000 start commit: 88d324e69ea9 Merge tag 'spi-fix-v6.14-rc7' of git://git.ke.. git tree: upstream kernel config: https://syzkaller.appspot.com/x/.config?x=27515cfdbafbb90d dashboard link: https://syzkaller.appspot.com/bug?extid=e4c27043b9315839452d syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12b13e98580000 C reproducer: https://syzkaller.appspot.com/x/repro.c?x=131d9c4c580000 If the result looks correct, please mark the issue as fixed by replying with: #syz fix: smc: Fix lockdep false-positive for IPPROTO_SMC. For information about bisection process see: https://goo.gl/tpsmEJ#bisection ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-05-29 0:01 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-06-26 9:50 [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) syzbot 2024-08-24 16:48 ` syzbot 2024-08-25 3:37 ` syzbot 2024-09-17 21:11 ` Ananta Srikar Puranam 2024-09-17 21:28 ` syzbot 2024-09-17 21:47 ` Ananta Srikar Puranam 2024-09-17 21:58 ` Ananta Srikar Puranam 2024-09-17 22:31 ` syzbot 2024-09-17 23:50 ` [PATCH] net/ipv4: Fix circular deadlock in do_ip_setsockop AnantaSrikar 2024-09-22 9:26 ` kernel test robot 2024-09-22 16:11 ` Eric Dumazet 2024-09-22 21:04 ` Ananta Srikar Puranam 2025-05-29 0:01 ` [syzbot] [net?] possible deadlock in do_ip_setsockopt (4) syzbot
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).