• H. Peter Anvin's avatar
    mm: Make copy_from_user() in migrate.c statically predictable · 87b8d1ad
    H. Peter Anvin authored
    x86-32 has had a static test for copy_on_user() overflow for a while.
    This test currently fails in mm/migrate.c resulting in an
    allyesconfig/allmodconfig build failure on x86-32:
    
    In function ‘copy_from_user’,
        inlined from ‘do_pages_stat’ at
        /home/hpa/kernel/git/mm/migrate.c:1012:
    /home/hpa/kernel/git/arch/x86/include/asm/uaccess_32.h:212: error:
        call to ‘copy_from_user_overflow’ declared
    
    Make the logic more explicit and therefore easier for gcc to
    understand.
    
    v2: rewrite the loop entirely using a more normal structure for a
        chunked-data loop (Linus Torvalds)
    Reported-by: default avatarLen Brown <lenb@kernel.org>
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    Reviewed-and-Tested-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Arjan van de Ven <arjan@linux.kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Christoph Lameter <cl@linux-foundation.org>
    Cc: Hugh Dickins <hugh.dickins@tiscali.co.uk>
    Cc: Rik van Riel <riel@redhat.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    87b8d1ad
migrate.c 25.5 KB