diff options
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r-- | arch/arm/kernel/elf.c | 4 | ||||
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 1 | ||||
-rw-r--r-- | arch/arm/kernel/entry-common.S | 2 | ||||
-rw-r--r-- | arch/arm/kernel/irq.c | 2 | ||||
-rw-r--r-- | arch/arm/kernel/machine_kexec.c | 4 |
5 files changed, 7 insertions, 6 deletions
diff --git a/arch/arm/kernel/elf.c b/arch/arm/kernel/elf.c index 84849098c8e8..d4a0da1e48f4 100644 --- a/arch/arm/kernel/elf.c +++ b/arch/arm/kernel/elf.c | |||
@@ -74,9 +74,9 @@ EXPORT_SYMBOL(elf_set_personality); | |||
74 | */ | 74 | */ |
75 | int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) | 75 | int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) |
76 | { | 76 | { |
77 | if (executable_stack != EXSTACK_ENABLE_X) | 77 | if (executable_stack != EXSTACK_DISABLE_X) |
78 | return 1; | 78 | return 1; |
79 | if (cpu_architecture() <= CPU_ARCH_ARMv6) | 79 | if (cpu_architecture() < CPU_ARCH_ARMv6) |
80 | return 1; | 80 | return 1; |
81 | return 0; | 81 | return 0; |
82 | } | 82 | } |
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 77b047475539..85040cfeb5e5 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -650,6 +650,7 @@ ENTRY(fp_enter) | |||
650 | no_fp: mov pc, lr | 650 | no_fp: mov pc, lr |
651 | 651 | ||
652 | __und_usr_unknown: | 652 | __und_usr_unknown: |
653 | enable_irq | ||
653 | mov r0, sp | 654 | mov r0, sp |
654 | adr lr, ret_from_exception | 655 | adr lr, ret_from_exception |
655 | b do_undefinstr | 656 | b do_undefinstr |
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 06269ea375c5..49a6ba926c2b 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S | |||
@@ -136,7 +136,7 @@ ENTRY(mcount) | |||
136 | ldmia sp!, {r0-r3, pc} | 136 | ldmia sp!, {r0-r3, pc} |
137 | 137 | ||
138 | trace: | 138 | trace: |
139 | ldr r1, [fp, #-4] | 139 | ldr r1, [fp, #-4] @ lr of instrumented routine |
140 | mov r0, lr | 140 | mov r0, lr |
141 | sub r0, r0, #MCOUNT_INSN_SIZE | 141 | sub r0, r0, #MCOUNT_INSN_SIZE |
142 | mov lr, pc | 142 | mov lr, pc |
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 7141cee1fab7..363db186cb93 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
@@ -101,7 +101,7 @@ unlock: | |||
101 | /* Handle bad interrupts */ | 101 | /* Handle bad interrupts */ |
102 | static struct irq_desc bad_irq_desc = { | 102 | static struct irq_desc bad_irq_desc = { |
103 | .handle_irq = handle_bad_irq, | 103 | .handle_irq = handle_bad_irq, |
104 | .lock = SPIN_LOCK_UNLOCKED | 104 | .lock = __SPIN_LOCK_UNLOCKED(bad_irq_desc.lock), |
105 | }; | 105 | }; |
106 | 106 | ||
107 | /* | 107 | /* |
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c index 440dc62cdc3a..598ca61e7bca 100644 --- a/arch/arm/kernel/machine_kexec.c +++ b/arch/arm/kernel/machine_kexec.c | |||
@@ -13,8 +13,8 @@ | |||
13 | #include <asm/cacheflush.h> | 13 | #include <asm/cacheflush.h> |
14 | #include <asm/mach-types.h> | 14 | #include <asm/mach-types.h> |
15 | 15 | ||
16 | const extern unsigned char relocate_new_kernel[]; | 16 | extern const unsigned char relocate_new_kernel[]; |
17 | const extern unsigned int relocate_new_kernel_size; | 17 | extern const unsigned int relocate_new_kernel_size; |
18 | 18 | ||
19 | extern void setup_mm_for_reboot(char mode); | 19 | extern void setup_mm_for_reboot(char mode); |
20 | 20 | ||