From: Matthew Wood <thepacketgeek@gmail.com>
To: "Rafael J. Wysocki (Intel)" <rafael@kernel.org>
Cc: Saket Dumbre <saket.dumbre@intel.com>,
Len Brown <lenb@kernel.org>,
Sudeep Holla <sudeep.holla@kernel.org>,
Bob Moore <robert.moore@intel.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
linux-acpi@vger.kernel.org, acpica-devel@lists.linux.dev,
linux-kernel@vger.kernel.org, catalin.marinas@arm.com,
kernel-team@meta.com
Subject: Re: [PATCH] ACPICA: Fix memory leak at acpi_ds_create_field()
Date: Thu, 24 Sep 2026 09:30:13 -0700 [thread overview]
Message-ID: <arVPNWY3HziZkU1p@mail.gmail.com> (raw)
In-Reply-To: <CAJZ5v0isQYRN9aZCmWty-kZpjHvZWyJT2AnRXs9RDszy7b5TkA@mail.gmail.com>
On Thu, Aug 13, 2026 at 03:39:37PM +0200, Rafael J. Wysocki (Intel) wrote:
> On Thu, Aug 13, 2026 at 3:35 PM Breno Leitao <leitao@debian.org> wrote:
> >
> > acpi_ds_create_field() allocates internal_pcc_buffer for operation
> > regions in the PCC address space.
> >
> > The function runs once per field, so a second field on the
> > same region overwrites the pointer and orphans the previous buffer.
> >
> > The matching ACPI_FREE() in acpi_ut_delete_internal_obj() only ever sees
> > the last one.
> >
> > An arm64 platform whose SSDT declares regions with multiple fields each
> > leaks two buffers at boot, as detected by kmemleak:
> >
> > unreferenced object 0xffff000051e65400 (size 192):
> > comm "swapper/0", pid 1, jiffies 4294668436
> > backtrace (crc 0):
> > __kmalloc_noprof
> > acpi_ds_create_field
> > acpi_ds_load2_end_op
> > acpi_ds_exec_end_op
> > acpi_ps_parse_loop
> > acpi_ps_parse_aml
> > acpi_ns_load_table
> > acpi_load_tables
> > acpi_init
> >
> > Do not allocate a region if it was previously allocated before,
> > preserving the current design, but, not leaking memory.
> >
> > Fixes: 0acf24ad7e10 ("ACPICA: Add support for PCC Opregion special context data")
> > Signed-off-by: Breno Leitao <leitao@debian.org>
>
> As per Documentation/driver-api/acpi/linuxized-acpica.rst, please
> submit a pull request with this change to the upstream ACPICA project
> on GitHub. The Linux patch will become applicable when there is a
> corresponding commit upstream.
>
Hi Rafael,
This change has been submitted, approved, and merged in GitHub:
https://github.com/open-acpica/acpica/commit/c71849d476bb5f97ca1867849e893368e12a69e6
Can you please review here as well? Thank you.
Regards,
Matthew
> > ---
> > drivers/acpi/acpica/dsfield.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/acpi/acpica/dsfield.c b/drivers/acpi/acpica/dsfield.c
> > index d7d56cc600d31..f7e503bf57c87 100644
> > --- a/drivers/acpi/acpica/dsfield.c
> > +++ b/drivers/acpi/acpica/dsfield.c
> > @@ -522,7 +522,8 @@ acpi_ds_create_field(union acpi_parse_object *op,
> > }
> >
> > if (info.region_node->object->region.space_id ==
> > - ACPI_ADR_SPACE_PLATFORM_COMM) {
> > + ACPI_ADR_SPACE_PLATFORM_COMM &&
> > + !region_node->object->field.internal_pcc_buffer) {
> > region_node->object->field.internal_pcc_buffer =
> > ACPI_ALLOCATE_ZEROED(info.region_node->object->region.
> > length);
> >
> > ---
> > base-commit: 28d012efb4327f9c75d5e042a7c91e9a542efa98
> > change-id: 20260813-acpica-pcc-field-leak-8f676f55179b
> >
> > Best regards,
> > --
> > Breno Leitao <leitao@debian.org>
> >
next prev parent reply other threads:[~2026-09-24 16:30 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-13 13:32 [PATCH] ACPICA: Fix memory leak at acpi_ds_create_field() Breno Leitao
2026-08-13 13:39 ` Rafael J. Wysocki (Intel)
2026-08-13 13:46 ` Breno Leitao
2026-09-24 16:30 ` Matthew Wood [this message]
2026-09-24 16:57 ` Rafael J. Wysocki (Intel)
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=arVPNWY3HziZkU1p@mail.gmail.com \
--to=thepacketgeek@gmail.com \
--cc=acpica-devel@lists.linux.dev \
--cc=catalin.marinas@arm.com \
--cc=kernel-team@meta.com \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael.j.wysocki@intel.com \
--cc=rafael@kernel.org \
--cc=robert.moore@intel.com \
--cc=saket.dumbre@intel.com \
--cc=sudeep.holla@kernel.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.