WSL2-Linux-Kernel/drivers/mfd
Jon Derrick ec0160891e irqdomain/treewide: Free firmware node after domain removal
Commit 711419e504 ("irqdomain: Add the missing assignment of
domain->fwnode for named fwnode") unintentionally caused a dangling pointer
page fault issue on firmware nodes that were freed after IRQ domain
allocation. Commit e3beca48a4 fixed that dangling pointer issue by only
freeing the firmware node after an IRQ domain allocation failure. That fix
no longer frees the firmware node immediately, but leaves the firmware node
allocated after the domain is removed.

The firmware node must be kept around through irq_domain_remove, but should be
freed it afterwards.

Add the missing free operations after domain removal where where appropriate.

Fixes: e3beca48a4 ("irqdomain/treewide: Keep firmware node unconditionally allocated")
Signed-off-by: Jon Derrick <jonathan.derrick@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>	# drivers/pci
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/1595363169-7157-1-git-send-email-jonathan.derrick@intel.com
2020-07-23 00:08:52 +02:00
..
88pm80x.c
88pm800.c
88pm805.c
88pm860x-core.c
88pm860x-i2c.c
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile mfd: Add support for PMIC MT6360 2020-05-27 07:46:18 +01:00
aat2870-core.c mfd: aat2870: Use scnprintf() for avoiding potential buffer overflow 2020-03-30 07:35:28 +01:00
ab3100-core.c
ab3100-otp.c
ab8500-core.c mfd: ab8500: Fix ab8500-clk typo 2020-01-24 07:33:57 +00:00
ab8500-debugfs.c mfd: Switch the AB8500 GPADC to IIO 2019-10-18 19:37:45 +01:00
ab8500-sysctrl.c
abx500-core.c
ac100.c
act8945a.c
adp5520.c
altera-a10sr.c
altera-sysmgr.c
arizona-core.c mfd: arizona: Switch to using devm_gpiod_get() 2019-11-11 08:45:02 +00:00
arizona-i2c.c
arizona-irq.c
arizona-spi.c
arizona.h
as3711.c
as3722.c
asic3.c
at91-usart.c
atmel-flexcom.c
atmel-hlcdc.c mfd: atmel-hlcdc: Return in case of error 2020-01-07 10:08:58 +00:00
atmel-smc.c
axp20x-i2c.c
axp20x-rsb.c
axp20x.c mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile 2020-01-24 07:33:57 +00:00
bcm590xx.c
bcm2835-pm.c
bd9571mwv.c
cros_ec_dev.c mfd: cros_ec: Check DT node for usbpd-notify add 2020-03-30 07:34:56 +01:00
cs47l15-tables.c mfd: cs47l15: Add missing register default 2020-01-24 07:33:58 +00:00
cs47l24-tables.c
cs47l35-tables.c
cs47l85-tables.c
cs47l90-tables.c
cs47l92-tables.c
cs5535-mfd.c mfd: cs5535-mfd: Register clients using their own dedicated MFD cell entries 2019-11-11 08:45:03 +00:00
da903x.c
da9052-core.c
da9052-i2c.c
da9052-irq.c
da9052-spi.c
da9055-core.c
da9055-i2c.c
da9062-core.c mfd: da9062: Add support for interrupt polarity defined in device tree 2020-03-30 07:35:28 +01:00
da9063-core.c
da9063-i2c.c
da9063-irq.c
da9150-core.c
davinci_voicecodec.c
db8500-prcmu.c mfd: dbx500-prcmu: Drop DSI pll clock functions 2020-01-24 07:33:58 +00:00
dbx500-prcmu-regs.h
dln2.c mfd: dln2: Allow to be enumerated via ACPI 2020-03-30 07:35:28 +01:00
dm355evm_msp.c
exynos-lpass.c
ezx-pcap.c
fsl-imx25-tsadc.c
gateworks-gsc.c mfd: Add Gateworks System Controller core driver 2020-05-20 10:28:57 +01:00
hi655x-pmic.c
hi6421-pmic-core.c
htc-i2cpld.c mfd: htc-i2cpld: Convert to use i2c_new_client_device() 2020-05-26 10:51:19 +01:00
htc-pasic3.c
intel-lpss-acpi.c
intel-lpss-pci.c mfd: intel-lpss: Update LPSS UART #2 PCI ID for Jasper Lake 2020-05-26 10:51:20 +01:00
intel-lpss.c mfd: intel-lpss: Use devm_ioremap_uc for MMIO 2019-11-11 08:40:21 +00:00
intel-lpss.h
intel_msic.c
intel_pmc_bxt.c platform/x86: intel_pmc_ipc: Convert to MFD 2020-04-24 11:18:44 +01:00
intel_quark_i2c_gpio.c gpio: dwapb: Remove unneeded has_irq member in struct dwapb_port_property 2020-05-25 11:05:09 +02:00
intel_soc_pmic_bxtwc.c mfd: intel_soc_pmic_bxtwc: Convert to use new SCU IPC API 2020-04-24 11:17:58 +01:00
intel_soc_pmic_chtdc_ti.c
intel_soc_pmic_chtwc.c
intel_soc_pmic_core.c drm/i915/dsi: Move Crystal Cove PMIC panel GPIO lookup from mfd to the i915 driver 2020-01-03 11:47:00 +01:00
intel_soc_pmic_core.h
intel_soc_pmic_crc.c - Core Frameworks 2019-12-01 16:16:31 -08:00
intel_soc_pmic_mrfld.c mfd: intel_soc_pmic_mrfld: Convert to use new SCU IPC API 2020-04-24 11:18:03 +01:00
ioc3.c irqdomain/treewide: Free firmware node after domain removal 2020-07-23 00:08:52 +02:00
ipaq-micro.c mfd: ipaq-micro: Use devm_platform_ioremap_resource() in micro_probe() 2019-11-11 08:45:01 +00:00
iqs62x.c mfd: Add support for Azoteq IQS620A/621/622/624/625 2020-03-27 08:25:37 +00:00
janz-cmodio.c
kempld-core.c
lm3533-core.c
lm3533-ctrlbank.c
lochnagar-i2c.c
lp873x.c
lp3943.c
lp8788-irq.c
lp8788.c
lp87565.c
lpc_ich.c
lpc_sch.c
madera-core.c mfd: madera: Allow more time for hardware reset 2020-01-24 07:33:58 +00:00
madera-i2c.c
madera-spi.c
madera.h
max8907.c
max8925-core.c
max8925-i2c.c
max8997-irq.c
max8997.c
max8998-irq.c
max8998.c
max14577.c
max77620.c mfd: max77620: Use single-byte writes on MAX77620 2020-05-26 10:51:21 +01:00
max77650.c
max77686.c
max77693.c
max77843.c
mc13xxx-core.c
mc13xxx-i2c.c
mc13xxx-spi.c
mc13xxx.h
mcp-core.c
mcp-sa11x0.c
menelaus.c
menf21bmc.c
mfd-core.c mfd: mfd-core: Honour Device Tree's request to disable a child-device 2019-11-11 11:23:57 +00:00
motorola-cpcap.c
mp2629.c mfd: mp2629: Add support for mps battery charger 2020-05-26 10:41:40 +01:00
mt6358-irq.c mfd: Add support for the MediaTek MT6358 PMIC 2020-05-21 08:55:29 +01:00
mt6360-core.c mfd: mt6360: Fix register driver NULL pointer by adding driver name 2020-06-16 09:32:43 +01:00
mt6397-core.c mfd: Add support for the MediaTek MT6358 PMIC 2020-05-21 08:55:29 +01:00
mt6397-irq.c mfd: mt6397: Modify suspend/resume behavior 2020-05-21 08:54:40 +01:00
mxs-lradc.c
omap-usb-host.c mfd: omap: Remove useless cast for driver.name 2020-03-30 07:35:27 +01:00
omap-usb-tll.c mfd: omap: Remove useless cast for driver.name 2020-03-30 07:35:27 +01:00
omap-usb.h
palmas.c
pcf50633-adc.c
pcf50633-core.c
pcf50633-gpio.c
pcf50633-irq.c
qcom-pm8xxx.c mfd: pm8xxx: Replace zero-length array with flexible-array member 2020-03-30 07:34:57 +01:00
qcom-spmi-pmic.c mfd: qcom-spmi-pmic: Add support for PM/PMI8950 2019-11-11 08:45:02 +00:00
qcom_rpm.c
rave-sp.c
rc5t583-irq.c
rc5t583.c
rdc321x-southbridge.c
retu-mfd.c
rk808.c mfd: rk808: Convert RK805 to shutdown/suspend hooks 2020-03-30 07:35:28 +01:00
rn5t618.c mfd: rn5t618: Cleanup i2c_device_id 2020-03-27 09:42:44 +00:00
rohm-bd718x7.c mfd: bd718x7: Add compatible for BD71850 2020-01-24 07:22:31 +00:00
rohm-bd70528.c mfd: Rohm PMICs: Use platform_device_id to match MFD sub-devices 2020-01-24 07:21:48 +00:00
rohm-bd71828.c mfd: bd71828: Add power-key support 2020-01-24 07:22:43 +00:00
rt5033.c
sec-core.c
sec-irq.c
si476x-cmd.c
si476x-i2c.c
si476x-prop.c
sky81452.c
sm501.c mfd: sm501: Use GPIO_LOOKUP_IDX() helper macro 2020-05-18 10:12:41 +02:00
smsc-ece1099.c
sprd-sc27xx-spi.c mfd: sprd: Remove unnecessary spi_bus_type setting 2020-05-26 10:51:20 +01:00
ssbi.c
sta2x11-mfd.c
stm32-lptimer.c
stm32-timers.c mfd: stm32-timers: Use dma_request_chan() instead dma_request_slave_channel() 2020-05-26 10:51:20 +01:00
stmfx.c mfd: stmfx: Disable IRQ in suspend to avoid spurious interrupt 2020-05-26 10:51:21 +01:00
stmpe-i2c.c
stmpe-spi.c
stmpe.c
stmpe.h
stpmic1.c mfd: stpmic1: Make stpmic1_regmap_config static 2020-05-26 10:51:20 +01:00
stw481x.c
sun4i-gpadc.c
sun6i-prcm.c
syscon.c mfd: syscon: Add arguments support for syscon reference 2020-01-24 07:33:59 +00:00
t7l66xb.c
tc3589x.c
tc6387xb.c
tc6393xb.c
ti-lmu.c
ti_am335x_tscadc.c mfd: ti_am335x_tscadc: Fix static checker warning 2019-11-11 11:26:26 +00:00
timberdale.c
timberdale.h
tmio_core.c
tps6105x.c tps6105x: add optional devicetree support 2019-11-20 17:10:36 +00:00
tps6507x.c
tps6586x.c
tps65010.c
tps65086.c
tps65090.c
tps65217.c
tps65218.c
tps65910.c
tps65911-comparator.c
tps65912-core.c
tps65912-i2c.c
tps65912-spi.c
tps68470.c
tps80031.c
tqmx86.c mfd: tqmx86: Fix a typo in MODULE_DESCRIPTION 2020-05-26 10:51:20 +01:00
twl-core.c
twl-core.h
twl4030-audio.c
twl4030-irq.c
twl4030-power.c
twl6030-irq.c
twl6040.c
ucb1x00-assabet.c
ucb1x00-core.c
ucb1x00-ts.c
ucb1400_core.c
vexpress-sysreg.c vexpress: Move setting master site to vexpress-config bus 2020-05-13 12:42:46 -05:00
viperboard.c
vx855.c
wcd934x.c mfd: wcd934x: Drop kfree for memory allocated with devm_kzalloc 2020-05-26 10:51:21 +01:00
wl1273-core.c
wm97xx-core.c
wm831x-auxadc.c
wm831x-core.c
wm831x-i2c.c
wm831x-irq.c
wm831x-otp.c
wm831x-spi.c
wm5102-tables.c
wm5110-tables.c
wm8350-core.c
wm8350-gpio.c
wm8350-i2c.c
wm8350-irq.c
wm8350-regmap.c
wm8400-core.c
wm8994-core.c mfd: wm8994: Silence warning about supplies during deferred probe 2020-05-26 10:51:20 +01:00
wm8994-irq.c
wm8994-regmap.c
wm8994.h
wm8997-tables.c
wm8998-tables.c mfd: wm8998: Remove some unused registers 2019-11-11 08:45:02 +00:00