Suzuki K Poulose
3318dc299b
irqchip/gic-v2m: Prevent use after free of gicv2m_get_fwnode()
...
With ACPI in place, gicv2m_get_fwnode() is registered with the pci
subsystem as pci_msi_get_fwnode_cb(), which may get invoked at runtime
during a PCI host bridge probe. But, the call back is wrongly marked as
__init, causing it to be freed, while being registered with the PCI
subsystem and could trigger:
Unable to handle kernel paging request at virtual address ffff8000816c0400
gicv2m_get_fwnode+0x0/0x58 (P)
pci_set_bus_msi_domain+0x74/0x88
pci_register_host_bridge+0x194/0x548
This is easily reproducible on a Juno board with ACPI boot.
Retain the function for later use.
Fixes: 0644b3daca ("irqchip/gic-v2m: acpi: Introducing GICv2m ACPI support")
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Signed-off-by: Ingo Molnar <mingo@kernel.org >
Reviewed-by: Marc Zyngier <maz@kernel.org >
Cc: stable@vger.kernel.org
2025-04-26 10:17:24 +02:00
..
2025-04-11 12:07:44 +02:00
2025-04-05 10:30:12 +02:00
2025-04-20 15:30:53 -07:00
2025-03-11 14:05:43 +01:00
2025-04-16 17:33:17 +09:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-18 09:21:14 -07:00
2025-04-16 16:50:47 -04:00
2025-04-05 10:30:12 +02:00
2025-03-20 09:11:09 +01:00
2025-04-05 10:30:12 +02:00
2025-04-03 12:21:44 -07:00
2025-04-04 09:49:17 -07:00
2025-04-05 10:30:12 +02:00
2025-04-02 18:03:34 -07:00
2025-04-17 17:55:09 +02:00
2025-03-25 20:40:51 -07:00
2025-04-09 21:28:31 +08:00
2025-04-02 20:04:43 -07:00
2025-03-17 22:06:41 -07:00
2025-04-05 10:30:12 +02:00
2025-04-11 14:22:22 +02:00
2025-03-20 21:38:01 +01:00
2025-03-25 14:00:26 -07:00
2025-04-05 10:30:12 +02:00
2025-04-17 10:14:51 -07:00
2025-04-11 17:32:38 -07:00
2025-04-11 20:47:45 -03:00
2025-04-14 20:31:00 +02:00
2025-04-19 15:09:29 +10:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-01 09:29:18 -07:00
2025-04-05 10:30:12 +02:00
2025-03-21 17:12:04 -05:00
2025-04-01 11:26:08 -07:00
2025-04-18 23:42:56 +02:00
2025-03-31 11:44:00 +02:00
2025-03-25 15:00:18 -07:00
2025-04-20 11:57:54 -07:00
2025-04-10 14:47:55 -03:00
2025-04-20 11:57:54 -07:00
2025-04-11 12:44:27 +02:00
2025-04-26 10:17:24 +02:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-20 11:57:54 -07:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-03-26 19:57:34 -07:00
2025-03-29 14:33:13 -07:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-07 09:02:49 +02:00
2025-04-20 11:57:54 -07:00
2025-04-05 10:30:12 +02:00
2025-04-04 14:23:07 -07:00
2025-04-02 20:27:18 -07:00
2025-04-18 09:21:14 -07:00
2025-03-19 19:17:58 +01:00
2025-03-29 11:23:16 -07:00
2025-04-05 10:30:12 +02:00
2025-04-18 13:28:41 -07:00
2025-04-05 10:30:12 +02:00
2025-03-28 19:36:53 -07:00
2025-04-01 12:47:11 -07:00
2025-03-29 16:59:16 -07:00
2025-04-16 11:15:22 +03:00
2025-03-17 11:12:01 +01:00
2025-04-02 18:09:17 -07:00
2025-04-20 11:57:54 -07:00
2025-03-25 15:00:18 -07:00
2025-04-05 10:30:17 +02:00
2025-04-16 18:23:57 -07:00
2025-04-12 08:11:19 -07:00
2025-04-08 19:30:58 +02:00
2025-04-02 10:30:10 -07:00
2025-03-22 08:42:39 -05:00
2025-03-29 17:18:50 -07:00
2025-04-05 10:30:12 +02:00
2025-04-09 12:12:41 +02:00
2025-04-08 22:04:31 -04:00
2025-03-11 10:41:18 +01:00
2025-04-04 09:06:32 -07:00
2025-04-01 12:43:13 -07:00
2025-04-17 12:25:12 +01:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-15 18:57:25 +02:00
2025-04-02 18:23:31 -07:00
2025-04-05 10:30:12 +02:00
2025-04-08 22:04:31 -04:00
2025-04-05 10:30:12 +02:00
2025-04-14 08:31:45 -06:00
2025-04-01 18:52:54 -07:00
2025-04-05 10:30:12 +02:00
2025-04-05 10:30:12 +02:00
2025-04-01 18:52:54 -07:00
2025-04-05 10:30:12 +02:00
2025-04-07 11:24:12 +02:00