linux/drivers/acpi/acpica
Cryolitia PukNgae f91dad0a3b ACPICA: Avoid walking the Namespace if start_node is NULL
[ Upstream commit 9d6c58dae8 ]

Although commit 0c9992315e ("ACPICA: Avoid walking the ACPI Namespace
if it is not there") fixed the situation when both start_node and
acpi_gbl_root_node are NULL, the Linux kernel mainline now still crashed
on Honor Magicbook 14 Pro [1].

That happens due to the access to the member of parent_node in
acpi_ns_get_next_node().  The NULL pointer dereference will always
happen, no matter whether or not the start_node is equal to
ACPI_ROOT_OBJECT, so move the check of start_node being NULL
out of the if block.

Unfortunately, all the attempts to contact Honor have failed, they
refused to provide any technical support for Linux.

The bad DSDT table's dump could be found on GitHub [2].

DMI: HONOR FMB-P/FMB-P-PCB, BIOS 1.13 05/08/2025

Link: 1c1b57b9eb
Link: https://gist.github.com/Cryolitia/a860ffc97437dcd2cd988371d5b73ed7 [1]
Link: https://github.com/denis-bb/honor-fmb-p-dsdt [2]
Signed-off-by: Cryolitia PukNgae <cryolitia.pukngae@linux.dev>
Reviewed-by: WangYuli <wangyl5933@chinaunicom.cn>
[ rjw: Subject adjustment, changelog edits ]
Link: https://patch.msgid.link/20251125-acpica-v1-1-99e63b1b25f8@linux.dev
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-01-02 12:56:38 +01:00
..
acapps.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
accommon.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acconvert.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acdebug.h ACPICA: Debugger: drop ACPI_NONSTRING attribute from name_seg 2025-09-15 12:20:12 +02:00
acdispat.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acevents.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acglobal.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
achware.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acinterp.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
aclocal.h ACPICA: Fix largest possible resource descriptor index 2025-09-15 12:20:13 +02:00
acmacros.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acnamesp.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acobject.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acopcode.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acparser.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acpredef.h ACPICA: ACPI_TYPE_ANY does not include the package type 2025-09-15 12:20:13 +02:00
acresrc.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acstruct.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
actables.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
acutils.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
amlcode.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
amlresrc.h ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dbcmds.c ACPICA: Add interrupt command to acpiexec 2023-07-10 18:48:15 +02:00
dbconvert.c ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package() 2024-08-02 16:51:07 +02:00
dbdisply.c ACPICA: iASL: add new OperationRegion subtype keyword PlatformRtMechanism 2020-06-05 13:34:23 +02:00
dbexec.c ACPICA: Debugger: Add a new command: "ALL <NameSeg>" 2020-10-08 18:03:55 +02:00
dbfileio.c ACPICA: make acpi_load_table() return table index 2019-10-28 22:12:46 +01:00
dbhistry.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dbinput.c ACPICA: Add interrupt command to acpiexec 2023-07-10 18:48:15 +02:00
dbmethod.c ACPICA: Debugger: Add a new command: "ALL <NameSeg>" 2020-10-08 18:03:55 +02:00
dbnames.c ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields() 2024-03-26 13:06:47 +01:00
dbobject.c ACPICA: Clean up exception code class checks 2021-01-18 16:01:10 +01:00
dbstats.c ACPICA: Fully deploy ACPI_PRINTF_LIKE macro 2019-08-21 00:00:37 +02:00
dbtest.c ACPICA: Debugger: Fix possible fault with the "test objects" command 2019-02-18 11:21:10 +01:00
dbutils.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
dbxface.c ACPICA: acpiexec: remove redeclaration of acpi_gbl_db_opt_no_region_support 2020-03-30 14:52:32 +02:00
dsargs.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dscontrol.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsdebug.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsfield.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsmethod.c ACPICA: Print error messages for too few or too many arguments 2025-09-15 12:20:13 +02:00
dsmthdat.c ACPICA: Add support for printing AML arguments when trace point enabled 2025-04-24 22:01:18 +02:00
dsobject.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsopcode.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dspkginit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dsutils.c ACPICA: Fix warnings from PR #295 merge 2025-03-27 13:17:18 +01:00
dswexec.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dswload.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dswload2.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dswscope.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
dswstate.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evevent.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evglock.c ACPICA: Allow to skip Global Lock initialization 2025-09-15 12:20:12 +02:00
evgpe.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evgpeblk.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evgpeinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evgpeutil.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evhandler.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evmisc.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evregion.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evrgnini.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evsci.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
evxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evxfevnt.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evxfgpe.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
evxfregn.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exconcat.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exconfig.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exconvrt.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
excreate.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exdebug.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exdump.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exfield.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exfldio.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exmisc.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exmutex.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exnames.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exoparg1.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exoparg2.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exoparg3.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exoparg6.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exprep.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exregion.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exresnte.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exresolv.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exresop.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exserial.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exstore.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exstoren.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exstorob.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
exsystem.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
extrace.c ACPICA: Decrease AcpiExTracePoint verbosity 2025-06-26 20:56:57 +02:00
exutils.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwacpi.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwesleep.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwgpe.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwpci.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
hwregs.c ACPICA: Clean up double word in comment 2022-04-13 20:24:57 +02:00
hwsleep.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwtimer.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwvalid.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
hwxfsleep.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
Makefile ACPI: disable -Wstringop-truncation 2024-04-09 17:02:30 +02:00
nsaccess.c ACPICA: Always create namespace nodes using acpi_ns_create_node() 2021-03-24 14:50:54 +01:00
nsalloc.c ACPICA: Remove unnecessary semicolon 2020-10-08 18:03:56 +02:00
nsarguments.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsconvert.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsdump.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsdumpdv.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nseval.c ACPICA: remove legacy module-level code due to deprecation 2019-07-04 00:59:43 +02:00
nsinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsload.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsnames.c ACPICA: Apply ACPI_NONSTRING 2025-05-12 15:38:42 +02:00
nsobject.c ACPICA: Namespace: remove address node from global list after method termination 2019-04-09 10:05:11 +02:00
nsparse.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nspredef.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsprepkg.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsrepair.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsrepair2.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02: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: Update copyright year 2025-05-12 15:38:43 +02:00
nswalk.c ACPICA: Avoid walking the Namespace if start_node is NULL 2026-01-02 12:56:38 +01:00
nsxfeval.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
nsxfname.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
nsxfobj.c ACPICA: Tree-wide: fix various typos and spelling mistakes 2020-10-08 18:03:55 +02:00
psargs.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psloop.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psobject.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psopcode.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psopinfo.c ACPICA: Change the compilation conditions 2025-09-15 12:20:12 +02:00
psparse.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psscope.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
pstree.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psutils.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
pswalk.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
psxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
rsaddr.c ACPICA: Apply pack(1) to union aml_resource 2025-05-06 23:05:42 +02:00
rscalc.c ACPICA: Apply pack(1) to union aml_resource 2025-05-06 23:05:42 +02:00
rscreate.c ACPICA: More Clang changes 2019-10-28 22:12:46 +01:00
rsdump.c ACPICA: Avoid warning for Dump Functions 2024-08-29 19:04:22 +02:00
rsdumpinfo.c ACPICA: add support for ClockInput resource (v6.5) 2023-04-06 20:29:11 +02:00
rsinfo.c ACPICA: add support for ClockInput resource (v6.5) 2023-04-06 20:29:11 +02:00
rsio.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsirq.c ACPI/ACPICA: Trivial: fix spelling mistakes and fix whitespace formatting 2019-02-24 21:12:01 +01:00
rslist.c ACPICA: Apply pack(1) to union aml_resource 2025-05-06 23:05:42 +02:00
rsmemory.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsmisc.c ACPICA: Avoid undefined behavior: load of misaligned address 2023-04-06 20:29:11 +02:00
rsserial.c ACPICA: add support for ClockInput resource (v6.5) 2023-04-06 20:29:11 +02:00
rsutils.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
rsxface.c ACPICA: Rename nameseg compare macro for clarity 2019-04-09 10:08:28 +02:00
tbdata.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbfadt.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbfind.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbinstal.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbprint.c ACPICA: Work around bogus -Wstringop-overread warning since GCC 11 2025-10-21 15:54:34 +02:00
tbutils.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbxfload.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
tbxfroot.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utaddress.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utalloc.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utascii.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utbuffer.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utcache.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utcksum.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utcopy.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utdebug.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utdecode.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utdelete.c ACPICA: Utilities: Fix spelling mistake "Incremement" -> "Increment" 2025-05-12 15:38:42 +02:00
uterror.c ACPICA: Increase total number of possible Owner IDs 2019-08-21 00:00:36 +02:00
uteval.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utexcep.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utglobal.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
uthex.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utids.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utlock.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utmath.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utmisc.c ACPICA: Rename nameseg compare macro for clarity 2019-04-09 10:08:28 +02: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: Switch back to using strncpy() in acpi_ut_safe_strncpy() 2025-05-29 21:19:10 +02:00
utobject.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utosi.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utownerid.c ACPICA: Increase total number of possible Owner IDs 2019-08-21 00:00:36 +02:00
utpredef.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utprint.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utresdecode.c ACPICA: add support for ClockInput resource (v6.5) 2023-04-06 20:29:11 +02:00
utresrc.c ACPICA: Apply pack(1) to union aml_resource 2025-05-06 23:05:42 +02:00
utstate.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00
utstring.c ACPICA: Improve warning message for "invalid ACPI name" 2022-10-28 17:28:23 +02:00
utstrsuppt.c ACPICA: add type casts for string functions 2021-01-22 15:51:53 +01:00
utstrtoul64.c ACPICA: Utilities: split hex detection into smaller functions 2018-08-14 23:49:13 +02:00
uttrack.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utuuid.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utxface.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utxferror.c ACPICA: Convert more ACPI errors to firmware errors 2019-01-15 18:04:02 +01:00
utxfinit.c ACPICA: Update copyright year 2025-05-12 15:38:43 +02:00
utxfmutex.c ACPICA: adding SPDX headers 2018-03-18 19:08:05 +01:00