]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/kprobes.c
Merge branch 'hp-wmi' into release
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / kprobes.c
index 884d985b8b8223a0df4c566b29ed0d47204e8453..4558dd3918cf3ec66263d7ac8e705acb4a5ea5a9 100644 (file)
@@ -193,6 +193,9 @@ static int __kprobes can_boost(kprobe_opcode_t *opcodes)
        kprobe_opcode_t opcode;
        kprobe_opcode_t *orig_opcodes = opcodes;
 
+       if (search_exception_tables(opcodes))
+               return 0;       /* Page fault may occur on this address. */
+
 retry:
        if (opcodes - orig_opcodes > MAX_INSN_SIZE - 1)
                return 0;
@@ -446,7 +449,7 @@ void __kprobes arch_prepare_kretprobe(struct kretprobe_instance *ri,
 static void __kprobes setup_singlestep(struct kprobe *p, struct pt_regs *regs,
                                       struct kprobe_ctlblk *kcb)
 {
-#if !defined(CONFIG_PREEMPT) || defined(CONFIG_PM)
+#if !defined(CONFIG_PREEMPT) || defined(CONFIG_FREEZER)
        if (p->ainsn.boostable == 1 && !p->post_handler) {
                /* Boost up -- we can execute copied instructions directly */
                reset_current_kprobe();