Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Catalin Marinas:
 "Fix SDEI (software delegated exception interface) handlers taking
  nested exceptions (looping on the KPTI trampoline vectors and
  clobbering the interrupted context's exception registers), TPIDR2_EL0
  preservation across CPU suspend, a kexec_file_load() memory leak and
  an overflow in the /dev/mem valid_mmap_phys_addr_range() check:

   - Fix nested exceptions taken by SDEI event handlers.

     With KPTI, an event interrupting user space left the trampoline
     vectors installed and any exception in the handler looped forever.
     Also save and restore ELR/SPSR/ESR/FAR around the handler since an
     event can interrupt exception entry or return where these registers
     are live

   - Save and restore TPIDR2_EL0 across CPU suspend.

     Its value is UNKNOWN after a warm reset and the task initiating
     suspend could return to user space with a corrupted value

   - Fix an overflow in valid_mmap_phys_addr_range() allowing /dev/mem
     to map out-of-range PFNs

   - Fix an elf_headers memory leak in the kexec_file segment placement
     retry loop"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  arm64: sdei: Preserve the interrupted context's exception registers
  arm64: sdei: Run the event handler on the kernel vectors
  arm64: kexec_file: Fix elf_headers memory leak in retry loop
  arm64: mm: validate /dev/mem mmap ranges without overflow
  arm64: suspend: Save and restore TPIDR2_EL0 across CPU suspend