linux/drivers/acpi/acpica
David E. Box d2e7d079c7 ACPICA: Operation region support: Never free the handler "context" pointer.
This change removes some dangerous code that attempts to free the
handler context pointer in some (rare) circumstances. The owner of
the handler owns this pointer and the ACPICA code should never
touch it. Although not seen to be an issue in any kernel, it did
show up as a problem under AcpiExec. Also, set the internal storage
field for the context pointer to zero when the region is deactivated,
simply for sanity. David Box.

Signed-off-by: David E. Box <david.e.box@intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Reviewed-by: Len Brown <len.brown@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-09-24 01:46:24 +02:00
..
accommon.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
acdebug.h ACPICA: Add support for host-installed SCI handlers. 2013-09-24 01:46:24 +02:00
acdispat.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
acevents.h ACPICA: Add support for host-installed SCI handlers. 2013-09-24 01:46:24 +02:00
acglobal.h ACPICA: Add support for host-installed SCI handlers. 2013-09-24 01:46:24 +02:00
achware.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
acinterp.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
aclocal.h ACPICA: Add support for host-installed SCI handlers. 2013-09-24 01:46:24 +02:00
acmacros.h ACPICA: Add BIOS error interface for predefined name validation support 2013-06-01 21:54:30 +02:00
acnamesp.h ACPICA: Update names for walk_namespace callbacks to clarify usage. 2013-08-13 13:14:16 +02:00
acobject.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
acopcode.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
acparser.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
acpredef.h ACPICA: Add argument typechecking for all predefined ACPI names 2013-06-01 21:54:30 +02:00
acresrc.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
acstruct.h ACPICA: Add argument typechecking for all predefined ACPI names 2013-06-01 21:54:30 +02:00
actables.h ACPICA: Export acpi_tb_validate_rsdp(). 2013-08-08 15:36:08 +02:00
acutils.h ACPICA: Add acpi_update_interfaces() public interface 2013-07-23 04:06:03 +02:00
amlcode.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
amlresrc.h ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
dsargs.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
dscontrol.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dsfield.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dsinit.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dsmethod.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
dsmthdat.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dsobject.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dsopcode.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dsutils.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dswexec.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dswload2.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dswload.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
dswscope.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
dswstate.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
evevent.c ACPICA: Fix a typo in a function header, no functional change 2013-04-12 13:29:47 +02:00
evglock.c ACPICA: ACPICA Termination: Delete global lock pending lock 2013-06-16 01:03:59 +02:00
evgpe.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
evgpeblk.c ACPICA: Fix possible memory leak in GPE init error path 2013-06-16 01:04:58 +02:00
evgpeinit.c ACPICA: Remove restriction of 256 maximum GPEs in any GPE block 2013-07-23 01:06:49 +02:00
evgpeutil.c ACPICA: Add support for host-installed SCI handlers. 2013-09-24 01:46:24 +02:00
evhandler.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
evmisc.c ACPICA: Add support for host-installed SCI handlers. 2013-09-24 01:46:24 +02:00
evregion.c ACPICA: Operation region support: Never free the handler "context" pointer. 2013-09-24 01:46:24 +02:00
evrgnini.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
evsci.c ACPICA: Add support for host-installed SCI handlers. 2013-09-24 01:46:24 +02:00
evxface.c ACPICA: Add support for host-installed SCI handlers. 2013-09-24 01:46:24 +02:00
evxfevnt.c ACPICA: Update for ACPI 5 hardware-reduced feature 2013-03-12 00:45:04 +01:00
evxfgpe.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
evxfregn.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exconfig.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exconvrt.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
excreate.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exdebug.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exdump.c ACPICA: Fix compiler warnings for casting issues (only some compilers) 2013-07-23 01:06:50 +02:00
exfield.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exfldio.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exmisc.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exmutex.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
exnames.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
exoparg1.c ACPICA: Return error if DerefOf resolves to a null package element. 2013-08-13 13:14:15 +02:00
exoparg2.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exoparg3.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exoparg6.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exprep.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exregion.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exresnte.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exresolv.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exresop.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exstore.c ACPICA: Fix for a Store->ArgX when ArgX contains a reference to a field. 2013-09-06 15:39:59 +02:00
exstoren.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
exstorob.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
exsystem.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
exutils.c ACPICA: Regression fix: reinstate safe exit macros 2013-03-12 00:45:04 +01:00
hwacpi.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
hwesleep.c ACPI / sleep: Introduce acpi_os_prepare_extended_sleep() for extended sleep path 2013-07-31 14:20:39 +02:00
hwgpe.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
hwpci.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
hwregs.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
hwsleep.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
hwtimer.c ACPICA: Make ACPI Power Management Timer (PM Timer) optional. 2013-08-13 13:13:21 +02:00
hwvalid.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
hwxface.c ACPICA: acpi_read: On error, do not modify the return value target location. 2013-09-24 01:46:23 +02:00
hwxfsleep.c ACPICA: Do not use extended sleep registers unless HW-reduced bit is set 2013-06-16 00:56:22 +02:00
Makefile ACPICA: Split table print utilities to a new a separate file 2013-06-16 00:55:56 +02:00
nsaccess.c ACPICA: Improve error message for "too many parent prefixes" condition. 2013-09-24 01:46:23 +02:00
nsalloc.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
nsarguments.c ACPICA: Add argument typechecking for all predefined ACPI names 2013-06-01 21:54:30 +02:00
nsconvert.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
nsdump.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
nsdumpdv.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
nseval.c ACPICA: Add argument typechecking for all predefined ACPI names 2013-06-01 21:54:30 +02:00
nsinit.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
nsload.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
nsnames.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
nsobject.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
nsparse.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
nspredef.c ACPICA: Fix possible fault for methods that optionally have no return value. 2013-08-13 13:10:36 +02:00
nsprepkg.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
nsrepair2.c ACPICA: _CST repair: Handle null package entries 2013-06-20 01:43:15 +02:00
nsrepair.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
nssearch.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
nsutils.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
nswalk.c ACPICA: Update names for walk_namespace callbacks to clarify usage. 2013-08-13 13:14:16 +02:00
nsxfeval.c ACPICA: Validate start object for acpi_walk_namespace. 2013-09-24 01:46:24 +02:00
nsxfname.c ACPICA: Fix compiler warnings for casting issues (only some compilers) 2013-07-23 01:06:50 +02:00
nsxfobj.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
psargs.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
psloop.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
psobject.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
psopcode.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
psopinfo.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
psparse.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
psscope.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
pstree.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
psutils.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
pswalk.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
psxface.c ACPICA: Add argument typechecking for all predefined ACPI names 2013-06-01 21:54:30 +02:00
rsaddr.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
rscalc.c ACPICA: Move _PRT repair into the standard complex repair module 2013-06-20 01:31:57 +02:00
rscreate.c ACPICA: Move _PRT repair into the standard complex repair module 2013-06-20 01:31:57 +02:00
rsdump.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
rsdumpinfo.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
rsinfo.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
rsio.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
rsirq.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
rslist.c ACPICA: Resource Mgr: Prevent infinite loops in resource walks 2013-03-12 00:45:03 +01:00
rsmemory.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
rsmisc.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
rsserial.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
rsutils.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
rsxface.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
tbfadt.c ACPICA: Make ACPI Power Management Timer (PM Timer) optional. 2013-08-13 13:13:21 +02:00
tbfind.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
tbinstal.c ACPICA: Update interface to acpi_ut_valid_acpi_name() 2013-06-16 01:00:46 +02:00
tbprint.c ACPICA: Split table print utilities to a new a separate file 2013-06-16 00:55:56 +02:00
tbutils.c ACPICA: Split table print utilities to a new a separate file 2013-06-16 00:55:56 +02:00
tbxface.c ACPICA: Fix for some comments/headers 2013-04-12 13:29:46 +02:00
tbxfload.c ACPICA: Add option to disable loading of SSDTs from the RSDT/XSDT 2013-06-16 00:55:40 +02:00
tbxfroot.c ACPICA: Export acpi_tb_validate_rsdp(). 2013-08-08 15:36:08 +02:00
utaddress.c ACPICA: Regression fix: reinstate safe exit macros 2013-03-12 00:45:04 +01:00
utalloc.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
utbuffer.c ACPICA: Split buffer dump routines into separate file 2013-06-16 00:52:22 +02:00
utcache.c ACPICA: Add macros to access pointer to next object in the descriptor list 2013-03-12 00:45:04 +01:00
utcopy.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
utdebug.c ACPICA: Debug output: small formatting update, no functional change. 2013-09-24 01:46:23 +02:00
utdecode.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
utdelete.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
uterror.c ACPICA: Split internal error msg routines to a separate file 2013-06-16 00:54:08 +02:00
uteval.c ACPICA: Update comments about behavior when _STA does not exist 2013-07-23 01:06:49 +02:00
utexcep.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
utglobal.c ACPICA: Add support for host-installed SCI handlers. 2013-09-24 01:46:24 +02:00
utids.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
utinit.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
utlock.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
utmath.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
utmisc.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
utmutex.c ACPICA: Add a lock to the internal object reference count mechanism 2013-04-12 13:29:48 +02:00
utobject.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
utosi.c ACPICA: Add acpi_update_interfaces() public interface 2013-07-23 04:06:03 +02:00
utownerid.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
utpredef.c ACPICA: Add argument typechecking for all predefined ACPI names 2013-06-01 21:54:30 +02:00
utresrc.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
utstate.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
utstring.c ACPICA: Disassembler: Expand maximum output string length to 64K 2013-07-23 01:06:49 +02:00
uttrack.c ACPICA: Standardize all switch() blocks 2013-06-16 00:55:05 +02:00
utxface.c ACPICA: Add acpi_update_interfaces() public interface 2013-07-23 04:06:03 +02:00
utxferror.c ACPICA: Split internal error msg routines to a separate file 2013-06-16 00:54:08 +02:00
utxfinit.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00
utxfmutex.c ACPICA: Update ACPICA copyrights to 2013 2013-01-25 13:30:47 +01:00