Message ID | 20190527081741.14235-4-emil.l.velikov@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [01/13] drm/amdgpu: introduce and honour DRM_FORCE_AUTH workaround | expand |
Hi Emil, 19. 5. 27. 오후 5:17에 Emil Velikov 이(가) 쓴 글: > From: Emil Velikov <emil.velikov@collabora.com> > > The authentication can be circumvented, by design, by using the render > node. > >>From the driver POV there is no distinction between primary and render > nodes, thus we can drop the token. > > Cc: Inki Dae <inki.dae@samsung.com> > Cc: Joonyoung Shim <jy0922.shim@samsung.com> > Cc: Seung-Woo Kim <sw0312.kim@samsung.com> > Cc: Kyungmin Park <kyungmin.park@samsung.com> > Cc: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> > Signed-off-by: Emil Velikov <emil.velikov@collabora.com> > --- > Gents, I've looked around for userspace and found only libdrm - the > exynos library + simple apps and the X driver. All of which are safe > with this patch. > > Please have a look through other some open-source userspace that you > have around. Acked-by: Inki Dae <inki.dae@samsung.com> Thanks, Inki Dae > > Tobias, you mentioned userspace projects (mpv, libretro, other) where > you've added exynos backend. Can you please check they work fine with > this patch? > > Thanks > Emil > --- > drivers/gpu/drm/exynos/exynos_drm_drv.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c > index e1ef9dc9ebf3..b461d89accff 100644 > --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c > +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c > @@ -81,29 +81,29 @@ static const struct vm_operations_struct exynos_drm_gem_vm_ops = { > > static const struct drm_ioctl_desc exynos_ioctls[] = { > DRM_IOCTL_DEF_DRV(EXYNOS_GEM_CREATE, exynos_drm_gem_create_ioctl, > - DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(EXYNOS_GEM_MAP, exynos_drm_gem_map_ioctl, > - DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(EXYNOS_GEM_GET, exynos_drm_gem_get_ioctl, > DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(EXYNOS_VIDI_CONNECTION, vidi_connection_ioctl, > DRM_AUTH), > DRM_IOCTL_DEF_DRV(EXYNOS_G2D_GET_VER, exynos_g2d_get_ver_ioctl, > - DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(EXYNOS_G2D_SET_CMDLIST, exynos_g2d_set_cmdlist_ioctl, > - DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(EXYNOS_G2D_EXEC, exynos_g2d_exec_ioctl, > - DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(EXYNOS_IPP_GET_RESOURCES, > exynos_drm_ipp_get_res_ioctl, > - DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(EXYNOS_IPP_GET_CAPS, exynos_drm_ipp_get_caps_ioctl, > - DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(EXYNOS_IPP_GET_LIMITS, > exynos_drm_ipp_get_limits_ioctl, > - DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_RENDER_ALLOW), > DRM_IOCTL_DEF_DRV(EXYNOS_IPP_COMMIT, exynos_drm_ipp_commit_ioctl, > - DRM_AUTH | DRM_RENDER_ALLOW), > + DRM_RENDER_ALLOW), > }; > > static const struct file_operations exynos_drm_driver_fops = { >
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c index e1ef9dc9ebf3..b461d89accff 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_drv.c +++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c @@ -81,29 +81,29 @@ static const struct vm_operations_struct exynos_drm_gem_vm_ops = { static const struct drm_ioctl_desc exynos_ioctls[] = { DRM_IOCTL_DEF_DRV(EXYNOS_GEM_CREATE, exynos_drm_gem_create_ioctl, - DRM_AUTH | DRM_RENDER_ALLOW), + DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(EXYNOS_GEM_MAP, exynos_drm_gem_map_ioctl, - DRM_AUTH | DRM_RENDER_ALLOW), + DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(EXYNOS_GEM_GET, exynos_drm_gem_get_ioctl, DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(EXYNOS_VIDI_CONNECTION, vidi_connection_ioctl, DRM_AUTH), DRM_IOCTL_DEF_DRV(EXYNOS_G2D_GET_VER, exynos_g2d_get_ver_ioctl, - DRM_AUTH | DRM_RENDER_ALLOW), + DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(EXYNOS_G2D_SET_CMDLIST, exynos_g2d_set_cmdlist_ioctl, - DRM_AUTH | DRM_RENDER_ALLOW), + DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(EXYNOS_G2D_EXEC, exynos_g2d_exec_ioctl, - DRM_AUTH | DRM_RENDER_ALLOW), + DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(EXYNOS_IPP_GET_RESOURCES, exynos_drm_ipp_get_res_ioctl, - DRM_AUTH | DRM_RENDER_ALLOW), + DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(EXYNOS_IPP_GET_CAPS, exynos_drm_ipp_get_caps_ioctl, - DRM_AUTH | DRM_RENDER_ALLOW), + DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(EXYNOS_IPP_GET_LIMITS, exynos_drm_ipp_get_limits_ioctl, - DRM_AUTH | DRM_RENDER_ALLOW), + DRM_RENDER_ALLOW), DRM_IOCTL_DEF_DRV(EXYNOS_IPP_COMMIT, exynos_drm_ipp_commit_ioctl, - DRM_AUTH | DRM_RENDER_ALLOW), + DRM_RENDER_ALLOW), }; static const struct file_operations exynos_drm_driver_fops = {