From: Alexander Viro Date: Sat, 29 May 2004 09:16:34 +0000 (-0700) Subject: [PATCH] sparse: trivial part of drivers/scsi/* annotation X-Git-Tag: v2.6.7-rc2~26 X-Git-Url: http://git.neil.brown.name/?a=commitdiff_plain;h=529bbe4687be6c64af4b43e37bd79226fb0989e4;p=history.git [PATCH] sparse: trivial part of drivers/scsi/* annotation --- diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index 00a4d60ccf87..2848c1ac99ba 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c @@ -745,7 +745,7 @@ static const char *idescsi_info (struct Scsi_Host *host) 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); @@ -756,7 +756,7 @@ static int idescsi_ioctl (Scsi_Device *dev, int cmd, void *arg) 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; } diff --git a/drivers/scsi/osst.c b/drivers/scsi/osst.c index a465197467fc..59d5199cc5a4 100644 --- a/drivers/scsi/osst.c +++ b/drivers/scsi/osst.c @@ -4725,6 +4725,7 @@ static int osst_ioctl(struct inode * inode,struct file * file, 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; @@ -4765,7 +4766,7 @@ static int osst_ioctl(struct inode * inode,struct file * file, 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; @@ -5003,8 +5004,7 @@ static int osst_ioctl(struct inode * inode,struct file * file, 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; @@ -5031,7 +5031,7 @@ static int osst_ioctl(struct inode * inode,struct file * file, 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; diff --git a/drivers/scsi/scsi_devinfo.c b/drivers/scsi/scsi_devinfo.c index dfa5ac1ce5bd..cb97efc6c4a1 100644 --- a/drivers/scsi/scsi_devinfo.c +++ b/drivers/scsi/scsi_devinfo.c @@ -433,7 +433,7 @@ stop_output: * 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; diff --git a/drivers/scsi/scsi_proc.c b/drivers/scsi/scsi_proc.c index 126225bcb9ef..00e160ac4c20 100644 --- a/drivers/scsi/scsi_proc.c +++ b/drivers/scsi/scsi_proc.c @@ -54,7 +54,7 @@ static int proc_scsi_read(char *buffer, char **start, off_t offset, 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; diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 13b4364be9c4..b9552ec0fd83 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -511,7 +511,7 @@ static int sd_release(struct inode *inode, struct file *filp) 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; @@ -536,7 +536,7 @@ static int sd_hdio_getgeo(struct block_device *bdev, struct hd_geometry *loc) 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; } @@ -561,6 +561,7 @@ static int sd_ioctl(struct inode * inode, struct file * filp, 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", @@ -578,7 +579,7 @@ static int sd_ioctl(struct inode * inode, struct file * filp, if (cmd == HDIO_GETGEO) { if (!arg) return -EINVAL; - return sd_hdio_getgeo(bdev, (struct hd_geometry *)arg); + return sd_hdio_getgeo(bdev, p); } /* diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index 5dcb278bbf80..29938180df4a 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c @@ -3109,6 +3109,7 @@ static int st_ioctl(struct inode *inode, struct file *file, ST_mode *STm; ST_partstat *STps; char *name = tape_name(STp); + void __user *p = (void __user *)arg; if (down_interruptible(&STp->lock)) return -ERESTARTSYS; @@ -3144,7 +3145,7 @@ static int st_ioctl(struct inode *inode, struct file *file, 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; @@ -3380,8 +3381,7 @@ static int st_ioctl(struct inode *inode, struct file *file, 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; @@ -3402,7 +3402,7 @@ static int st_ioctl(struct inode *inode, struct file *file, 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;