ACPI: irq: Prevent unregistering of GIC SGIs
authorMarc Zyngier <maz@kernel.org>
Wed, 21 Apr 2021 16:43:17 +0000 (17:43 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 23 Apr 2021 17:00:52 +0000 (18:00 +0100)
commit2a20b08f06e70860272bc7f52b5423c1b2f06696
treeadebb207e23eedcd54d635b623dd572e3ddc7203
parent1ecd5b129252249b9bc03d7645a7bda512747277
ACPI: irq: Prevent unregistering of GIC SGIs

When using ACPI on arm64, which implies the GIC IRQ model, no
table should ever provide a GSI number in the range [0:15],
as these are reserved for IPIs.

However, drivers tend to call acpi_unregister_gsi() with any
random GSI number provided by half baked tables, which results
in an exploding kernel when its IPIs have been unconfigured.

In order to catch this, check for the silly case early, warn
that something is going wrong and avoid the above disaster.

Signed-off-by: Marc Zyngier <maz@kernel.org>
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-3-maz@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
drivers/acpi/irq.c