[PATCH] drm/amdkfd: Use correct major in devcgroup check
Felix Kuehling
felix.kuehling at amd.com
Thu Jun 11 20:23:11 UTC 2020
Am 2020-06-11 um 4:11 p.m. schrieb Lorenz Brun:
> 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: Lorenz Brun <lorenz at brun.one>
Reviewed-by: Felix Kuehling <Felix.Kuehling at amd.com>
Thanks for this fix. I will apply it to our amd-staging-drm-next branch.
Regards,
Felix
> Fixes: 6b855f7b83d2f ("drm/amdkfd: Check against device cgroup")
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
> index f0587d94294d..fee60921fccf 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
> @@ -40,6 +40,7 @@
> #include <drm/drm_file.h>
> #include <drm/drm_drv.h>
> #include <drm/drm_device.h>
> +#include <drm/drm_ioctl.h>
> #include <kgd_kfd_interface.h>
> #include <linux/swap.h>
>
> @@ -1076,7 +1077,7 @@ static inline int kfd_devcgroup_check_permission(struct kfd_dev *kfd)
> #if defined(CONFIG_CGROUP_DEVICE) || defined(CONFIG_CGROUP_BPF)
> 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,
> DEVCG_ACC_WRITE | DEVCG_ACC_READ);
> #else
More information about the amd-gfx
mailing list