1. 19 6月, 2017 1 次提交
    • A
      ARM: 8678/1: ftrace: Adds support for CONFIG_DYNAMIC_FTRACE_WITH_REGS · 620176f3
      Abel Vesa 提交于
      The DYNAMIC_FTRACE_WITH_REGS configuration makes it possible for a
      ftrace operation to specify if registers need to saved/restored by
      the ftrace handler. This is needed by kgraft and possibly other
      ftrace-based tools, and the ARM architecture is currently lacking
      this feature. It would also be the first step to support the
      "Kprobes-on-ftrace" optimization on ARM.
      
      This patch introduces a new ftrace handler that stores the registers
      on the stack before calling the next stage. The registers are restored
      from the stack before going back to the instrumented function.
      
      A side-effect of this patch is to activate the support for
      ftrace_modify_call() as it defines ARCH_SUPPORTS_FTRACE_OPS for the
      ARM architecture.
      Signed-off-by: NAbel Vesa <abelvesa@linux.com>
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      620176f3
  2. 09 5月, 2017 1 次提交
  3. 20 4月, 2017 1 次提交
  4. 24 8月, 2016 1 次提交
    • J
      ftrace: Add return address pointer to ftrace_ret_stack · 9a7c348b
      Josh Poimboeuf 提交于
      Storing this value will help prevent unwinders from getting out of sync
      with the function graph tracer ret_stack.  Now instead of needing a
      stateful iterator, they can compare the return address pointer to find
      the right ret_stack entry.
      
      Note that an array of 50 ftrace_ret_stack structs is allocated for every
      task.  So when an arch implements this, it will add either 200 or 400
      bytes of memory usage per task (depending on whether it's a 32-bit or
      64-bit platform).
      Signed-off-by: NJosh Poimboeuf <jpoimboe@redhat.com>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Andy Lutomirski <luto@amacapital.net>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: Brian Gerst <brgerst@gmail.com>
      Cc: Byungchul Park <byungchul.park@lge.com>
      Cc: Denys Vlasenko <dvlasenk@redhat.com>
      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: Nilay Vaish <nilayvaish@gmail.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Link: http://lkml.kernel.org/r/a95cfcc39e8f26b89a430c56926af0bb217bc0a1.1471607358.git.jpoimboe@redhat.comSigned-off-by: NIngo Molnar <mingo@kernel.org>
      9a7c348b
  5. 14 1月, 2015 1 次提交
    • W
      ARM: kprobes: enable OPTPROBES for ARM 32 · 0dc016db
      Wang Nan 提交于
      This patch introduce kprobeopt for ARM 32.
      
      Limitations:
       - Currently only kernel compiled with ARM ISA is supported.
      
       - Offset between probe point and optinsn slot must not larger than
         32MiB. Masami Hiramatsu suggests replacing 2 words, it will make
         things complex. Futher patch can make such optimization.
      
      Kprobe opt on ARM is relatively simpler than kprobe opt on x86 because
      ARM instruction is always 4 bytes aligned and 4 bytes long. This patch
      replace probed instruction by a 'b', branch to trampoline code and then
      calls optimized_callback(). optimized_callback() calls opt_pre_handler()
      to execute kprobe handler. It also emulate/simulate replaced instruction.
      
      When unregistering kprobe, the deferred manner of unoptimizer may leave
      branch instruction before optimizer is called. Different from x86_64,
      which only copy the probed insn after optprobe_template_end and
      reexecute them, this patch call singlestep to emulate/simulate the insn
      directly. Futher patch can optimize this behavior.
      Signed-off-by: NWang Nan <wangnan0@huawei.com>
      Acked-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Reviewed-by: NJon Medhurst (Tixy) <tixy@linaro.org>
      Signed-off-by: NJon Medhurst <tixy@linaro.org>
      0dc016db
  6. 17 10月, 2014 1 次提交
  7. 23 4月, 2014 1 次提交
  8. 07 3月, 2014 2 次提交
  9. 31 7月, 2012 1 次提交
  10. 24 3月, 2012 3 次提交
  11. 20 11月, 2010 2 次提交
  12. 02 9月, 2010 2 次提交
  13. 21 4月, 2010 1 次提交
    • R
      ARM: fix build error in arch/arm/kernel/process.c · 4260415f
      Russell King 提交于
      /tmp/ccJ3ssZW.s: Assembler messages:
      /tmp/ccJ3ssZW.s:1952: Error: can't resolve `.text' {.text section} - `.LFB1077'
      
      This is caused because:
      
      	.section .data
      	.section .text
      	.section .text
      	.previous
      
      does not return us to the .text section, but the .data section; this
      makes use of .previous dangerous if the ordering of previous sections
      is not known.
      
      Fix up the other users of .previous; .pushsection and .popsection are
      a safer pairing to use than .section and .previous.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      4260415f
  14. 12 12月, 2008 1 次提交
  15. 23 10月, 2008 1 次提交
  16. 24 6月, 2008 1 次提交
  17. 10 6月, 2008 1 次提交
  18. 02 6月, 2008 1 次提交