summaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel
diff options
context:
space:
mode:
authorYury Norov <ynorov@caviumnetworks.com>2017-08-20 12:20:48 +0200
committerCatalin Marinas <catalin.marinas@arm.com>2017-08-22 19:41:47 +0200
commitd1be5c99a0341249bf6f74eb1cbc3d5fc4ef2be7 (patch)
tree31a7daef1d274b216b66249cbda63516f2fad2ec /arch/arm64/kernel
parentarm64: introduce separated bits for mm_context_t flags (diff)
downloadlinux-d1be5c99a0341249bf6f74eb1cbc3d5fc4ef2be7.tar.xz
linux-d1be5c99a0341249bf6f74eb1cbc3d5fc4ef2be7.zip
arm64: cleanup {COMPAT_,}SET_PERSONALITY() macro
There is some work that should be done after setting the personality. Currently it's done in the macro, which is not the best idea. In this patch new arch_setup_new_exec() routine is introduced, and all setup code is moved there, as suggested by Catalin: https://lkml.org/lkml/2017/8/4/494 Cc: Pratyush Anand <panand@redhat.com> Signed-off-by: Yury Norov <ynorov@caviumnetworks.com> [catalin.marinas@arm.com: comments changed or removed] Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/kernel')
-rw-r--r--arch/arm64/kernel/process.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index 85b953dd023a..e6bf19c1dddb 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -414,3 +414,11 @@ unsigned long arch_randomize_brk(struct mm_struct *mm)
else
return randomize_page(mm->brk, SZ_1G);
}
+
+/*
+ * Called from setup_new_exec() after (COMPAT_)SET_PERSONALITY.
+ */
+void arch_setup_new_exec(void)
+{
+ current->mm->context.flags = is_compat_task() ? MMCF_AARCH32 : 0;
+}