From: Cengiz Can <cengiz.can@canonical.com>
To: Wolfram Sang <wsa+renesas@sang-engineering.com>
Cc: Linus Walleij <linusw@kernel.org>,
Bartosz Golaszewski <brgl@kernel.org>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 0/2] gpio: sloppy-logic-analyzer: fix debugfs UAF on unbind
Date: Fri, 31 Jul 2026 01:02:56 +0300 [thread overview]
Message-ID: <20260730220258.358169-1-cengiz.can@canonical.com> (raw)
Patch 1 fixes a use-after-free. The "trigger" debugfs file uses
debugfs_create_file_unsafe() with a hand-rolled ->write that dereferences
the devres-freed gpio_la_poll_priv without holding a debugfs reference, so
an unbind racing a write frees the object under the handler. Switching to
debugfs_create_file() makes debugfs_remove_recursive() drain the handler
first.
Patch 2 converts the sibling "buf_size" and "capture" files to
debugfs_create_file() as well, for consistency. They were already safe via
DEFINE_DEBUGFS_ATTRIBUTE(); this is the cleanup requested on v1.
v1 was a single patch that fixed only "trigger". v2 splits it so the fix
carries the stable tag on its own, and adds the consistency conversion as a
separate cleanup.
Note: while testing this I found a pre-existing deadlock in the driver
(gpio_la_poll_remove() holds blob_lock across debugfs_remove_recursive(),
which drains the buf_size/capture handlers that also take blob_lock). It is
unrelated to this series; I will send it separately.
Cengiz Can (2):
gpio: sloppy-logic-analyzer: fix use-after-free via debugfs trigger on
unbind
gpio: sloppy-logic-analyzer: use debugfs_create_file() for buf_size
and capture
drivers/gpio/gpio-sloppy-logic-analyzer.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--
2.43.0
next reply other threads:[~2026-07-30 22:03 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-30 22:02 Cengiz Can [this message]
2026-07-30 22:02 ` [PATCH v2 1/2] gpio: sloppy-logic-analyzer: fix use-after-free via debugfs trigger on unbind Cengiz Can
2026-08-01 20:34 ` Wolfram Sang
2026-07-30 22:02 ` [PATCH v2 2/2] gpio: sloppy-logic-analyzer: use debugfs_create_file() for buf_size and capture Cengiz Can
2026-08-01 20:36 ` Wolfram Sang
2026-08-10 10:50 ` (subset) [PATCH v2 0/2] gpio: sloppy-logic-analyzer: fix debugfs UAF on unbind Bartosz Golaszewski
2026-08-26 15:08 ` Bartosz Golaszewski
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=20260730220258.358169-1-cengiz.can@canonical.com \
--to=cengiz.can@canonical.com \
--cc=brgl@kernel.org \
--cc=linusw@kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=wsa+renesas@sang-engineering.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.