From: "Rafael J. Wysocki" <rafael@kernel.org>
To: Linux ACPI <linux-acpi@vger.kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
"Dumbre, Saket" <saket.dumbre@intel.com>
Subject: [PATCH v1 06/16] ACPICA: iASL: Fix printing CDAT table header
Date: Fri, 12 Sep 2025 21:56:18 +0200 [thread overview]
Message-ID: <1943926.CQOukoFCf9@rafael.j.wysocki> (raw)
In-Reply-To: <2021361.PYKUYFuaPT@rafael.j.wysocki>
From: Ahmed Salem <x0rw3ll@gmail.com>
When disassembling CDAT AML, the lack of CDAT's common ACPI table header
should be taken into consideration when printing the table's actual
header. As the table header lacks fields like Signature, header
information is mangled and incorrect:
# $ iasl -d -ds CDAT cdat.aml
# Input file cdat.aml, Length 0xE4 (228) bytes
# ACPI: ? 0x0000000000000000 000C01 (v00 ? 00180000 ?? 23456789)
Both Signature and Length are printed incorrectly, and the remaining
fields are not applicable for this special table. To fix this, verify
acpi_gbl_CDAT is set (<-ds CDAT> via command line) and Header->Signature
is an invalid nameseg (due to the presence of non-ASCII char(s)), then
print only the explicitly-passed signature (ACPI_SIG_CDAT) and the table
length as cast with a pointer to the struct acpi_table_cdat structure.
Link: https://github.com/acpica/acpica/commit/2b5586b4
Signed-off-by: Ahmed Salem <x0rw3ll@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
drivers/acpi/acpica/tbprint.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/acpi/acpica/tbprint.c b/drivers/acpi/acpica/tbprint.c
index fd64460a2e26..049f6c2f1e32 100644
--- a/drivers/acpi/acpica/tbprint.c
+++ b/drivers/acpi/acpica/tbprint.c
@@ -121,6 +121,14 @@ acpi_tb_print_table_header(acpi_physical_address address,
ACPI_CAST_PTR(struct acpi_table_rsdp,
header)->revision,
local_header.oem_id));
+ } else if (acpi_gbl_CDAT && !acpi_ut_valid_nameseg(header->signature)) {
+
+ /* CDAT does not use the common ACPI table header */
+
+ ACPI_INFO(("%-4.4s 0x%8.8X%8.8X %06X",
+ ACPI_SIG_CDAT, ACPI_FORMAT_UINT64(address),
+ ACPI_CAST_PTR(struct acpi_table_cdat,
+ header)->length));
} else {
/* Standard ACPI table with full common header */
--
2.51.0
next prev parent reply other threads:[~2025-09-12 20:06 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-12 19:51 [PATCH v1 00/16] ACPICA: ACPICA 20250807 Rafael J. Wysocki
2025-09-12 19:52 ` [PATCH v1 01/16] ACPICA: Modify variable definition position Rafael J. Wysocki
2025-09-12 19:53 ` [PATCH v1 02/16] ACPICA: Remove redundant "#ifdef" definitions Rafael J. Wysocki
2025-09-12 19:54 ` [PATCH v1 03/16] ACPICA: Change the compilation conditions Rafael J. Wysocki
2025-09-12 19:54 ` [PATCH v1 04/16] ACPICA: Allow to skip Global Lock initialization Rafael J. Wysocki
2025-09-12 19:55 ` [PATCH v1 05/16] ACPICA: Apply ACPI_NONSTRING Rafael J. Wysocki
2025-09-12 19:56 ` Rafael J. Wysocki [this message]
2025-09-12 19:58 ` [PATCH v1 07/16] ACPICA: acpidump: drop ACPI_NONSTRING attribute from file_name Rafael J. Wysocki
2025-09-12 19:59 ` [PATCH v1 08/16] ACPICA: Debugger: drop ACPI_NONSTRING attribute from name_seg Rafael J. Wysocki
2025-09-12 20:00 ` [PATCH v1 09/16] ACPICA: dispatcher: Use acpi_ds_clear_operands() in acpi_ds_call_control_method() Rafael J. Wysocki
2025-09-12 20:01 ` [PATCH v1 10/16] ACPICA: Update dsmethod.c to get rid of unused variable warning Rafael J. Wysocki
2025-09-12 20:01 ` [PATCH v1 11/16] ACPICA: Print error messages for too few or too many arguments Rafael J. Wysocki
2025-09-12 20:02 ` [PATCH v1 12/16] ACPICA: Update version to 20250807 Rafael J. Wysocki
2025-09-12 20:03 ` [PATCH v1 13/16] ACPICA: Fix largest possible resource descriptor index Rafael J. Wysocki
2025-09-12 20:04 ` [PATCH v1 14/16] ACPICA: CEDT: Add Back-Invalidate restriction to CXL Window Rafael J. Wysocki
2025-09-12 20:05 ` [PATCH v1 15/16] ACPICA: ACPI_TYPE_ANY does not include the package type Rafael J. Wysocki
2025-09-12 20:06 ` [PATCH v1 16/16] ACPICA: acpidump: fix return values in ap_is_valid_checksum() 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=1943926.CQOukoFCf9@rafael.j.wysocki \
--to=rafael@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=saket.dumbre@intel.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