linux-yocto/drivers/acpi
Rafael J. Wysocki 18ff4ed6a3 ACPICA: Refuse to evaluate a method if arguments are missing
[ Upstream commit 6fcab27915 ]

As reported in [1], a platform firmware update that increased the number
of method parameters and forgot to update a least one of its callers,
caused ACPICA to crash due to use-after-free.

Since this a result of a clear AML issue that arguably cannot be fixed
up by the interpreter (it cannot produce missing data out of thin air),
address it by making ACPICA refuse to evaluate a method if the caller
attempts to pass fewer arguments than expected to it.

Closes: https://github.com/acpica/acpica/issues/1027 [1]
Reported-by: Peter Williams <peter@newton.cx>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Tested-by: Hans de Goede <hansg@kernel.org> # Dell XPS 9640 with BIOS 1.12.0
Link: https://patch.msgid.link/5909446.DvuYhMxLoT@rjwysocki.net
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-07-10 16:05:08 +02:00
..
acpica ACPICA: Refuse to evaluate a method if arguments are missing 2025-07-10 16:05:08 +02:00
apei firmware: SDEI: Allow sdei initialization without ACPI_APEI_GHES 2025-06-19 15:31:38 +02:00
arm64 ACPI/IORT: Add PMCG platform information for HiSilicon HIP09A 2025-01-02 10:34:20 +01:00
dptf
nfit acpi: nfit: fix narrowing conversion in acpi_nfit_ctl 2025-04-10 14:39:38 +02:00
numa mm: introduce numa_memblks 2024-09-03 21:15:30 -07:00
pmic ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe() 2024-08-02 17:05:08 +02:00
riscv ACPI: RISC-V: Implement function to add implicit dependencies 2024-08-27 15:48:35 +02:00
x86 ACPI: x86: Extend Lenovo Yoga Tab 3 quirk with skip GPIO event-handlers 2025-04-10 14:39:37 +02:00
ac.c ACPI: AC: Use strscpy() instead of strcpy() 2024-08-26 19:11:58 +02:00
acpi_adxl.c
acpi_apd.c ACPI: APD: Add AMDI0015 as platform device 2024-08-20 16:34:47 +02:00
acpi_configfs.c
acpi_dbg.c
acpi_extlog.c
acpi_ffh.c
acpi_fpdt.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpit.c
acpi_memhotplug.c
acpi_pad.c Merge branches 'acpi-video', 'acpi-resource', 'acpi-pad' and 'acpi-misc' 2024-09-11 22:05:16 +02:00
acpi_pcc.c
acpi_platform.c
acpi_pnp.c ACPI: PNP: Add Intel OC Watchdog IDs to non-PNP device list 2025-05-29 11:02:04 +02:00
acpi_processor.c Merge branches 'acpi-video', 'acpi-resource', 'acpi-pad' and 'acpi-misc' 2024-09-11 22:05:16 +02:00
acpi_tad.c ACPI: add missing MODULE_DESCRIPTION() macros 2024-06-13 21:06:30 +02:00
acpi_video.c ACPI: video: Use strscpy() instead of strcpy() 2024-07-04 14:21:37 +02:00
acpi_watchdog.c
battery.c ACPI: battery: negate current when discharging 2025-06-27 11:11:28 +01:00
bgrt.c
bus.c ACPI: bus: Bail out if acpi_kobj registration fails 2025-06-27 11:11:27 +01:00
button.c ACPI: button: Add DMI quirk for Samsung Galaxy Book2 to fix initial lid detection issue 2024-10-21 14:00:59 +02:00
container.c
cppc_acpi.c ACPI: CPPC: Fix NULL pointer dereference when nosmp is used 2025-06-19 15:32:29 +02:00
debugfs.c
device_pm.c
device_sysfs.c ACPI: sysfs: remove return value of acpi_device_setup_files() 2024-08-02 16:44:22 +02:00
dock.c
ec_sys.c
ec.c ACPI: EC: Set ec_no_wakeup for Lenovo Go S 2025-05-02 07:59:22 +02:00
event.c
evged.c
fan_attr.c
fan_core.c ACPI: fan: cleanup resources in the error path of .probe() 2025-02-08 09:57:05 +01:00
fan_hwmon.c ACPI: fan: Add hwmon support 2024-05-28 11:53:35 +02:00
fan.h ACPI: fan: Add hwmon support 2024-05-28 11:53:35 +02:00
glue.c
hed.c ACPI: HED: Always initialize before evged 2025-05-29 11:02:46 +02:00
internal.h Merge branches 'acpi-ec', 'acpi-sysfs', 'acpi-utils' and 'acpi-soc' 2024-09-11 21:45:36 +02:00
ioapic.c
irq.c
Kconfig ACPI: HED: Always initialize before evged 2025-05-29 11:02:46 +02:00
Makefile ACPI: fan: Add hwmon support 2024-05-28 11:53:35 +02:00
mipi-disco-img.c ACPI: mipi-disco-img: Switch to new Intel CPU model defines 2024-06-17 21:37:57 +02:00
nhlt.c
nvs.c
osi.c ACPI: OSI: Stop advertising support for "3.0 _SCP Extensions" 2025-06-19 15:31:33 +02:00
osl.c
pci_irq.c xen/pvh: Setup gsi for passthrough device 2024-09-25 09:54:52 +02:00
pci_link.c ACPI: pci_link: Clear the dependencies after probe 2024-08-27 15:48:35 +02:00
pci_mcfg.c PCI/ACPI: Increase Loongson max PCI hosts to 8 2024-08-01 18:04:05 -05:00
pci_root.c Merge branch 'pci/misc' 2024-07-19 10:10:33 -05:00
pci_slot.c
pfr_telemetry.c
pfr_update.c
platform_profile.c ACPI: platform-profile: Fix CFI violation when accessing sysfs files 2025-04-20 10:16:00 +02:00
power.c
pptt.c ACPI: PPTT: Fix processor subtable walk 2025-05-22 14:29:46 +02:00
prmt.c ACPI: PRM: Remove unnecessary strict handler address checks 2025-02-17 10:05:30 +01:00
proc.c
processor_core.c Updates for the interrupt subsystem: 2024-07-22 13:52:05 -07:00
processor_driver.c ACPI: processor: Move arch_init_invariance_cppc() call later 2024-11-06 21:31:36 +01:00
processor_idle.c ACPI: processor: idle: Return an error if both P_LVL{2,3} idle states are invalid 2025-04-10 14:39:27 +02:00
processor_pdc.c
processor_perflib.c
processor_thermal.c
processor_throttling.c
property.c ACPI: property: Fix return value for nval == 0 in acpi_data_prop_read() 2025-02-17 10:05:01 +01:00
reboot.c
resource.c ACPI: resource: fix a typo for MECHREVO in irq1_edge_low_force_override[] 2025-06-19 15:31:32 +02:00
sbs.c ACPI: SBS: manage alarm sysfs attribute through psy core 2024-06-13 21:30:00 +02:00
sbshc.c
sbshc.h
scan.c Merge branches 'acpi-ec', 'acpi-sysfs', 'acpi-utils' and 'acpi-soc' 2024-09-11 21:45:36 +02:00
sleep.c ACPI: PM: Quirk ASUS ROG M16 to default to S3 sleep 2024-09-10 20:19:52 +02:00
sleep.h
spcr.c
sysfs.c
tables.c ACPI: tables: Print MULTIPROC_WAKEUP when MADT is parsed 2024-06-17 17:46:28 +02:00
thermal_lib.c
thermal.c ACPI: thermal: Execute _SCP before reading trip points 2025-07-10 16:04:58 +02:00
tiny-power-button.c
utils.c ACPI: utils: Add rev/func to message when acpi_evaluate_dsm() fails 2024-08-29 13:34:09 +02:00
video_detect.c ACPI: video: force native for Apple MacbookPro11,2 and Air7,2 2024-12-14 20:03:37 +01:00
viot.c iommu: Resolve fwspec ops automatically 2024-07-04 14:36:03 +01:00
wakeup.c