diff options
Diffstat (limited to 'arch/x86/kernel/process_64.c')
-rw-r--r-- | arch/x86/kernel/process_64.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index f9e033150cdf..126f0b493d04 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
@@ -521,6 +521,18 @@ void set_personality_64bit(void) | |||
521 | current->personality &= ~READ_IMPLIES_EXEC; | 521 | current->personality &= ~READ_IMPLIES_EXEC; |
522 | } | 522 | } |
523 | 523 | ||
524 | void set_personality_ia32(void) | ||
525 | { | ||
526 | /* inherit personality from parent */ | ||
527 | |||
528 | /* Make sure to be in 32bit mode */ | ||
529 | set_thread_flag(TIF_IA32); | ||
530 | current->personality |= force_personality32; | ||
531 | |||
532 | /* Prepare the first "return" to user space */ | ||
533 | current_thread_info()->status |= TS_COMPAT; | ||
534 | } | ||
535 | |||
524 | unsigned long get_wchan(struct task_struct *p) | 536 | unsigned long get_wchan(struct task_struct *p) |
525 | { | 537 | { |
526 | unsigned long stack; | 538 | unsigned long stack; |