• Alan Kao's avatar
    riscv: Fix the bug in memory access fixup code · ebcbd75e
    Alan Kao authored
    A piece of fixup code is currently shared by __copy_user and
    __clear_user.  It first disables the access to user-space memory
    and then returns the "n" argument, which represents #(bytes not processed).
    However,__copy_user's "n" is in register a2, while __clear_user's in a1,
    and thus it causes errors for programs like setdomainname02 testcase in LTP.
    
    This patch fixes this issue by separating their fixup code and returning
    the right value for the kernel to handle a relative fault properly.
    Signed-off-by: default avatarAlan Kao <alankao@andestech.com>
    Cc: Greentime Hu <greentime@andestech.com>
    Cc: Zong Li <zong@andestech.com>
    Cc: Vincent Chen <vincentc@andestech.com>
    Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
    ebcbd75e
uaccess.S 2.14 KB