1. 10 3月, 2015 1 次提交
    • D
      x86/asm/entry/64: Save R11 into pt_regs->flags on SYSCALL64 fastpath · 29722cd4
      Denys Vlasenko 提交于
      Before this patch, R11 was saved in pt_regs->r11.
      
      Which looks natural, but requires messy shuffling to/from iret
      frame whenever ptrace or e.g. sys_iopl() wants to modify flags -
      because that's how this register is used by SYSCALL/SYSRET.
      
      This patch saves R11 in pt_regs->flags, and uses that value for
      the SYSRET64 instruction. Shuffling is eliminated.
      
      FIXUP/RESTORE_TOP_OF_STACK are simplified.
      
      stub_iopl is no longer needed: pt_regs->flags needs no fixing up.
      
      Testing shows that syscall fast path is ~54.3 ns before
      and after the patch (on 2.7 GHz Sandy Bridge CPU).
      Signed-off-by: NDenys Vlasenko <dvlasenk@redhat.com>
      Cc: Alexei Starovoitov <ast@plumgrid.com>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Will Drewry <wad@chromium.org>
      Link: http://lkml.kernel.org/r/1425926364-9526-2-git-send-email-dvlasenk@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      29722cd4
  2. 05 3月, 2015 5 次提交
  3. 14 1月, 2015 1 次提交
  4. 09 9月, 2014 1 次提交
  5. 25 9月, 2013 1 次提交
  6. 03 10月, 2012 1 次提交
  7. 26 9月, 2012 1 次提交
  8. 04 6月, 2011 3 次提交
  9. 20 10月, 2010 1 次提交
    • J
      x86, asm: Fix CFI macro invocations to deal with shortcomings in gas · 3234282f
      Jan Beulich 提交于
      gas prior to (perhaps) 2.16.90 has problems with passing non-
      parenthesized expressions containing spaces to macros. Spaces, however,
      get inserted by cpp between any macro expanding to a number and a
      subsequent + or -. For the +, current x86 gas then removes the space
      again (future gas may not do so), but for the - the space gets retained
      and is then considered a separator between macro arguments.
      
      Fix the respective definitions for both the - and + cases, so that they
      neither contain spaces nor make cpp insert any (the latter by adding
      seemingly redundant parentheses).
      Signed-off-by: NJan Beulich <jbeulich@novell.com>
      LKML-Reference: <4CBDBEBA020000780001E05A@vpn.id2.novell.com>
      Cc: Alexander van Heukelum <heukelum@fastmail.fm>
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      3234282f
  10. 04 2月, 2009 1 次提交
  11. 23 10月, 2008 1 次提交
  12. 17 7月, 2008 1 次提交
    • R
      x86 ptrace: unify syscall tracing · d4d67150
      Roland McGrath 提交于
      This unifies and cleans up the syscall tracing code on i386 and x86_64.
      
      Using a single function for entry and exit tracing on 32-bit made the
      do_syscall_trace() into some terrible spaghetti.  The logic is clear and
      simple using separate syscall_trace_enter() and syscall_trace_leave()
      functions as on 64-bit.
      
      The unification adds PTRACE_SYSEMU and PTRACE_SYSEMU_SINGLESTEP support
      on x86_64, for 32-bit ptrace() callers and for 64-bit ptrace() callers
      tracing either 32-bit or 64-bit tasks.  It behaves just like 32-bit.
      
      Changing syscall_trace_enter() to return the syscall number shortens
      all the assembly paths, while adding the SYSEMU feature in a simple way.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      d4d67150
  13. 30 1月, 2008 1 次提交
  14. 11 10月, 2007 1 次提交
  15. 26 4月, 2006 1 次提交
  16. 13 9月, 2005 1 次提交
  17. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4