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