mtd: Fix pointer handling in compat ioctls to use compat_ptr()
authorDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 29 May 2009 15:09:08 +0000 (16:09 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Fri, 29 May 2009 15:09:08 +0000 (16:09 +0100)
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

drivers/mtd/mtdchar.c

index 5fff04f..5b081cb 100644 (file)
@@ -839,7 +839,7 @@ static long mtd_compat_ioctl(struct file *file, unsigned int cmd,
        struct inode *inode = file->f_path.dentry->d_inode;
        struct mtd_file_info *mfi = file->private_data;
        struct mtd_info *mtd = mfi->mtd;
-       void __user *argp = (void __user *)arg;
+       void __user *argp = compat_ptr(arg);
        int ret = 0;
 
        lock_kernel();
@@ -874,7 +874,7 @@ static long mtd_compat_ioctl(struct file *file, unsigned int cmd,
                break;
        }
        default:
-               ret = mtd_ioctl(inode, file, cmd, arg);
+               ret = mtd_ioctl(inode, file, cmd, (unsigned long)argp);
        }
 
        unlock_kernel();