linux_dsm_epyc7002/drivers/acpi
Marc Zyngier e0f2d86481 ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure
commit 1ecd5b129252249b9bc03d7645a7bda512747277 upstream.

When failing the driver probe because of invalid firmware properties,
the GTDT driver unmaps the interrupt that it mapped earlier.

However, it never checks whether the mapping of the interrupt actially
succeeded. Even more, should the firmware report an illegal interrupt
number that overlaps with the GIC SGI range, this can result in an
IPI being unmapped, and subsequent fireworks (as reported by Dann
Frazier).

Rework the driver to have a slightly saner behaviour and actually
check whether the interrupt has been mapped before unmapping things.

Reported-by: dann frazier <dann.frazier@canonical.com>
Fixes: ca9ae5ec4e ("acpi/arm64: Add SBSA Generic Watchdog support in GTDT driver")
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/YH87dtTfwYgavusz@xps13.dannf
Cc: <stable@vger.kernel.org>
Cc: Fu Wei <wefu@redhat.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Tested-by: dann frazier <dann.frazier@canonical.com>
Tested-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: Hanjun Guo <guohanjun@huawei.com>
Reviewed-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Link: https://lore.kernel.org/r/20210421164317.1718831-2-maz@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-05-11 14:47:34 +02:00
..
acpica ACPICA: Always create namespace nodes using acpi_ns_create_node() 2021-03-30 14:31:54 +02:00
apei ACPI, APEI, Fix error return value in apei_map_generic_address() 2020-11-16 19:27:37 +01:00
arm64 ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure 2021-05-11 14:47:34 +02:00
dptf ACPI: DPTF: Support Alder Lake 2020-11-10 18:52:51 +01:00
nfit ACPI: NFIT: Fix input validation of bus-family 2020-12-30 11:54:05 +01:00
numa
pmic
x86
ac.c
acpi_adxl.c
acpi_amba.c
acpi_apd.c
acpi_cmos_rtc.c
acpi_configfs.c ACPI: configfs: add missing check after configfs_register_default_group() 2021-03-04 11:38:22 +01:00
acpi_dbg.c ACPI: debug: don't allow debugging when ACPI is disabled 2020-10-16 17:58:52 +02:00
acpi_extlog.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpit.c
acpi_lpss.c drm next for 5.10-rc1 2020-10-15 10:46:16 -07:00
acpi_memhotplug.c mm/memory_hotplug: prepare passing flags to add_memory() and friends 2020-10-16 11:11:18 -07:00
acpi_pad.c
acpi_platform.c
acpi_pnp.c ACPI: PNP: compare the string length in the matching_id() 2020-12-30 11:54:06 +01:00
acpi_processor.c ACPI: processor: remove comment regarding string _UID support 2020-10-16 18:11:27 +02:00
acpi_tad.c
acpi_video.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
acpi_watchdog.c
battery.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
bgrt.c
blacklist.c
bus.c USB/PHY/Thunderbolt driver patches for 5.10-rc1 2020-10-15 09:51:18 -07:00
button.c ACPI: button: Add DMI quirk for Medion Akoya E2228T 2020-11-09 19:29:41 +01:00
container.c
cppc_acpi.c
custom_method.c ACPI: custom_method: fix a possible memory leak 2021-05-11 14:47:12 +02:00
debugfs.c
device_pm.c PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup() 2020-12-30 11:54:05 +01:00
device_sysfs.c ACPI: sysfs: Prefer "compatible" modalias 2021-02-03 23:28:37 +01:00
dock.c ACPI: dock: fix enum-conversion warning 2020-10-27 19:30:27 +01:00
ec_sys.c
ec.c
event.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
evged.c ACPI: GED: fix -Wformat 2020-11-09 19:25:20 +01:00
fan.c ACPI: fan: Initialize performance state sysfs attribute 2020-11-16 15:18:38 +01:00
glue.c
hed.c
internal.h ACPI: scan: Use unique number for instance_no 2021-03-30 14:32:06 +02:00
ioapic.c
irq.c
Kconfig
Makefile
nvs.c
osi.c
osl.c
pci_irq.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
pci_link.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
pci_mcfg.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
pci_root.c
pci_slot.c
power.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
pptt.c
proc.c
processor_core.c
processor_driver.c
processor_idle.c ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m 2021-04-14 08:41:58 +02:00
processor_pdc.c
processor_perflib.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
processor_thermal.c
processor_throttling.c
property.c ACPI: property: Fix fwnode string properties matching 2021-03-04 11:38:22 +01:00
reboot.c ACPI: reboot: Avoid racing after writing to ACPI RESET_REG 2020-10-16 18:04:52 +02:00
resource.c Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks" 2020-12-30 11:54:06 +01:00
sbs.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
sbshc.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
sbshc.h ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00
scan.c ACPI: scan: Use unique number for instance_no 2021-03-30 14:32:06 +02:00
sleep.c
sleep.h
spcr.c
sysfs.c
tables.c ACPI: tables: x86: Reserve memory occupied by ACPI tables 2021-04-07 15:00:08 +02:00
thermal.c ACPI: thermal: Do not call acpi_thermal_check() directly 2021-02-03 23:28:37 +01:00
tiny-power-button.c
utils.c ACPI: utils: remove unreachable breaks 2020-10-22 18:58:26 +02:00
video_detect.c ACPI: video: Add missing callback back for Sony VPCEH3U1E 2021-03-30 14:31:54 +02:00
wakeup.c ACPI: Fix whitespace inconsistencies 2020-11-09 19:08:06 +01:00