mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: syzbot <syzbot+5725792ce6a9938d1b24@syzkaller.appspotmail.com>
To: linux-kernel@vger.kernel.org
Subject: Forwarded: Re: [syzbot] [acpica?] KASAN: use-after-free Read in acpi_ns_get_attached_object
Date: Tue, 27 Oct 2026 11:12:57 -0700	[thread overview]
Message-ID: <6ae0e9a9.47d0a7c9.33355c.007a.GAE@google.com> (raw)
In-Reply-To: <6a682bf7.70955b6c.323240.0052.GAE@google.com>

For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org.

***

Subject: Re: [syzbot] [acpica?] KASAN: use-after-free Read in acpi_ns_get_attached_object
Author: jeff@incrediblybased.co

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master

diff --git a/drivers/acpi/acpica/utdelete.c
b/drivers/acpi/acpica/utdelete.c index e818009..28a13f0 100644
--- a/drivers/acpi/acpica/utdelete.c
+++ b/drivers/acpi/acpica/utdelete.c
@@ -558,12 +558,18 @@ acpi_ut_update_object_reference(union
acpi_operand_object *object, u16 action)
/*
* For complex sub-objects, push them onto the stack
* for later processing (this eliminates recursion.)
+ * If no state can be allocated, update the sub-object
+ * right away. Abandoning the walk here would leave
+ * this object and the remaining sub-objects with
+ * unbalanced reference counts.
*/
status =
acpi_ut_create_update_state_and_push
(next_object, action, &state_list);
if (ACPI_FAILURE(status)) {
- goto error_exit;
+ (void)
+ acpi_ut_update_object_reference
+ (next_object, action);
}
break;
}
@@ -587,7 +593,10 @@ acpi_ut_update_object_reference(union
acpi_operand_object *object, u16 action)
action,
&state_list);
if (ACPI_FAILURE(status)) {
- goto error_exit;
+ (void)acpi_ut_update_object_reference(object->
+ bank_field.
+ region_obj,
+ action);
}
break;

@@ -601,7 +610,10 @@ acpi_ut_update_object_reference(union
acpi_operand_object *object, u16 action)
action,
&state_list);
if (ACPI_FAILURE(status)) {
- goto error_exit;
+ (void)acpi_ut_update_object_reference(object->
+ index_field.
+ data_obj,
+ action);
}
break;

@@ -645,20 +657,6 @@ acpi_ut_update_object_reference(union
acpi_operand_object *object, u16 action)
}

return (AE_OK);
-
-error_exit:
-
- ACPI_EXCEPTION((AE_INFO, status,
- "Could not update object reference count"));
-
- /* Free any stacked Update State objects */
-
- while (state_list) {
- state = acpi_ut_pop_generic_state(&state_list);
- acpi_ut_delete_generic_state(state);
- }
-
- return (status);
}

/*******************************************************************************

  parent reply	other threads:[~2026-10-27 18:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-28  4:11 syzbot
2026-07-29  1:08 ` syzbot
2026-10-27 18:12 ` syzbot [this message]
2026-10-27 18:17 ` Forwarded: " syzbot

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=6ae0e9a9.47d0a7c9.33355c.007a.GAE@google.com \
    --to=syzbot+5725792ce6a9938d1b24@syzkaller.appspotmail.com \
    --cc=linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®