Schmauss, Erik
73c2a01c52
ACPICA: AML Parser: ignore dispatcher error status during table load
...
The dispatcher and the executer process the parse nodes During table
load. Error status from the evaluation confuses the AML parser. This
results in the parser failing to complete parsing of the current
scope op which becomes problematic. For the incorrect AML below, _ADR
never gets created.
definition_block(...)
{
Scope (\_SB)
{
Device (PCI0){...}
Name (OBJ1, 0x0)
OBJ1 = PCI0 + 5 // Results in an operand error.
} // \_SB not closed
// parser looks for \_SB._SB.PCI0, results in AE_NOT_FOUND error
// Entire scope block gets skipped.
Scope (\_SB.PCI0)
{
Name (_ADR, 0x0)
}
}
Fix the above error by properly completing the initial \_SB scope
after an error by clearing errors that occur during table load. In
the above case, this means that OBJ1 = PIC0 + 5 is skipped.
Fixes: 5088814a6e (ACPICA: AML parser: attempt to continue loading table after error)
Link: https://bugzilla.kernel.org/show_bug.cgi?id=200363
Tested-by: Bastien Nocera <hadess@hadess.net>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
Cc: 4.17+ <stable@vger.kernel.org> # 4.17+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2018-07-23 13:39:33 +02:00
..
acpica
ACPICA: AML Parser: ignore dispatcher error status during table load
2018-07-23 13:39:33 +02:00
apei
treewide: kvmalloc() -> kvmalloc_array()
2018-06-12 16:19:22 -07:00
arm64
IOMMU Updates for Linux v4.17
2018-04-11 18:50:41 -07:00
dptf
nfit
nfit: fix unchecked dereference in acpi_nfit_ctl
2018-07-11 10:25:24 -07:00
pmic
ACPI / PMIC: Replace license boilerplate with SPDX license identifier
2018-02-22 23:14:58 +01:00
x86
ac.c
ACPI updates for 4.18-rc1
2018-06-05 10:08:27 -07:00
acpi_amba.c
acpi_apd.c
ACPI: APD: Add AMD misc clock handler support
2018-05-17 12:44:06 +02:00
acpi_cmos_rtc.c
acpi_configfs.c
acpi_dbg.c
vfs: do bulk POLL* -> EPOLL* replacement
2018-02-11 14:34:03 -08:00
acpi_extlog.c
acpi_ipmi.c
acpi_lpat.c
acpi_lpit.c
ACPI / LPIT: Export lpit_read_residency_count_address()
2018-02-04 15:55:52 +02:00
acpi_lpss.c
Merge branches 'acpi-soc' and 'acpi-processor'
2018-06-21 14:19:08 +02:00
acpi_memhotplug.c
acpi_pad.c
ACPI: acpi_pad: Fix memory leak in power saving threads
2018-03-30 12:04:58 +02:00
acpi_platform.c
treewide: kzalloc() -> kcalloc()
2018-06-12 16:19:22 -07:00
acpi_pnp.c
acpi_processor.c
acpi_tad.c
ACPI: Add Time and Alarm Device (TAD) driver
2018-03-20 10:36:04 +01:00
acpi_video.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
acpi_watchdog.c
ACPI / watchdog: Prefer iTCO_wdt always when WDAT table uses RTC SRAM
2018-05-24 10:52:49 +02:00
battery.c
ACPI / battery: Safe unregistering of hooks
2018-07-04 12:36:29 +02:00
bgrt.c
blacklist.c
bus.c
ACPICA: Rename a global for clarity, no functional change
2018-03-18 18:52:00 +01:00
button.c
proc: introduce proc_create_single{,_data}
2018-05-16 07:23:35 +02:00
cm_sbs.c
container.c
cppc_acpi.c
ACPI / CPPC: Fix invalid PCC channel status errors
2018-05-10 17:16:22 +02:00
custom_method.c
treewide: Align function definition open/close braces
2018-03-26 11:13:09 +02:00
debugfs.c
device_pm.c
PM / Domains: Allow a better error handling of dev_pm_domain_attach()
2018-05-14 22:58:44 +02:00
device_sysfs.c
dock.c
ec.c
ACPI / EC: Use ec_no_wakeup on more Thinkpad X1 Carbon 6th systems
2018-07-19 16:42:15 +02:00
ec_sys.c
event.c
evged.c
fan.c
treewide: devm_kzalloc() -> devm_kcalloc()
2018-06-12 16:19:22 -07:00
glue.c
hed.c
internal.h
ACPI: EC: Dispatch the EC GPE directly on s2idle wake
2018-05-25 10:32:13 +02:00
ioapic.c
irq.c
Kconfig
ACPI: Enable PPTT support on ARM64
2018-05-17 17:28:09 +01:00
Makefile
ACPI: Enable PPTT support on ARM64
2018-05-17 17:28:09 +01:00
numa.c
acpi, numa: fix pxm to online numa node associations
2018-03-15 19:49:14 -07:00
nvs.c
osi.c
ACPI / OSI: Add OEM _OSI strings to disable NVidia RTD3
2018-03-18 23:42:33 +01:00
osl.c
acpi: Add helper for deactivating memory region
2018-06-25 21:30:12 +08:00
pci_irq.c
pci_link.c
ACPI / PCI: pci_link: Allow the absence of _PRS and change log level
2018-02-27 17:15:39 +01:00
pci_mcfg.c
pci_root.c
Merge branch 'pci/hotplug'
2018-06-06 16:10:10 -05:00
pci_slot.c
power.c
pptt.c
ACPI / PPTT: use ACPI ID whenever ACPI_PPTT_ACPI_PROCESSOR_ID_VALID is set
2018-07-02 22:56:38 +02:00
proc.c
processor_core.c
processor_driver.c
processor_idle.c
More ACPI updates for v4.16-rc1
2018-02-09 09:44:25 -08:00
processor_pdc.c
processor_perflib.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
processor_thermal.c
processor_throttling.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
property.c
device property: Constify device_get_match_data()
2018-02-12 10:41:11 +01:00
reboot.c
ACPI: add missing newline to printk
2018-05-02 13:01:08 +02:00
resource.c
sbs.c
battery: Add the battery hooking API
2018-02-21 23:27:13 +01:00
sbshc.c
ACPI: sbshc: remove raw pointer from printk() message
2018-02-08 09:50:08 +01:00
sbshc.h
scan.c
ACPI / scan: Initialize watchdog before PNP
2018-04-23 08:56:38 +02:00
sleep.c
ACPI: EC: Dispatch the EC GPE directly on s2idle wake
2018-05-25 10:32:13 +02:00
sleep.h
spcr.c
ACPI: SPCR: Mark expected switch fall-through in acpi_parse_spcr
2018-02-12 10:31:26 +01:00
sysfs.c
treewide: kzalloc() -> kcalloc()
2018-06-12 16:19:22 -07:00
tables.c
arm64 updates for 4.18:
2018-06-08 11:10:58 -07:00
thermal.c
utils.c
video_detect.c
ACPI / video: Add quirk to force acpi-video backlight on Samsung 670Z5E
2018-03-20 10:38:17 +01:00
wakeup.c