From: Lv Zheng <lv.zheng@intel.com>
To: "Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
"Rafael J . Wysocki" <rjw@rjwysocki.net>,
Len Brown <len.brown@intel.com>
Cc: Lv Zheng <lv.zheng@intel.com>, Lv Zheng <zetalog@gmail.com>,
linux-acpi@vger.kernel.org, Alex James <theracermaster@gmail.com>,
Bob Moore <robert.moore@intel.com>
Subject: [PATCH 13/16] ACPICA: iASL: Ensure that the target node is valid in acpi_ex_create_alias
Date: Mon, 10 Jul 2017 15:24:02 +0800 [thread overview]
Message-ID: <8b2008a06d325888551846dd7f610cf80c64946c.1499671182.git.lv.zheng@intel.com> (raw)
In-Reply-To: <cover.1499671181.git.lv.zheng@intel.com>
From: Alex James <theracermaster@gmail.com>
ACPICA commit 8b14afac65d983610cc5387ede6d85ea5ee075be
The following ACPI table contains an invalid target node within the
Alias operator:
definition_block ("", "SSDT", 1, "Bug", "BugTable", 0x00001000)
{
Scope (_SB)
{
Device (DEV0)
{
Name (_ADR, 1)
Device (DEV1)
{
Alias (_ADR, _ADR)
}
}
}
}
If an ACPI table contains such an invalid target node in an Alias
operator, a segmentation fault will occur when the target node is
dereferenced within acpi_ex_create_alias. Add a check for such an invalid
target node in acpi_ex_create_alias and return AE_NULL_OBJECT as suggested
by @acpibob.
Link: https://github.com/acpica/acpica/commit/8b14afac
Signed-off-by: Alex James <theracermaster@gmail.com>
Signed-off-by: Bob Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
---
drivers/acpi/acpica/excreate.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/acpi/acpica/excreate.c b/drivers/acpi/acpica/excreate.c
index d43d7da..6867586 100644
--- a/drivers/acpi/acpica/excreate.c
+++ b/drivers/acpi/acpica/excreate.c
@@ -87,6 +87,11 @@ acpi_status acpi_ex_create_alias(struct acpi_walk_state *walk_state)
target_node->object);
}
+ /* Ensure that the target node is valid */
+ if (!target_node) {
+ return_ACPI_STATUS(AE_NULL_OBJECT);
+ }
+
/*
* For objects that can never change (i.e., the NS node will
* permanently point to the same object), we can simply attach
--
2.7.4
next prev parent reply other threads:[~2017-07-10 7:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-10 7:22 [PATCH 00/16] ACPICA 20170629 Release Lv Zheng
2017-07-10 7:22 ` [PATCH 01/16] ACPICA: Small indentation changes, no functional change Lv Zheng
2017-07-10 7:22 ` [PATCH 02/16] ACPICA: IORT: Update SMMU models for revision C Lv Zheng
2017-07-10 7:22 ` [PATCH 03/16] ACPICA: Tools: Deallocate memory allocated by ac_get_all_tables_from_file via ac_delete_table_list Lv Zheng
2017-07-10 7:23 ` [PATCH 04/16] ACPICA: iASL compiler: allow compilation of externals with paths that refer to existing names Lv Zheng
2017-07-10 7:23 ` [PATCH 05/16] Back port of "ACPICA: Use designated initializers" Lv Zheng
2017-07-10 7:23 ` [PATCH 06/16] ACPICA: linuxize: cleanup typedef definitions Lv Zheng
2017-07-10 7:23 ` [PATCH 07/16] ACPICA: Tables: Add sanity check in acpi_put_table() Lv Zheng
2017-07-10 7:23 ` [PATCH 08/16] ACPICA: Tables: Cleanup table handler invokers Lv Zheng
2017-07-10 7:23 ` [PATCH 09/16] ACPICA: Tables: Do not validate signature for dynamic table load Lv Zheng
2017-07-10 7:23 ` [PATCH 10/16] ACPICA: Tables: Change table duplication check to be related to acpi_gbl_verify_table_checksum Lv Zheng
2017-07-10 7:23 ` [PATCH 11/16] ACPICA: Tables: Combine checksum/duplication verification together Lv Zheng
2017-07-10 7:23 ` [PATCH 12/16] ACPICA: Tables: Add deferred table verification support Lv Zheng
2017-07-10 7:24 ` Lv Zheng [this message]
2017-07-10 7:24 ` [PATCH 14/16] ACPICA: Disassembler: skip parsing of incorrect external declarations Lv Zheng
2017-07-10 7:24 ` [PATCH 15/16] ACPICA: iasl: Update to IORT SMMUv3 disassembling Lv Zheng
2017-07-10 7:24 ` [PATCH 16/16] ACPICA: Update version to 20170629 Lv Zheng
2017-07-21 22:02 ` [PATCH 00/16] ACPICA 20170629 Release Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8b2008a06d325888551846dd7f610cf80c64946c.1499671182.git.lv.zheng@intel.com \
--to=lv.zheng@intel.com \
--cc=len.brown@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=rafael.j.wysocki@intel.com \
--cc=rjw@rjwysocki.net \
--cc=robert.moore@intel.com \
--cc=theracermaster@gmail.com \
--cc=zetalog@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).