]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amdkfd: Check cgroup when returning DMABuf info
authorMukul Joshi <mukul.joshi@amd.com>
Mon, 12 Feb 2024 15:40:55 +0000 (10:40 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 May 2024 10:14:39 +0000 (12:14 +0200)
[ Upstream commit 9d7993a7ab9651afd5fb295a4992e511b2b727aa ]

Check cgroup permissions when returning DMA-buf info and
based on cgroup info return the GPU id of the GPU that have
access to the BO.

Signed-off-by: Mukul Joshi <mukul.joshi@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c

index 08da993df1480edacf96c2eee9eacdc14ebc3a9c..7d5ffc2bad793390450df795a01746ab5cb1a84e 100644 (file)
@@ -1522,7 +1522,7 @@ static int kfd_ioctl_get_dmabuf_info(struct file *filep,
 
        /* Find a KFD GPU device that supports the get_dmabuf_info query */
        for (i = 0; kfd_topology_enum_kfd_devices(i, &dev) == 0; i++)
-               if (dev)
+               if (dev && !kfd_devcgroup_check_permission(dev))
                        break;
        if (!dev)
                return -EINVAL;
@@ -1544,7 +1544,7 @@ static int kfd_ioctl_get_dmabuf_info(struct file *filep,
        if (xcp_id >= 0)
                args->gpu_id = dmabuf_adev->kfd.dev->nodes[xcp_id]->id;
        else
-               args->gpu_id = dmabuf_adev->kfd.dev->nodes[0]->id;
+               args->gpu_id = dev->id;
        args->flags = flags;
 
        /* Copy metadata buffer to user mode */