diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-05-08 18:25:14 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-05-08 18:25:14 -0700 |
commit | 127cda1e8cc282de1ca7a9dcc3866841977b9fcc (patch) | |
tree | 800169fa92dc96160044d914ca1ca9fea60339ea /arch/sparc64/kernel/kprobes.c | |
parent | 6c1142602c9c8faedbc1321892a169652a173fc7 (diff) | |
download | blackbird-op-linux-127cda1e8cc282de1ca7a9dcc3866841977b9fcc.tar.gz blackbird-op-linux-127cda1e8cc282de1ca7a9dcc3866841977b9fcc.zip |
[SPARC64]: Optimize fault kprobe handling just like powerpc.
And eliminate DIE_GPF while we're at it.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/kprobes.c')
-rw-r--r-- | arch/sparc64/kernel/kprobes.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/sparc64/kernel/kprobes.c b/arch/sparc64/kernel/kprobes.c index a44fe47a3c2b..c93a15b785fa 100644 --- a/arch/sparc64/kernel/kprobes.c +++ b/arch/sparc64/kernel/kprobes.c @@ -313,7 +313,7 @@ out: return 1; } -static int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) +int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) { struct kprobe *cur = kprobe_running(); struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); @@ -403,15 +403,6 @@ int __kprobes kprobe_exceptions_notify(struct notifier_block *self, if (post_kprobe_handler(args->regs)) ret = NOTIFY_STOP; break; - case DIE_GPF: - case DIE_PAGE_FAULT: - /* kprobe_running() needs smp_processor_id() */ - preempt_disable(); - if (kprobe_running() && - kprobe_fault_handler(args->regs, args->trapnr)) - ret = NOTIFY_STOP; - preempt_enable(); - break; default: break; } |