Hi,
  This patch fixes a few warnings found with sparse; it should have
no functional change.   The change in radeon_cs.c just removes
a variable that was being assigned but never used, along the way causing a
warning.  The change in radeon_kms.c adds a couple of __user qualifiers
that cleans up some warnings and if present should have helped spot
the previously missing copy_from_user that went in previously.

Against 2.6.36-rc3

Signed-off-by: David Alan Gilbert <li...@treblig.org>
---
diff --git a/drivers/gpu/drm/radeon/radeon_cs.c 
b/drivers/gpu/drm/radeon/radeon_cs.c
index fcc79b5..f82fde7 100644
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@ -120,7 +120,6 @@ int radeon_cs_parser_init(struct radeon_cs_parser *p, void 
*data)
        for (i = 0; i < p->nchunks; i++) {
                struct drm_radeon_cs_chunk __user **chunk_ptr = NULL;
                struct drm_radeon_cs_chunk user_chunk;
-               uint32_t __user *cdata;
 
                chunk_ptr = (void __user*)(unsigned long)p->chunks_array[i];
                if (DRM_COPY_FROM_USER(&user_chunk, chunk_ptr,
@@ -144,7 +143,6 @@ int radeon_cs_parser_init(struct radeon_cs_parser *p, void 
*data)
                p->chunks[i].length_dw = user_chunk.length_dw;
                p->chunks[i].user_ptr = (void __user *)(unsigned 
long)user_chunk.chunk_data;
 
-               cdata = (uint32_t *)(unsigned long)user_chunk.chunk_data;
                if (p->chunks[i].chunk_id != RADEON_CHUNK_ID_IB) {
                        size = p->chunks[i].length_dw * sizeof(uint32_t);
                        p->chunks[i].kdata = kmalloc(size, GFP_KERNEL);
diff --git a/drivers/gpu/drm/radeon/radeon_kms.c 
b/drivers/gpu/drm/radeon/radeon_kms.c
index 5eee3c4..0559077 100644
--- a/drivers/gpu/drm/radeon/radeon_kms.c
+++ b/drivers/gpu/drm/radeon/radeon_kms.c
@@ -105,13 +105,13 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, 
struct drm_file *filp)
        struct radeon_device *rdev = dev->dev_private;
        struct drm_radeon_info *info;
        struct radeon_mode_info *minfo = &rdev->mode_info;
-       uint32_t *value_ptr;
+       uint32_t __user *value_ptr;
        uint32_t value;
        struct drm_crtc *crtc;
        int i, found;
 
        info = data;
-       value_ptr = (uint32_t *)((unsigned long)info->value);
+       value_ptr = (uint32_t __user *)((unsigned long)info->value);
        if (DRM_COPY_FROM_USER(&value, value_ptr, sizeof(value)))
                return -EFAULT;
 
-- 
 -----Open up your eyes, open up your mind, open up your code -------   
/ Dr. David Alan Gilbert    |       Running GNU/Linux       | Happy  \ 
\ gro.gilbert @ treblig.org |                               | In Hex /
 \ _________________________|_____ http://www.treblig.org   |_______/
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to