1. 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
  2. 13 1月, 2015 1 次提交
  3. 27 10月, 2014 1 次提交
  4. 26 8月, 2014 2 次提交
  5. 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
  6. 31 7月, 2014 1 次提交
  7. 19 7月, 2014 1 次提交
  8. 13 5月, 2014 1 次提交
  9. 27 3月, 2014 2 次提交
  10. 04 2月, 2014 1 次提交
  11. 30 10月, 2013 1 次提交
  12. 11 6月, 2013 1 次提交
  13. 10 5月, 2013 1 次提交
  14. 04 3月, 2013 3 次提交
  15. 25 2月, 2013 1 次提交
  16. 04 2月, 2013 10 次提交
  17. 01 2月, 2013 1 次提交
  18. 29 12月, 2012 1 次提交
  19. 15 10月, 2012 1 次提交
  20. 01 10月, 2012 1 次提交
  21. 26 9月, 2012 1 次提交
  22. 22 9月, 2012 1 次提交
  23. 09 11月, 2011 1 次提交
  24. 21 9月, 2011 1 次提交
  25. 27 8月, 2011 1 次提交
  26. 21 7月, 2011 1 次提交
  27. 29 5月, 2011 1 次提交
    • E
      ns: Wire up the setns system call · 7b21fddd
      Eric W. Biederman 提交于
      32bit and 64bit on x86 are tested and working.  The rest I have looked
      at closely and I can't find any problems.
      
      setns is an easy system call to wire up.  It just takes two ints so I
      don't expect any weird architecture porting problems.
      
      While doing this I have noticed that we have some architectures that are
      very slow to get new system calls.  cris seems to be the slowest where
      the last system calls wired up were preadv and pwritev.  avr32 is weird
      in that recvmmsg was wired up but never declared in unistd.h.  frv is
      behind with perf_event_open being the last syscall wired up.  On h8300
      the last system call wired up was epoll_wait.  On m32r the last system
      call wired up was fallocate.  mn10300 has recvmmsg as the last system
      call wired up.  The rest seem to at least have syncfs wired up which was
      new in the 2.6.39.
      
      v2: Most of the architecture support added by Daniel Lezcano <dlezcano@fr.ibm.com>
      v3: ported to v2.6.36-rc4 by: Eric W. Biederman <ebiederm@xmission.com>
      v4: Moved wiring up of the system call to another patch
      v5: ported to v2.6.39-rc6
      v6: rebased onto parisc-next and net-next to avoid syscall  conflicts.
      v7: ported to Linus's latest post 2.6.39 tree.
      
      >  arch/blackfin/include/asm/unistd.h     |    3 ++-
      >  arch/blackfin/mach-common/entry.S      |    1 +
      Acked-by: NMike Frysinger <vapier@gentoo.org>
      
      Oh - ia64 wiring looks good.
      Acked-by: NTony Luck <tony.luck@intel.com>
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7b21fddd