Thread (7 messages) flat view 7 messages, 4 authors, 2003-08-04

Re: linuxppc-2.5 (rsync mvista) -- drivers/input/evdev.c:243: error: invalid lvalue in asm statement

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2003-08-04 09:42:21

On Mon, 2003-08-04 at 10:49, Franz Sirl wrote:
quoted
No Paul, it's not your fault, if you look closely at evdev, that code
can't really work properly anyway.
Well, his patch to get_user exposed it, but the bug is really in the very
questionable use of the gcc extension to accept ?: expressions as lvalue,
see <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11564>
quoted
I talked to Vojtech at OLS and he'll be fixing that to always pass
either an u32 or an int to userspace.
I've sent him a patch too as a result of the above GCC PR.
It's still totally wrong to access userland with a variable sized
data since my understanding is that userland doesn't know what size
the kernel will use for access here, thus it works for little endian
but not big endian (well... afaik).

Vojtech and I agreed that this should be changed into uniform use
of a single sized type (u32 or int) that gets only converted in
the kernel.

Ben.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help