patch-2.4.27 linux-2.4.27/drivers/usb/hiddev.c
Next file: linux-2.4.27/drivers/usb/host/ehci-hcd.c
Previous file: linux-2.4.27/drivers/usb/gadget/zero.c
Back to the patch index
Back to the overall index
- Lines: 55
- Date:
2004-08-07 16:26:05.704389922 -0700
- Orig file:
linux-2.4.26/drivers/usb/hiddev.c
- Orig date:
2004-04-14 06:05:32.000000000 -0700
diff -urN linux-2.4.26/drivers/usb/hiddev.c linux-2.4.27/drivers/usb/hiddev.c
@@ -433,7 +433,9 @@
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 @@
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 @@
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 @@
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 @@
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:
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)