aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/kaslr.c
diff options
context:
space:
mode:
authorJisheng Zhang <jszhang@marvell.com>2016-08-15 02:45:46 -0400
committerWill Deacon <will.deacon@arm.com>2016-08-22 07:32:29 -0400
commit5a9e3e156ec1ab26ba70b4c44157858c92bbeee0 (patch)
tree08786b2c7e30101dc85dd29b6cf8e43be55cd2d5 /arch/arm64/kernel/kaslr.c
parentb6d081bddf397026575a437b603b118dff2606ff (diff)
arm64: apply __ro_after_init to some objects
These objects are set during initialization, thereafter are read only. Previously I only want to mark vdso_pages, vdso_spec, vectors_page and cpu_ops as __read_mostly from performance point of view. Then inspired by Kees's patch[1] to apply more __ro_after_init for arm, I think it's better to mark them as __ro_after_init. What's more, I find some more objects are also read only after init. So apply __ro_after_init to all of them. This patch also removes global vdso_pagelist and tries to clean up vdso_spec[] assignment code. [1] http://www.spinics.net/lists/arm-kernel/msg523188.html Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Jisheng Zhang <jszhang@marvell.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/kernel/kaslr.c')
-rw-r--r--arch/arm64/kernel/kaslr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm64/kernel/kaslr.c b/arch/arm64/kernel/kaslr.c
index b05469173ba5..769f24ef628c 100644
--- a/arch/arm64/kernel/kaslr.c
+++ b/arch/arm64/kernel/kaslr.c
@@ -6,6 +6,7 @@
6 * published by the Free Software Foundation. 6 * published by the Free Software Foundation.
7 */ 7 */
8 8
9#include <linux/cache.h>
9#include <linux/crc32.h> 10#include <linux/crc32.h>
10#include <linux/init.h> 11#include <linux/init.h>
11#include <linux/libfdt.h> 12#include <linux/libfdt.h>
@@ -20,7 +21,7 @@
20#include <asm/pgtable.h> 21#include <asm/pgtable.h>
21#include <asm/sections.h> 22#include <asm/sections.h>
22 23
23u64 __read_mostly module_alloc_base; 24u64 __ro_after_init module_alloc_base;
24u16 __initdata memstart_offset_seed; 25u16 __initdata memstart_offset_seed;
25 26
26static __init u64 get_kaslr_seed(void *fdt) 27static __init u64 get_kaslr_seed(void *fdt)