--- /dev/null
+From c623b33b4e9599c6ac5076f7db7369eb9869aa04 Mon Sep 17 00:00:00 2001
+From: Mark Rutland <mark.rutland@arm.com>
+Date: Thu, 8 Jan 2015 11:42:59 +0000
+Subject: arm64: make sys_call_table const
+
+From: Mark Rutland <mark.rutland@arm.com>
+
+commit c623b33b4e9599c6ac5076f7db7369eb9869aa04 upstream.
+
+As with x86, mark the sys_call_table const such that it will be placed
+in the .rodata section. This will cause attempts to modify the table
+(accidental or deliberate) to fail when strict page permissions are in
+place. In the absence of strict page permissions, there should be no
+functional change.
+
+Signed-off-by: Mark Rutland <mark.rutland@arm.com>
+Acked-by: Will Deacon <will.deacon@arm.com>
+Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
+Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm64/kernel/sys.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm64/kernel/sys.c
++++ b/arch/arm64/kernel/sys.c
+@@ -50,7 +50,7 @@ asmlinkage long sys_mmap(unsigned long a
+ * The sys_call_table array must be 4K aligned to be accessible from
+ * kernel/entry.S.
+ */
+-void *sys_call_table[__NR_syscalls] __aligned(4096) = {
++void * const sys_call_table[__NR_syscalls] __aligned(4096) = {
+ [0 ... __NR_syscalls - 1] = sys_ni_syscall,
+ #include <asm/unistd.h>
+ };