• Linus Torvalds's avatar
    Merge tag 'x86-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dcc5c6f0
    Linus Torvalds authored
    Pull x86 fixes from Thomas Gleixner:
     "Three interrupt related fixes for X86:
    
       - Move disabling of the local APIC after invoking fixup_irqs() to
         ensure that interrupts which are incoming are noted in the IRR and
         not ignored.
    
       - Unbreak affinity setting.
    
         The rework of the entry code reused the regular exception entry
         code for device interrupts. The vector number is pushed into the
         errorcode slot on the stack which is then lifted into an argument
         and set to -1 because that's regs->orig_ax which is used in quite
         some places to check whether the entry came from a syscall.
    
         But it was overlooked that orig_ax is used in the affinity cleanup
         code to validate whether the interrupt has arrived on the new
         target. It turned out that this vector check is pointless because
         interrupts are never moved from one vector to another on the same
         CPU. That check is a historical leftover from the time where x86
         supported multi-CPU affinities, but not longer needed with the now
         strict single CPU affinity. Famous last words ...
    
       - Add a missing check for an empty cpumask into the matrix allocator.
    
         The affinity change added a warning to catch the case where an
         interrupt is moved on the same CPU to a different vector. This
         triggers because a condition with an empty cpumask returns an
         assignment from the allocator as the allocator uses for_each_cpu()
         without checking the cpumask for being empty. The historical
         inconsistent for_each_cpu() behaviour of ignoring the cpumask and
         unconditionally claiming that CPU0 is in the mask struck again.
         Sigh.
    
      plus a new entry into the MAINTAINER file for the HPE/UV platform"
    
    * tag 'x86-urgent-2020-08-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      genirq/matrix: Deal with the sillyness of for_each_cpu() on UP
      x86/irq: Unbreak interrupt affinity setting
      x86/hotplug: Silence APIC only after all interrupts are migrated
      MAINTAINERS: Add entry for HPE Superdome Flex (UV) maintainers
    dcc5c6f0
MAINTAINERS 556 KB