From: Jason Gunthorpe <jgg@ziepe.ca>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: "Leon Romanovsky" <leon@kernel.org>,
"Alex Williamson" <alex@shazbot.org>,
"Uwe Kleine-König" <u.kleine-koenig@baylibre.com>,
"Armin Wolf" <W_Armin@gmx.de>,
"David Lechner" <dlechner@baylibre.com>,
"Danilo Krummrich" <dakr@kernel.org>,
"Luis Chamberlain" <mcgrof@kernel.org>,
"Petr Pavlu" <petr.pavlu@suse.com>,
"Daniel Gomez" <da.gomez@kernel.org>,
"Sami Tolvanen" <samitolvanen@google.com>,
"Aaron Tomlin" <atomlin@atomlin.com>,
"Jonathan Corbet" <corbet@lwn.net>,
"Shuah Khan" <skhan@linuxfoundation.org>,
"Randy Dunlap" <rdunlap@infradead.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Masami Hiramatsu" <mhiramat@kernel.org>,
"Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>,
"Bradley Morgan" <brads@mainlining.org>,
"Aleksandr Nogikh" <nogikh@google.com>,
linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, linux-usb@vger.kernel.org,
driver-core@lists.linux.dev, linux-trace-kernel@vger.kernel.org,
"Johan Hovold" <johan@kernel.org>,
"Richard Weinberger" <richard@nod.at>,
"Thierry Reding" <thierry.reding@kernel.org>,
"Bjorn Helgaas" <helgaas@kernel.org>,
linux-pci@vger.kernel.org
Subject: Re: [PATCH v4 0/3] driver core: add TAINT_FORCED_BIND for when userspace manually messes with devices and drivers
Date: Mon, 26 Oct 2026 19:55:04 -0300 [thread overview]
Message-ID: <20261026225504.GC1685504@ziepe.ca> (raw)
In-Reply-To: <2026102654-enlighten-perkiness-193c@gregkh>
On Mon, Oct 26, 2026 at 09:27:25PM +0100, Greg Kroah-Hartman wrote:
> > > Sorry, late to the party, but this isn't a few user scripts that rely
> > > on this behavior. Effectively every use case of vfio relies on this
> > > behavior. We rely on unbinding the default driver from the device
> > > before using driver_override and drivers_probe. That means every
> > > hypervisor with device assignment and every userspace driver use case
> > > now experiences a tainted kernel. That seems like a significant
> > > regression.
> >
> > Sorry, I was on vacation and missed this change earlier. This change will
> > affect SR-IOV deployments around the world, which *rely* on being able to
> > bind a driver manually *after* virtual functions are created but before
> > they are used.
>
> Why can't a real driver bind to those virtual functions? Like is
> happening in the rust apis?
Most people using SRIOV will bind the VFs to the VFIO driver.
The rest, it is the same as the CC case, there needs to be a gap after
creating the PCI VF functions and before binding a real driver, with a
proper match and a correct id.
This is usually managed by clearing drivers_autoprobe
Ie look at commit b8c5cec23d5c ("Driver core: udev triggered
device-<>driver binding") from 2007 explaining this workflow.
The taint on sysfs unbind makes zero sense here because we can trigger
unbind of those VFs just by disabling SRIOV through sysfs. Should we
taint that too?
> > This is needed for two reasons: to save hardware and software resources
> > when creating a large number of VFs, and to allow the PCI config space to
> > be configured *before* the driver starts using it.
>
> How is hardware and software resources an issue here at all?
If you create a 1024 VFs, which is what people on big servers seem to
do, then that can use 1024 x megabytes of resources to load all those
drivers which will memory exhaust a hypervisor.
This is a real case actual users run into, I saw the support requests
go by :|
> And you can write to PCI config space from userspace today,
Not allowed in lockdown, triggered by secure boot, which pretty much
every server uses.
> > There is no in-kernel alternative.
>
> Then just don't have a in-kernel driver for the device and all is good?
What? How do you use the HW then? Is this a serious reply?
Jason
next prev parent reply other threads:[~2026-10-26 22:55 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-14 14:30 [PATCH v4 0/3] driver core: add TAINT_FORCED_BIND for when userspace manually messes with devices and drivers Greg Kroah-Hartman
2026-09-14 14:30 ` [PATCH v4 1/3] module: pull out add_taint_module() to be public Greg Kroah-Hartman
2026-09-14 14:30 ` [PATCH v4 2/3] module: fix up documentation for add_taint() and add_taint_module() Greg Kroah-Hartman
2026-09-14 14:42 ` Bradley Morgan
2026-09-18 15:44 ` Aaron Tomlin
2026-09-14 14:30 ` [PATCH v4 3/3] driver core: add TAINT_FORCED_BIND for when userspace manually messes with devices and drivers Greg Kroah-Hartman
2026-09-18 16:39 ` [PATCH v4 0/3] " Danilo Krummrich
2026-09-18 17:25 ` Greg Kroah-Hartman
2026-09-18 17:29 ` Bradley Morgan
2026-09-22 7:39 ` Uwe Kleine-König
2026-09-22 13:40 ` David Lechner
2026-09-22 21:04 ` Armin Wolf
2026-09-23 6:29 ` Uwe Kleine-König
2026-09-23 9:27 ` Greg Kroah-Hartman
2026-09-23 9:54 ` Uwe Kleine-König
2026-09-23 10:29 ` Greg Kroah-Hartman
2026-10-24 0:13 ` Alex Williamson
2026-10-24 4:56 ` Greg Kroah-Hartman
2026-10-24 7:32 ` Uwe Kleine-König
2026-10-24 8:03 ` Danilo Krummrich
2026-10-24 16:35 ` Alex Williamson
2026-10-26 20:34 ` Greg Kroah-Hartman
2026-10-27 6:03 ` Michal Pecio
2026-10-25 12:48 ` Uwe Kleine-König
2026-10-26 22:59 ` Jason Gunthorpe
2026-10-26 12:22 ` Leon Romanovsky
2026-10-26 18:43 ` Jason Gunthorpe
2026-10-26 20:05 ` Greg Kroah-Hartman
2026-10-26 22:46 ` Jason Gunthorpe
2026-10-26 20:27 ` Greg Kroah-Hartman
2026-10-26 22:55 ` Jason Gunthorpe [this message]
2026-09-23 20:52 ` Armin Wolf
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=20261026225504.GC1685504@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=W_Armin@gmx.de \
--cc=alex@shazbot.org \
--cc=atomlin@atomlin.com \
--cc=brads@mainlining.org \
--cc=corbet@lwn.net \
--cc=da.gomez@kernel.org \
--cc=dakr@kernel.org \
--cc=dlechner@baylibre.com \
--cc=driver-core@lists.linux.dev \
--cc=gregkh@linuxfoundation.org \
--cc=helgaas@kernel.org \
--cc=johan@kernel.org \
--cc=leon@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mcgrof@kernel.org \
--cc=mhiramat@kernel.org \
--cc=nogikh@google.com \
--cc=petr.pavlu@suse.com \
--cc=rafael@kernel.org \
--cc=rdunlap@infradead.org \
--cc=richard@nod.at \
--cc=rostedt@goodmis.org \
--cc=samitolvanen@google.com \
--cc=skhan@linuxfoundation.org \
--cc=thierry.reding@kernel.org \
--cc=u.kleine-koenig@baylibre.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox