[PATCH] move_pages: fix 32 -> 64 bit compat function
authorChristoph Lameter <clameter@sgi.com>
Fri, 23 Jun 2006 09:03:57 +0000 (02:03 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 23 Jun 2006 14:42:53 +0000 (07:42 -0700)
commit9216dfad4fc97ab639ef0885efc713f3d7a20d5b
tree546e301f3181f56133509327f9c5ed035dd4b50d
parent1b2db9fb7adc4d67d9ce7d16ce79c41ee84730fe
[PATCH] move_pages: fix 32 -> 64 bit compat function

The definition of the third parameter is a pointer to an array of virtual
addresses which give us some trouble.  The existing code calculated the
wrong address in the array since I used void to avoid having to specify a
type.

I now use the correct type "compat_uptr_t __user *" in the definition of
the function in kernel/compat.c.

However, I used __u32 in syscalls.h.  Would have to include compat.h there
in order to provide the same definition which would generate an ugly
include situation.

On both ia64 and x86_64 compat_uptr_t is u32. So this works although
parameter declarations differ.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/syscalls.h
kernel/compat.c