diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-29 19:16:12 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-29 19:16:12 -0500 |
commit | ad0b40fa944628d6f30b40266a599b285d70a266 (patch) | |
tree | 988262db8c25a94dbacf0312330df81668b0bb83 | |
parent | ec1cc55d6fa0b34029419634125fadc77dce1e88 (diff) | |
parent | 03590cb56d5df7367ccb9e6e0127593254401c42 (diff) |
Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King:
"Just one fix for a -fstack-protector-strong problem from Kees Cook,
and adding the new copy_file_range syscall"
* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: wire up copy_file_range() syscall
ARM: 8500/1: fix atags_to_fdt with stack-protector-strong
-rw-r--r-- | arch/arm/boot/compressed/Makefile | 9 | ||||
-rw-r--r-- | arch/arm/include/uapi/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/arm/kernel/calls.S | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 4c23a68a0917..7a6a58ef8aaf 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile | |||
@@ -106,6 +106,15 @@ ORIG_CFLAGS := $(KBUILD_CFLAGS) | |||
106 | KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) | 106 | KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) |
107 | endif | 107 | endif |
108 | 108 | ||
109 | # -fstack-protector-strong triggers protection checks in this code, | ||
110 | # but it is being used too early to link to meaningful stack_chk logic. | ||
111 | nossp_flags := $(call cc-option, -fno-stack-protector) | ||
112 | CFLAGS_atags_to_fdt.o := $(nossp_flags) | ||
113 | CFLAGS_fdt.o := $(nossp_flags) | ||
114 | CFLAGS_fdt_ro.o := $(nossp_flags) | ||
115 | CFLAGS_fdt_rw.o := $(nossp_flags) | ||
116 | CFLAGS_fdt_wip.o := $(nossp_flags) | ||
117 | |||
109 | ccflags-y := -fpic -mno-single-pic-base -fno-builtin -I$(obj) | 118 | ccflags-y := -fpic -mno-single-pic-base -fno-builtin -I$(obj) |
110 | asflags-y := -DZIMAGE | 119 | asflags-y := -DZIMAGE |
111 | 120 | ||
diff --git a/arch/arm/include/uapi/asm/unistd.h b/arch/arm/include/uapi/asm/unistd.h index ede692ffa32e..5dd2528e9e45 100644 --- a/arch/arm/include/uapi/asm/unistd.h +++ b/arch/arm/include/uapi/asm/unistd.h | |||
@@ -417,6 +417,7 @@ | |||
417 | #define __NR_userfaultfd (__NR_SYSCALL_BASE+388) | 417 | #define __NR_userfaultfd (__NR_SYSCALL_BASE+388) |
418 | #define __NR_membarrier (__NR_SYSCALL_BASE+389) | 418 | #define __NR_membarrier (__NR_SYSCALL_BASE+389) |
419 | #define __NR_mlock2 (__NR_SYSCALL_BASE+390) | 419 | #define __NR_mlock2 (__NR_SYSCALL_BASE+390) |
420 | #define __NR_copy_file_range (__NR_SYSCALL_BASE+391) | ||
420 | 421 | ||
421 | /* | 422 | /* |
422 | * The following SWIs are ARM private. | 423 | * The following SWIs are ARM private. |
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S index ac368bb068d1..dfc7cd6851ad 100644 --- a/arch/arm/kernel/calls.S +++ b/arch/arm/kernel/calls.S | |||
@@ -400,6 +400,7 @@ | |||
400 | CALL(sys_userfaultfd) | 400 | CALL(sys_userfaultfd) |
401 | CALL(sys_membarrier) | 401 | CALL(sys_membarrier) |
402 | CALL(sys_mlock2) | 402 | CALL(sys_mlock2) |
403 | CALL(sys_copy_file_range) | ||
403 | #ifndef syscalls_counted | 404 | #ifndef syscalls_counted |
404 | .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls | 405 | .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls |
405 | #define syscalls_counted | 406 | #define syscalls_counted |