aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2018-04-09 05:08:51 -0400
committerRussell King <rmk+kernel@armlinux.org.uk>2018-04-09 05:08:51 -0400
commit9178caf9649d97e976adbfca1f56477befde28f8 (patch)
tree23499ef52864a885e52431839b9a4b6835deb16b
parentb54290e51accea4f696f5dacef8e609d0ccbe54a (diff)
parent5f8d561fb019a3ebe073c019bf5f797f5b06c55e (diff)
Merge branches 'devel-stable' and 'misc' into for-linus
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/boot/compressed/decompress.c5
-rw-r--r--arch/arm/boot/compressed/misc.c7
-rw-r--r--arch/arm/boot/compressed/misc.h10
-rw-r--r--arch/arm/mm/proc-v7.S11
5 files changed, 29 insertions, 5 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 7e3d53575486..3765336e5ec6 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -7,6 +7,7 @@ config ARM
7 select ARCH_HAS_DEBUG_VIRTUAL if MMU 7 select ARCH_HAS_DEBUG_VIRTUAL if MMU
8 select ARCH_HAS_DEVMEM_IS_ALLOWED 8 select ARCH_HAS_DEVMEM_IS_ALLOWED
9 select ARCH_HAS_ELF_RANDOMIZE 9 select ARCH_HAS_ELF_RANDOMIZE
10 select ARCH_HAS_FORTIFY_SOURCE
10 select ARCH_HAS_SET_MEMORY 11 select ARCH_HAS_SET_MEMORY
11 select ARCH_HAS_PHYS_TO_DMA 12 select ARCH_HAS_PHYS_TO_DMA
12 select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL 13 select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
diff --git a/arch/arm/boot/compressed/decompress.c b/arch/arm/boot/compressed/decompress.c
index a2ac3fe7dbf8..c16c1829a5e4 100644
--- a/arch/arm/boot/compressed/decompress.c
+++ b/arch/arm/boot/compressed/decompress.c
@@ -6,10 +6,7 @@
6#include <linux/stddef.h> /* for NULL */ 6#include <linux/stddef.h> /* for NULL */
7#include <linux/linkage.h> 7#include <linux/linkage.h>
8#include <asm/string.h> 8#include <asm/string.h>
9 9#include "misc.h"
10extern unsigned long free_mem_ptr;
11extern unsigned long free_mem_end_ptr;
12extern void error(char *);
13 10
14#define STATIC static 11#define STATIC static
15#define STATIC_RW_DATA /* non-static please */ 12#define STATIC_RW_DATA /* non-static please */
diff --git a/arch/arm/boot/compressed/misc.c b/arch/arm/boot/compressed/misc.c
index 16a8a804e958..79f56c5a9fe5 100644
--- a/arch/arm/boot/compressed/misc.c
+++ b/arch/arm/boot/compressed/misc.c
@@ -22,9 +22,9 @@ unsigned int __machine_arch_type;
22#include <linux/compiler.h> /* for inline */ 22#include <linux/compiler.h> /* for inline */
23#include <linux/types.h> 23#include <linux/types.h>
24#include <linux/linkage.h> 24#include <linux/linkage.h>
25#include "misc.h"
25 26
26static void putstr(const char *ptr); 27static void putstr(const char *ptr);
27extern void error(char *x);
28 28
29#include CONFIG_UNCOMPRESS_INCLUDE 29#include CONFIG_UNCOMPRESS_INCLUDE
30 30
@@ -167,3 +167,8 @@ decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p,
167 else 167 else
168 putstr(" done, booting the kernel.\n"); 168 putstr(" done, booting the kernel.\n");
169} 169}
170
171void fortify_panic(const char *name)
172{
173 error("detected buffer overflow");
174}
diff --git a/arch/arm/boot/compressed/misc.h b/arch/arm/boot/compressed/misc.h
new file mode 100644
index 000000000000..c958dccd1d97
--- /dev/null
+++ b/arch/arm/boot/compressed/misc.h
@@ -0,0 +1,10 @@
1#ifndef MISC_H
2#define MISC_H
3
4#include <linux/compiler.h>
5
6void error(char *x) __noreturn;
7extern unsigned long free_mem_ptr;
8extern unsigned long free_mem_end_ptr;
9
10#endif
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index d55d493f9a1e..b528a15f460d 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -272,6 +272,7 @@ ENDPROC(cpu_pj4b_do_resume)
272__v7_ca5mp_setup: 272__v7_ca5mp_setup:
273__v7_ca9mp_setup: 273__v7_ca9mp_setup:
274__v7_cr7mp_setup: 274__v7_cr7mp_setup:
275__v7_cr8mp_setup:
275 mov r10, #(1 << 0) @ Cache/TLB ops broadcasting 276 mov r10, #(1 << 0) @ Cache/TLB ops broadcasting
276 b 1f 277 b 1f
277__v7_ca7mp_setup: 278__v7_ca7mp_setup:
@@ -642,6 +643,16 @@ __v7_cr7mp_proc_info:
642 .size __v7_cr7mp_proc_info, . - __v7_cr7mp_proc_info 643 .size __v7_cr7mp_proc_info, . - __v7_cr7mp_proc_info
643 644
644 /* 645 /*
646 * ARM Ltd. Cortex R8 processor.
647 */
648 .type __v7_cr8mp_proc_info, #object
649__v7_cr8mp_proc_info:
650 .long 0x410fc180
651 .long 0xff0ffff0
652 __v7_proc __v7_cr8mp_proc_info, __v7_cr8mp_setup
653 .size __v7_cr8mp_proc_info, . - __v7_cr8mp_proc_info
654
655 /*
645 * ARM Ltd. Cortex A7 processor. 656 * ARM Ltd. Cortex A7 processor.
646 */ 657 */
647 .type __v7_ca7mp_proc_info, #object 658 .type __v7_ca7mp_proc_info, #object