• David S. Miller's avatar
    sparc64: Fix probe_kernel_{read,write}(). · aeb39876
    David S. Miller authored
    This is based upon a report from Chris Torek and his initial patch.
    From Chris's report:
    
    --------------------
    This came up in testing kgdb, using the built-in tests -- turn
    on CONFIG_KGDB_TESTS, then
    
        echo V1 > /sys/module/kgdbts/parameters/kgdbts
    
    -- but it would affect using kgdb if you were debugging and looking
    at bad pointers.
    --------------------
    
    When we get a copy_{from,to}_user() request and the %asi is set to
    something other than ASI_AIUS (which is userspace) then we branch off
    to a routine called memcpy_user_stub().  It just does a straight
    memcpy since we are copying from kernel to kernel in this case.
    
    The logic was that since source and destination are both kernel
    pointers we don't need to have exception checks.
    
    But for what probe_kernel_{read,write}() is trying to do, we have to
    have the checks, otherwise things like kgdb bad kernel pointer
    accesses don't do the right thing.
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    aeb39876
NGcopy_from_user.S 679 Bytes