mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
amdkfd: process debug trap ioctl only on a primary context
Set_debug_trap ioctl should work on a specific kfd_process even when multiple contexts feature is implemented. For consistency, this commit allow set_debug_trap ioctl only work on the primary kfd process of a user space program Signed-off-by: Zhu Lingshan <lingshan.zhu@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
3ec1a42f5f
commit
e3491fa3f3
@@ -2931,6 +2931,12 @@ static int kfd_ioctl_set_debug_trap(struct file *filep, struct kfd_process *p, v
|
||||
struct kfd_process_device *pdd = NULL;
|
||||
int r = 0;
|
||||
|
||||
if (p->context_id != KFD_CONTEXT_ID_PRIMARY) {
|
||||
pr_debug("Set debug trap ioctl can not be invoked on non-primary kfd process\n");
|
||||
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
if (sched_policy == KFD_SCHED_POLICY_NO_HWS) {
|
||||
pr_err("Debugging does not support sched_policy %i", sched_policy);
|
||||
return -EINVAL;
|
||||
@@ -2975,6 +2981,12 @@ static int kfd_ioctl_set_debug_trap(struct file *filep, struct kfd_process *p, v
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (target->context_id != KFD_CONTEXT_ID_PRIMARY) {
|
||||
pr_debug("Set debug trap ioctl not supported on non-primary kfd process\n");
|
||||
r = -EOPNOTSUPP;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Check if target is still PTRACED. */
|
||||
rcu_read_lock();
|
||||
if (target != p && args->op != KFD_IOC_DBG_TRAP_DISABLE
|
||||
|
||||
Reference in New Issue
Block a user