diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-11 13:09:45 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-11 13:09:45 -0400 |
commit | 7cc4e87f912bbefa440a51856b8d076e5d1f554a (patch) | |
tree | 1b8df8683f3de37d2e8211ffa8d151f60d59af62 /arch/arm/kernel/traps.c | |
parent | 5ba2f67afb02c5302b2898949ed6fc3b3d37dcf1 (diff) | |
parent | 69fc7eed5f56bce15b239e5110de2575a6970df4 (diff) |
Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (236 commits)
[ARM] 5300/1: fixup spitz reset during boot
[ARM] 5295/1: make ZONE_DMA optional
[ARM] 5239/1: Palm Zire 72 power management support
[ARM] 5298/1: Drop desc_handle_irq()
[ARM] 5297/1: [KS8695] Fix two compile-time warnings
[ARM] 5296/1: [KS8695] Replace macro's with trailing underscores.
[ARM] pxa: allow multi-machine PCMCIA builds
[ARM] pxa: add preliminary CPUFREQ support for PXA3xx
[ARM] pxa: add missing ACCR bit definitions to pxa3xx-regs.h
[ARM] pxa: rename cpu-pxa.c to cpufreq-pxa2xx.c
[ARM] pxa/zylonite: add support for USB OHCI
[ARM] ohci-pxa27x: use ioremap() and offset for register access
[ARM] ohci-pxa27x: introduce pxa27x_clear_otgph()
[ARM] ohci-pxa27x: use platform_get_{irq,resource} for the resource
[ARM] ohci-pxa27x: move OHCI controller specific registers into the driver
[ARM] ohci-pxa27x: introduce flags to avoid direct access to OHCI registers
[ARM] pxa: move I2S register and bit definitions into pxa2xx-i2s.c
[ARM] pxa: simplify DMA register definitions
[ARM] pxa: make additional DCSR bits valid for PXA3xx
[ARM] pxa: move i2c register and bit definitions into i2c-pxa.c
...
Fixed up conflicts in
arch/arm/mach-versatile/core.c
sound/soc/pxa/pxa2xx-ac97.c
sound/soc/pxa/pxa2xx-i2s.c
manually.
Diffstat (limited to 'arch/arm/kernel/traps.c')
-rw-r--r-- | arch/arm/kernel/traps.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 872f1f8fbb57..57e6874d0b80 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c | |||
@@ -19,15 +19,13 @@ | |||
19 | #include <linux/kallsyms.h> | 19 | #include <linux/kallsyms.h> |
20 | #include <linux/delay.h> | 20 | #include <linux/delay.h> |
21 | #include <linux/init.h> | 21 | #include <linux/init.h> |
22 | #include <linux/kprobes.h> | 22 | #include <linux/uaccess.h> |
23 | 23 | ||
24 | #include <asm/atomic.h> | 24 | #include <asm/atomic.h> |
25 | #include <asm/cacheflush.h> | 25 | #include <asm/cacheflush.h> |
26 | #include <asm/system.h> | 26 | #include <asm/system.h> |
27 | #include <asm/uaccess.h> | ||
28 | #include <asm/unistd.h> | 27 | #include <asm/unistd.h> |
29 | #include <asm/traps.h> | 28 | #include <asm/traps.h> |
30 | #include <asm/io.h> | ||
31 | 29 | ||
32 | #include "ptrace.h" | 30 | #include "ptrace.h" |
33 | #include "signal.h" | 31 | #include "signal.h" |
@@ -69,7 +67,8 @@ void dump_backtrace_entry(unsigned long where, unsigned long from, unsigned long | |||
69 | */ | 67 | */ |
70 | static int verify_stack(unsigned long sp) | 68 | static int verify_stack(unsigned long sp) |
71 | { | 69 | { |
72 | if (sp < PAGE_OFFSET || (sp > (unsigned long)high_memory && high_memory != 0)) | 70 | if (sp < PAGE_OFFSET || |
71 | (sp > (unsigned long)high_memory && high_memory != NULL)) | ||
73 | return -EFAULT; | 72 | return -EFAULT; |
74 | 73 | ||
75 | return 0; | 74 | return 0; |
@@ -328,17 +327,6 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs) | |||
328 | get_user(instr, (u32 __user *)pc); | 327 | get_user(instr, (u32 __user *)pc); |
329 | } | 328 | } |
330 | 329 | ||
331 | #ifdef CONFIG_KPROBES | ||
332 | /* | ||
333 | * It is possible to have recursive kprobes, so we can't call | ||
334 | * the kprobe trap handler with the undef_lock held. | ||
335 | */ | ||
336 | if (instr == KPROBE_BREAKPOINT_INSTRUCTION && !user_mode(regs)) { | ||
337 | kprobe_trap_handler(regs, instr); | ||
338 | return; | ||
339 | } | ||
340 | #endif | ||
341 | |||
342 | if (call_undef_hook(regs, instr) == 0) | 330 | if (call_undef_hook(regs, instr) == 0) |
343 | return; | 331 | return; |
344 | 332 | ||