Hi! One of my earlier patches backed out a change that fixed all copy_to_user calls to properly return -EFAULT if needed. This puts the change back in.
You can import this changeset into BK by piping this whole message to: '| bk receive [path to repository]' or apply the patch as usual. =================================================================== [EMAIL PROTECTED], 2002-07-13 14:44:05+02:00, [EMAIL PROTECTED] This re-introduces an accidentally reverted change, that makes all failed copy_to_user and friends cause to return -EFAULT correctly in hiddev.c. hiddev.c | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) diff -Nru a/drivers/usb/input/hiddev.c b/drivers/usb/input/hiddev.c --- a/drivers/usb/input/hiddev.c Sat Jul 13 14:44:22 2002 +++ b/drivers/usb/input/hiddev.c Sat Jul 13 14:44:22 2002 @@ -399,10 +399,12 @@ 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; case HIDIOCGFLAG: - return put_user(list->flags, (int *) arg); + if (put_user(list->flags, (int *) arg)) + return -EFAULT; case HIDIOCSFLAG: { @@ -488,7 +490,8 @@ 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; case HIDIOCGFIELDINFO: if (copy_from_user(&finfo, (void *) arg, sizeof(finfo))) @@ -518,7 +521,8 @@ 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; case HIDIOCGUCODE: if (copy_from_user(&uref, (void *) arg, sizeof(uref))) @@ -538,7 +542,8 @@ 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; case HIDIOCGUSAGE: case HIDIOCSUSAGE: @@ -570,7 +575,8 @@ switch (cmd) { case HIDIOCGUSAGE: uref.value = field->value[uref.usage_index]; - return copy_to_user((void *) arg, &uref, sizeof(uref)); + if (copy_to_user((void *) arg, &uref, sizeof(uref))) + return -EFAULT; return 0; case HIDIOCSUSAGE: =================================================================== This BitKeeper patch contains the following changesets: + ## Wrapped with gzip_uu ## begin 664 bkpatch21911 M'XL(`*8@,#T``ZV5:T_;,!2&/]>_XDA(6SN:U'9N3:<B&+"+AC3$X#-R':?Q MFL:5XQ2!\N/GA%+605G'%D4ZSK']^-4YKY4]N"J%'G66ZH<1/$-[\%F59M0Q M-S*7T\RX%;]Q^9W-7RAE\X-,S<5@M7HPF0VJ<N)0-T!VQ3DS/(.ET.6H0UQO MG3&W"S'J7)Q^NCH[ND!H/(;CC!53\5T8&(_19':85")W9UJQS%5Z6J^G:XHQ M(80&V`M"$M1TZ'E^34(\2>PPH5&<3L(8K>0<_B9ZDT-Q1#Q"/0NL`^+1")T` M<<,P!DP'.!H0#X@_\OT1#O8Q'6$,6["P3\#!Z`/\N_!CQ.$RDR5HX<C":)54 M7)3`"F"<RT04AN7YK9VU134B`=[R^V`R9F#.9J*T`+L$4B;S9EXM;J^-NJYL M3RTE@51+420E<&938)1%F4H7X)Q^/+HZN[2[N=):<&-/D05D,DG$TN4N^@I- MC4)T_M@KY/SE@Q!F&!T\4Z=$R\8FC7D&#V<^ELS',0EK&D0DJH<3BHF(!/.I MQ](TWM:4#:0L%I79`*^:[_O8JW%$X["UX?8]S_OR];*W6G0GV708Q#6F)**M M9VGTQ++>'RU+P0G_FV=/5/'60")7SEF9RF3B8;AD>26L^]1\TY/6@4TL%XR+ MQF1M*[Z!HV_:UWKF_(6NO,*!)SZF0-"7)E#4Z<@4NK\JZG:72B;PK@=,3_OP M)I%%JOI0RCNATF[[U>OU[,;.YLUYWY"#>W*P)ENQ]]1<EL8Y2',V+?O0M5=[ M=<(V5$Q:E`V[B-0;(O5+(@/:DINP"SG=(*<ODOU[LK\;N=(B78.;CZW<R&NY A-C3<UY.?LM=_))X)/BNK^3CB290.N8=^`FTR5#((!P`` ` end -- Vojtech Pavlik SuSE Labs ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel