• Linus Torvalds's avatar
    Merge tag 'x86-mm-2024-09-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 70f43ea3
    Linus Torvalds authored
    Pull x86 memory management updates from Thomas Gleixner:
    
     - Make LAM enablement safe vs. kernel threads using a process mm
       temporarily as switching back to the process would not update CR3 and
       therefore not enable LAM causing faults in user space when using
       tagged pointers. Cure it by synchronizing LAM enablement via IPIs to
       all CPUs which use the related mm.
    
     - Cure a LAM harmless inconsistency between CR3 and the state during
       context switch. It's both confusing and prone to lead to real bugs
    
     - Handle alt stack handling for threads which run with a non-zero
       protection key. The non-zero key prevents the kernel to access the
       alternate stack. Cure it by temporarily enabling all protection keys
       for the alternate stack setup/restore operations.
    
     - Provide a EFI config table identity mapping for kexec kernel to
       prevent kexec fails because the new kernel cannot access the config
       table array
    
     - Use GB pages only when a full GB is mapped in the identity map as
       otherwise the CPU can speculate into reserved areas after the end of
       memory which causes malfunction on UV systems.
    
     - Remove the noisy and pointless SRAT table dump during boot
    
     - Use is_ioremap_addr() for iounmap() address range checks instead of
       high_memory. is_ioremap_addr() is more precise.
    
    * tag 'x86-mm-2024-09-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/ioremap: Improve iounmap() address range checks
      x86/mm: Remove duplicate check from build_cr3()
      x86/mm: Remove unused NX related declarations
      x86/mm: Remove unused CR3_HW_ASID_BITS
      x86/mm: Don't print out SRAT table information
      x86/mm/ident_map: Use gbpages only where full GB page should be mapped.
      x86/kexec: Add EFI config table identity mapping for kexec kernel
      selftests/mm: Add new testcases for pkeys
      x86/pkeys: Restore altstack access in sigreturn()
      x86/pkeys: Update PKRU to enable all pkeys before XSAVE
      x86/pkeys: Add helper functions to update PKRU on the sigframe
      x86/pkeys: Add PKRU as a parameter in signal handling functions
      x86/mm: Cleanup prctl_enable_tagged_addr() nr_bits error checking
      x86/mm: Fix LAM inconsistency during context switch
      x86/mm: Use IPIs to synchronize LAM enablement
    70f43ea3
xstate.h 9.02 KB