drm: support ignore drm ioctl permission
authorMark Yao <mark.yao@rock-chips.com>
Fri, 4 Nov 2016 08:27:14 +0000 (16:27 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Mon, 7 Nov 2016 07:00:17 +0000 (15:00 +0800)
Change-Id: I269766a9f3f844933bd294ce681466f5a97b1d43
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
drivers/gpu/drm/Kconfig
drivers/gpu/drm/drm_ioctl.c

index 52d6e890bf8531477d6caee0aa79d8fa99e004d3..e2181ac57107364bee7ab788a331f01f250a0710 100644 (file)
@@ -21,6 +21,11 @@ menuconfig DRM
          details.  You should also select and configure AGP
          (/dev/agpgart) support if it is available for your platform.
 
+config DRM_IGNORE_IOTCL_PERMIT
+       bool "Ignore drm ioctl permission"
+       default y
+       depends on DRM && ANDROID
+
 config DRM_MIPI_DSI
        bool
        depends on DRM
index 081ba3587ee6c11dc95d0b1864d4f8be7ad2c172..92f079556b98565d8fb4bad334da5cf74cabfe03 100644 (file)
@@ -520,6 +520,7 @@ static int drm_version(struct drm_device *dev, void *data,
  */
 int drm_ioctl_permit(u32 flags, struct drm_file *file_priv)
 {
+#ifndef CONFIG_DRM_IGNORE_IOTCL_PERMIT
        /* ROOT_ONLY is only for CAP_SYS_ADMIN */
        if (unlikely((flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)))
                return -EACCES;
@@ -543,6 +544,7 @@ int drm_ioctl_permit(u32 flags, struct drm_file *file_priv)
        if (unlikely(!(flags & DRM_RENDER_ALLOW) &&
                     drm_is_render_client(file_priv)))
                return -EACCES;
+#endif
 
        return 0;
 }