return "SCSI host adapter emulation for IDE ATAPI devices";
}
-static int idescsi_ioctl (Scsi_Device *dev, int cmd, void *arg)
+static int idescsi_ioctl (Scsi_Device *dev, int cmd, void __user *arg)
{
idescsi_scsi_t *scsi = scsihost_to_idescsi(dev->host);
clear_bit(IDESCSI_SG_TRANSFORM, &scsi->transform);
return 0;
} else if (cmd == SG_GET_TRANSFORM)
- return put_user(test_bit(IDESCSI_SG_TRANSFORM, &scsi->transform), (int *) arg);
+ return put_user(test_bit(IDESCSI_SG_TRANSFORM, &scsi->transform), (int __user *) arg);
return -EINVAL;
}
Scsi_Request * SRpnt = NULL;
OS_Scsi_Tape * STp = file->private_data;
char * name = tape_name(STp);
+ void __user *p = (void __user *)arg;
if (down_interruptible(&STp->lock))
return -ERESTARTSYS;
goto out;
}
- i = copy_from_user((char *) &mtc, (char *)arg, sizeof(struct mtop));
+ i = copy_from_user((char *) &mtc, p, sizeof(struct mtop));
if (i) {
retval = (-EFAULT);
goto out;
STp->drv_buffer != 0)
mt_status.mt_gstat |= GMT_IM_REP_EN(0xffffffff);
- i = copy_to_user((char *)arg, (char *)&mt_status,
- sizeof(struct mtget));
+ i = copy_to_user(p, &mt_status, sizeof(struct mtget));
if (i) {
retval = (-EFAULT);
goto out;
goto out;
}
mt_pos.mt_blkno = blk;
- i = copy_to_user((char *)arg, (char *) (&mt_pos), sizeof(struct mtpos));
+ i = copy_to_user(p, &mt_pos, sizeof(struct mtpos));
if (i)
retval = -EFAULT;
goto out;
* To add a black/white list entry for vendor and model with an integer
* value of flag to the scsi device info list.
*/
-static int proc_scsi_devinfo_write(struct file *file, const char *buf,
+static int proc_scsi_devinfo_write(struct file *file, const char __user *buf,
unsigned long length, void *data)
{
char *buffer;
return n;
}
-static int proc_scsi_write_proc(struct file *file, const char *buf,
+static int proc_scsi_write_proc(struct file *file, const char __user *buf,
unsigned long count, void *data)
{
struct Scsi_Host *shost = data;
return 0;
}
-static int sd_hdio_getgeo(struct block_device *bdev, struct hd_geometry *loc)
+static int sd_hdio_getgeo(struct block_device *bdev, struct hd_geometry __user *loc)
{
struct scsi_disk *sdkp = scsi_disk(bdev->bd_disk);
struct scsi_device *sdp = sdkp->device;
if (put_user(diskinfo[2], &loc->cylinders))
return -EFAULT;
if (put_user((unsigned)get_start_sect(bdev),
- (unsigned long *)&loc->start))
+ (unsigned long __user *)&loc->start))
return -EFAULT;
return 0;
}
struct block_device *bdev = inode->i_bdev;
struct gendisk *disk = bdev->bd_disk;
struct scsi_device *sdp = scsi_disk(disk)->device;
+ void __user *p = (void __user *)arg;
int error;
SCSI_LOG_IOCTL(1, printk("sd_ioctl: disk=%s, cmd=0x%x\n",
if (cmd == HDIO_GETGEO) {
if (!arg)
return -EINVAL;
- return sd_hdio_getgeo(bdev, (struct hd_geometry *)arg);
+ return sd_hdio_getgeo(bdev, p);
}
/*
ST_mode *STm;
ST_partstat *STps;
char *name = tape_name(STp);
+ void __user *p = (void __user *)arg;
if (down_interruptible(&STp->lock))
return -ERESTARTSYS;
goto out;
}
- i = copy_from_user((char *) &mtc, (char *) arg, sizeof(struct mtop));
+ i = copy_from_user(&mtc, p, sizeof(struct mtop));
if (i) {
retval = (-EFAULT);
goto out;
if (STp->cleaning_req)
mt_status.mt_gstat |= GMT_CLN(0xffffffff);
- i = copy_to_user((char *) arg, (char *) &(mt_status),
- sizeof(struct mtget));
+ i = copy_to_user(p, &mt_status, sizeof(struct mtget));
if (i) {
retval = (-EFAULT);
goto out;
goto out;
}
mt_pos.mt_blkno = blk;
- i = copy_to_user((char *) arg, (char *) (&mt_pos), sizeof(struct mtpos));
+ i = copy_to_user(p, &mt_pos, sizeof(struct mtpos));
if (i)
retval = (-EFAULT);
goto out;