summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-12-06 20:33:54 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-07 08:39:26 -0800
commit4d3eeeac97a6e4fc1ff3ad184f1c3bf328de7cb6 (patch)
tree2b5387323106e3bc48d955f8c2ac4a6de8d34630 /arch
parente9c1528a429c831458e54c8701a0b80ba563a7a8 (diff)
downloadlwn-4d3eeeac97a6e4fc1ff3ad184f1c3bf328de7cb6.tar.gz
lwn-4d3eeeac97a6e4fc1ff3ad184f1c3bf328de7cb6.zip
[PATCH] avr32: fixup kprobes preemption handling
While working on SH kprobes, I noticed that avr32 got the preemption handling wrong in the no probe case. The idea is that upon entry of kprobe_handler() preemption is disabled outright across the life of the kprobe, only to be re-enabled in post_kprobe_handler(). However, in the event that the probe is never activated, there's never any chance of hitting the post probe handler, which allows for the current avr32 implementation to disable preemption indefinitely, as it's currently missing a re-enable when no probe is activated. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/avr32/kernel/kprobes.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/avr32/kernel/kprobes.c b/arch/avr32/kernel/kprobes.c
index ca41fc1edbe1..d0abbcaf1c1e 100644
--- a/arch/avr32/kernel/kprobes.c
+++ b/arch/avr32/kernel/kprobes.c
@@ -154,6 +154,7 @@ ss_probe:
return 1;
no_kprobe:
+ preempt_enable_no_resched();
return ret;
}