Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'x86-urgent-2023-09-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar:
"Fix preemption delays in the SGX code, remove unnecessarily
UAPI-exported code, fix a ld.lld linker (in)compatibility quirk and
make the x86 SMP init code a bit more conservative to fix kexec()
lockups"

* tag 'x86-urgent-2023-09-10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/sgx: Break up long non-preemptible delays in sgx_vepc_release()
x86: Remove the arch_calc_vm_prot_bits() macro from the UAPI
x86/build: Fix linker fill bytes quirk/incompatibility for ld.lld
x86/smp: Don't send INIT to non-present and non-booted CPUs

+20 -11
+15
arch/x86/include/asm/mman.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 2 + #ifndef __ASM_MMAN_H__ 3 + #define __ASM_MMAN_H__ 4 + 5 + #ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS 6 + #define arch_calc_vm_prot_bits(prot, key) ( \ 7 + ((key) & 0x1 ? VM_PKEY_BIT0 : 0) | \ 8 + ((key) & 0x2 ? VM_PKEY_BIT1 : 0) | \ 9 + ((key) & 0x4 ? VM_PKEY_BIT2 : 0) | \ 10 + ((key) & 0x8 ? VM_PKEY_BIT3 : 0)) 11 + #endif 12 + 13 + #include <uapi/asm/mman.h> 14 + 15 + #endif /* __ASM_MMAN_H__ */
-8
arch/x86/include/uapi/asm/mman.h
··· 5 5 #define MAP_32BIT 0x40 /* only give out 32bit addresses */ 6 6 #define MAP_ABOVE4G 0x80 /* only map above 4GB */ 7 7 8 - #ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS 9 - #define arch_calc_vm_prot_bits(prot, key) ( \ 10 - ((key) & 0x1 ? VM_PKEY_BIT0 : 0) | \ 11 - ((key) & 0x2 ? VM_PKEY_BIT1 : 0) | \ 12 - ((key) & 0x4 ? VM_PKEY_BIT2 : 0) | \ 13 - ((key) & 0x8 ? VM_PKEY_BIT3 : 0)) 14 - #endif 15 - 16 8 /* Flags for map_shadow_stack(2) */ 17 9 #define SHADOW_STACK_SET_TOKEN (1ULL << 0) /* Set up a restore token in the shadow stack */ 18 10
+3
arch/x86/kernel/cpu/sgx/virt.c
··· 204 204 continue; 205 205 206 206 xa_erase(&vepc->page_array, index); 207 + cond_resched(); 207 208 } 208 209 209 210 /* ··· 223 222 list_add_tail(&epc_page->list, &secs_pages); 224 223 225 224 xa_erase(&vepc->page_array, index); 225 + cond_resched(); 226 226 } 227 227 228 228 /* ··· 245 243 246 244 if (sgx_vepc_free_page(epc_page)) 247 245 list_add_tail(&epc_page->list, &secs_pages); 246 + cond_resched(); 248 247 } 249 248 250 249 if (!list_empty(&secs_pages))
+1 -1
arch/x86/kernel/smpboot.c
··· 1250 1250 if (this_cpu) 1251 1251 return false; 1252 1252 1253 - for_each_present_cpu(cpu) { 1253 + for_each_cpu_and(cpu, &cpus_booted_once_mask, cpu_present_mask) { 1254 1254 if (cpu == this_cpu) 1255 1255 continue; 1256 1256 apicid = apic->cpu_present_to_apicid(cpu);
+1 -1
arch/x86/kernel/vmlinux.lds.S
··· 156 156 ALIGN_ENTRY_TEXT_END 157 157 *(.gnu.warning) 158 158 159 - } :text =0xcccc 159 + } :text = 0xcccccccc 160 160 161 161 /* End of text section, which should occupy whole number of pages */ 162 162 _etext = .;
-1
scripts/headers_install.sh
··· 81 81 arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_SUPPORT 82 82 arch/x86/include/uapi/asm/auxvec.h:CONFIG_IA32_EMULATION 83 83 arch/x86/include/uapi/asm/auxvec.h:CONFIG_X86_64 84 - arch/x86/include/uapi/asm/mman.h:CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS 85 84 " 86 85 87 86 for c in $configs