From patchwork Mon Jul 4 10:08:08 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2/4] drm: fix unsigned vs signed comparison issue in modeset ctl ioctl CVE-2011-1013 Date: Mon, 04 Jul 2011 00:08:08 -0000 From: Paolo Pisati X-Patchwork-Id: 103076 Message-Id: <1309774090-2781-3-git-send-email-paolo.pisati@canonical.com> To: kernel-team@lists.ubuntu.com From: Dave Airlie BugLink: http://bugs.launchpad.net/bugs/804229 commit 1922756124ddd53846877416d92ba4a802bc658f upstream. This fixes CVE-2011-1013. Reported-by: Matthiew Herrb (OpenBSD X.org team) Signed-off-by: Dave Airlie Signed-off-by: Greg Kroah-Hartman Signed-off-by: Andi Kleen Signed-off-by: Tim Gardner Signed-off-by: Paolo Pisati --- drivers/gpu/drm/drm_irq.c | 3 ++- include/drm/drmP.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index a263b70..0ddd109 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -545,7 +545,8 @@ int drm_modeset_ctl(struct drm_device *dev, void *data, struct drm_file *file_priv) { 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 (!dev->num_crtcs) diff --git a/include/drm/drmP.h b/include/drm/drmP.h index bd833c3..04fb2d3 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h @@ -1024,7 +1024,7 @@ struct drm_device { struct pci_controller *hose; #endif 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 *mm_private; struct address_space *dev_mapping;