Преглед изворни кода

drm: add control node checks missing from kms merge

This line that checks the DRM_CONTROL_ALLOW flag was missed from the KMS
merge.  Re-add the check on the IOCTL, as this is currently the only use of
this flag.

Signed-off-by: Jonas Bonn <jonas@southpole.se>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Jonas Bonn пре 16 година
родитељ
комит
59738d5c97
1 измењених фајлова са 2 додато и 1 уклоњено
  1. 2 1
      drivers/gpu/drm/drm_drv.c

+ 2 - 1
drivers/gpu/drm/drm_drv.c

@@ -456,7 +456,8 @@ int drm_ioctl(struct inode *inode, struct file *filp,
 		retcode = -EINVAL;
 	} else if (((ioctl->flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)) ||
 		   ((ioctl->flags & DRM_AUTH) && !file_priv->authenticated) ||
-		   ((ioctl->flags & DRM_MASTER) && !file_priv->is_master)) {
+		   ((ioctl->flags & DRM_MASTER) && !file_priv->is_master) ||
+		   (!(ioctl->flags & DRM_CONTROL_ALLOW) && (file_priv->minor->type == DRM_MINOR_CONTROL))) {
 		retcode = -EACCES;
 	} else {
 		if (cmd & (IOC_IN | IOC_OUT)) {