• NeilBrown's avatar
    [PATCH] Make copy_from_user_inatomic NOT zero the tail on i386 · 7c12d811
    NeilBrown authored
    As described in a previous patch and documented in mm/filemap.h,
    copy_from_user_inatomic* shouldn't zero out the tail of the buffer after an
    incomplete copy.
    
    This patch implements that change for i386.
    
    For the _nocache version, a new __copy_user_intel_nocache is defined similar
    to copy_user_zeroio_intel_nocache, and this is ultimately used for the copy.
    
    For the regular version, __copy_from_user_ll_nozero is defined which uses
    __copy_user and __copy_user_intel - the later needs casts to reposition the
    __user annotations.
    
    If copy_from_user_atomic is given a constant length of 1, 2, or 4, then we do
    still zero the destintion on failure.  This didn't seem worth the effort of
    fixing as the places where it is used really don't care.
    Signed-off-by: default avatarNeil Brown <neilb@suse.de>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: William Lee Irwin III <wli@holomorphy.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    7c12d811
usercopy.c 25.1 KB