]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm: fix unsigned vs signed comparison issue in modeset ctl ioctl.
authorDave Airlie <airlied@redhat.com>
Wed, 23 Feb 2011 22:35:06 +0000 (08:35 +1000)
committerAK <andi@firstfloor.org>
Thu, 31 Mar 2011 18:58:15 +0000 (11:58 -0700)
commit 1922756124ddd53846877416d92ba4a802bc658f upstream.

This fixes CVE-2011-1013.

Reported-by: Matthiew Herrb (OpenBSD X.org team)
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
drivers/gpu/drm/drm_irq.c
include/drm/drmP.h

index a263b7070fc6f81b227d77a3befbd11b6efc8be0..0ddd10995c46048b08ff7a403039f49849d01a8a 100644 (file)
@@ -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)
index 7c9d28d635b57cb651514c2ef6ec269438493124..3667812ce6e28075def4584a5ee19703ba966c9f 100644 (file)
@@ -1021,7 +1021,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;