• Ralf Baechle's avatar
    MIPS: O32: Do not handle require 32 bytes from the stack to be readable. · 7928eb03
    Ralf Baechle authored
    Commit 46e12c07 (MIPS: O32 / 32-bit:
    Always copy 4 stack arguments.) change the O32 syscall handler to always
    load four arguments from the userspace stack even for syscalls that
    require fewer or no arguments to be copied.  This removes a large table
    from kernel space and need to maintain it.  It appeared that it was ok
    the implementation chosen requires 16 bytes of readable stack space
    above the user stack pointer.
    
    Turned out a few threading implementations munmap the user stack before
    the thread exits resulting in errors due to the unreadable stack.
    
    We now treat any failed load as a if the loaded value was zero and let
    the actual syscall deal with the situation.
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    7928eb03
scall32-o32.S 13.6 KB