[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210930153241.GE464826@rowland.harvard.edu>
Date: Thu, 30 Sep 2021 11:32:41 -0400
From: Alan Stern <stern@...land.harvard.edu>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@...ux.intel.com>,
Borislav Petkov <bp@...en8.de>, x86@...nel.org,
Bjorn Helgaas <bhelgaas@...gle.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
Andreas Noever <andreas.noever@...il.com>,
Michael Jamet <michael.jamet@...el.com>,
Yehezkel Bernat <YehezkelShB@...il.com>,
"Rafael J . Wysocki" <rafael@...nel.org>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
Jonathan Corbet <corbet@....net>,
Jason Wang <jasowang@...hat.com>,
Dan Williams <dan.j.williams@...el.com>,
Andi Kleen <ak@...ux.intel.com>,
Kuppuswamy Sathyanarayanan <knsathya@...nel.org>,
linux-kernel@...r.kernel.org, linux-pci@...r.kernel.org,
linux-usb@...r.kernel.org,
virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH v2 2/6] driver core: Add common support to skip probe for
un-authorized devices
On Thu, Sep 30, 2021 at 10:48:54AM -0400, Michael S. Tsirkin wrote:
> On Thu, Sep 30, 2021 at 10:43:05AM -0400, Alan Stern wrote:
> > I don't see any point in talking about "untrusted drivers". If a
> > driver isn't trusted then it doesn't belong in your kernel. Period.
> > When you load a driver into your kernel, you are implicitly trusting
> > it (aside from limitations imposed by security modules). The code
> > it contains, the module_init code in particular, runs with full
> > superuser permissions.
> >
> > What use is there in loading a driver but telling the kernel "I don't
> > trust this driver, so don't allow it to probe any devices"? Why not
> > just blacklist it so that it never gets modprobed in the first place?
> >
> > Alan Stern
>
> When the driver is built-in, it seems useful to be able to block it
> without rebuilding the kernel. This is just flipping it around
> and using an allow-list for cases where you want to severly
> limit the available functionality.
Does this make sense?
The only way to tell the kernel to block a built-in driver is by
using some boot-command-line option. Otherwise the driver's init
code will run before you have a chance to tell the kernel anything at
all.
So if you change your mind about whether a driver should be blocked,
all you have to do is remove the blocking option from the command
line and reboot. No kernel rebuild is necessary.
Alan Stern
Powered by blists - more mailing lists