Commit 99c7b309 authored by Lorenz Brun's avatar Lorenz Brun Committed by Alex Deucher

drm/amdkfd: Use correct major in devcgroup check

The existing code used the major version number of the DRM driver
instead of the device major number of the DRM subsystem for
validating access for a devices cgroup.

This meant that accesses allowed by the devices cgroup weren't
permitted and certain accesses denied by the devices cgroup were
permitted (if they matched the wrong major device number).
Signed-off-by: default avatarLorenz Brun <lorenz@brun.one>
Fixes: 6b855f7b ("drm/amdkfd: Check against device cgroup")
Reviewed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
parent 9ec051bf
...@@ -40,6 +40,7 @@ ...@@ -40,6 +40,7 @@
#include <drm/drm_file.h> #include <drm/drm_file.h>
#include <drm/drm_drv.h> #include <drm/drm_drv.h>
#include <drm/drm_device.h> #include <drm/drm_device.h>
#include <drm/drm_ioctl.h>
#include <kgd_kfd_interface.h> #include <kgd_kfd_interface.h>
#include <linux/swap.h> #include <linux/swap.h>
...@@ -1076,7 +1077,7 @@ static inline int kfd_devcgroup_check_permission(struct kfd_dev *kfd) ...@@ -1076,7 +1077,7 @@ static inline int kfd_devcgroup_check_permission(struct kfd_dev *kfd)
#if defined(CONFIG_CGROUP_DEVICE) #if defined(CONFIG_CGROUP_DEVICE)
struct drm_device *ddev = kfd->ddev; struct drm_device *ddev = kfd->ddev;
return devcgroup_check_permission(DEVCG_DEV_CHAR, ddev->driver->major, return devcgroup_check_permission(DEVCG_DEV_CHAR, DRM_MAJOR,
ddev->render->index, ddev->render->index,
DEVCG_ACC_WRITE | DEVCG_ACC_READ); DEVCG_ACC_WRITE | DEVCG_ACC_READ);
#else #else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment