android_kernel_xiaomi_sm8350/drivers/acpi/acpica
Abhishek Mainkar 3bf4463e40 ACPICA: Add AML_NO_OPERAND_RESOLVE flag to Timer
[ Upstream commit 3a21ffdbc825e0919db9da0e27ee5ff2cc8a863e ]

ACPICA commit 90310989a0790032f5a0140741ff09b545af4bc5

According to the ACPI specification 19.6.134, no argument is required to be passed for ASL Timer instruction. For taking care of no argument, AML_NO_OPERAND_RESOLVE flag is added to ASL Timer instruction opcode.

When ASL timer instruction interpreted by ACPI interpreter, getting error. After adding AML_NO_OPERAND_RESOLVE flag to ASL Timer instruction opcode, issue is not observed.

=============================================================
UBSAN: array-index-out-of-bounds in acpica/dswexec.c:401:12 index -1 is out of range for type 'union acpi_operand_object *[9]'
CPU: 37 PID: 1678 Comm: cat Not tainted
6.0.0-dev-th500-6.0.y-1+bcf8c46459e407-generic-64k
HW name: NVIDIA BIOS v1.1.1-d7acbfc-dirty 12/19/2022 Call trace:
 dump_backtrace+0xe0/0x130
 show_stack+0x20/0x60
 dump_stack_lvl+0x68/0x84
 dump_stack+0x18/0x34
 ubsan_epilogue+0x10/0x50
 __ubsan_handle_out_of_bounds+0x80/0x90
 acpi_ds_exec_end_op+0x1bc/0x6d8
 acpi_ps_parse_loop+0x57c/0x618
 acpi_ps_parse_aml+0x1e0/0x4b4
 acpi_ps_execute_method+0x24c/0x2b8
 acpi_ns_evaluate+0x3a8/0x4bc
 acpi_evaluate_object+0x15c/0x37c
 acpi_evaluate_integer+0x54/0x15c
 show_power+0x8c/0x12c [acpi_power_meter]

Link: https://github.com/acpica/acpica/commit/90310989
Signed-off-by: Abhishek Mainkar <abmainkar@nvidia.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-23 11:00:03 +02:00
..
acapps.h
accommon.h
acconvert.h
acdebug.h
acdispat.h
acevents.h
acglobal.h
achware.h
acinterp.h
aclocal.h
acmacros.h
acnamesp.h
acobject.h
acopcode.h
acparser.h
acpredef.h
acresrc.h
acstruct.h
actables.h
acutils.h
amlcode.h
amlresrc.h
dbcmds.c
dbconvert.c
dbdisply.c
dbexec.c
dbfileio.c
dbhistry.c
dbinput.c
dbmethod.c
dbnames.c
dbobject.c
dbstats.c
dbtest.c
dbutils.c
dbxface.c
dsargs.c
dscontrol.c
dsdebug.c
dsfield.c
dsinit.c
dsmethod.c
dsmthdat.c
dsobject.c
dsopcode.c
dspkginit.c
dsutils.c
dswexec.c
dswload2.c
dswload.c
dswscope.c
dswstate.c
evevent.c
evglock.c
evgpe.c
evgpeblk.c
evgpeinit.c
evgpeutil.c
evhandler.c
evmisc.c
evregion.c
evrgnini.c
evsci.c
evxface.c
evxfevnt.c
evxfgpe.c
evxfregn.c
exconcat.c
exconfig.c
exconvrt.c
excreate.c
exdebug.c
exdump.c
exfield.c
exfldio.c
exmisc.c
exmutex.c
exnames.c
exoparg1.c
exoparg2.c
exoparg3.c
exoparg6.c
exprep.c
exregion.c
exresnte.c
exresolv.c
exresop.c
exserial.c
exstore.c
exstoren.c
exstorob.c
exsystem.c
extrace.c
exutils.c
hwacpi.c
hwesleep.c
hwgpe.c
hwpci.c
hwregs.c
hwsleep.c
hwtimer.c
hwvalid.c
hwxface.c
hwxfsleep.c
Makefile
nsaccess.c
nsalloc.c
nsarguments.c
nsconvert.c
nsdump.c
nsdumpdv.c
nseval.c
nsinit.c
nsload.c
nsnames.c
nsobject.c
nsparse.c
nspredef.c
nsprepkg.c
nsrepair2.c
nsrepair.c
nssearch.c
nsutils.c
nswalk.c
nsxfeval.c
nsxfname.c
nsxfobj.c
psargs.c
psloop.c
psobject.c
psopcode.c
psopinfo.c
psparse.c
psscope.c
pstree.c
psutils.c
pswalk.c
psxface.c
rsaddr.c
rscalc.c
rscreate.c
rsdump.c
rsdumpinfo.c
rsinfo.c
rsio.c
rsirq.c
rslist.c
rsmemory.c
rsmisc.c
rsserial.c
rsutils.c
rsxface.c
tbdata.c
tbfadt.c
tbfind.c
tbinstal.c
tbprint.c
tbutils.c
tbxface.c
tbxfload.c
tbxfroot.c
utaddress.c
utalloc.c
utascii.c
utbuffer.c
utcache.c
utcopy.c
utdebug.c
utdecode.c
utdelete.c
uterror.c
uteval.c
utexcep.c
utglobal.c
uthex.c
utids.c
utinit.c
utlock.c
utmath.c
utmisc.c
utmutex.c
utnonansi.c
utobject.c
utosi.c
utownerid.c
utpredef.c
utprint.c
utresdecode.c
utresrc.c
utstate.c
utstring.c
utstrsuppt.c
utstrtoul64.c
uttrack.c
utuuid.c
utxface.c
utxferror.c
utxfinit.c
utxfmutex.c