arm64: make sys_call_table const
authorMark Rutland <mark.rutland@arm.com>
Thu, 8 Jan 2015 11:42:59 +0000 (11:42 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 27 Jan 2015 09:38:08 +0000 (09:38 +0000)
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>
arch/arm64/kernel/sys.c

index dec351a9f3d6661a12965f6cbd2e5ee56b8cb998..75151aaf1a52025237be5e0becc8ffac514bae2c 100644 (file)
@@ -49,7 +49,7 @@ asmlinkage long sys_rt_sigreturn_wrapper(void);
  * 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>
 };