[PW_SID:1129939] irqchip/riscv-aplic: Validate translated source IDs#2310
[PW_SID:1129939] irqchip/riscv-aplic: Validate translated source IDs#2310linux-riscv-bot wants to merge 2 commits into
Conversation
APLIC source IDs are in the range 1..riscv,num-sources. Device Tree interrupt specifiers contain a source ID directly, while ACPI specifiers contain a GSI that must first be translated by subtracting gsi_base. The shared helper currently checks only whether the raw specifier is zero. An ACPI GSI equal to gsi_base therefore becomes source ID zero, a GSI below gsi_base underflows, and either firmware interface can provide a source ID above the configured count. These values later reach d->hwirq - 1 register and saved-state indexing. Pass the configured source count to the shared helper and validate the translated ID before returning it. This covers both direct and MSI modes. Fixes: 2333df5 ("irqchip: Add RISC-V advanced PLIC driver for direct-mode") Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
|
Patch 1: "irqchip/riscv-aplic: Validate translated source IDs" |
8ca72ef to
60e0882
Compare
PR for series 1129939 applied to workflow__riscv__fixes
Name: irqchip/riscv-aplic: Validate translated source IDs
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1129939
Version: 1