linux-yocto/drivers/acpi/acpica
Rafael J. Wysocki 4305d936ab 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 15:59:51 +02:00
..
acapps.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
accommon.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acconvert.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acdebug.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acdispat.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acevents.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acglobal.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
achware.h ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep() 2023-06-28 11:12:22 +02:00
acinterp.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
aclocal.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acmacros.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acnamesp.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acobject.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acopcode.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acparser.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acpredef.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acresrc.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acstruct.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
actables.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
acutils.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
amlcode.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
amlresrc.h ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dbcmds.c
dbconvert.c ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package() 2024-10-17 15:21:38 +02:00
dbdisply.c
dbexec.c
dbfileio.c
dbhistry.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dbinput.c
dbmethod.c
dbnames.c ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields() 2024-04-10 16:28:22 +02:00
dbobject.c
dbstats.c
dbtest.c
dbutils.c
dbxface.c
dsargs.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dscontrol.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dsdebug.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dsfield.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dsinit.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dsmethod.c ACPICA: Refuse to evaluate a method if arguments are missing 2025-07-10 15:59:51 +02:00
dsmthdat.c
dsobject.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dsopcode.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dspkginit.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dsutils.c ACPICA: fix acpi operand cache leak in dswstate.c 2025-06-27 11:07:31 +01:00
dswexec.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dswload.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dswload2.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dswscope.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
dswstate.c ACPICA: Avoid undefined behavior: applying zero offset to null pointer 2023-05-24 17:32:35 +01:00
evevent.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evglock.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evgpe.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evgpeblk.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evgpeinit.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evgpeutil.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evhandler.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evmisc.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evregion.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evrgnini.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evsci.c
evxface.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evxfevnt.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evxfgpe.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
evxfregn.c ACPICA: events/evxfregn: don't release the ContextMutex that was never acquired 2024-12-19 18:08:56 +01:00
exconcat.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exconfig.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exconvrt.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
excreate.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exdebug.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exdump.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exfield.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exfldio.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exmisc.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exmutex.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exnames.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exoparg1.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exoparg2.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exoparg3.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exoparg6.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exprep.c ACPICA: iasl: handle empty connection_node 2024-10-17 15:21:39 +02:00
exregion.c ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine." 2024-06-27 13:46:21 +02:00
exresnte.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exresolv.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exresop.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exserial.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exstore.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exstoren.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exstorob.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exsystem.c ACPICA: executer/exsystem: Don't nag user about every Stall() violating the spec 2024-10-17 15:20:38 +02:00
extrace.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
exutils.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
hwacpi.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
hwesleep.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
hwgpe.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
hwpci.c
hwregs.c ACPICA: Clean up double word in comment 2022-04-13 20:24:57 +02:00
hwsleep.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
hwtimer.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
hwvalid.c ACPICA: Drop port I/O validation for some regions 2023-03-10 09:32:51 +01:00
hwxface.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
hwxfsleep.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
Makefile ACPI: disable -Wstringop-truncation 2024-06-12 11:03:10 +02:00
nsaccess.c
nsalloc.c
nsarguments.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nsconvert.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nsdump.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nsdumpdv.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nseval.c
nsinit.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nsload.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nsnames.c
nsobject.c
nsparse.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nspredef.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nsprepkg.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nsrepair.c ACPICA: nsrepair: handle cases without a return value correctly 2023-03-10 09:32:52 +01:00
nsrepair2.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nssearch.c
nsutils.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nswalk.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nsxfeval.c
nsxfname.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
nsxfobj.c
psargs.c ACPICA: Fix memory leak if acpi_ps_get_next_field() fails 2024-10-17 15:21:36 +02:00
psloop.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
psobject.c ACPICA: fix acpi parse and parseext cache leaks 2025-06-27 11:07:32 +01:00
psopcode.c ACPICA: Add AML_NO_OPERAND_RESOLVE flag to Timer 2023-09-23 11:11:00 +02:00
psopinfo.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
psparse.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
psscope.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
pstree.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
psutils.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
pswalk.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
psxface.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
rsaddr.c
rscalc.c ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
rscreate.c
rsdump.c ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
rsdumpinfo.c ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
rsinfo.c ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
rsio.c
rsirq.c
rslist.c ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
rsmemory.c
rsmisc.c ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
rsserial.c ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
rsutils.c
rsxface.c
tbdata.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
tbfadt.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
tbfind.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
tbinstal.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
tbprint.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
tbutils.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
tbxface.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
tbxfload.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
tbxfroot.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utaddress.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utalloc.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utascii.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utbuffer.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utcache.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utcopy.c ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage() 2022-12-31 13:31:59 +01:00
utdebug.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utdecode.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utdelete.c ACPICA: Utilities: Avoid deleting the same object twice in a row 2021-12-27 17:01:28 +01:00
uterror.c
uteval.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utexcep.c
utglobal.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
uthex.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utids.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utinit.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utlock.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utmath.c
utmisc.c
utmutex.c
utnonansi.c
utobject.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utosi.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utownerid.c
utpredef.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utprint.c ACPICA: utilities: Fix overflow check in vsnprintf() 2025-06-27 11:07:32 +01:00
utresdecode.c ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
utresrc.c ACPICA: ACPI 6.4: add CSI2Bus resource template 2021-04-07 19:09:01 +02:00
utstate.c
utstring.c
utstrsuppt.c
utstrtoul64.c
uttrack.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utuuid.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utxface.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utxferror.c
utxfinit.c ACPICA: Update copyright notices to the year 2022 2022-04-13 20:24:57 +02:00
utxfmutex.c