• Linus Torvalds's avatar
    Merge tag 'ras_updates_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ca1b6692
    Linus Torvalds authored
    Pull RAS updates from Borislav Petkov:
    
     - Extend the recovery from MCE in kernel space also to processes which
       encounter an MCE in kernel space but while copying from user memory
       by sending them a SIGBUS on return to user space and umapping the
       faulty memory, by Tony Luck and Youquan Song.
    
     - memcpy_mcsafe() rework by splitting the functionality into
       copy_mc_to_user() and copy_mc_to_kernel(). This, as a result, enables
       support for new hardware which can recover from a machine check
       encountered during a fast string copy and makes that the default and
       lets the older hardware which does not support that advance recovery,
       opt in to use the old, fragile, slow variant, by Dan Williams.
    
     - New AMD hw enablement, by Yazen Ghannam and Akshay Gupta.
    
     - Do not use MSR-tracing accessors in #MC context and flag any fault
       while accessing MCA architectural MSRs as an architectural violation
       with the hope that such hw/fw misdesigns are caught early during the
       hw eval phase and they don't make it into production.
    
     - Misc fixes, improvements and cleanups, as always.
    
    * tag 'ras_updates_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/mce: Allow for copy_mc_fragile symbol checksum to be generated
      x86/mce: Decode a kernel instruction to determine if it is copying from user
      x86/mce: Recover from poison found while copying from user space
      x86/mce: Avoid tail copy when machine check terminated a copy from user
      x86/mce: Add _ASM_EXTABLE_CPY for copy user access
      x86/mce: Provide method to find out the type of an exception handler
      x86/mce: Pass pointer to saved pt_regs to severity calculation routines
      x86/copy_mc: Introduce copy_mc_enhanced_fast_string()
      x86, powerpc: Rename memcpy_mcsafe() to copy_mc_to_{user, kernel}()
      x86/mce: Drop AMD-specific "DEFERRED" case from Intel severity rule list
      x86/mce: Add Skylake quirk for patrol scrub reported errors
      RAS/CEC: Convert to DEFINE_SHOW_ATTRIBUTE()
      x86/mce: Annotate mce_rd/wrmsrl() with noinstr
      x86/mce/dev-mcelog: Do not update kflags on AMD systems
      x86/mce: Stop mce_reign() from re-computing severity for every CPU
      x86/mce: Make mce_rdmsrl() panic on an inaccessible MSR
      x86/mce: Increase maximum number of banks to 64
      x86/mce: Delay clearing IA32_MCG_STATUS to the end of do_machine_check()
      x86/MCE/AMD, EDAC/mce_amd: Remove struct smca_hwid.xec_bitmap
      RAS/CEC: Fix cec_init() prototype
    ca1b6692
fault.c 39.7 KB