Re: +drivers-acpi-apei-erst-dbgc-get_useru64-doesnt-work-on-i386.patch added to-mm tree

From: Andrew Morton
Date: Wed Aug 11 2010 - 20:32:29 EST


On Wed, 11 Aug 2010 16:43:10 -0700 Randy Dunlap <randy.dunlap@xxxxxxxxxx> wrote:

> On Wed, 11 Aug 2010 16:06:24 -0700 akpm@xxxxxxxxxxxxxxxxxxxx wrote:
>
> >
> > The patch titled
> > drivers/acpi/apei/erst-dbg.c: get_user(u64) doesn't work on i386
> > has been added to the -mm tree. Its filename is
> > drivers-acpi-apei-erst-dbgc-get_useru64-doesnt-work-on-i386.patch
> >
> > Before you just go and hit "reply", please:
> > a) Consider who else should be cc'ed
> > b) Prefer to cc a suitable mailing list as well
> > c) Ideally: find the original patch on the mailing list and do a
> > reply-to-all to that, adding suitable additional cc's
> >
> > *** Remember to use Documentation/SubmitChecklist when testing your code ***
> >
> > See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find
> > out what to do about this
> >
> > The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/
> >
> > ------------------------------------------------------
> > Subject: drivers/acpi/apei/erst-dbg.c: get_user(u64) doesn't work on i386
> > From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> >
> > Might be an x86 bug? A get_user() on a u64 on i386 expands to
> >
> > #define __get_user_8(__ret_gu, __val_gu, ptr) \
> > __get_user_x(X, __ret_gu, __val_gu, ptr)
> >
> > which emits a call to __get_user_X(), which doesn't exist.
> >
> > Kludge around it with copy_from_user().
> >
>
> Reported and fixed yesterday.

Not very well.

+ rc = copy_from_user(&record_id, (void __user *)arg,
+ sizeof(u64));

better to use sizeof(record_id).

Where's Len??


Anyway, this should be fixed in x86 core, I suspect.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/