[PATCH 0/2] perf: complete perf_allow_* trio and use in drm/xe

John Hubbard posted 2 patches 3 days, 18 hours ago
drivers/gpu/drm/xe/xe_eu_stall.c    |  5 +++--
drivers/gpu/drm/xe/xe_oa.c          | 25 +++++++++++++---------
drivers/gpu/drm/xe/xe_observation.c | 32 ++++++++++++++++++++++++-----
drivers/gpu/drm/xe/xe_observation.h |  3 +--
include/linux/perf_event.h          | 18 ++--------------
kernel/events/core.c                | 18 ++++++++++++++++
6 files changed, 66 insertions(+), 35 deletions(-)
[PATCH 0/2] perf: complete perf_allow_* trio and use in drm/xe
Posted by John Hubbard 3 days, 18 hours ago
perf_allow_cpu() and perf_allow_tracepoint() are static inline and
reach into a non-exported sysctl, so modular drivers that want the
same permission model as system-wide perf end up writing partial
copies of this code. Let's instead export these properly so that modules
can call them.

Commit 5e9629d0ae97 ("drivers/perf: arm_spe: Use perf_allow_kernel()
for permissions") already moved perf_allow_kernel() out of line and
exported it. Patch 1 does the same for the other two.

Patch 2 converts drm/xe's OA and EU stall paths to call
perf_allow_cpu(), so xe observation now respects the system
perf_event_paranoid policy and consults the LSM hook. Sites that have
already configured an LSM perf policy or tuned the paranoid sysctl will
now see those settings honored on xe as well.

John Hubbard (2):
  perf/core: out-of-line and export perf_allow_cpu/tracepoint()
  drm/xe: gate observation streams with perf_allow_cpu()

 drivers/gpu/drm/xe/xe_eu_stall.c    |  5 +++--
 drivers/gpu/drm/xe/xe_oa.c          | 25 +++++++++++++---------
 drivers/gpu/drm/xe/xe_observation.c | 32 ++++++++++++++++++++++++-----
 drivers/gpu/drm/xe/xe_observation.h |  3 +--
 include/linux/perf_event.h          | 18 ++--------------
 kernel/events/core.c                | 18 ++++++++++++++++
 6 files changed, 66 insertions(+), 35 deletions(-)


base-commit: b1f7e321a65b3defd5982ead219029ca6d5c8d0f
-- 
2.54.0