diff options
author | Yury Norov <ynorov@caviumnetworks.com> | 2017-08-20 12:20:48 +0200 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2017-08-22 19:41:47 +0200 |
commit | d1be5c99a0341249bf6f74eb1cbc3d5fc4ef2be7 (patch) | |
tree | 31a7daef1d274b216b66249cbda63516f2fad2ec /arch/arm64/kernel | |
parent | arm64: introduce separated bits for mm_context_t flags (diff) | |
download | linux-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.c | 8 |
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; +} |