[SCSI] zfcp: add missing compat ptr conversion
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Wed, 13 Jan 2010 16:52:38 +0000 (17:52 +0100)
committerJames Bottomley <James.Bottomley@suse.de>
Sun, 17 Jan 2010 18:38:49 +0000 (12:38 -0600)
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/s390/scsi/zfcp_cfdc.c

index f932400e980a23dca4ac94cb318651771a9829cc..0eb6eefd2c1a0c457e7d19cdbe536af1f72fd941 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <linux/types.h>
 #include <linux/miscdevice.h>
+#include <asm/compat.h>
 #include <asm/ccwdev.h>
 #include "zfcp_def.h"
 #include "zfcp_ext.h"
@@ -163,7 +164,7 @@ static void zfcp_cfdc_req_to_sense(struct zfcp_cfdc_data *data,
 }
 
 static long zfcp_cfdc_dev_ioctl(struct file *file, unsigned int command,
-                               unsigned long buffer)
+                               unsigned long arg)
 {
        struct zfcp_cfdc_data *data;
        struct zfcp_cfdc_data __user *data_user;
@@ -175,7 +176,11 @@ static long zfcp_cfdc_dev_ioctl(struct file *file, unsigned int command,
        if (command != ZFCP_CFDC_IOC)
                return -ENOTTY;
 
-       data_user = (void __user *) buffer;
+       if (is_compat_task())
+               data_user = compat_ptr(arg);
+       else
+               data_user = (void __user *)arg;
+
        if (!data_user)
                return -EINVAL;