Skip to content

Commit 69fd6b9

Browse files
committed
Merge tag 'perf_urgent_for_v6.17_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull perf fix from Borislav Petkov: - Fix a case where the events throttling logic operates on inactive events * tag 'perf_urgent_for_v6.17_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf: Avoid undefined behavior from stopping/starting inactive events
2 parents 0f74d9c + b64fdd4 commit 69fd6b9

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

kernel/events/core.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2665,6 +2665,9 @@ static void perf_log_itrace_start(struct perf_event *event);
26652665

26662666
static void perf_event_unthrottle(struct perf_event *event, bool start)
26672667
{
2668+
if (event->state != PERF_EVENT_STATE_ACTIVE)
2669+
return;
2670+
26682671
event->hw.interrupts = 0;
26692672
if (start)
26702673
event->pmu->start(event, 0);
@@ -2674,6 +2677,9 @@ static void perf_event_unthrottle(struct perf_event *event, bool start)
26742677

26752678
static void perf_event_throttle(struct perf_event *event)
26762679
{
2680+
if (event->state != PERF_EVENT_STATE_ACTIVE)
2681+
return;
2682+
26772683
event->hw.interrupts = MAX_INTERRUPTS;
26782684
event->pmu->stop(event, 0);
26792685
if (event == event->group_leader)

0 commit comments

Comments
 (0)