[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250429154946.GA4439@noisy.programming.kicks-ass.net>
Date: Tue, 29 Apr 2025 17:49:46 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Jianzhou Zhao <luckd0g@....com>
Cc: stable@...r.kernel.org, alexander.shishkin@...ux.intel.com,
mingo@...hat.com, acme@...nel.org, namhyung@...nel.org,
mark.rutland@....com, jolsa@...nel.org, irogers@...gle.com,
adrian.hunter@...el.com, kan.liang@...ux.intel.com,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: possible deadlock in perf_ctx_lock in linux6.12.25(longterm
maintenance)
On Tue, Apr 29, 2025 at 10:18:04PM +0800, Jianzhou Zhao wrote:
> Hello, I found a potential bug titled " possible deadlock in perf_ctx_lock " with modified syzkaller in the Linux6.12.25(longterm maintenance, last updated on April 25, 2025)
Nah, you hit a WARN and then printk being lousy made it explode worse.
> WARNING: CPU: 0 PID: 15835 at kernel/trace/trace_event_perf.c:375 perf_trace_add+0x2da/0x390 kernel/trace/trace_event_perf.c:375
> Modules linked in:
> CPU: 0 UID: 0 PID: 15835 Comm: syz.9.499 Not tainted 6.12.25 #3
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
> RIP: 0010:perf_trace_add+0x2da/0x390 kernel/trace/trace_event_perf.c:375
> Code: fc ff df 48 89 fa 48 c1 ea 03 80 3c 02 00 75 64 48 89 ab f8 01 00 00 48 89 df e8 b1 ab 26 00 e9 f3 fd ff ff e8 37 87 f6 ff 90 <0f> 0b 90 41 bc ea ff ff ff e9 77 ff ff ff e8 23 c5 56 00 e9 8a fd
> RSP: 0018:ffffc9000713f7f0 EFLAGS: 00010006
> RAX: 0000000040000002 RBX: ffff88802a069880 RCX: ffffffff8195a68e
> RDX: ffff888045ec2500 RSI: ffffffff8195a839 RDI: ffffffff8deabf48
> RBP: 0000000000000000 R08: 0000000000000001 R09: fffff52000e27eef
> R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
> R13: ffffffff8deabee0 R14: ffff88802a069928 R15: ffff888051237200
> FS: 00007fe4fec1c640(0000) GS:ffff88802b800000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007f50219e7bac CR3: 00000000743bc000 CR4: 0000000000752ef0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> PKRU: 80000000
> Call Trace:
> <TASK>
> event_sched_in+0x434/0xac0 kernel/events/core.c:2629
> group_sched_in kernel/events/core.c:2662 [inline]
> merge_sched_in+0x895/0x1570 kernel/events/core.c:3940
> visit_groups_merge.constprop.0.isra.0+0x6d2/0x1250 kernel/events/core.c:3885
> pmu_groups_sched_in kernel/events/core.c:3967 [inline]
> __pmu_ctx_sched_in kernel/events/core.c:3979 [inline]
> ctx_sched_in+0x5c1/0xa30 kernel/events/core.c:4030
> perf_event_sched_in+0x5d/0x90 kernel/events/core.c:2760
> perf_event_context_sched_in kernel/events/core.c:4077 [inline]
> __perf_event_task_sched_in+0x33a/0x6f0 kernel/events/core.c:4106
> perf_event_task_sched_in include/linux/perf_event.h:1524 [inline]
> finish_task_switch.isra.0+0x5f9/0xcb0 kernel/sched/core.c:5201
> context_switch kernel/sched/core.c:5335 [inline]
> __schedule+0x1156/0x5b20 kernel/sched/core.c:6710
> preempt_schedule_irq+0x51/0x90 kernel/sched/core.c:7032
> irqentry_exit+0x36/0x90 kernel/entry/common.c:354
> asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
Not quite sure which of the WARNs that is, as I don't keep the stable
trees around and .12 is quite old by now.
Anyway, if you can reproduce I'll take a look.
Powered by blists - more mailing lists