linux_dsm_epyc7002/drivers/net/ethernet/freescale/dpaa2
Ioana Ciornei daa6eb5a14 dpaa2-ptp: fix double free of the ptp_qoriq IRQ
Upon reusing the ptp_qoriq driver, the ptp_qoriq_free() function was
used on the remove path to free any allocated resources.
The ptp_qoriq IRQ is among these resources that are freed in
ptp_qoriq_free() even though it is also a managed one (allocated using
devm_request_threaded_irq).

Drop the resource managed version of requesting the IRQ in order to not
trigger a double free of the interrupt as below:

[  226.731005] Trying to free already-free IRQ 126
[  226.735533] WARNING: CPU: 6 PID: 749 at kernel/irq/manage.c:1707
__free_irq+0x9c/0x2b8
[  226.743435] Modules linked in:
[  226.746480] CPU: 6 PID: 749 Comm: bash Tainted: G        W
5.4.0-03629-gfd7102c32b2c-dirty #912
[  226.755857] Hardware name: NXP Layerscape LX2160ARDB (DT)
[  226.761244] pstate: 40000085 (nZcv daIf -PAN -UAO)
[  226.766022] pc : __free_irq+0x9c/0x2b8
[  226.769758] lr : __free_irq+0x9c/0x2b8
[  226.773493] sp : ffff8000125039f0
(...)
[  226.856275] Call trace:
[  226.858710]  __free_irq+0x9c/0x2b8
[  226.862098]  free_irq+0x30/0x70
[  226.865229]  devm_irq_release+0x14/0x20
[  226.869054]  release_nodes+0x1b0/0x220
[  226.872790]  devres_release_all+0x34/0x50
[  226.876790]  device_release_driver_internal+0x100/0x1c0

Fixes: d346c9e86d ("dpaa2-ptp: reuse ptp_qoriq driver")
Cc: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Reviewed-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-12-17 14:10:20 -08:00
..
dpaa2-eth-debugfs.c dpaa2: no need to check return value of debugfs_create functions 2019-08-10 15:25:48 -07:00
dpaa2-eth-debugfs.h dpaa2: no need to check return value of debugfs_create functions 2019-08-10 15:25:48 -07:00
dpaa2-eth-trace.h
dpaa2-eth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2019-11-20 18:11:23 -08:00
dpaa2-eth.h dpaa2-eth: add MAC/PHY support through phylink 2019-10-31 14:19:45 -07:00
dpaa2-ethtool.c dpaa2-eth: add ethtool MAC counters 2019-11-07 15:31:53 -08:00
dpaa2-mac.c dpaa2-eth: add ethtool MAC counters 2019-11-07 15:31:53 -08:00
dpaa2-mac.h dpaa2-eth: add ethtool MAC counters 2019-11-07 15:31:53 -08:00
dpaa2-ptp.c dpaa2-ptp: fix double free of the ptp_qoriq IRQ 2019-12-17 14:10:20 -08:00
dpaa2-ptp.h net: dpaa2: Use the correct style for SPDX License Identifier 2019-10-28 13:40:17 -07:00
dpkg.h
dpmac-cmd.h dpaa2-eth: add ethtool MAC counters 2019-11-07 15:31:53 -08:00
dpmac.c dpaa2-eth: add ethtool MAC counters 2019-11-07 15:31:53 -08:00
dpmac.h dpaa2-eth: add ethtool MAC counters 2019-11-07 15:31:53 -08:00
dpni-cmd.h dpaa2-eth: Add pause frame support 2019-08-29 16:52:12 -07:00
dpni.c dpaa2-eth: Add new DPNI statistics counters 2019-09-05 00:24:06 +02:00
dpni.h dpaa2-eth: add irq for the dpmac connect/disconnect event 2019-10-17 15:27:29 -04:00
dprtc-cmd.h net: dpaa2: Use the correct style for SPDX License Identifier 2019-10-28 13:40:17 -07:00
dprtc.c dpaa2-ptp: add interrupt support 2019-06-15 13:43:06 -07:00
dprtc.h net: dpaa2: Use the correct style for SPDX License Identifier 2019-10-28 13:40:17 -07:00
Kconfig dpaa2-ptp: fix compile error 2019-11-06 21:50:06 -08:00
Makefile dpaa2-eth: add MAC/PHY support through phylink 2019-10-31 14:19:45 -07:00