All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Fix crash due to open pmu events during unbind
@ 2024-02-13 18:03 Umesh Nerlige Ramappa
  2024-02-13 18:03 ` [PATCH 1/2] i915/pmu: Add pmu_teardown helper Umesh Nerlige Ramappa
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Umesh Nerlige Ramappa @ 2024-02-13 18:03 UTC (permalink / raw)
  To: intel-gfx; +Cc: Tvrtko Ursulin

Once a user opens an fd for a perf event, if the driver undergoes a
function level reset (FLR), the resources are not cleaned up as
expected. For this discussion FLR is defined as a PCI unbind followed by
a bind. perf_pmu_unregister() would cleanup everything, but when the
user closes the perf fd much later, perf_release() is called and we
encounter null pointer dereferences and/or list corruption in that path
which require a reboot to recover.

The only approach that worked to resolve this was to close the file
associated with the event such that the relevant cleanup happens w.r.t.
the open file. To do so, use the event->owner task and find the file
relevant to the event and close it. This relies on the
file->private_data matching the event object.

Test-with: 20240213062948.32735-1-umesh.nerlige.ramappa@intel.com
Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

Umesh Nerlige Ramappa (2):
  i915/pmu: Add pmu_teardown helper
  i915/pmu: Cleanup pending events on unbind

 drivers/gpu/drm/i915/i915_pmu.c | 192 ++++++++++++++++++++++++--------
 drivers/gpu/drm/i915/i915_pmu.h |  15 +++
 2 files changed, 161 insertions(+), 46 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-02-15 21:42 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-13 18:03 [PATCH 0/2] Fix crash due to open pmu events during unbind Umesh Nerlige Ramappa
2024-02-13 18:03 ` [PATCH 1/2] i915/pmu: Add pmu_teardown helper Umesh Nerlige Ramappa
2024-02-13 18:03 ` [PATCH 2/2] i915/pmu: Cleanup pending events on unbind Umesh Nerlige Ramappa
2024-02-13 18:36   ` Jani Nikula
2024-02-13 19:44     ` Umesh Nerlige Ramappa
2024-02-14  8:21   ` Tvrtko Ursulin
2024-02-14 19:16     ` Umesh Nerlige Ramappa
2024-02-15  2:48   ` kernel test robot
2024-02-15 21:41   ` kernel test robot
2024-02-13 21:35 ` ✗ Fi.CI.CHECKPATCH: warning for Fix crash due to open pmu events during unbind Patchwork
2024-02-13 21:35 ` ✗ Fi.CI.SPARSE: " Patchwork
2024-02-13 21:54 ` ✓ Fi.CI.BAT: success " Patchwork
2024-02-14  4:34 ` ✗ Fi.CI.IGT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.