diff options
| -rw-r--r-- | arch/arm/kernel/fiq.c | 3 | ||||
| -rw-r--r-- | arch/arm/kernel/machine_kexec.c | 1 | ||||
| -rw-r--r-- | arch/arm/mm/Kconfig | 9 |
3 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c index fc7920288a3d..918875d96d5d 100644 --- a/arch/arm/kernel/fiq.c +++ b/arch/arm/kernel/fiq.c | |||
| @@ -89,7 +89,8 @@ void set_fiq_handler(void *start, unsigned int length) | |||
| 89 | 89 | ||
| 90 | memcpy(base + offset, start, length); | 90 | memcpy(base + offset, start, length); |
| 91 | if (!cache_is_vipt_nonaliasing()) | 91 | if (!cache_is_vipt_nonaliasing()) |
| 92 | flush_icache_range(base + offset, offset + length); | 92 | flush_icache_range((unsigned long)base + offset, offset + |
| 93 | length); | ||
| 93 | flush_icache_range(0xffff0000 + offset, 0xffff0000 + offset + length); | 94 | flush_icache_range(0xffff0000 + offset, 0xffff0000 + offset + length); |
| 94 | } | 95 | } |
| 95 | 96 | ||
diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c index d7c82df69243..57221e349a7c 100644 --- a/arch/arm/kernel/machine_kexec.c +++ b/arch/arm/kernel/machine_kexec.c | |||
| @@ -82,6 +82,7 @@ void machine_crash_nonpanic_core(void *unused) | |||
| 82 | crash_save_cpu(®s, smp_processor_id()); | 82 | crash_save_cpu(®s, smp_processor_id()); |
| 83 | flush_cache_all(); | 83 | flush_cache_all(); |
| 84 | 84 | ||
| 85 | set_cpu_online(smp_processor_id(), false); | ||
| 85 | atomic_dec(&waiting_for_crash_ipi); | 86 | atomic_dec(&waiting_for_crash_ipi); |
| 86 | while (1) | 87 | while (1) |
| 87 | cpu_relax(); | 88 | cpu_relax(); |
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index db5c2cab8fda..cd2c88e7a8f7 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
| @@ -809,15 +809,18 @@ config KUSER_HELPERS | |||
| 809 | the CPU type fitted to the system. This permits binaries to be | 809 | the CPU type fitted to the system. This permits binaries to be |
| 810 | run on ARMv4 through to ARMv7 without modification. | 810 | run on ARMv4 through to ARMv7 without modification. |
| 811 | 811 | ||
| 812 | See Documentation/arm/kernel_user_helpers.txt for details. | ||
| 813 | |||
| 812 | However, the fixed address nature of these helpers can be used | 814 | However, the fixed address nature of these helpers can be used |
| 813 | by ROP (return orientated programming) authors when creating | 815 | by ROP (return orientated programming) authors when creating |
| 814 | exploits. | 816 | exploits. |
| 815 | 817 | ||
| 816 | If all of the binaries and libraries which run on your platform | 818 | If all of the binaries and libraries which run on your platform |
| 817 | are built specifically for your platform, and make no use of | 819 | are built specifically for your platform, and make no use of |
| 818 | these helpers, then you can turn this option off. However, | 820 | these helpers, then you can turn this option off to hinder |
| 819 | when such an binary or library is run, it will receive a SIGILL | 821 | such exploits. However, in that case, if a binary or library |
| 820 | signal, which will terminate the program. | 822 | relying on those helpers is run, it will receive a SIGILL signal, |
| 823 | which will terminate the program. | ||
| 821 | 824 | ||
| 822 | Say N here only if you are absolutely certain that you do not | 825 | Say N here only if you are absolutely certain that you do not |
| 823 | need these helpers; otherwise, the safe option is to say Y. | 826 | need these helpers; otherwise, the safe option is to say Y. |
