kprobes/Documentation: Fix various typos
Fix typos and clean up the wording, with the help of Randy Dunlap. Suggested-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-arch@vger.kernel.org Cc: linux-doc@vger.kernel.org Link: http://lkml.kernel.org/r/20180622150740.bd26241032c972d86e23bf73@kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Родитель
0722867dcb
Коммит
01bdee64f9
|
@ -83,22 +83,22 @@ Execution then continues with the instruction following the probepoint.
|
|||
Changing Execution Path
|
||||
-----------------------
|
||||
|
||||
Since the kprobes can probe into a running kernel code, it can change
|
||||
the register set, including instruction pointer. This operation
|
||||
requires maximum attention, such as keeping the stack frame, recovering
|
||||
execution path etc. Since it is operated on running kernel and need deep
|
||||
knowladge of the archtecture and concurrent computing, you can easily
|
||||
shot your foot.
|
||||
Since kprobes can probe into a running kernel code, it can change the
|
||||
register set, including instruction pointer. This operation requires
|
||||
maximum care, such as keeping the stack frame, recovering the execution
|
||||
path etc. Since it operates on a running kernel and needs deep knowledge
|
||||
of computer architecture and concurrent computing, you can easily shoot
|
||||
your foot.
|
||||
|
||||
If you change the instruction pointer (and set up other related
|
||||
registers) in pre_handler, you must return !0 so that the kprobes
|
||||
stops single stepping and just returns to given address.
|
||||
registers) in pre_handler, you must return !0 so that kprobes stops
|
||||
single stepping and just returns to the given address.
|
||||
This also means post_handler should not be called anymore.
|
||||
|
||||
Note that this operation may be harder on some architectures which
|
||||
use TOC (Table of Contents) for function call, since you have to
|
||||
setup new TOC for your function in your module, and recover old
|
||||
one after back from it.
|
||||
Note that this operation may be harder on some architectures which use
|
||||
TOC (Table of Contents) for function call, since you have to setup a new
|
||||
TOC for your function in your module, and recover the old one after
|
||||
returning from it.
|
||||
|
||||
Return Probes
|
||||
-------------
|
||||
|
|
Загрузка…
Ссылка в новой задаче