From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Nickolai Zeldovich <nickolai@csail.mit.edu>
Cc: "Rafael J . Wysocki" <rafael@kernel.org>,
Danilo Krummrich <dakr@kernel.org>,
driver-core@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] driver core: unbind only the driver whose unbind file was written
Date: Sat, 17 Oct 2026 15:11:44 +0200 [thread overview]
Message-ID: <2026101740-version-overreact-7ea5@gregkh> (raw)
In-Reply-To: <CADGQE7EpdbtkzzH53Jh1yZ+nv6oCQsLiH6FDN=DxyFCwTjFE=Q@mail.gmail.com>
On Sat, Oct 17, 2026 at 08:24:03AM -0400, Nickolai Zeldovich wrote:
> On Sat, Oct 17, 2026 at 5:49 AM Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > > The pattern is as old as the unbind file: the check was never under the
> > > lock and the release never named the driver. The locked variant has
> > > existed since commit 4bdb35506b89 ("driver core: Add a wrapper around
> > > __device_release_driver()") added the drv argument to
> > > device_release_driver_internal() for driver_detach(), which has the
> > > same requirement.
> >
> > Because this has always been present, and no one has actually reported
> > this, perhaps it is not really a problem at all? In other words, what
> > real-life-use requires this? Again, bind/unbind is for developers only.
>
> The goal was to pin down a precise spec of what should happen when
> writing a device name A to /sys/bus/B/drivers/D/unbind. I think the
> intended effect is that it should unbind driver D from device A. The
> code already has a check that tries to ensure this. However, the
> check isn't technically enough to achieve this precise effect, in the
> presence of concurrent operations on other cores (like
> binding/unbinding other drivers to the same device).
You can not bind/unbind drivers to the same device at the same time, the
driver core should protect yourself from this, BUT most importantly,
bind/unbind is a "best effort, you keep the pieces of the broken kernel
when something goes wrong".
> It sounds like this level of precise specification under weird
> concurrent operations isn't useful for developer-facing interfaces.
Again no one should be doing this, and if they are, they are root and
can do much worse things :)
> I'll stick to more clear-cut bugs.
Or just prove that this is a real bug please.
> > ...
> > > Found by formal verification of drivers/base/bus.c.
> >
> > Where is the formal verification proof? Please don't have your LLM
> > claim this without that as it's pointless.
>
> The intended point was to give some indication of where this patch is
> coming from: it aims to formally prove something about the behavior of
> the kernel, rather than fix any specific issue encountered by a Linux
> user. There isn't a formal spec for the Linux user-kernel boundary,
> though (as in the above example: what exactly should happen in this
> weird concurrent scenario?), so for many cases I'm trying to infer
> what the expected spec is.
Then why did your LLM say that this was found in this way if that's not
what you really did?
People read what you wrote, you should also do so :)
thanks,
greg k-h
prev parent reply other threads:[~2026-10-17 13:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-17 2:09 [PATCH v1] driver core: unbind only the driver whose unbind file was written Nickolai Zeldovich
2026-10-17 9:49 ` Greg Kroah-Hartman
2026-10-17 12:24 ` Nickolai Zeldovich
2026-10-17 13:11 ` Greg Kroah-Hartman [this message]
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=2026101740-version-overreact-7ea5@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=dakr@kernel.org \
--cc=driver-core@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=nickolai@csail.mit.edu \
--cc=rafael@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