Commit 19227561 authored by Dave Airlie's avatar Dave Airlie

drm: fix unsigned vs signed comparison issue in modeset ctl ioctl.

This fixes CVE-2011-1013.

Reported-by: Matthiew Herrb (OpenBSD X.org team)
Cc: stable@kernel.org
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 3c0556e9
...@@ -1012,7 +1012,8 @@ int drm_modeset_ctl(struct drm_device *dev, void *data, ...@@ -1012,7 +1012,8 @@ int drm_modeset_ctl(struct drm_device *dev, void *data,
struct drm_file *file_priv) struct drm_file *file_priv)
{ {
struct drm_modeset_ctl *modeset = data; struct drm_modeset_ctl *modeset = data;
int crtc, ret = 0; int ret = 0;
unsigned int crtc;
/* If drm_vblank_init() hasn't been called yet, just no-op */ /* If drm_vblank_init() hasn't been called yet, just no-op */
if (!dev->num_crtcs) if (!dev->num_crtcs)
......
...@@ -1101,7 +1101,7 @@ struct drm_device { ...@@ -1101,7 +1101,7 @@ struct drm_device {
struct platform_device *platformdev; /**< Platform device struture */ struct platform_device *platformdev; /**< Platform device struture */
struct drm_sg_mem *sg; /**< Scatter gather memory */ struct drm_sg_mem *sg; /**< Scatter gather memory */
int num_crtcs; /**< Number of CRTCs on this device */ unsigned int num_crtcs; /**< Number of CRTCs on this device */
void *dev_private; /**< device private data */ void *dev_private; /**< device private data */
void *mm_private; void *mm_private;
struct address_space *dev_mapping; struct address_space *dev_mapping;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment