linux/drivers/acpi/acpica
David E. Box ce5eb07339 ACPICA: Utilities: Validate full RSDP header
Implement proper RSDP validation in acpi_ut_read_table(). Prevents a segmentation
fault that can occur if a user passes the wrong file to iasl.

This patch is only useful for iasl, which is not shipped in the Linux
kernel.

After the new table reading utility functions are well tested, acpidump can
also switch to use the generic acpi_ut_read_table_xxx() APIs. Currently
this patch is no-op as acpidump does not link to the new APIs.

Signed-off-by: David E. Box <david.e.box@linux.intel.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2014-07-08 14:22:25 +02:00
..
acapps.h ACPICA: acpidump: Add support to generate acpidump release. 2014-04-20 22:59:40 +02:00
accommon.h ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
acdebug.h ACPICA: Utilities: Add support to read table from files 2014-07-08 14:22:25 +02:00
acdispat.h ACPICA: Add auto-serialization support for ill-behaved control methods. 2014-03-26 16:25:59 +01:00
acevents.h ACPICA: Events: Update GPE handling and initialization code. 2014-05-07 00:55:02 +02:00
acglobal.h ACPICA: Update global variable definitions. No functional change. 2014-05-07 00:54:59 +02:00
achware.h ACPICA: Revert "Headers: Deploy #pragma pack (push) and (pop)." 2014-03-18 01:53:45 +01:00
acinterp.h ACPICA: Remove global option to serialize all control methods. 2014-03-26 16:25:59 +01:00
aclocal.h ACPICA: Events: Update GPE handling and initialization code. 2014-05-07 00:55:02 +02:00
acmacros.h ACPICA: Revert "Headers: Deploy #pragma pack (push) and (pop)." 2014-03-18 01:53:45 +01:00
acnamesp.h ACPICA: Revert "Headers: Deploy #pragma pack (push) and (pop)." 2014-03-18 01:53:45 +01:00
acobject.h ACPICA: Ignore sync_level for methods that have been auto-serialized. 2014-03-26 16:25:59 +01:00
acopcode.h ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
acparser.h ACPICA: Revert "Headers: Deploy #pragma pack (push) and (pop)." 2014-03-18 01:53:45 +01:00
acpredef.h ACPICA: Namespace: Remove _PRP method support. 2014-06-03 14:53:35 +02:00
acresrc.h ACPICA: Revert "Headers: Deploy #pragma pack (push) and (pop)." 2014-03-18 01:53:45 +01:00
acstruct.h ACPICA: Add auto-serialization support for ill-behaved control methods. 2014-03-26 16:25:59 +01:00
actables.h ACPICA: Tables: Add mechanism to control early table checksum verification. 2014-06-01 00:18:52 +02:00
acutils.h ACPICA: Utilities: Add support to read table from files 2014-07-08 14:22:25 +02:00
amlcode.h ACPICA: Revert "Headers: Deploy #pragma pack (push) and (pop)." 2014-03-18 01:53:45 +01:00
amlresrc.h ACPICA: Revert "Headers: Deploy #pragma pack (push) and (pop)." 2014-03-18 01:53:45 +01:00
dsargs.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dscontrol.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dsfield.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dsinit.c ACPICA: Add auto-serialization support for ill-behaved control methods. 2014-03-26 16:25:59 +01:00
dsmethod.c ACPICA: Ignore sync_level for methods that have been auto-serialized. 2014-03-26 16:25:59 +01:00
dsmthdat.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dsobject.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dsopcode.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dsutils.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dswexec.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dswload2.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dswload.c ACPICA: Add auto-serialization support for ill-behaved control methods. 2014-03-26 16:25:59 +01:00
dswscope.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
dswstate.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
evevent.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
evglock.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
evgpe.c ACPICA: Events: Fix edge-triggered GPE by disabling before acknowledging it. 2014-07-07 01:08:14 +02:00
evgpeblk.c ACPICA: Events: Update GPE handling and initialization code. 2014-05-07 00:55:02 +02:00
evgpeinit.c ACPICA: Events: Update GPE handling and initialization code. 2014-05-07 00:55:02 +02:00
evgpeutil.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
evhandler.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
evmisc.c ACPICA: Disassembler: Add decoding of Notify() values. 2014-04-20 22:59:37 +02:00
evregion.c ACPICA: Prevent infinite loops when traversing corrupted lists. 2014-03-18 01:52:18 +01:00
evrgnini.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
evsci.c ACPICA: Update comments for ACPICA name - no functional change. 2014-04-20 22:59:37 +02:00
evxface.c ACPICA: Update use of acpi_os_wait_events_complete interface. 2014-04-20 22:59:37 +02:00
evxfevnt.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
evxfgpe.c ACPICA: Events: Update GPE handling and initialization code. 2014-05-07 00:55:02 +02:00
evxfregn.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exconfig.c ACPICA: Table Manager: Misc cleanup and renames, no functional change. 2014-04-20 22:59:39 +02:00
exconvrt.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
excreate.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exdebug.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exdump.c ACPICA: Add a missing field for debug dump of mutex objects. 2014-04-20 22:59:38 +02:00
exfield.c ACPICA: Fix buffer allocation issue for generic_serial_bus region accesses. 2014-04-21 23:12:12 +02:00
exfldio.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exmisc.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exmutex.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exnames.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exoparg1.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exoparg2.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exoparg3.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exoparg6.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exprep.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exregion.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exresnte.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exresolv.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exresop.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exstore.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exstoren.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exstorob.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
exsystem.c ACPICA: Remove global option to serialize all control methods. 2014-03-26 16:25:59 +01:00
exutils.c ACPICA: Remove global option to serialize all control methods. 2014-03-26 16:25:59 +01:00
hwacpi.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
hwesleep.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
hwgpe.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
hwpci.c ACPICA: Update handling of PCI ID lists. 2014-05-07 00:55:00 +02:00
hwregs.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
hwsleep.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
hwtimer.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
hwvalid.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
hwxface.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
hwxfsleep.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
Makefile ACPICA: Utilities: Add support to read table from files 2014-07-08 14:22:25 +02:00
nsaccess.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsalloc.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsarguments.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsconvert.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsdump.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsdumpdv.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nseval.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsinit.c ACPICA: Add auto-serialization support for ill-behaved control methods. 2014-03-26 16:25:59 +01:00
nsload.c ACPICA: Add auto-serialization support for ill-behaved control methods. 2014-03-26 16:25:59 +01:00
nsnames.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsobject.c ACPICA: Prevent infinite loops when traversing corrupted lists. 2014-03-18 01:52:18 +01:00
nsparse.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nspredef.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsprepkg.c ACPICA: Comment update - no functional change. 2014-03-18 01:47:30 +01:00
nsrepair2.c ACPICA: Comment update - no functional change. 2014-03-18 01:47:30 +01:00
nsrepair.c ACPICA: Comment update - no functional change. 2014-03-18 01:47:30 +01:00
nssearch.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsutils.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nswalk.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsxfeval.c Merge branch 'acpica' 2014-03-20 13:25:02 +01:00
nsxfname.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
nsxfobj.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
psargs.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
psloop.c ACPICA: Add auto-serialization support for ill-behaved control methods. 2014-03-26 16:25:59 +01:00
psobject.c ACPICA: Add auto-serialization support for ill-behaved control methods. 2014-03-26 16:25:59 +01:00
psopcode.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
psopinfo.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
psparse.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
psscope.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
pstree.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
psutils.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
pswalk.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
psxface.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
rsaddr.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
rscalc.c ACPICA: Comment update - no functional change. 2014-03-18 01:47:30 +01:00
rscreate.c ACPICA: Update acpi_buffer_to_resource interface. 2014-05-07 00:55:00 +02:00
rsdump.c ACPICA: Update conditional compilation flags for resource dump functions. 2014-02-27 00:45:59 +01:00
rsdumpinfo.c ACPICA: Update the conditions to enable the utility resource dump strings. 2014-02-11 00:30:25 +01:00
rsinfo.c ACPICA: Update the conditions to enable the utility resource dump strings. 2014-02-11 00:30:25 +01:00
rsio.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
rsirq.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
rslist.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
rsmemory.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
rsmisc.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
rsserial.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
rsutils.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
rsxface.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
tbdata.c ACPICA: Tables: Add mechanism to control early table checksum verification. 2014-06-01 00:18:52 +02:00
tbfadt.c ACPICA: Remove extraneous error message for large number of GPEs. 2014-05-07 00:55:02 +02:00
tbfind.c ACPICA: Tables: Clean up split INSTALLED/VALIDATED table state logics. 2014-04-20 22:59:38 +02:00
tbinstal.c ACPICA: Tables: Add mechanism to control early table checksum verification. 2014-06-01 00:18:52 +02:00
tbprint.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
tbutils.c ACPICA: Tables: Add mechanism to control early table checksum verification. 2014-06-01 00:18:52 +02:00
tbxface.c ACPICA: Table Manager: Misc cleanup and renames, no functional change. 2014-04-20 22:59:39 +02:00
tbxfload.c ACPICA: Table Manager: Misc cleanup and renames, no functional change. 2014-04-20 22:59:39 +02:00
tbxfroot.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utaddress.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utalloc.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utbuffer.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utcache.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utcopy.c ACPICA: Utilities: Fix memory leak in acpi_ut_copy_iobject_to_iobject 2014-07-08 14:22:24 +02:00
utdebug.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utdecode.c ACPICA: Disassembler: Add decoding of Notify() values. 2014-04-20 22:59:37 +02:00
utdelete.c ACPICA: Prevent infinite loops when traversing corrupted lists. 2014-03-18 01:52:18 +01:00
uterror.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
uteval.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utexcep.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utfileio.c ACPICA: Utilities: Validate full RSDP header 2014-07-08 14:22:25 +02:00
utglobal.c ACPICA: OSL: Move external globals from utglobal.c to acpixf.h using ACPI_INIT_GLOBAL/ACPI_GLOBAL. 2014-05-07 00:55:00 +02:00
utids.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utinit.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utlock.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utmath.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utmisc.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utmutex.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utobject.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utosi.c ACPICA: Add text: ACPICA policy for new _OSI strings. No functional change. 2014-03-18 01:52:17 +01:00
utownerid.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utpredef.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utresrc.c ACPICA: Update the conditions to enable the utility resource dump strings. 2014-02-11 00:30:25 +01:00
utstate.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utstring.c ACPICA: utstring: Check array index bound before use. 2014-04-20 22:59:37 +02:00
uttrack.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utxface.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utxferror.c ACPICA: OSL: Add configurability for error message functions. 2014-05-07 00:55:01 +02:00
utxfinit.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00
utxfmutex.c ACPICA: Update ACPICA copyrights to 2014. 2014-02-11 00:30:25 +01:00