init_64.c (76ea0025a214cdf0d2c204f4c21cbffa9fb57c32) | init_64.c (47010c040dec8af6347ec6259104fc13f7e7e30a) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * linux/arch/x86_64/mm/init.c 4 * 5 * Copyright (C) 1995 Linus Torvalds 6 * Copyright (C) 2000 Pavel Machek <pavel@ucw.cz> 7 * Copyright (C) 2002,2003 Andi Kleen <ak@suse.de> 8 */ --- 96 unchanged lines hidden (view full) --- 105/* Used in PAGE_KERNEL_* macros which are reasonably used out-of-tree: */ 106EXPORT_SYMBOL(__default_kernel_pte_mask); 107 108int force_personality32; 109 110/* 111 * noexec32=on|off 112 * Control non executable heap for 32bit processes. | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * linux/arch/x86_64/mm/init.c 4 * 5 * Copyright (C) 1995 Linus Torvalds 6 * Copyright (C) 2000 Pavel Machek <pavel@ucw.cz> 7 * Copyright (C) 2002,2003 Andi Kleen <ak@suse.de> 8 */ --- 96 unchanged lines hidden (view full) --- 105/* Used in PAGE_KERNEL_* macros which are reasonably used out-of-tree: */ 106EXPORT_SYMBOL(__default_kernel_pte_mask); 107 108int force_personality32; 109 110/* 111 * noexec32=on|off 112 * Control non executable heap for 32bit processes. |
113 * To control the stack too use noexec=off |
|
113 * 114 * on PROT_READ does not imply PROT_EXEC for 32-bit processes (default) 115 * off PROT_READ implies PROT_EXEC 116 */ 117static int __init nonx32_setup(char *str) 118{ 119 if (!strcmp(str, "on")) 120 force_personality32 &= ~READ_IMPLIES_EXEC; --- 1142 unchanged lines hidden (view full) --- 1263 kernel_physical_mapping_remove(start, start + size); 1264} 1265#endif /* CONFIG_MEMORY_HOTPLUG */ 1266 1267static struct kcore_list kcore_vsyscall; 1268 1269static void __init register_page_bootmem_info(void) 1270{ | 114 * 115 * on PROT_READ does not imply PROT_EXEC for 32-bit processes (default) 116 * off PROT_READ implies PROT_EXEC 117 */ 118static int __init nonx32_setup(char *str) 119{ 120 if (!strcmp(str, "on")) 121 force_personality32 &= ~READ_IMPLIES_EXEC; --- 1142 unchanged lines hidden (view full) --- 1264 kernel_physical_mapping_remove(start, start + size); 1265} 1266#endif /* CONFIG_MEMORY_HOTPLUG */ 1267 1268static struct kcore_list kcore_vsyscall; 1269 1270static void __init register_page_bootmem_info(void) 1271{ |
1271#if defined(CONFIG_NUMA) || defined(CONFIG_HUGETLB_PAGE_FREE_VMEMMAP) | 1272#if defined(CONFIG_NUMA) || defined(CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP) |
1272 int i; 1273 1274 for_each_online_node(i) 1275 register_page_bootmem_info_node(NODE_DATA(i)); 1276#endif 1277} 1278 1279/* --- 424 unchanged lines hidden --- | 1273 int i; 1274 1275 for_each_online_node(i) 1276 register_page_bootmem_info_node(NODE_DATA(i)); 1277#endif 1278} 1279 1280/* --- 424 unchanged lines hidden --- |