Skip to contentSkip to conversation

FAILED: patch "[PATCH] drm/i915/pmu: Keep a reference to module while active" failed to apply to 5.7-stable tree

PATCH [email protected] 1 participant 1 message Jun 23, 2020

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.7-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 3b55cdeb8f1b71444da866fd2568b1a18ba7f9c3 Mon Sep 17 00:00:00 2001
From: Chris Wilson <[email protected]>
Date: Thu, 30 Apr 2020 19:33:24 +0100
Subject: [PATCH] drm/i915/pmu: Keep a reference to module while active

While a perf event is open, keep a reference to the module so we don't remove the driver internals mid-sampling.

Testcase: igt/perf_pmu/module-unload

drivers/gpu/drm/i915/i915_pmu.c +4 -1
index 83c6a8ccd2cb..e991a707bdb7 100644
@@ -442,6 +442,7 @@ static u64 count_interrupts(struct drm_i915_private *i915)
 static void i915_pmu_event_destroy(struct perf_event *event)
 {
 	WARN_ON(event->parent);
+	module_put(THIS_MODULE);
 }
 
 static int
@@ -533,8 +534,10 @@ static int i915_pmu_event_init(struct perf_event *event)
 	if (ret)
 		return ret;
 
-	if (!event->parent)
+	if (!event->parent) {
+		__module_get(THIS_MODULE);
 		event->destroy = i915_pmu_event_destroy;
+	}
 
 	return 0;
 }