This patch is written by Herbert Xu and looks correct.
-- Pete
diff -urp -X dontdiff linux-2.4.27-pre2/drivers/usb/hiddev.c
linux-2.4.27-pre2-usb/drivers/usb/hiddev.c
--- linux-2.4.27-pre2/drivers/usb/hiddev.c 2004-04-14 17:33:16.000000000 -0700
+++ linux-2.4.27-pre2-usb/drivers/usb/hiddev.c 2004-05-15 23:06:11.000000000 -0700
@@ -433,7 +433,9 @@ static int hiddev_ioctl(struct inode *in
dinfo.product = dev->descriptor.idProduct;
dinfo.version = dev->descriptor.bcdDevice;
dinfo.num_applications = hid->maxapplication;
- return copy_to_user((void *) arg, &dinfo, sizeof(dinfo));
+ if (copy_to_user((void *) arg, &dinfo, sizeof(dinfo)))
+ return -EFAULT;
+ return 0;
case HIDIOCGFLAG:
return put_user(list->flags, (int *) arg);
@@ -522,7 +524,9 @@ static int hiddev_ioctl(struct inode *in
rinfo.num_fields = report->maxfield;
- return copy_to_user((void *) arg, &rinfo, sizeof(rinfo));
+ if (copy_to_user((void *) arg, &rinfo, sizeof(rinfo)))
+ return -EFAULT;
+ return 0;
case HIDIOCGFIELDINFO:
if (copy_from_user(&finfo, (void *) arg, sizeof(finfo)))
@@ -552,7 +556,9 @@ static int hiddev_ioctl(struct inode *in
finfo.unit_exponent = field->unit_exponent;
finfo.unit = field->unit;
- return copy_to_user((void *) arg, &finfo, sizeof(finfo));
+ if (copy_to_user((void *) arg, &finfo, sizeof(finfo)))
+ return -EFAULT;
+ return 0;
case HIDIOCGUCODE:
if (copy_from_user(uref, (void *) arg, sizeof(*uref)))
@@ -572,7 +578,9 @@ static int hiddev_ioctl(struct inode *in
uref->usage_code = field->usage[uref->usage_index].hid;
- return copy_to_user((void *) arg, uref, sizeof(*uref));
+ if (copy_to_user((void *) arg, uref, sizeof(*uref)))
+ return -EFAULT;
+ return 0;
case HIDIOCGUSAGE:
case HIDIOCSUSAGE:
@@ -656,7 +664,9 @@ static int hiddev_ioctl(struct inode *in
cinfo.usage = hid->collection[cinfo.index].usage;
cinfo.level = hid->collection[cinfo.index].level;
- return copy_to_user((void *) arg, &cinfo, sizeof(cinfo));
+ if (copy_to_user((void *) arg, &cinfo, sizeof(cinfo)))
+ return -EFAULT;
+ return 0;
default:
-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband
Sign-up now for SourceForge Broadband and get the fastest
6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel