[PATCH] kprobes: fix broken fault handling for x86_64
authorPrasanna S Panchamukhi <prasanna@in.ibm.com>
Sun, 26 Mar 2006 09:38:23 +0000 (01:38 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 26 Mar 2006 16:57:04 +0000 (08:57 -0800)
commitc28f896634f2c931a298490deab3861ab117716a
treed68019b13f2eacc546fff176686bee0d99ab05df
parentb4026513b88e7eaa52a31117e2b7bafdc1e40ef1
[PATCH] kprobes: fix broken fault handling for x86_64

Provide proper kprobes fault handling, if a user-specified pre/post handlers
tries to access user address space, through copy_from_user(), get_user() etc.

The user-specified fault handler gets called only if the fault occurs while
executing user-specified handlers.  In such a case user-specified handler is
allowed to fix it first, later if the user-specifed fault handler does not fix
it, we try to fix it by calling fix_exception().

The user-specified handler will not be called if the fault happens when single
stepping the original instruction, instead we reset the current probe and
allow the system page fault handler to fix it up.

Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/x86_64/kernel/kprobes.c