1. 10 7月, 2015 1 次提交
  2. 08 7月, 2015 1 次提交
    • R
      MIPS: O32: Do not handle require 32 bytes from the stack to be readable. · 7928eb03
      Ralf Baechle 提交于
      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: NRalf Baechle <ralf@linux-mips.org>
      7928eb03
  3. 16 1月, 2015 1 次提交
    • E
      MIPS: Fix restart of indirect syscalls · e967ef02
      Ed Swierk 提交于
      When 32-bit MIPS userspace invokes a syscall indirectly via syscall(number,
      arg1, ..., arg7), the kernel looks up the actual syscall based on the given
      number, shifts the other arguments to the left, and jumps to the syscall.
      
      If the syscall is interrupted by a signal and indicates it needs to be
      restarted by the kernel (by returning ERESTARTNOINTR for example), the
      syscall must be called directly, since the number is no longer the first
      argument, and the other arguments are now staged for a direct call.
      
      Before shifting the arguments, store the syscall number in pt_regs->regs[2].
      This gets copied temporarily into pt_regs->regs[0] after the syscall returns.
      If the syscall needs to be restarted, handle_signal()/do_signal() copies the
      number back to pt_regs->reg[2], which ends up in $v0 once control returns to
      userspace.
      Signed-off-by: NEd Swierk <eswierk@skyportsystems.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/8929/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      e967ef02
  4. 13 1月, 2015 1 次提交
  5. 27 10月, 2014 1 次提交
  6. 26 8月, 2014 2 次提交
  7. 20 8月, 2014 1 次提交
    • M
      MIPS: scall64-o32: Fix indirect syscall detection · 52456899
      Markos Chandras 提交于
      Commit 4c21b8fd (MIPS: seccomp: Handle indirect system calls (o32))
      added indirect syscall detection for O32 processes running on MIPS64
      but it did not work as expected. The reason is the the scall64-o32
      implementation differs compared to scall32-o32. In the former, the v0
      (syscall number) register contains the absolute syscall number
      (4000 + X) whereas in the latter it contains the relative syscall
      number (X). Fix the code to avoid doing an extra addition, and load
      the v0 register directly to the first argument for syscall_trace_enter.
      Moreover, set the .reorder assembler option in order to have better
      control on this part of the assembly code.
      Signed-off-by: NMarkos Chandras <markos.chandras@imgtec.com>
      Patchwork: http://patchwork.linux-mips.org/patch/7481/
      Cc: <stable@vger.kernel.org> # v3.15+
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      52456899
  8. 31 7月, 2014 1 次提交
  9. 19 7月, 2014 1 次提交
  10. 13 5月, 2014 1 次提交
  11. 27 3月, 2014 2 次提交
  12. 04 2月, 2014 1 次提交
  13. 30 10月, 2013 1 次提交
  14. 11 6月, 2013 1 次提交
  15. 10 5月, 2013 1 次提交
  16. 04 3月, 2013 3 次提交
  17. 25 2月, 2013 1 次提交
  18. 04 2月, 2013 10 次提交
  19. 01 2月, 2013 1 次提交
  20. 29 12月, 2012 1 次提交
  21. 15 10月, 2012 1 次提交
  22. 01 10月, 2012 1 次提交
  23. 26 9月, 2012 1 次提交
  24. 22 9月, 2012 1 次提交
  25. 09 11月, 2011 1 次提交
  26. 21 9月, 2011 1 次提交
  27. 27 8月, 2011 1 次提交