All of lore.kernel.org
 help / color / mirror / Atom feed
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


             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.