drm: Make control nodes master-less v3
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / gpu / drm / drm_drv.c
index 002596c..36c00d4 100644 (file)
@@ -306,13 +306,14 @@ static int drm_ioctl_permit(u32 flags, struct drm_file *file_priv)
                     !file_priv->authenticated))
                return -EACCES;
 
-       /* MASTER is only for master */
-       if (unlikely((flags & DRM_MASTER) && !file_priv->is_master))
+       /* MASTER is only for master or control clients */
+       if (unlikely((flags & DRM_MASTER) && !file_priv->is_master &&
+                    !drm_is_control_client(file_priv)))
                return -EACCES;
 
        /* Control clients must be explicitly allowed */
        if (unlikely(!(flags & DRM_CONTROL_ALLOW) &&
-                    file_priv->minor->type == DRM_MINOR_CONTROL))
+                    drm_is_control_client(file_priv)))
                return -EACCES;
 
        /* Render clients must be explicitly allowed */