[PATCH 04/15] drm: Check crtc x and y coordinates

2012-03-13 Thread ville.syrj...@linux.intel.com
From: Ville Syrj?l? 

The crtc x/y panning coordinates are stored as signed integers
internally. The user provides them as unsigned, so we should check
that the user provided values actually fit in the internal datatypes.

Signed-off-by: Ville Syrj?l? 
---
 drivers/gpu/drm/drm_crtc.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index d11763f..3a42c9c 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1774,6 +1774,10 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
if (!drm_core_check_feature(dev, DRIVER_MODESET))
return -EINVAL;

+   /* For some reason crtc x/y offsets are signed internally. */
+   if (crtc_req->x > INT_MAX || crtc_req->y > INT_MAX)
+   return -ERANGE;
+
mutex_lock(>mode_config.mutex);
obj = drm_mode_object_find(dev, crtc_req->crtc_id,
   DRM_MODE_OBJECT_CRTC);
-- 
1.7.3.4



[PATCH 04/15] drm: Check crtc x and y coordinates

2012-03-13 Thread ville . syrjala
From: Ville Syrjälä ville.syrj...@linux.intel.com

The crtc x/y panning coordinates are stored as signed integers
internally. The user provides them as unsigned, so we should check
that the user provided values actually fit in the internal datatypes.

Signed-off-by: Ville Syrjälä ville.syrj...@linux.intel.com
---
 drivers/gpu/drm/drm_crtc.c |4 
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index d11763f..3a42c9c 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1774,6 +1774,10 @@ int drm_mode_setcrtc(struct drm_device *dev, void *data,
if (!drm_core_check_feature(dev, DRIVER_MODESET))
return -EINVAL;
 
+   /* For some reason crtc x/y offsets are signed internally. */
+   if (crtc_req-x  INT_MAX || crtc_req-y  INT_MAX)
+   return -ERANGE;
+
mutex_lock(dev-mode_config.mutex);
obj = drm_mode_object_find(dev, crtc_req-crtc_id,
   DRM_MODE_OBJECT_CRTC);
-- 
1.7.3.4

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel