mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 01:48:58 -04:00
drm/amdkfd: Fix missing authorization check in KFD_IOC_DBG_TRAP_DISABLE
Prevent unauthorized termination of active GPU debug sessions. Previously, users with /dev/kfd access could terminate another process's debug session without proper ownership or ptrace authorization. Signed-off-by: Gang Ba <Gang.Ba@amd.com> Reviewed-by: Kent Russell <kent.russell@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -3112,10 +3112,14 @@ static int kfd_ioctl_set_debug_trap(struct file *filep, struct kfd_process *p, v
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Check if target is still PTRACED. */
|
||||
/*
|
||||
* Verify debugger has permission to debug target process.
|
||||
* For cross-process debugging, require active ptrace relationship.
|
||||
* This applies to ALL operations to prevent unauthorized interference.
|
||||
*/
|
||||
rcu_read_lock();
|
||||
if (target != p && args->op != KFD_IOC_DBG_TRAP_DISABLE
|
||||
&& ptrace_parent(target->lead_thread) != current) {
|
||||
if (target != p && ptrace_parent(target->lead_thread) != current
|
||||
&& target->debugger_process != p) {
|
||||
pr_err("PID %i is not PTRACED and cannot be debugged\n", args->pid);
|
||||
r = -EPERM;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user