From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Aron Silverton <aron.silverton@oracle.com>
Cc: Jakub Kicinski <kuba@kernel.org>,
Saeed Mahameed <saeed@kernel.org>,
Jason Gunthorpe <jgg@nvidia.com>,
David Ahern <dsahern@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
Leon Romanovsky <leonro@nvidia.com>, Jiri Pirko <jiri@nvidia.com>,
Leonid Bloch <lbloch@nvidia.com>,
Itay Avraham <itayavr@nvidia.com>,
linux-kernel@vger.kernel.org, Saeed Mahameed <saeedm@nvidia.com>
Subject: Re: [PATCH V3 2/5] misc: mlx5ctl: Add mlx5ctl misc driver
Date: Fri, 8 Dec 2023 06:27:14 +0100 [thread overview]
Message-ID: <2023120857-calculus-concerned-cef0@gregkh> (raw)
In-Reply-To: <uedlocmp2guvvhgxe2cjrjog3qf6pd7puj7idpygxxpjrnnj2p@nqmg66juf6xm>
On Thu, Dec 07, 2023 at 12:06:28PM -0600, Aron Silverton wrote:
> On Thu, Dec 07, 2023 at 09:23:29AM -0800, Jakub Kicinski wrote:
> > On Thu, 7 Dec 2023 10:41:25 -0600 Aron Silverton wrote:
> > > > I understand that having everything packaged and shipped together makes
> > > > life easier.
> > >
> > > I think it is a requirement. We operate with Secure Boot. The kernel is
> > > locked down. We don't have debugfs access, even if it were sufficient,
> > > and we cannot compile and load modules. Even without Secure Boot, there
> > > may not be a build environment available.
> >
> > This 'no debugfs' requirement is a kernel lockdown thing, I presume?
> > Are we expected to throw debugfs out the window and for all vendors
> > to reimplement their debug functionality via a misc driver taking
> > arbitrary ioctls? Not only does that sound like a complete waste of
> > time and going backward in terms of quality of the interfaces, needing
> > custom vendor tools etc. etc., but also you go from (hopefully somewhat)
> > upstream reviewed debugfs interface to an interface where the only
> > security assurance is vendor telling you "trust me, it's all good".
>
> IIRC, with lockdown, we can read from debugfs IFF the entries'
> permissions are 0400. We cannot write. It's not suitable for
> implementing an interactive debug interface.
This is a policy decision that a distro decides to do, and I have seen
it happen many times. The problem with this is then, as you have found
out, vendors try to work around the removal of access to debugfs by
creating new interfaces like misc drivers and sysfs files to emulate
what they were previously exporting with debugfs.
When they do that, they break the reason why the distro/vendor decided
to prevent access to debugfs in the first place, making the whole system
insecure again!
I see this happen all the time in Android devices as Android restricted
access to debugfs many years ago to try to solve the problem of drivers
doing insecure things there. Those drivers then just moved those
insecure operations to a different interface, making the system insecure
again.
To stop this cat-and-mouse game, work with the vendors that are
implementing these requirements to shut down access to these interfaces.
That is a policy decision made by them, and does NOT mean that the
kernel community needs to then start taking code to circumvent those
decisions as that makes the whole thing pointless.
So in short, use debugfs, that is what it was designed for. If a vendor
does not wish to enable access to debugfs, then that is their decision
(probably a good one), don't circumvent it by making a new interface, as
odds are, the vendor will eventually realize it and work to cut off that
new interface as well, as they rightfully should.
thanks,
greg k-h
next prev parent reply other threads:[~2023-12-08 5:27 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-21 7:06 [PATCH V3 0/5] mlx5 ConnectX control misc driver Saeed Mahameed
2023-11-21 7:06 ` [PATCH V3 1/5] mlx5: Add aux dev for ctl interface Saeed Mahameed
2023-11-21 7:06 ` [PATCH V3 2/5] misc: mlx5ctl: Add mlx5ctl misc driver Saeed Mahameed
2023-11-27 13:36 ` Greg Kroah-Hartman
2023-11-27 14:40 ` Jason Gunthorpe
2023-11-27 15:51 ` Greg Kroah-Hartman
2023-11-27 16:17 ` Jason Gunthorpe
2023-11-27 18:27 ` Greg Kroah-Hartman
2023-11-27 19:26 ` Saeed Mahameed
2023-11-28 0:07 ` Jakub Kicinski
2023-11-28 4:46 ` David Ahern
2023-11-28 14:53 ` Jakub Kicinski
2023-11-28 16:24 ` Jason Gunthorpe
2023-11-28 16:44 ` Jakub Kicinski
2023-11-28 17:52 ` Jason Gunthorpe
2023-11-28 18:33 ` Jakub Kicinski
2023-11-28 19:55 ` Saeed Mahameed
2023-11-28 20:10 ` Saeed Mahameed
2023-11-29 9:08 ` Greg Kroah-Hartman
2023-12-04 21:37 ` Aron Silverton
2023-12-05 2:52 ` Jakub Kicinski
2023-12-05 17:11 ` Aron Silverton
2023-12-06 4:48 ` Jakub Kicinski
2023-12-07 15:54 ` David Ahern
2023-12-07 16:20 ` Jakub Kicinski
2023-12-07 16:41 ` Aron Silverton
2023-12-07 17:23 ` Jakub Kicinski
2023-12-07 18:06 ` Aron Silverton
2023-12-07 19:02 ` Saeed Mahameed
2023-12-08 5:29 ` Greg Kroah-Hartman
2023-12-08 13:34 ` Jason Gunthorpe
2023-12-08 5:27 ` Greg Kroah-Hartman [this message]
2023-12-08 12:52 ` Jason Gunthorpe
2023-12-07 18:54 ` Saeed Mahameed
2023-12-13 16:55 ` Christoph Hellwig
2023-11-28 19:31 ` Saeed Mahameed
2023-11-28 16:52 ` David Ahern
2023-11-27 18:59 ` Greg Kroah-Hartman
2023-11-29 9:08 ` Saeed Mahameed
2023-11-29 9:20 ` Greg Kroah-Hartman
2023-11-29 13:02 ` Jason Gunthorpe
2023-11-29 15:41 ` Greg Kroah-Hartman
2023-11-29 18:07 ` Jason Gunthorpe
2023-11-21 7:06 ` [PATCH V3 3/5] misc: mlx5ctl: Add info ioctl Saeed Mahameed
2023-11-27 19:09 ` Greg Kroah-Hartman
2023-11-27 20:39 ` Saeed Mahameed
2023-11-28 9:13 ` Greg Kroah-Hartman
2023-11-29 8:53 ` Saeed Mahameed
2023-11-21 7:06 ` [PATCH V3 4/5] misc: mlx5ctl: Add command rpc ioctl Saeed Mahameed
2023-11-21 7:06 ` [PATCH V3 5/5] misc: mlx5ctl: Add umem reg/unreg ioctl Saeed Mahameed
2023-11-21 20:44 ` Jakub Kicinski
2023-11-21 21:04 ` Saeed Mahameed
2023-11-21 22:10 ` Jakub Kicinski
2023-11-21 22:52 ` Saeed Mahameed
2023-11-21 22:18 ` David Ahern
2023-11-21 22:46 ` Saeed Mahameed
2023-11-21 23:46 ` Jason Gunthorpe
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=2023120857-calculus-concerned-cef0@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=arnd@arndb.de \
--cc=aron.silverton@oracle.com \
--cc=dsahern@kernel.org \
--cc=itayavr@nvidia.com \
--cc=jgg@nvidia.com \
--cc=jiri@nvidia.com \
--cc=kuba@kernel.org \
--cc=lbloch@nvidia.com \
--cc=leonro@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=saeed@kernel.org \
--cc=saeedm@nvidia.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;
as well as URLs for NNTP newsgroup(s).