[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