Revert "powerpc/pci: unmap legacy INTx interrupts when a PHB is removed"
authorQian Cai <cai@lca.pw>
Wed, 14 Oct 2020 18:28:11 +0000 (14:28 -0400)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 15 Oct 2020 02:42:49 +0000 (13:42 +1100)
commitffd0b25ca049a477cb757e5bcf2d5e1664d12e5d
tree850fb891e06410163f4ac493ec841c6646d92478
parent996f9e0f93f16211945c8d5f18f296a88cb32f91
Revert "powerpc/pci: unmap legacy INTx interrupts when a PHB is removed"

This reverts commit 3a3181e16fbde752007759f8759d25e0ff1fc425 which
causes memory corruptions on POWER9 powernv. eg:

  pci_bus 0035:08: busn_res: [bus 08-0c] is released
  =============================================================================
  BUG kmalloc-16 (Tainted: G        W  O     ): Object already free
  -----------------------------------------------------------------------------
  Disabling lock debugging due to kernel taint
  INFO: Allocated in pcibios_scan_phb+0x104/0x3e0 age=1960714 cpu=4 pid=1
   __slab_alloc+0xa4/0xf0
   __kmalloc+0x294/0x330
   pcibios_scan_phb+0x104/0x3e0
   pcibios_init+0x84/0x124
   do_one_initcall+0xac/0x528
   kernel_init_freeable+0x35c/0x3fc
   kernel_init+0x24/0x148
   ret_from_kernel_thread+0x5c/0x80
  INFO: Freed in pcibios_remove_bus+0x70/0x90 age=0 cpu=16 pid=1717146
   kfree+0x49c/0x510
   pcibios_remove_bus+0x70/0x90
   pci_remove_bus+0xe4/0x110
   pci_remove_bus_device+0x74/0x170
   pci_remove_bus_device+0x4c/0x170
   pci_stop_and_remove_bus_device_locked+0x34/0x50
   remove_store+0xc0/0xe0
   dev_attr_store+0x30/0x50
   sysfs_kf_write+0x68/0xb0
   kernfs_fop_write+0x114/0x260
   vfs_write+0xe4/0x260
   ksys_write+0x74/0x130
   system_call_exception+0xf8/0x1d0
   system_call_common+0xe8/0x218
  INFO: Slab 0x0000000099caaf22 objects=178 used=174 fp=0x00000000006a64b0 flags=0x7fff8000000201
  INFO: Object 0x00000000f360132d @offset=30192 fp=0x0000000000000000

Signed-off-by: Qian Cai <cai@lca.pw>
Acked-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201014182811.12027-1-cai@lca.pw
arch/powerpc/include/asm/pci-bridge.h
arch/powerpc/kernel/pci-common.c