summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2023-03-26 09:13:35 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2023-03-26 09:13:35 -0700
commit974fc94336df81137b3b3502e73f89282a743607 (patch)
tree6a8900edcecbed4ddbcee56ac60624296e8c49a3
parentf6cdaeb08b66db0d06b1b70c0801a00b6f30571c (diff)
parent263f5ecaf7080513efc248ec739b6d9e00f4129f (diff)
downloadlinux-974fc94336df81137b3b3502e73f89282a743607.tar.gz
Merge tag 'perf_urgent_for_v6.3_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fix from Borislav Petkov: - Properly clear perf event status tracking in the AMD perf event overflow handler * tag 'perf_urgent_for_v6.3_rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf/x86/amd/core: Always clear status for idx
-rw-r--r--arch/x86/events/amd/core.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/events/amd/core.c b/arch/x86/events/amd/core.c
index 8c45b198b62f..bccea57dee81 100644
--- a/arch/x86/events/amd/core.c
+++ b/arch/x86/events/amd/core.c
@@ -923,6 +923,7 @@ static int amd_pmu_v2_handle_irq(struct pt_regs *regs)
/* Event overflow */
handled++;
+ status &= ~mask;
perf_sample_data_init(&data, 0, hwc->last_period);
if (!x86_perf_event_set_period(event))
@@ -933,8 +934,6 @@ static int amd_pmu_v2_handle_irq(struct pt_regs *regs)
if (perf_event_overflow(event, &data, regs))
x86_pmu_stop(event, 0);
-
- status &= ~mask;
}
/*