process_64.c (1136fa0c07de570dc17858745af8be169d1440ba) | process_64.c (83a44a4f47ad20997aebb311fc678a13cde391d7) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 1995 Linus Torvalds 4 * 5 * Pentium III FXSR, SSE support 6 * Gareth Hughes <gareth@valinux.com>, May 2000 7 * 8 * X86-64 port --- 667 unchanged lines hidden (view full) --- 676 But 64bit processes have always behaved this way, 677 so it's not too bad. The main problem is just that 678 32bit children are affected again. */ 679 current->personality &= ~READ_IMPLIES_EXEC; 680} 681 682static void __set_personality_x32(void) 683{ | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * Copyright (C) 1995 Linus Torvalds 4 * 5 * Pentium III FXSR, SSE support 6 * Gareth Hughes <gareth@valinux.com>, May 2000 7 * 8 * X86-64 port --- 667 unchanged lines hidden (view full) --- 676 But 64bit processes have always behaved this way, 677 so it's not too bad. The main problem is just that 678 32bit children are affected again. */ 679 current->personality &= ~READ_IMPLIES_EXEC; 680} 681 682static void __set_personality_x32(void) 683{ |
684#ifdef CONFIG_X86_X32 | 684#ifdef CONFIG_X86_X32_ABI |
685 if (current->mm) 686 current->mm->context.flags = 0; 687 688 current->personality &= ~READ_IMPLIES_EXEC; 689 /* 690 * in_32bit_syscall() uses the presence of the x32 syscall bit 691 * flag to determine compat status. The x86 mmap() code relies on 692 * the syscall bitness so set x32 syscall bit right here to make --- 170 unchanged lines hidden --- | 685 if (current->mm) 686 current->mm->context.flags = 0; 687 688 current->personality &= ~READ_IMPLIES_EXEC; 689 /* 690 * in_32bit_syscall() uses the presence of the x32 syscall bit 691 * flag to determine compat status. The x86 mmap() code relies on 692 * the syscall bitness so set x32 syscall bit right here to make --- 170 unchanged lines hidden --- |