mirror-linux/drivers/acpi
Lorenzo Pieralisi 1ca8677d9f ACPI: PCI: IRQ: Fix INTx GSIs signedness
In ACPI Global System Interrupts (GSIs) are described using a 32-bit
value.

ACPI/PCI legacy interrupts (INTx) parsing code treats GSIs as 'int',
which poses issues if the GSI interrupt value is a 32-bit value with the
MSB set (as required in some interrupt configurations - eg ARM64 GICv5
systems) because acpi_pci_link_allocate_irq() treats a negative gsi
return value as a failed GSI allocation (and acpi_irq_get_penalty()
would trigger an out-of-bounds array dereference if the 'irq' param is
a negative value).

Fix ACPI/PCI legacy INTx parsing by converting variables representing
GSIs from 'int' to 'u32' bringing the code in line with the ACPI
specification and fixing the current parsing issue.

Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Reviewed-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20260105101705.36703-1-lpieralisi@kernel.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-01-05 19:06:40 +01:00
..
acpica ACPICA: Avoid walking the Namespace if start_node is NULL 2025-11-25 22:14:11 +01:00
apei Significant patch series in this pull request: 2025-12-06 14:01:20 -08:00
arm64 arm64 updates for 6.19: 2025-12-02 17:03:55 -08:00
dptf Thermal control updates for 6.19-rc1 2025-12-02 17:49:12 -08:00
nfit ACPI: NFIT: Fix incorrect ndr_desc being reportedin dev_err message 2025-09-16 10:57:37 -05:00
numa cxl for v6.19 2025-12-04 17:55:18 -08:00
pmic
riscv ACPI: RIMT: Fix unused function warnings when CONFIG_IOMMU_API is disabled 2025-10-17 21:45:08 -06:00
x86 Merge branches 'acpi-misc' and 'pnp' 2025-11-28 15:08:38 +01:00
Kconfig RISC-V updates for the v6.18 merge window (part two) 2025-10-04 10:36:22 -07:00
Makefile ACPI: MRRM: Minimal parse of ACPI MRRM table 2025-05-12 15:43:16 +02:00
ac.c
acpi_adxl.c
acpi_apd.c
acpi_configfs.c
acpi_dbg.c ACPI: debug: fix signedness issues in read/write helpers 2025-09-23 15:45:28 +02:00
acpi_extlog.c x86/msr: Add explicit includes of <asm/msr.h> 2025-05-02 10:23:47 +02:00
acpi_ffh.c
acpi_fpdt.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpit.c x86/msr: Rename 'rdmsrl_safe()' to 'rdmsrq_safe()' 2025-04-10 11:58:38 +02:00
acpi_memhotplug.c
acpi_mrrm.c ACPI: MRRM: Fix memory leaks and improve error handling 2025-11-07 21:48:49 +01:00
acpi_pad.c ACPI: PAD: Update arguments of mwait_idle_with_hints() 2025-06-10 20:47:56 +02:00
acpi_pcc.c ACPI: PCC: Fix race condition by removing static qualifier 2025-12-15 13:00:33 +01:00
acpi_platform.c
acpi_pnp.c More ACPI updates for 6.15-rc1 2025-04-02 15:16:30 -07:00
acpi_processor.c ACPI: processor: idle: Add module import namespace 2025-09-02 16:08:53 +02:00
acpi_tad.c ACPI: TAD: Use PM_RUNTIME_ACQUIRE()/PM_RUNTIME_ACQUIRE_ERR() 2025-11-14 21:25:15 +01:00
acpi_video.c ACPI: video: Fix use-after-free in acpi_video_switch_brightness() 2025-10-23 20:36:55 +02:00
acpi_watchdog.c
battery.c ACPI: battery: Drop redundant locking 2025-10-27 20:19:52 +01:00
bgrt.c sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
bus.c ACPI: Fix typos 2025-07-22 17:12:41 +02:00
button.c ACPI: button: Call input_free_device() on failing input device registration 2025-10-22 21:19:23 +02:00
container.c
cppc_acpi.c ACPI: CPPC: Fix missing PCC check for guaranteed_perf 2025-12-15 12:56:46 +01:00
debugfs.c
device_pm.c ACPI updates for 6.17-rc1 2025-07-28 20:44:42 -07:00
device_sysfs.c ACPI: sysfs: Use ACPI_FREE() for freeing an ACPI object 2025-08-25 20:21:44 +02:00
dock.c
ec.c ACPI: EC: Add WQ_PERCPU to alloc_workqueue() users 2025-11-03 18:45:42 +01:00
ec_sys.c
event.c
evged.c
fan.h Thermal control updates for 6.19-rc1 2025-12-02 17:49:12 -08:00
fan_attr.c ACPI: fan: Use ACPI handle when retrieving _FST 2025-10-24 10:29:08 +02:00
fan_core.c ACPI: fan: Add support for Microsoft fan extensions 2025-10-27 20:56:01 +01:00
fan_hwmon.c ACPI: fan: Add hwmon notification support 2025-10-27 20:56:01 +01:00
glue.c
hed.c ACPI: HED: Always initialize before evged 2025-02-18 19:24:29 +01:00
internal.h ACPI: DPTF: Remove int340x thermal scan handler 2025-11-07 20:45:37 +01:00
ioapic.c
irq.c ACPI: irq: Add interrupt affinity reporting interface 2025-10-27 17:16:32 +01:00
mipi-disco-img.c ACPI: bus: change the prototype for acpi_get_physical_device_location 2024-12-19 20:59:35 +01:00
nhlt.c
nvs.c
osi.c ACPI: OSI: Stop advertising support for "3.0 _SCP Extensions" 2025-05-16 15:53:26 +02:00
osl.c ACPI: OSL: Add WQ_PERCPU to alloc_workqueue() users 2025-11-03 18:45:42 +01:00
pci_irq.c ACPI: PCI: IRQ: Fix INTx GSIs signedness 2026-01-05 19:06:40 +01:00
pci_link.c ACPI: PCI: IRQ: Fix INTx GSIs signedness 2026-01-05 19:06:40 +01:00
pci_mcfg.c
pci_root.c ACPI: PCI: Constify fwnode_handle in acpi_pci_root_remap_iospace() 2025-05-09 20:47:26 +02:00
pci_slot.c
pfr_telemetry.c
pfr_update.c ACPI: pfr_update: Fix the driver update version check 2025-08-20 15:30:36 +02:00
platform_profile.c acpi: platform_profile - Add max-power profile option 2025-11-28 12:03:22 +02:00
power.c ACPI: PM: Add HP EliteBook 855 G7 WWAN modem power resource quirk 2025-08-25 16:25:54 +02:00
pptt.c ACPI / PPTT: Add a helper to fill a cpumask from a cache_id 2025-11-19 18:34:14 +00:00
prmt.c ACPI: PRM: Add acpi_prm_handler_available() 2025-10-27 15:45:22 +01:00
proc.c ACPI: proc: Prefer to use octal permission 2025-06-26 21:08:13 +02:00
processor_core.c ACPI: processor_core: fix map_x2apic_id for amd-pstate on am4 2025-11-26 18:06:25 +01:00
processor_driver.c Revert "ACPI: processor: Update cpuidle driver check in __acpi_processor_start()" 2025-11-27 20:52:55 +01:00
processor_idle.c Merge back ACPI processor driver changes for 6.19 2025-11-26 13:56:30 +01:00
processor_pdc.c
processor_perflib.c ACPI: processor: perflib: Move problematic pr->performance check 2025-08-12 15:33:58 +02:00
processor_thermal.c ACPI: processor: thermal: Release policy references using __free() 2025-09-08 19:53:32 +02:00
processor_throttling.c ACPI: processor: throttling: Remove space before newline 2025-07-21 16:45:40 +02:00
property.c ACPI: property: use min() instead of min_t() 2025-11-24 20:45:38 +01:00
reboot.c
resource.c Merge branches 'acpi-apei', 'acpi-misc' and 'pnp' 2025-09-29 15:28:51 +02:00
sbs.c ACPI: SBS: Fix present test in acpi_battery_read() 2025-11-03 17:29:52 +01:00
sbshc.c
sbshc.h
scan.c Thermal control updates for 6.19-rc1 2025-12-02 17:49:12 -08:00
sleep.c soc: driver updates for 6.19 2025-12-05 17:29:04 -08:00
sleep.h ACPI: PM: s2idle: Staticise LPS0 callback functions 2025-10-20 20:39:33 +02:00
spcr.c ACPI: SPCR: Check for table version when using precise baudrate 2025-10-27 20:43:41 +01:00
sysfs.c sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
tables.c ACPI / MPAM: Parse the MPAM table 2025-11-19 18:34:20 +00:00
thermal.c ACPI: thermal: Add WQ_PERCPU to alloc_workqueue() users 2025-11-03 18:45:42 +01:00
thermal_lib.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
tiny-power-button.c
utils.c ACPI: bus: change the prototype for acpi_get_physical_device_location 2024-12-19 20:59:35 +01:00
video_detect.c ACPI: video: force native for Lenovo 82K8 2025-08-25 20:00:17 +02:00
viot.c ACPI: VIOT: Remove (explicitly) unused header 2025-05-12 15:43:16 +02:00
wakeup.c ACPI: wakeup: Drop unneeded casting for sleep_state 2025-06-26 21:08:13 +02:00