* [syzbot] [kernel?] inconsistent lock state in ptrace_attach
@ 2023-11-16 11:09 syzbot
2023-11-16 20:00 ` syzbot
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: syzbot @ 2023-11-16 11:09 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs, tglx
Hello,
syzbot found the following issue on:
HEAD commit: f31817cbcf48 Add linux-next specific files for 20231116
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=112158fb680000
kernel config: https://syzkaller.appspot.com/x/.config?x=f59345f1d0a928c
dashboard link: https://syzkaller.appspot.com/bug?extid=cbb25bb9b4d29a773985
compiler: gcc (Debian 12.2.0-14) 12.2.0, 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/987488cb251e/disk-f31817cb.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/6d4a82d8bd4b/vmlinux-f31817cb.xz
kernel image: https://storage.googleapis.com/syzbot-assets/fc43dee9cb86/bzImage-f31817cb.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+cbb25bb9b4d29a773985@syzkaller.appspotmail.com
================================
WARNING: inconsistent lock state
6.7.0-rc1-next-20231116-syzkaller #0 Not tainted
--------------------------------
inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
syz-executor.1/5657 [HC0[0]:SC0[0]:HE1:SE1] takes:
ffff88807ba4a518 (&sighand->siglock){?.-.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
ffff88807ba4a518 (&sighand->siglock){?.-.}-{2:2}, at: class_spinlock_constructor include/linux/spinlock.h:530 [inline]
ffff88807ba4a518 (&sighand->siglock){?.-.}-{2:2}, at: ptrace_set_stopped kernel/ptrace.c:391 [inline]
ffff88807ba4a518 (&sighand->siglock){?.-.}-{2:2}, at: ptrace_attach+0x401/0x650 kernel/ptrace.c:478
{IN-HARDIRQ-W} state was registered at:
lock_acquire kernel/locking/lockdep.c:5753 [inline]
lock_acquire+0x1b1/0x530 kernel/locking/lockdep.c:5718
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0x3a/0x50 kernel/locking/spinlock.c:162
__lock_task_sighand+0xc2/0x340 kernel/signal.c:1422
lock_task_sighand include/linux/sched/signal.h:748 [inline]
send_sigqueue+0x1d4/0x840 kernel/signal.c:1996
posix_timer_event kernel/time/posix-timers.c:298 [inline]
posix_timer_fn+0x181/0x3d0 kernel/time/posix-timers.c:324
__run_hrtimer kernel/time/hrtimer.c:1688 [inline]
__hrtimer_run_queues+0x20c/0xc20 kernel/time/hrtimer.c:1752
hrtimer_interrupt+0x31b/0x800 kernel/time/hrtimer.c:1814
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1065 [inline]
__sysvec_apic_timer_interrupt+0x10c/0x410 arch/x86/kernel/apic/apic.c:1082
sysvec_apic_timer_interrupt+0x90/0xb0 arch/x86/kernel/apic/apic.c:1076
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
lock_acquire+0x1f2/0x530 kernel/locking/lockdep.c:5721
rcu_lock_acquire include/linux/rcupdate.h:301 [inline]
rcu_read_lock include/linux/rcupdate.h:747 [inline]
batadv_nc_purge_orig_hash net/batman-adv/network-coding.c:408 [inline]
batadv_nc_worker+0x16e/0x10e0 net/batman-adv/network-coding.c:719
process_one_work+0x8a4/0x15f0 kernel/workqueue.c:2636
process_scheduled_works kernel/workqueue.c:2709 [inline]
worker_thread+0x8b6/0x1290 kernel/workqueue.c:2790
kthread+0x2c1/0x3a0 kernel/kthread.c:388
ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:242
irq event stamp: 1111
hardirqs last enabled at (1111): [<ffffffff8a84a34e>] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
hardirqs last enabled at (1111): [<ffffffff8a84a34e>] _raw_spin_unlock_irqrestore+0x4e/0x70 kernel/locking/spinlock.c:194
hardirqs last disabled at (1110): [<ffffffff8a84a0fe>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline]
hardirqs last disabled at (1110): [<ffffffff8a84a0fe>] _raw_spin_lock_irqsave+0x4e/0x50 kernel/locking/spinlock.c:162
softirqs last enabled at (1016): [<ffffffff81310072>] local_bh_enable include/linux/bottom_half.h:33 [inline]
softirqs last enabled at (1016): [<ffffffff81310072>] fpregs_unlock arch/x86/include/asm/fpu/api.h:80 [inline]
softirqs last enabled at (1016): [<ffffffff81310072>] fpu_clone+0x342/0xb60 arch/x86/kernel/fpu/core.c:634
softirqs last disabled at (1014): [<ffffffff81310007>] local_bh_disable include/linux/bottom_half.h:20 [inline]
softirqs last disabled at (1014): [<ffffffff81310007>] fpregs_lock arch/x86/include/asm/fpu/api.h:72 [inline]
softirqs last disabled at (1014): [<ffffffff81310007>] fpu_clone+0x2d7/0xb60 arch/x86/kernel/fpu/core.c:630
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&sighand->siglock);
<Interrupt>
lock(&sighand->siglock);
*** DEADLOCK ***
2 locks held by syz-executor.1/5657:
#0: ffff888022a1e3c8 (&sig->cred_guard_mutex){+.+.}-{3:3}, at: class_mutex_intr_constructor include/linux/mutex.h:225 [inline]
#0: ffff888022a1e3c8 (&sig->cred_guard_mutex){+.+.}-{3:3}, at: ptrace_attach+0x1eb/0x650 kernel/ptrace.c:455
#1: ffffffff8cc0a098 (tasklist_lock){++++}-{2:2}, at: class_write_lock_constructor include/linux/spinlock.h:564 [inline]
#1: ffffffff8cc0a098 (tasklist_lock){++++}-{2:2}, at: ptrace_attach+0x2c3/0x650 kernel/ptrace.c:464
stack backtrace:
CPU: 0 PID: 5657 Comm: syz-executor.1 Not tainted 6.7.0-rc1-next-20231116-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0xd9/0x1b0 lib/dump_stack.c:106
print_usage_bug kernel/locking/lockdep.c:3970 [inline]
valid_state kernel/locking/lockdep.c:4012 [inline]
mark_lock_irq kernel/locking/lockdep.c:4215 [inline]
mark_lock+0x91a/0xc50 kernel/locking/lockdep.c:4677
mark_usage kernel/locking/lockdep.c:4586 [inline]
__lock_acquire+0x919/0x3b10 kernel/locking/lockdep.c:5090
lock_acquire kernel/locking/lockdep.c:5753 [inline]
lock_acquire+0x1b1/0x530 kernel/locking/lockdep.c:5718
__raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
spin_lock include/linux/spinlock.h:351 [inline]
class_spinlock_constructor include/linux/spinlock.h:530 [inline]
ptrace_set_stopped kernel/ptrace.c:391 [inline]
ptrace_attach+0x401/0x650 kernel/ptrace.c:478
__do_sys_ptrace+0x204/0x230 kernel/ptrace.c:1290
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x40/0x110 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x62/0x6a
RIP: 0033:0x7f390ac7cae9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 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 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f390ba5a0c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000065
RAX: ffffffffffffffda RBX: 00007f390ad9c1f0 RCX: 00007f390ac7cae9
RDX: 0000000000000000 RSI: 000000000000005c RDI: 0000000000000010
RBP: 00007f390acc847a R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000006e R14: 00007f390ad9c1f0 R15: 00007ffe8ba90308
</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] 9+ messages in thread* Re: [syzbot] [kernel?] inconsistent lock state in ptrace_attach
2023-11-16 11:09 [syzbot] [kernel?] inconsistent lock state in ptrace_attach syzbot
@ 2023-11-16 20:00 ` syzbot
2023-11-17 8:49 ` syzbot
2023-11-17 13:51 ` [syzbot] Test syzbot
2 siblings, 0 replies; 9+ messages in thread
From: syzbot @ 2023-11-16 20:00 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs, tglx
syzbot has found a reproducer for the following issue on:
HEAD commit: f31817cbcf48 Add linux-next specific files for 20231116
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=168778a8e80000
kernel config: https://syzkaller.appspot.com/x/.config?x=f59345f1d0a928c
dashboard link: https://syzkaller.appspot.com/bug?extid=cbb25bb9b4d29a773985
compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12e34b97680000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15c8aca7680000
Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/987488cb251e/disk-f31817cb.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/6d4a82d8bd4b/vmlinux-f31817cb.xz
kernel image: https://storage.googleapis.com/syzbot-assets/fc43dee9cb86/bzImage-f31817cb.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+cbb25bb9b4d29a773985@syzkaller.appspotmail.com
================================
WARNING: inconsistent lock state
6.7.0-rc1-next-20231116-syzkaller #0 Not tainted
--------------------------------
inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
syz-executor207/5059 [HC0[0]:SC0[0]:HE1:SE1] takes:
ffff888025c41298 (&sighand->siglock){?...}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
ffff888025c41298 (&sighand->siglock){?...}-{2:2}, at: class_spinlock_constructor include/linux/spinlock.h:530 [inline]
ffff888025c41298 (&sighand->siglock){?...}-{2:2}, at: ptrace_set_stopped kernel/ptrace.c:391 [inline]
ffff888025c41298 (&sighand->siglock){?...}-{2:2}, at: ptrace_attach+0x401/0x650 kernel/ptrace.c:478
{IN-HARDIRQ-W} state was registered at:
lock_acquire kernel/locking/lockdep.c:5753 [inline]
lock_acquire+0x1b1/0x530 kernel/locking/lockdep.c:5718
__raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
_raw_spin_lock_irqsave+0x3a/0x50 kernel/locking/spinlock.c:162
__lock_task_sighand+0xc2/0x340 kernel/signal.c:1422
lock_task_sighand include/linux/sched/signal.h:748 [inline]
send_sigqueue+0x1d4/0x840 kernel/signal.c:1996
posix_timer_event kernel/time/posix-timers.c:298 [inline]
posix_timer_fn+0x181/0x3d0 kernel/time/posix-timers.c:324
__run_hrtimer kernel/time/hrtimer.c:1688 [inline]
__hrtimer_run_queues+0x20c/0xc20 kernel/time/hrtimer.c:1752
hrtimer_interrupt+0x31b/0x800 kernel/time/hrtimer.c:1814
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1065 [inline]
__sysvec_apic_timer_interrupt+0x10c/0x410 arch/x86/kernel/apic/apic.c:1082
sysvec_apic_timer_interrupt+0x90/0xb0 arch/x86/kernel/apic/apic.c:1076
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
_raw_spin_unlock_irqrestore+0x31/0x70 kernel/locking/spinlock.c:194
spin_unlock_irqrestore include/linux/spinlock.h:406 [inline]
unlock_timer kernel/time/posix-timers.c:128 [inline]
do_timer_settime+0x260/0x2f0 kernel/time/posix-timers.c:934
__do_sys_timer_settime kernel/time/posix-timers.c:954 [inline]
__se_sys_timer_settime kernel/time/posix-timers.c:940 [inline]
__x64_sys_timer_settime+0x266/0x2c0 kernel/time/posix-timers.c:940
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x40/0x110 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x62/0x6a
irq event stamp: 13807
hardirqs last enabled at (13807): [<ffffffff8a84a34e>] __raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:151 [inline]
hardirqs last enabled at (13807): [<ffffffff8a84a34e>] _raw_spin_unlock_irqrestore+0x4e/0x70 kernel/locking/spinlock.c:194
hardirqs last disabled at (13806): [<ffffffff8a84a0fe>] __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:108 [inline]
hardirqs last disabled at (13806): [<ffffffff8a84a0fe>] _raw_spin_lock_irqsave+0x4e/0x50 kernel/locking/spinlock.c:162
softirqs last enabled at (13794): [<ffffffff813146a1>] local_bh_enable include/linux/bottom_half.h:33 [inline]
softirqs last enabled at (13794): [<ffffffff813146a1>] fpregs_unlock arch/x86/include/asm/fpu/api.h:80 [inline]
softirqs last enabled at (13794): [<ffffffff813146a1>] restore_fpregs_from_user arch/x86/kernel/fpu/signal.c:330 [inline]
softirqs last enabled at (13794): [<ffffffff813146a1>] __fpu_restore_sig+0x6a1/0x13a0 arch/x86/kernel/fpu/signal.c:361
softirqs last disabled at (13792): [<ffffffff81314365>] local_bh_disable include/linux/bottom_half.h:20 [inline]
softirqs last disabled at (13792): [<ffffffff81314365>] fpregs_lock arch/x86/include/asm/fpu/api.h:72 [inline]
softirqs last disabled at (13792): [<ffffffff81314365>] restore_fpregs_from_user arch/x86/kernel/fpu/signal.c:284 [inline]
softirqs last disabled at (13792): [<ffffffff81314365>] __fpu_restore_sig+0x365/0x13a0 arch/x86/kernel/fpu/signal.c:361
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&sighand->siglock);
<Interrupt>
lock(&sighand->siglock);
*** DEADLOCK ***
2 locks held by syz-executor207/5059:
#0: ffff88801d66e3c8 (&sig->cred_guard_mutex){+.+.}-{3:3}, at: class_mutex_intr_constructor include/linux/mutex.h:225 [inline]
#0: ffff88801d66e3c8 (&sig->cred_guard_mutex){+.+.}-{3:3}, at: ptrace_attach+0x1eb/0x650 kernel/ptrace.c:455
#1: ffffffff8cc0a098 (tasklist_lock){++++}-{2:2}, at: class_write_lock_constructor include/linux/spinlock.h:564 [inline]
#1: ffffffff8cc0a098 (tasklist_lock){++++}-{2:2}, at: ptrace_attach+0x2c3/0x650 kernel/ptrace.c:464
stack backtrace:
CPU: 0 PID: 5059 Comm: syz-executor207 Not tainted 6.7.0-rc1-next-20231116-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/2023
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0xd9/0x1b0 lib/dump_stack.c:106
print_usage_bug kernel/locking/lockdep.c:3970 [inline]
valid_state kernel/locking/lockdep.c:4012 [inline]
mark_lock_irq kernel/locking/lockdep.c:4215 [inline]
mark_lock+0x91a/0xc50 kernel/locking/lockdep.c:4677
mark_usage kernel/locking/lockdep.c:4586 [inline]
__lock_acquire+0x919/0x3b10 kernel/locking/lockdep.c:5090
lock_acquire kernel/locking/lockdep.c:5753 [inline]
lock_acquire+0x1b1/0x530 kernel/locking/lockdep.c:5718
__raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:154
spin_lock include/linux/spinlock.h:351 [inline]
class_spinlock_constructor include/linux/spinlock.h:530 [inline]
ptrace_set_stopped kernel/ptrace.c:391 [inline]
ptrace_attach+0x401/0x650 kernel/ptrace.c:478
__do_sys_ptrace+0x204/0x230 kernel/ptrace.c:1290
do_syscall_x64 arch/x86/entry/common.c:51 [inline]
do_syscall_64+0x40/0x110 arch/x86/entry/common.c:82
entry_SYSCALL_64_after_hwframe+0x62/0x6a
RIP: 0033:0x7f726faf87f9
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 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f726fab7158 EFLAGS: 00000246 ORIG_RAX: 0000000000000065
RAX: ffffffffffffffda RBX: 00007f726fb7f328 RCX: 00007f726faf87f9
RDX: 0000000000000000 RSI: 00000000000013c4 RDI: 0000000000000010
RBP: 00007f726fb7f320 R08: 00007f726fab76c0 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007f726fb7f32c
R13: 0000000000000000 R14: 00007ffd413eb1b0 R15: 00007ffd413eb298
</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] 9+ messages in thread* Re: [syzbot] [kernel?] inconsistent lock state in ptrace_attach
2023-11-16 11:09 [syzbot] [kernel?] inconsistent lock state in ptrace_attach syzbot
2023-11-16 20:00 ` syzbot
@ 2023-11-17 8:49 ` syzbot
2023-11-17 9:27 ` Peter Zijlstra
2023-11-17 13:51 ` [syzbot] Test syzbot
2 siblings, 1 reply; 9+ messages in thread
From: syzbot @ 2023-11-17 8:49 UTC (permalink / raw)
To: boqun.feng, brauner, linux-kernel, longman, michael.christie,
mingo, mst, oleg, peterz, syzkaller-bugs, tglx, wander, will
syzbot has bisected this issue to:
commit 2d25a889601d2fbc87ec79b30ea315820f874b78
Author: Peter Zijlstra <peterz@infradead.org>
Date: Sun Sep 17 11:24:21 2023 +0000
ptrace: Convert ptrace_attach() to use lock guards
bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=132b7d84e80000
start commit: f31817cbcf48 Add linux-next specific files for 20231116
git tree: linux-next
final oops: https://syzkaller.appspot.com/x/report.txt?x=10ab7d84e80000
console output: https://syzkaller.appspot.com/x/log.txt?x=172b7d84e80000
kernel config: https://syzkaller.appspot.com/x/.config?x=f59345f1d0a928c
dashboard link: https://syzkaller.appspot.com/bug?extid=cbb25bb9b4d29a773985
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1014d797680000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11b1ec67680000
Reported-by: syzbot+cbb25bb9b4d29a773985@syzkaller.appspotmail.com
Fixes: 2d25a889601d ("ptrace: Convert ptrace_attach() to use lock guards")
For information about bisection process see: https://goo.gl/tpsmEJ#bisection
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [syzbot] [kernel?] inconsistent lock state in ptrace_attach
2023-11-17 8:49 ` syzbot
@ 2023-11-17 9:27 ` Peter Zijlstra
2023-11-17 9:38 ` Oleg Nesterov
0 siblings, 1 reply; 9+ messages in thread
From: Peter Zijlstra @ 2023-11-17 9:27 UTC (permalink / raw)
To: syzbot
Cc: boqun.feng, brauner, linux-kernel, longman, michael.christie,
mingo, mst, oleg, syzkaller-bugs, tglx, wander, will
On Fri, Nov 17, 2023 at 12:49:04AM -0800, syzbot wrote:
> syzbot has bisected this issue to:
>
> commit 2d25a889601d2fbc87ec79b30ea315820f874b78
> Author: Peter Zijlstra <peterz@infradead.org>
> Date: Sun Sep 17 11:24:21 2023 +0000
>
> ptrace: Convert ptrace_attach() to use lock guards
>
> bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=132b7d84e80000
> start commit: f31817cbcf48 Add linux-next specific files for 20231116
> git tree: linux-next
> final oops: https://syzkaller.appspot.com/x/report.txt?x=10ab7d84e80000
> console output: https://syzkaller.appspot.com/x/log.txt?x=172b7d84e80000
> kernel config: https://syzkaller.appspot.com/x/.config?x=f59345f1d0a928c
> dashboard link: https://syzkaller.appspot.com/bug?extid=cbb25bb9b4d29a773985
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1014d797680000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11b1ec67680000
>
> Reported-by: syzbot+cbb25bb9b4d29a773985@syzkaller.appspotmail.com
> Fixes: 2d25a889601d ("ptrace: Convert ptrace_attach() to use lock guards")
Hurmph, let me pull that patch from tip and go have a look. Thanks!
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [syzbot] [kernel?] inconsistent lock state in ptrace_attach
2023-11-17 9:27 ` Peter Zijlstra
@ 2023-11-17 9:38 ` Oleg Nesterov
2023-11-17 9:45 ` Peter Zijlstra
0 siblings, 1 reply; 9+ messages in thread
From: Oleg Nesterov @ 2023-11-17 9:38 UTC (permalink / raw)
To: Peter Zijlstra
Cc: syzbot, boqun.feng, brauner, linux-kernel, longman,
michael.christie, mingo, mst, syzkaller-bugs, tglx, wander, will
On 11/17, Peter Zijlstra wrote:
>
> On Fri, Nov 17, 2023 at 12:49:04AM -0800, syzbot wrote:
> > syzbot has bisected this issue to:
> >
> > commit 2d25a889601d2fbc87ec79b30ea315820f874b78
> > Author: Peter Zijlstra <peterz@infradead.org>
> > Date: Sun Sep 17 11:24:21 2023 +0000
> >
> > ptrace: Convert ptrace_attach() to use lock guards
> >
> > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=132b7d84e80000
> > start commit: f31817cbcf48 Add linux-next specific files for 20231116
> > git tree: linux-next
> > final oops: https://syzkaller.appspot.com/x/report.txt?x=10ab7d84e80000
> > console output: https://syzkaller.appspot.com/x/log.txt?x=172b7d84e80000
> > kernel config: https://syzkaller.appspot.com/x/.config?x=f59345f1d0a928c
> > dashboard link: https://syzkaller.appspot.com/bug?extid=cbb25bb9b4d29a773985
> > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1014d797680000
> > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11b1ec67680000
> >
> > Reported-by: syzbot+cbb25bb9b4d29a773985@syzkaller.appspotmail.com
> > Fixes: 2d25a889601d ("ptrace: Convert ptrace_attach() to use lock guards")
>
> Hurmph, let me pull that patch from tip and go have a look. Thanks!
I guess
scoped_guard (write_lock, &tasklist_lock)
is not right... this needs write_lock_irq().
I didn't notice this when I reviewed this patch.
Oleg.
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [syzbot] [kernel?] inconsistent lock state in ptrace_attach
2023-11-17 9:38 ` Oleg Nesterov
@ 2023-11-17 9:45 ` Peter Zijlstra
2023-11-17 12:32 ` Oleg Nesterov
0 siblings, 1 reply; 9+ messages in thread
From: Peter Zijlstra @ 2023-11-17 9:45 UTC (permalink / raw)
To: Oleg Nesterov
Cc: syzbot, boqun.feng, brauner, linux-kernel, longman,
michael.christie, mingo, mst, syzkaller-bugs, tglx, wander, will
On Fri, Nov 17, 2023 at 10:38:30AM +0100, Oleg Nesterov wrote:
> On 11/17, Peter Zijlstra wrote:
> >
> > On Fri, Nov 17, 2023 at 12:49:04AM -0800, syzbot wrote:
> > > syzbot has bisected this issue to:
> > >
> > > commit 2d25a889601d2fbc87ec79b30ea315820f874b78
> > > Author: Peter Zijlstra <peterz@infradead.org>
> > > Date: Sun Sep 17 11:24:21 2023 +0000
> > >
> > > ptrace: Convert ptrace_attach() to use lock guards
> > >
> > > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=132b7d84e80000
> > > start commit: f31817cbcf48 Add linux-next specific files for 20231116
> > > git tree: linux-next
> > > final oops: https://syzkaller.appspot.com/x/report.txt?x=10ab7d84e80000
> > > console output: https://syzkaller.appspot.com/x/log.txt?x=172b7d84e80000
> > > kernel config: https://syzkaller.appspot.com/x/.config?x=f59345f1d0a928c
> > > dashboard link: https://syzkaller.appspot.com/bug?extid=cbb25bb9b4d29a773985
> > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1014d797680000
> > > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11b1ec67680000
> > >
> > > Reported-by: syzbot+cbb25bb9b4d29a773985@syzkaller.appspotmail.com
> > > Fixes: 2d25a889601d ("ptrace: Convert ptrace_attach() to use lock guards")
> >
> > Hurmph, let me pull that patch from tip and go have a look. Thanks!
>
> I guess
>
> scoped_guard (write_lock, &tasklist_lock)
>
> is not right... this needs write_lock_irq().
>
> I didn't notice this when I reviewed this patch.
Yep, that seems to be the case.
I keep forgetting how to tell the syscall robot to test the below delta,
but I'll push the ammended commit to my staging tree and we'll see what
happens.
---
--- a/kernel/ptrace.c
+++ b/kernel/ptrace.c
@@ -461,7 +461,7 @@ static int ptrace_attach(struct task_str
return retval;
}
- scoped_guard (write_lock, &tasklist_lock) {
+ scoped_guard (write_lock_irq, &tasklist_lock) {
if (unlikely(task->exit_state))
return -EPERM;
if (task->ptrace)
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [syzbot] [kernel?] inconsistent lock state in ptrace_attach
2023-11-17 9:45 ` Peter Zijlstra
@ 2023-11-17 12:32 ` Oleg Nesterov
0 siblings, 0 replies; 9+ messages in thread
From: Oleg Nesterov @ 2023-11-17 12:32 UTC (permalink / raw)
To: Peter Zijlstra
Cc: syzbot, boqun.feng, brauner, linux-kernel, longman,
michael.christie, mingo, mst, syzkaller-bugs, tglx, wander, will
On 11/17, Peter Zijlstra wrote:
>
> --- a/kernel/ptrace.c
> +++ b/kernel/ptrace.c
> @@ -461,7 +461,7 @@ static int ptrace_attach(struct task_str
> return retval;
> }
>
> - scoped_guard (write_lock, &tasklist_lock) {
> + scoped_guard (write_lock_irq, &tasklist_lock) {
FWIW,
Acked-by: Oleg Nesterov <oleg@redhat.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [syzbot] Test
2023-11-16 11:09 [syzbot] [kernel?] inconsistent lock state in ptrace_attach syzbot
2023-11-16 20:00 ` syzbot
2023-11-17 8:49 ` syzbot
@ 2023-11-17 13:51 ` syzbot
2 siblings, 0 replies; 9+ messages in thread
From: syzbot @ 2023-11-17 13:51 UTC (permalink / raw)
To: linux-kernel, syzkaller-bugs
For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.
***
Subject: Test
Author: tintinm2017@gmail.com
#syz test:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <CAJjsb4rmXhLyOFpNwQy1kh480Q7p=gvTY5HnhF-b=Sf=VijYKA@mail.gmail.com>]
end of thread, other threads:[~2023-11-17 14:12 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-16 11:09 [syzbot] [kernel?] inconsistent lock state in ptrace_attach syzbot
2023-11-16 20:00 ` syzbot
2023-11-17 8:49 ` syzbot
2023-11-17 9:27 ` Peter Zijlstra
2023-11-17 9:38 ` Oleg Nesterov
2023-11-17 9:45 ` Peter Zijlstra
2023-11-17 12:32 ` Oleg Nesterov
2023-11-17 13:51 ` [syzbot] Test syzbot
[not found] <CAJjsb4rmXhLyOFpNwQy1kh480Q7p=gvTY5HnhF-b=Sf=VijYKA@mail.gmail.com>
2023-11-17 14:12 ` [syzbot] [kernel?] inconsistent lock state in ptrace_attach syzbot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox