ChangeSet 1.1401, 2003/06/10 16:37:47-07:00, [EMAIL PROTECTED]
[PATCH] USB: lots of sparse fixups for usbfs
drivers/usb/core/devio.c | 102 +++++++++++++++++++++----------------------
include/linux/usbdevice_fs.h | 8 +--
2 files changed, 55 insertions(+), 55 deletions(-)
diff -Nru a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
--- a/drivers/usb/core/devio.c Tue Jun 10 17:10:47 2003
+++ b/drivers/usb/core/devio.c Tue Jun 10 17:10:47 2003
@@ -49,14 +49,14 @@
#include "hcd.h" /* for usbcore internals */
struct async {
- struct list_head asynclist;
- struct dev_state *ps;
+ struct list_head asynclist;
+ struct dev_state *ps;
struct task_struct *task;
unsigned int signr;
unsigned int intf;
- void *userbuffer;
- void *userurb;
- struct urb *urb;
+ void __user *userbuffer;
+ void __user *userurb;
+ struct urb *urb;
};
static loff_t usbdev_lseek(struct file *file, loff_t offset, int orig)
@@ -83,7 +83,7 @@
return ret;
}
-static ssize_t usbdev_read(struct file *file, char * buf, size_t nbytes, loff_t *ppos)
+static ssize_t usbdev_read(struct file *file, char __user *buf, size_t nbytes, loff_t
*ppos)
{
struct dev_state *ps = (struct dev_state *)file->private_data;
ssize_t ret = 0;
@@ -235,7 +235,7 @@
return as;
}
-extern __inline__ struct async *async_getpending(struct dev_state *ps, void *userurb)
+extern __inline__ struct async *async_getpending(struct dev_state *ps, void __user
*userurb)
{
unsigned long flags;
struct async *as;
@@ -265,7 +265,7 @@
sinfo.si_signo = as->signr;
sinfo.si_errno = as->urb->status;
sinfo.si_code = SI_ASYNCIO;
- sinfo.si_addr = as->userurb;
+ sinfo.si_addr = (void *)as->userurb;
send_sig_info(as->signr, &sinfo, as->task);
}
}
@@ -536,7 +536,7 @@
return 0;
}
-static int proc_control(struct dev_state *ps, void *arg)
+static int proc_control(struct dev_state *ps, void __user *arg)
{
struct usb_device *dev = ps->dev;
struct usbdevfs_ctrltransfer ctrl;
@@ -544,7 +544,7 @@
unsigned char *tbuf;
int i, ret;
- if (copy_from_user(&ctrl, (void *)arg, sizeof(ctrl)))
+ if (copy_from_user(&ctrl, arg, sizeof(ctrl)))
return -EFAULT;
if ((ret = check_ctrlrecip(ps, ctrl.bRequestType, ctrl.wIndex)))
return ret;
@@ -586,7 +586,7 @@
return i;
}
-static int proc_bulk(struct dev_state *ps, void *arg)
+static int proc_bulk(struct dev_state *ps, void __user *arg)
{
struct usb_device *dev = ps->dev;
struct usbdevfs_bulktransfer bulk;
@@ -595,7 +595,7 @@
unsigned char *tbuf;
int i, ret;
- if (copy_from_user(&bulk, (void *)arg, sizeof(bulk)))
+ if (copy_from_user(&bulk, arg, sizeof(bulk)))
return -EFAULT;
if ((ret = findintfep(ps->dev, bulk.ep)) < 0)
return ret;
@@ -641,12 +641,12 @@
return len2;
}
-static int proc_resetep(struct dev_state *ps, void *arg)
+static int proc_resetep(struct dev_state *ps, void __user *arg)
{
unsigned int ep;
int ret;
- if (get_user(ep, (unsigned int *)arg))
+ if (get_user(ep, (unsigned int __user *)arg))
return -EFAULT;
if ((ret = findintfep(ps->dev, ep)) < 0)
return ret;
@@ -656,13 +656,13 @@
return 0;
}
-static int proc_clearhalt(struct dev_state *ps, void *arg)
+static int proc_clearhalt(struct dev_state *ps, void __user *arg)
{
unsigned int ep;
int pipe;
int ret;
- if (get_user(ep, (unsigned int *)arg))
+ if (get_user(ep, (unsigned int __user *)arg))
return -EFAULT;
if ((ret = findintfep(ps->dev, ep)) < 0)
return ret;
@@ -677,7 +677,7 @@
}
-static int proc_getdriver(struct dev_state *ps, void *arg)
+static int proc_getdriver(struct dev_state *ps, void __user *arg)
{
struct usbdevfs_getdriver gd;
struct usb_interface *interface;
@@ -698,7 +698,7 @@
return 0;
}
-static int proc_connectinfo(struct dev_state *ps, void *arg)
+static int proc_connectinfo(struct dev_state *ps, void __user *arg)
{
struct usbdevfs_connectinfo ci;
@@ -733,7 +733,7 @@
return 0;
}
-static int proc_setintf(struct dev_state *ps, void *arg)
+static int proc_setintf(struct dev_state *ps, void __user *arg)
{
struct usbdevfs_setinterface setintf;
struct usb_interface *interface;
@@ -755,18 +755,18 @@
return 0;
}
-static int proc_setconfig(struct dev_state *ps, void *arg)
+static int proc_setconfig(struct dev_state *ps, void __user *arg)
{
unsigned int u;
- if (get_user(u, (unsigned int *)arg))
+ if (get_user(u, (unsigned int __user *)arg))
return -EFAULT;
if (usb_set_configuration(ps->dev, u) < 0)
return -EINVAL;
return 0;
}
-static int proc_submiturb(struct dev_state *ps, void *arg)
+static int proc_submiturb(struct dev_state *ps, void __user *arg)
{
struct usbdevfs_urb uurb;
struct usbdevfs_iso_packet_desc *isopkt = NULL;
@@ -804,7 +804,7 @@
return -EINVAL;
if (!(dr = kmalloc(sizeof(struct usb_ctrlrequest), GFP_KERNEL)))
return -ENOMEM;
- if (copy_from_user(dr, (unsigned char*)uurb.buffer, 8)) {
+ if (copy_from_user(dr, uurb.buffer, 8)) {
kfree(dr);
return -EFAULT;
}
@@ -930,7 +930,7 @@
return 0;
}
-static int proc_unlinkurb(struct dev_state *ps, void *arg)
+static int proc_unlinkurb(struct dev_state *ps, void __user *arg)
{
struct async *as;
@@ -972,11 +972,11 @@
return 0;
}
-static int proc_reapurb(struct dev_state *ps, void *arg)
+static int proc_reapurb(struct dev_state *ps, void __user *arg)
{
DECLARE_WAITQUEUE(wait, current);
struct async *as = NULL;
- void *addr;
+ void __user *addr;
int ret;
add_wait_queue(&ps->wait, &wait);
@@ -1007,10 +1007,10 @@
return -EIO;
}
-static int proc_reapurbnonblock(struct dev_state *ps, void *arg)
+static int proc_reapurbnonblock(struct dev_state *ps, void __user *arg)
{
struct async *as;
- void *addr;
+ void __user *addr;
int ret;
if (!(as = async_getcompleted(ps)))
@@ -1025,7 +1025,7 @@
return 0;
}
-static int proc_disconnectsignal(struct dev_state *ps, void *arg)
+static int proc_disconnectsignal(struct dev_state *ps, void __user *arg)
{
struct usbdevfs_disconnectsignal ds;
@@ -1038,24 +1038,24 @@
return 0;
}
-static int proc_claiminterface(struct dev_state *ps, void *arg)
+static int proc_claiminterface(struct dev_state *ps, void __user *arg)
{
unsigned int intf;
int ret;
- if (get_user(intf, (unsigned int *)arg))
+ if (get_user(intf, (unsigned int __user *)arg))
return -EFAULT;
if ((ret = findintfif(ps->dev, intf)) < 0)
return ret;
return claimintf(ps, ret);
}
-static int proc_releaseinterface(struct dev_state *ps, void *arg)
+static int proc_releaseinterface(struct dev_state *ps, void __user *arg)
{
unsigned int intf;
int ret;
- if (get_user(intf, (unsigned int *)arg))
+ if (get_user(intf, (unsigned int __user *)arg))
return -EFAULT;
if ((ret = findintfif(ps->dev, intf)) < 0)
return ret;
@@ -1065,7 +1065,7 @@
return 0;
}
-static int proc_ioctl (struct dev_state *ps, void *arg)
+static int proc_ioctl (struct dev_state *ps, void __user *arg)
{
struct usbdevfs_ioctl ctrl;
int size;
@@ -1075,7 +1075,7 @@
struct usb_driver *driver = 0;
/* get input parameters and alloc buffer */
- if (copy_from_user(&ctrl, (void *) arg, sizeof (ctrl)))
+ if (copy_from_user(&ctrl, arg, sizeof (ctrl)))
return -EFAULT;
if ((size = _IOC_SIZE (ctrl.ioctl_code)) > 0) {
if ((buf = kmalloc (size, GFP_KERNEL)) == 0)
@@ -1173,19 +1173,19 @@
}
switch (cmd) {
case USBDEVFS_CONTROL:
- ret = proc_control(ps, (void *)arg);
+ ret = proc_control(ps, (void __user *)arg);
if (ret >= 0)
inode->i_mtime = CURRENT_TIME;
break;
case USBDEVFS_BULK:
- ret = proc_bulk(ps, (void *)arg);
+ ret = proc_bulk(ps, (void __user *)arg);
if (ret >= 0)
inode->i_mtime = CURRENT_TIME;
break;
case USBDEVFS_RESETEP:
- ret = proc_resetep(ps, (void *)arg);
+ ret = proc_resetep(ps, (void __user *)arg);
if (ret >= 0)
inode->i_mtime = CURRENT_TIME;
break;
@@ -1195,59 +1195,59 @@
break;
case USBDEVFS_CLEAR_HALT:
- ret = proc_clearhalt(ps, (void *)arg);
+ ret = proc_clearhalt(ps, (void __user *)arg);
if (ret >= 0)
inode->i_mtime = CURRENT_TIME;
break;
case USBDEVFS_GETDRIVER:
- ret = proc_getdriver(ps, (void *)arg);
+ ret = proc_getdriver(ps, (void __user *)arg);
break;
case USBDEVFS_CONNECTINFO:
- ret = proc_connectinfo(ps, (void *)arg);
+ ret = proc_connectinfo(ps, (void __user *)arg);
break;
case USBDEVFS_SETINTERFACE:
- ret = proc_setintf(ps, (void *)arg);
+ ret = proc_setintf(ps, (void __user *)arg);
break;
case USBDEVFS_SETCONFIGURATION:
- ret = proc_setconfig(ps, (void *)arg);
+ ret = proc_setconfig(ps, (void __user *)arg);
break;
case USBDEVFS_SUBMITURB:
- ret = proc_submiturb(ps, (void *)arg);
+ ret = proc_submiturb(ps, (void __user *)arg);
if (ret >= 0)
inode->i_mtime = CURRENT_TIME;
break;
case USBDEVFS_DISCARDURB:
- ret = proc_unlinkurb(ps, (void *)arg);
+ ret = proc_unlinkurb(ps, (void __user *)arg);
break;
case USBDEVFS_REAPURB:
- ret = proc_reapurb(ps, (void *)arg);
+ ret = proc_reapurb(ps, (void __user *)arg);
break;
case USBDEVFS_REAPURBNDELAY:
- ret = proc_reapurbnonblock(ps, (void *)arg);
+ ret = proc_reapurbnonblock(ps, (void __user *)arg);
break;
case USBDEVFS_DISCSIGNAL:
- ret = proc_disconnectsignal(ps, (void *)arg);
+ ret = proc_disconnectsignal(ps, (void __user *)arg);
break;
case USBDEVFS_CLAIMINTERFACE:
- ret = proc_claiminterface(ps, (void *)arg);
+ ret = proc_claiminterface(ps, (void __user *)arg);
break;
case USBDEVFS_RELEASEINTERFACE:
- ret = proc_releaseinterface(ps, (void *)arg);
+ ret = proc_releaseinterface(ps, (void __user *)arg);
break;
case USBDEVFS_IOCTL:
- ret = proc_ioctl(ps, (void *) arg);
+ ret = proc_ioctl(ps, (void __user *) arg);
break;
}
up_read(&ps->devsem);
diff -Nru a/include/linux/usbdevice_fs.h b/include/linux/usbdevice_fs.h
--- a/include/linux/usbdevice_fs.h Tue Jun 10 17:10:47 2003
+++ b/include/linux/usbdevice_fs.h Tue Jun 10 17:10:47 2003
@@ -46,14 +46,14 @@
__u16 wIndex;
__u16 wLength;
__u32 timeout; /* in milliseconds */
- void *data;
+ void __user *data;
};
struct usbdevfs_bulktransfer {
unsigned int ep;
unsigned int len;
unsigned int timeout; /* in milliseconds */
- void *data;
+ void __user *data;
};
struct usbdevfs_setinterface {
@@ -97,7 +97,7 @@
unsigned char endpoint;
int status;
unsigned int flags;
- void *buffer;
+ void __user *buffer;
int buffer_length;
int actual_length;
int start_frame;
@@ -113,7 +113,7 @@
int ifno; /* interface 0..N ; negative numbers reserved */
int ioctl_code; /* MUST encode size + direction of data so the
* macros in <asm/ioctl.h> give correct values */
- void *data; /* param buffer (in, or out) */
+ void __user *data; /* param buffer (in, or out) */
};
/* You can do most things with hubs just through control messages,
-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The best
thread debugger on the planet. Designed with thread debugging features
you've never dreamed of, try TotalView 6 free at www.etnus.com.
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel