From: Lv Zheng <lv.zheng at intel.com>
To: devel@acpica.org
Subject: [Devel] [RFC PATCH 0/7] ACPICA: Tables: Cleanup table sanity checks
Date: Wed, 15 Mar 2017 14:36:42 +0800 [thread overview]
Message-ID: <cover.1489558845.git.lv.zheng@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 1757 bytes --]
Originally AML table sanity check is only done for Load opcode, as
acpi_tb_compare_tables() is only invoked in
acpi_tb_install_standard_table(). While LoadTable opcode cannot be covered
as it directly invokes acpi_tb_load_table() without invoking
acpi_tb_install_standard_table(). Furthermore, standard table load also
cannot be covered as acpi_ns_load_table() is invoked instead of
acpi_tb_install_standard_table() and acpi_tb_load_table().
So it becomes a problem if a duplicate table is in RSDT/XSDT, there is no
such check implemented for static load tables and LoadTable opcode.
This patchset combines code paths (in return reduces some redundant code
blocks and enhances checks/locks) so that duplicate table detection can be
applied to all cases.
Lv Zheng (7):
ACPICA: Tables: Cleanup table handler invokers
ACPICA: Tables: Add sanity check for load_table opcode
ACPICA: Tables: Add sanity check for table install
ACPICA: Tables: Fix an unwanted exception for table reloading
ACPICA: Tables: Enable acpi_ut_is_aml_table() for all ACPICA modules
ACPICA: Tables: Add sanity check for static table load
ACPICA: Tables: Change table comparison using table header for static
load tables
drivers/acpi/acpica/actables.h | 7 +-
drivers/acpi/acpica/acutils.h | 4 +-
drivers/acpi/acpica/exconfig.c | 2 +-
drivers/acpi/acpica/nsload.c | 18 ---
drivers/acpi/acpica/tbdata.c | 288 ++++++++++++++++++++++++++++++++++++-----
drivers/acpi/acpica/tbinstal.c | 197 ++++++----------------------
drivers/acpi/acpica/tbxfload.c | 46 +------
drivers/acpi/acpica/utmisc.c | 27 ++--
include/acpi/actbl.h | 1 +
9 files changed, 325 insertions(+), 265 deletions(-)
--
2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Lv Zheng <lv.zheng@intel.com>
To: "Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
Len Brown <len.brown@intel.com>,
Robert Moore <robert.moore@intel.com>,
Lv Zheng <lv.zheng@intel.com>,
"David E . Box" <david.e.box@intel.com>
Cc: Lv Zheng <zetalog@gmail.com>,
linux-acpi@vger.kernel.org, devel@acpica.org,
Hans de Goede <hdegoede@redhat.com>
Subject: [RFC PATCH 0/7] ACPICA: Tables: Cleanup table sanity checks
Date: Wed, 15 Mar 2017 14:36:42 +0800 [thread overview]
Message-ID: <cover.1489558845.git.lv.zheng@intel.com> (raw)
Originally AML table sanity check is only done for Load opcode, as
acpi_tb_compare_tables() is only invoked in
acpi_tb_install_standard_table(). While LoadTable opcode cannot be covered
as it directly invokes acpi_tb_load_table() without invoking
acpi_tb_install_standard_table(). Furthermore, standard table load also
cannot be covered as acpi_ns_load_table() is invoked instead of
acpi_tb_install_standard_table() and acpi_tb_load_table().
So it becomes a problem if a duplicate table is in RSDT/XSDT, there is no
such check implemented for static load tables and LoadTable opcode.
This patchset combines code paths (in return reduces some redundant code
blocks and enhances checks/locks) so that duplicate table detection can be
applied to all cases.
Lv Zheng (7):
ACPICA: Tables: Cleanup table handler invokers
ACPICA: Tables: Add sanity check for load_table opcode
ACPICA: Tables: Add sanity check for table install
ACPICA: Tables: Fix an unwanted exception for table reloading
ACPICA: Tables: Enable acpi_ut_is_aml_table() for all ACPICA modules
ACPICA: Tables: Add sanity check for static table load
ACPICA: Tables: Change table comparison using table header for static
load tables
drivers/acpi/acpica/actables.h | 7 +-
drivers/acpi/acpica/acutils.h | 4 +-
drivers/acpi/acpica/exconfig.c | 2 +-
drivers/acpi/acpica/nsload.c | 18 ---
drivers/acpi/acpica/tbdata.c | 288 ++++++++++++++++++++++++++++++++++++-----
drivers/acpi/acpica/tbinstal.c | 197 ++++++----------------------
drivers/acpi/acpica/tbxfload.c | 46 +------
drivers/acpi/acpica/utmisc.c | 27 ++--
include/acpi/actbl.h | 1 +
9 files changed, 325 insertions(+), 265 deletions(-)
--
2.7.4
next reply other threads:[~2017-03-15 6:36 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-15 6:36 Lv Zheng [this message]
2017-03-15 6:36 ` [RFC PATCH 0/7] ACPICA: Tables: Cleanup table sanity checks Lv Zheng
2017-03-15 6:37 ` [Devel] [RFC PATCH 5/7] ACPICA: Tables: Enable acpi_ut_is_aml_table() for all ACPICA modules Lv Zheng
2017-03-15 6:37 ` Lv Zheng
2017-03-22 7:00 ` [Devel] " Zheng, Lv
2017-03-22 7:00 ` Zheng, Lv
2017-03-22 7:10 ` Ye Xiaolong
2017-03-15 13:33 ` [RFC PATCH 0/7] ACPICA: Tables: Cleanup table sanity checks Hans de Goede
-- strict thread matches above, loose matches on Subject: below --
2017-03-15 6:36 [Devel] [RFC PATCH 1/7] ACPICA: Tables: Cleanup table handler invokers Lv Zheng
2017-03-15 6:36 ` Lv Zheng
2017-03-15 6:37 [Devel] [RFC PATCH 2/7] ACPICA: Tables: Add sanity check for load_table opcode Lv Zheng
2017-03-15 6:37 ` Lv Zheng
2017-03-22 2:45 ` [ACPICA] c74279a226: ACPI_Error:Method_parse/execution_failed[~_SB.PCI0.HEC2._INI](Node#), AE_BAD_SIGNATURE(#/psparse-#) kernel test robot
2017-03-15 6:37 [Devel] [RFC PATCH 3/7] ACPICA: Tables: Add sanity check for table install Lv Zheng
2017-03-15 6:37 ` Lv Zheng
2017-03-15 6:37 [Devel] [RFC PATCH 4/7] ACPICA: Tables: Fix an unwanted exception for table reloading Lv Zheng
2017-03-15 6:37 ` Lv Zheng
2017-03-15 6:37 [Devel] [RFC PATCH 6/7] ACPICA: Tables: Add sanity check for static table load Lv Zheng
2017-03-15 6:37 ` Lv Zheng
2017-03-15 6:37 [Devel] [RFC PATCH 7/7] ACPICA: Tables: Change table comparison using table header for static load tables Lv Zheng
2017-03-15 6:37 ` Lv Zheng
2017-03-16 6:29 [Devel] [RFC PATCH 0/7] ACPICA: Tables: Cleanup table sanity checks Zheng, Lv
2017-03-16 6:29 ` Zheng, Lv
2017-03-16 6:50 [Devel] " Zheng, Lv
2017-03-16 6:50 ` Zheng, Lv
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=cover.1489558845.git.lv.zheng@intel.com \
--to=devel@acpica.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.