From: Jamie Nguyen <jamien@nvidia.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Len Brown <lenb@kernel.org>, Tony Luck <tony.luck@intel.com>,
"Punit Agrawal" <punitagrawal@gmail.com>,
<linux-acpi@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: [PATCH v2 0/2] ACPI: sysfs: Expose BDAT data region
Date: Mon, 12 Oct 2026 16:06:30 -0700 [thread overview]
Message-ID: <20261012230632.3574987-1-jamien@nvidia.com> (raw)
The BIOS Data ACPI Table (BDAT) points to a firmware data structure that
carries memory training results and other boot-time data. Patch 2 exposes
that data as /sys/firmware/acpi/tables/data/BDAT, like the existing BERT
and CCEL data files.
Patch 1 fixes a leak in the existing data file code, where data_attr is
not freed if sysfs_create_bin_file() fails. It moves the file creation and
the cleanup into acpi_table_data_init(), and patch 2 builds on that.
Changes in v2:
- New patch 1, fixing the data_attr leak for BERT and CCEL as well.
- Patch 2: the BDAT callback only checks the table and sets the address
and size of the data, and returns -ENOMEM if mapping the header fails.
v1: https://lore.kernel.org/r/20261009232955.866131-1-jamien@nvidia.com
Tested on an arm64 server (64K pages):
- The file matches a /dev/mem dump of the data region taken in the same
boot, byte for byte, and decodes with valid CRCs.
- With lockdown=integrity, /dev/mem is refused and the file still reads.
- Malformed BDAT tables loaded via initrd table upgrade (test-only change
adding BDAT to table_sigs[]) are rejected without creating a file: no
"BDATHEAD" signature, size below the header, non-memory address space,
zero address, and a table shorter than struct acpi_table_bdat.
- With a test-only change that makes sysfs_create_bin_file() fail with
-EEXIST for one BDAT table, kmemleak reports its data_attr as leaked
without patch 1, and the data_attr is freed with patch 1 applied.
Jamie Nguyen (2):
ACPI: sysfs: Fix data_attr leak when creating a data file fails
ACPI: sysfs: Expose BDAT data region
Documentation/ABI/testing/sysfs-firmware-acpi | 12 ++++
drivers/acpi/sysfs.c | 69 ++++++++++++++++---
2 files changed, 71 insertions(+), 10 deletions(-)
base-commit: af32da41b0327b9c6a37856ba82b6760d6c8d10e
--
2.43.0
next reply other threads:[~2026-10-12 23:07 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-12 23:06 Jamie Nguyen [this message]
2026-10-12 23:06 ` [PATCH v2 1/2] ACPI: sysfs: Fix data_attr leak when creating a data file fails Jamie Nguyen
2026-10-12 23:06 ` [PATCH v2 2/2] ACPI: sysfs: Expose BDAT data region Jamie Nguyen
2026-10-13 2:12 ` Jamie Nguyen
2026-10-13 10:53 ` Rafael J. Wysocki (Intel)
2026-10-13 18:11 ` Jamie Nguyen
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=20261012230632.3574987-1-jamien@nvidia.com \
--to=jamien@nvidia.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=punitagrawal@gmail.com \
--cc=rafael@kernel.org \
--cc=tony.luck@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 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.