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

Hui Wang hui.wang at canonical.com
Fri Jul 17 09:35:58 UTC 2026


Acked-by: Hui Wang <hui.wang at canonical.com>

On 7/16/26 08:09, Kelsey Steele via kernel-team wrote:
> BugLink: https://bugs.launchpad.net/bugs/2160654
>
> SRU Justification:
>
> [Impact]
>
> perf_allow_cpu() and perf_allow_tracepoint() are static inline in
> <linux/perf_event.h> and reference sysctl_perf_event_paranoid and
> security_perf_event_open(), neither of which is exported. Modules cannot reuse
> the system-wide perf permission model and open-code partial copies instead.
>
> drm/xe does this in its OA and EU-stall observation paths, open-coding a
> CPU-event check that ignores kernel.perf_event_paranoid and the
> security_perf_event_open() LSM hook.
>
> [Fix]
>
> Move perf_allow_cpu() and perf_allow_tracepoint() out of line and export them
> with EXPORT_SYMBOL_GPL (with !CONFIG_PERF_EVENTS stubs), following the
> precedent of commit 5e9629d0ae97 for perf_allow_kernel(). Then convert drm/xe
> OA and EU-stall paths to call perf_allow_cpu() so Xe observation honors
> kernel.perf_event_paranoid and the LSM hook. dev.xe.observation_paranoid
> remains as an escape hatch.
>
> Upstream commits in linux-next/drm-next, targeting v7.3:
>
> d32bf877c0c3 ("perf/core: out-of-line and export perf_allow_cpu/tracepoint()")
> 6680bf0cb726 ("drm/xe: gate observation streams with perf_allow_cpu()")
>
> drm/xe is backported: this kernel lacks commit 41255b2f1e03 ("drm/xe/oa: Use
> drm_gem_mmap_obj for OA buffer mmap"), so a duplicate int ret declaration was
> dropped. perf/core is a clean cherry-pick.
>
> Link: https://lore.kernel.org/all/20260523013326.129491-1-jhubbard@nvidia.com/
>
> [Test Plan]
>
> - Builds clean with CONFIG_DRM_XE=m and CONFIG_PERF_EVENTS enabled or disabled.
> - Boots with no dmesg regressions.
> - Module.symvers records perf_allow_cpu() and perf_allow_tracepoint() as
>    EXPORT_SYMBOL_GPL; both are present in /proc/kallsyms and absent without
>    the patches.
> - A perf_event_paranoid sweep confirms unchanged perf_event_open()
>    allow/deny behavior.
>
> [Where problems could occur]
>
> Patch 1 preserves existing permission behavior. Patch 2 may allow or deny Xe
> observation according to the system perf and LSM policies. Only Intel Xe
> systems are affected. Low risk.
>
> 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          | 31 ++++++++++++++--------------
>   kernel/events/core.c                | 18 ++++++++++++++++
>   6 files changed, 79 insertions(+), 35 deletions(-)
>



More information about the kernel-team mailing list