kernel-fxtec-pro1x/drivers/acpi/acpica
Erik Kaneda 3ca48b8952 ACPICA: Do not increment operation_region reference counts for field units
[ Upstream commit 6a54ebae6d047c988a31f5ac5a64ab5cf83797a2 ]

ACPICA commit e17b28cfcc31918d0db9547b6b274b09c413eb70

Object reference counts are used as a part of ACPICA's garbage
collection mechanism. This mechanism keeps track of references to
heap-allocated structures such as the ACPI operand objects.

Recent server firmware has revealed that this reference count can
overflow on large servers that declare many field units under the
same operation_region. This occurs because each field unit declaration
will add a reference count to the source operation_region.

This change solves the reference count overflow for operation_regions
objects by preventing fieldunits from incrementing their
operation_region's reference count. Each operation_region's reference
count will not be changed by named objects declared under the Field
operator. During namespace deletion, the operation_region namespace
node will be deleted and each fieldunit will be deleted without
touching the deleted operation_region object.

Link: https://github.com/acpica/acpica/commit/e17b28cf
Signed-off-by: Erik Kaneda <erik.kaneda@intel.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>
2020-08-19 08:14:53 +02:00
..
acapps.h ACPICA: iASL: Enhance the -tc option (create AML hex file in C) 2018-05-15 10:16:10 +02:00
accommon.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acconvert.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acdebug.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acdispat.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acevents.h ACPICA: Never run _REG on system_memory and system_IO 2019-11-24 08:20:07 +01:00
acglobal.h ACPICA: Convert acpi_gbl_hardware lock back to an acpi_raw_spinlock 2018-05-10 17:18:45 +02:00
achware.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acinterp.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
aclocal.h ACPICA: Never run _REG on system_memory and system_IO 2019-11-24 08:20:07 +01:00
acmacros.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acnamesp.h ACPICA: acpi_exec: fixing -fi option 2018-08-14 23:49:13 +02:00
acobject.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acopcode.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acparser.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acpredef.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acresrc.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acstruct.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
actables.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
acutils.h ACPICA: Utilities: split hex detection into smaller functions 2018-08-14 23:49:13 +02:00
amlcode.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
amlresrc.h ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbcmds.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbconvert.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbdisply.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbexec.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbfileio.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbhistry.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbinput.c ACPICA: Debugger: Cleanup interface to the AML disassembler 2018-08-14 23:49:13 +02:00
dbmethod.c ACPICA: Debugger: Cleanup interface to the AML disassembler 2018-08-14 23:49:13 +02:00
dbnames.c ACPICA: Debugger: Add count of namespace nodes after namespace dump 2018-06-06 08:53:42 +02:00
dbobject.c ACPICA: Debugger: Reduce verbosity for module-level code errors. 2018-06-06 08:53:42 +02:00
dbstats.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbtest.c ACPICA: Debugger: Removed direct support for EC address space in "Test Objects" 2018-05-15 10:16:10 +02:00
dbutils.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbxface.c ACPICA: Debugger: Cleanup interface to the AML disassembler 2018-08-14 23:49:13 +02:00
dsargs.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dscontrol.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dsdebug.c ACPICA: Debugger: Reduce verbosity for module-level code errors. 2018-06-06 08:53:42 +02:00
dsfield.c ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1 2020-02-24 08:34:43 +01:00
dsinit.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dsmethod.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dsmthdat.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dsobject.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dsopcode.c ACPICA: AML interpreter: add region addresses in global list during initialization 2019-04-17 08:38:55 +02:00
dspkginit.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dsutils.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dswexec.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dswload.c ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1 2020-02-24 08:34:43 +01:00
dswload2.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dswscope.c ACPICA: Improve error messages for the namespace root node 2018-05-15 10:16:10 +02:00
dswstate.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
evevent.c ACPICA: Events: add a return on failure from acpi_hw_register_read 2018-03-18 19:29:46 +01:00
evglock.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
evgpe.c ACPICA: Clear status of GPEs on first direct enable 2019-07-26 09:14:09 +02:00
evgpeblk.c ACPICA: Clear status of GPEs on first direct enable 2019-07-26 09:14:09 +02:00
evgpeinit.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
evgpeutil.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
evhandler.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
evmisc.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
evregion.c ACPICA: Never run _REG on system_memory and system_IO 2019-11-24 08:20:07 +01:00
evrgnini.c ACPICA: Never run _REG on system_memory and system_IO 2019-11-24 08:20:07 +01:00
evsci.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
evxface.c ACPICA: Clear status of GPEs on first direct enable 2019-07-26 09:14:09 +02:00
evxfevnt.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
evxfgpe.c ACPICA: Clear status of GPEs on first direct enable 2019-07-26 09:14:09 +02:00
evxfregn.c ACPICA: Never run _REG on system_memory and system_IO 2019-11-24 08:20:07 +01:00
exconcat.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exconfig.c ACPICA: Interpreter: Begin deprecation of Unload operator 2018-06-06 08:53:43 +02:00
exconvrt.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
excreate.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exdebug.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exdump.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exfield.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exfldio.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exmisc.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exmutex.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exnames.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exoparg1.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exoparg2.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exoparg3.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exoparg6.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exprep.c ACPICA: Do not increment operation_region reference counts for field units 2020-08-19 08:14:53 +02:00
exregion.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exresnte.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exresolv.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exresop.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exstore.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exstoren.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exstorob.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exsystem.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
extrace.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
exutils.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
hwacpi.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
hwesleep.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
hwgpe.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
hwpci.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
hwregs.c ACPICA: ACPICA: add status check for acpi_hw_read before assigning return value 2018-08-14 23:49:13 +02:00
hwsleep.c ACPICA: Clear status of all events when entering sleep states 2018-08-14 23:52:28 +02:00
hwtimer.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
hwvalid.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
hwxface.c ACPICA: Convert acpi_gbl_hardware lock back to an acpi_raw_spinlock 2018-05-10 17:18:45 +02:00
hwxfsleep.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
Makefile Merge branch 'acpica' 2017-11-13 01:36:58 +01:00
nsaccess.c ACPICA: acpi_exec: fixing -fi option 2018-08-14 23:49:13 +02:00
nsalloc.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsarguments.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsconvert.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsdump.c ACPICA: Debugger: Add count of namespace nodes after namespace dump 2018-06-06 08:53:42 +02:00
nsdumpdv.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nseval.c ACPICA: Cleanup/simplify module-level code support 2018-03-18 19:29:46 +01:00
nsinit.c ACPICA: Add deferred package support for the Load and loadTable operators 2018-05-14 22:25:45 +02:00
nsload.c ACPICA: Cleanup/simplify module-level code support 2018-03-18 19:29:46 +01:00
nsnames.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsobject.c ACPICA: Namespace: remove address node from global list after method termination 2019-04-17 08:38:48 +02:00
nsparse.c ACPICA: Cleanup/simplify module-level code support 2018-03-18 19:29:46 +01:00
nspredef.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsprepkg.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsrepair.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsrepair2.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nssearch.c ACPICA: Revert "iASL: change processing of external op namespace nodes for correctness" 2018-07-09 11:14:45 +02:00
nsutils.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nswalk.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsxfeval.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsxfname.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsxfobj.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
psargs.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
psloop.c ACPICA: AML Parser: fix parse loop to correctly skip erroneous extended opcodes 2018-11-13 11:08:17 -08:00
psobject.c ACPICA: AML parser: attempt to continue loading table after error 2018-06-06 08:53:43 +02:00
psopcode.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
psopinfo.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
psparse.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
psscope.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
pstree.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
psutils.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
pswalk.c ACPICA: AML Parser: Add debug option to dump parse trees 2018-06-06 08:53:42 +02:00
psxface.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsaddr.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rscalc.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rscreate.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsdump.c ACPICA: Fix potential infinite loop in acpi_rs_dump_byte_list 2018-05-15 10:16:10 +02:00
rsdumpinfo.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsinfo.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsio.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsirq.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rslist.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsmemory.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsmisc.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsserial.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsutils.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsxface.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
tbdata.c ACPICA: Update an error message for a duplicate table 2018-08-14 23:49:13 +02:00
tbfadt.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
tbfind.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
tbinstal.c ACPICA: Tables: Fix spelling mistake in comment 2018-05-15 10:16:10 +02:00
tbprint.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
tbutils.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
tbxface.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
tbxfload.c ACPICA: Cleanup/simplify module-level code support 2018-03-18 19:29:46 +01:00
tbxfroot.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utaddress.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utalloc.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utascii.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utbuffer.c ACPICA: acpidump/acpixtract: Support for tables larger than 1MB 2018-05-18 09:19:26 +02:00
utcache.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utcopy.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utdebug.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utdecode.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utdelete.c ACPICA: Do not increment operation_region reference counts for field units 2020-08-19 08:14:53 +02:00
uterror.c ACPICA: Drop leading newlines from error messages 2018-06-30 23:24:04 +02:00
uteval.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utexcep.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utglobal.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
uthex.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utids.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utinit.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utlock.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utmath.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utmisc.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utmutex.c ACPICA: Convert acpi_gbl_hardware lock back to an acpi_raw_spinlock 2018-05-10 17:18:45 +02:00
utnonansi.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utobject.c ACPICA: Mark acpi_ut_create_internal_object_dbg() memory allocations as non-leaks 2018-05-27 12:23:03 +02:00
utosi.c ACPICA: Recognize the _OSI string "Windows 2017.2" 2018-06-10 13:19:50 +02:00
utownerid.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utpredef.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utprint.c ACPICA: vsnprintf: this statement may fall through 2018-05-15 10:16:10 +02:00
utresdecode.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utresrc.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utstate.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utstring.c ACPICA: Improve error messages for the namespace root node 2018-05-15 10:16:10 +02:00
utstrsuppt.c ACPICA: Utilities: split hex detection into smaller functions 2018-08-14 23:49:13 +02:00
utstrtoul64.c ACPICA: Utilities: split hex detection into smaller functions 2018-08-14 23:49:13 +02:00
uttrack.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utuuid.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utxface.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utxferror.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utxfinit.c ACPICA: Cleanup/simplify module-level code support 2018-03-18 19:29:46 +01:00
utxfmutex.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00