linux/drivers/misc
Andrew Donnellan 6f38a8b9a4 cxl: use pcibios_free_controller_deferred() when removing vPHBs
When cxl removes a vPHB, it's possible that the pci_controller may be freed
before all references to the devices on the vPHB have been released. This
in turn causes an invalid memory access when the devices are eventually
released, as pcibios_release_device() attempts to call the phb's
release_device hook.

In cxl_pci_vphb_remove(), remove the existing call to
pcibios_free_controller(). Instead, use
pcibios_free_controller_deferred() to free the pci_controller after all
devices have been released. Export pci_set_host_bridge_release() so we can
do this.

Cc: stable@vger.kernel.org
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Reviewed-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Acked-by: Ian Munsie <imunsie@au1.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2016-08-22 11:09:33 +10:00
..
altera-stapl
c2port
cb710
cxl cxl: use pcibios_free_controller_deferred() when removing vPHBs 2016-08-22 11:09:33 +10:00
echo
eeprom eeprom: at24: tweak the loop_until_timeout() macro 2016-07-18 20:07:54 +02:00
genwqe GenWQE: Use pci_(request|release)_mem_regions 2016-06-21 17:11:09 -05:00
ibmasm mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
lis3lv02d
mei Merge 4.7-rc4 into char-misc-next 2016-06-25 07:29:44 -07:00
mic virtio/vhost: new features for 4.8 2016-08-06 09:20:13 -04:00
sgi-gru x86/platform/UV: Remove Obsolete GRU MMR address translation 2016-05-04 08:48:51 +02:00
sgi-xp
ti-st drivers: misc: ti-st: Use int instead of fuzzy char for callback status 2016-07-17 19:59:26 +02:00
vmw_vmci mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
ad525x_dpot-i2c.c
ad525x_dpot-spi.c
ad525x_dpot.c misc: ad525x_dpot: Fix the enabling of the "otpXen" attributes 2016-03-01 16:55:13 -08:00
ad525x_dpot.h
apds990x.c
apds9802als.c
arm-charlcd.c
atmel_tclib.c
atmel-ssc.c ASoC: atmel_ssc_dai: distinguish the different SSC 2016-03-02 23:43:11 +09:00
bh1770glc.c
bh1780gli.c
bmp085-i2c.c
bmp085-spi.c
bmp085.c
bmp085.h
cs5535-mfgpt.c
ds1682.c
dummy-irq.c
enclosure.c
fsa9480.c
hmc6352.c
hpilo.c
hpilo.h
ics932s401.c
ioc4.c
isl29003.c
isl29020.c
Kconfig Merge char-misc-next into staging-next 2016-02-22 14:46:24 -08:00
kgdbts.c
lattice-ecp3-config.c
lkdtm_bugs.c lkdtm: silence warnings about function declarations 2016-07-15 16:14:45 -07:00
lkdtm_core.c lkdtm: silence warnings about function declarations 2016-07-15 16:14:45 -07:00
lkdtm_heap.c lkdtm: silence warnings about function declarations 2016-07-15 16:14:45 -07:00
lkdtm_perms.c lkdtm: silence warnings about function declarations 2016-07-15 16:14:45 -07:00
lkdtm_rodata.c lkdtm: silence warnings about function declarations 2016-07-15 16:14:45 -07:00
lkdtm_usercopy.c lkdtm: fix false positive warning from -Wmaybe-uninitialized 2016-08-01 14:27:23 -07:00
lkdtm.h lkdtm: silence warnings about function declarations 2016-07-15 16:14:45 -07:00
Makefile lkdtm: Fix targets for objcopy usage 2016-08-01 14:27:24 -07:00
panel.c
pch_phub.c pch_phub: return -ENODATA if ROM can't be mapped 2016-03-05 12:19:39 -08:00
phantom.c
pti.c
qcom-coincell.c ARM: qcom: silence an uninitialized variable warning 2016-05-01 14:20:04 -07:00
spear13xx_pcie_gadget.c
sram.c misc: sram: fix check of devm_ioremap*() return value 2016-04-30 14:15:56 -07:00
ti_dac7512.c
tifm_7xx1.c
tifm_core.c
tsl2550.c
vexpress-syscfg.c
vmw_balloon.c