diff options
| author | Jesse Zhang <Jesse.Zhang@amd.com> | 2026-10-12 09:27:03 +0800 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2026-10-27 17:04:26 -0400 |
| commit | 2e0f334f5c7140b67f16eff9d93c2ca426848664 (patch) | |
| tree | 17ebcc310d8aa00a09eca35675d0b6ea66ac2589 /scripts/Makefile.thinlto | |
| parent | 9866cb13ba4d39aa8fed34b765d4aecabe04f02e (diff) | |
| download | linux-next-2e0f334f5c7140b67f16eff9d93c2ca426848664.tar.gz linux-next-2e0f334f5c7140b67f16eff9d93c2ca426848664.zip | |
drm/amdkfd: send SMI process and VM fault events only to allowed clients
Commit 92a8dba246d3 ("drm/amdkfd: fix SMI event cross-process
information leak") made the VMFAULT and PROCESS_START/END SMI events
carry the pid of the process they are about, so that
kfd_smi_ev_enabled() only passes them to clients of that process and to
privileged clients. Commit 1142738572ef ("drm/amdkfd: Fix SMI event PID
reporting for containers") then switched kfd_smi_event_add() to take a
task and passed NULL for these events, i.e. pid 0, which every client
receives again.
On navi31, an unprivileged SMI client (uid 1000) subscribed to
PROCESS_START/END sees root running rocminfo:
event: c 223a9 rocminfo
event: d 223a9 rocminfo
The same commit also made the filter compare PIDs of different
namespaces: the client stores its PID in its own namespace and events
use the PID of the task in the task's namespace, so a client that is
PID 1 in one container receives the events of PID 1 in another. And an
exited task has no PID in its namespace anymore, which gives pid 0 for
PROCESS_END.
Match clients by global TGID, which is unique and stays valid after the
task exited, and keep showing the namespace PID in the event text. Pass
the TGID of the process for the process and VM fault events again. With
this the unprivileged client gets nothing, a root client still gets both
events, and an unprivileged client that is PID 1 in its own PID
namespace no longer gets the events of rocminfo running as PID 1 in
another one.
v2: rename the pid of the clients and of the filter to tgid (Felix)
Fixes: 1142738572ef ("drm/amdkfd: Fix SMI event PID reporting for containers")
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 77f5f4eae104a96399a5b1003730d5d739368b7d)
Cc: stable@vger.kernel.org
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
