• Christoph Lameter's avatar
    [PATCH] move_pages: fix 32 -> 64 bit compat function · 9216dfad
    Christoph Lameter authored
    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: default avatarChristoph Lameter <clameter@sgi.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    9216dfad
compat.c 24.6 KB