All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <mcgrof@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Luis R. Rodriguez" <mcgrof@kernel.org>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	"Herbert, Marc" <marc.herbert@intel.com>,
	"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
	Jacek Anaszewski <j.anaszewski@samsung.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Christian Lamparter <chunkeey@googlemail.com>,
	Julia Lawall <Julia.Lawall@lip6.fr>,
	Andrew Morton <akpm@linux-foundation.org>,
	linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
	Mimi Zohar <zohar@linux.vnet.ibm.com>,
	Andy Lutomirski <luto@amacapital.net>,
	Richard Purdie <rpurdie@rpsys.net>,
	Wu Fengguang <fengguang.wu@intel.com>,
	Johannes Berg <johannes@sipsolutions.net>,
	Michal Marek <mmarek@suse.com>, Hauke Mehrtens <hauke@hauke-m.de>,
	Mark Brown <broonie@kernel.org>, Jiri Slaby <jslaby@suse.com>,
	Ming Lei <ming.lei@canonical.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Felix Fietkau <nbd@nbd.name>, Roman Pen <r.peniaev@gmail.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Vikram Mulukutla <markivx@codeaurora.org>,
	Stephen Boyd <stephen.boyd@linaro.org>,
	Takashi Iwai <tiwai@suse.de>, Jeff Mahoney <jeffm@suse.com>,
	Hariprasad S <hariprasad@chelsio.com>,
	Benjamin Poirier <bpoirier@suse.de>,
	Josh Triplett <josh@joshtriplett.org>,
	Kees Cook <keescook@chromium.org>
Subject: Re: [RFC] fs: add userspace critical mounts event support
Date: Wed, 5 Oct 2016 19:38:35 +0200	[thread overview]
Message-ID: <20161005173835.GC3296@wotan.suse.de> (raw)
In-Reply-To: <CA+55aFwzVL=gkQ3GnOs+K1OHor7tjwA=9uh-Jfwz8J3KyvJ=8A@mail.gmail.com>

On Tue, Oct 04, 2016 at 05:32:22PM -0700, Linus Torvalds wrote:
> On Tue, Oct 4, 2016 at 5:24 PM, Luis R. Rodriguez <mcgrof@kernel.org> wrote:
> >
> > Note that the races are beyond firmware, so all
> > kernel_read_file_from_path() users, as such re-using such old /sys/
> > interafeces for firmware will not suffice to cover all ground now for
> > the same race for other possible users.
> 
> Blah blah blah.
> 
> The reason I've hated this whole discussion is that it's full of
> "let's re-architect everything", and then it has these horribly warty
> interfaces.

To be clear, kernel_read_file_from_path() was an agreed upon strategy
about 1 year ago at the Linux Security summit as we found different
kernel implementations for the same exact task, reading files from
the filesystem -- my point here was simply that acknowledging that the
race on early init and driver's init / probe for firmware is implicating
that the race is *also* possible for the other kernel-read-from-fs points.
Its not clear to me what your grudge here is other than the proposal
for a solution in this patch is not what we want.

> It's classic second-system syndrome.
> 
> Just do *one* thing, and do it well. Don't change anything else. Don't
> force existign drivers to use new interfaces. Don't over-architect,
> and don't do stupid interfaces.

If there is a race for the other users and we want to avoid wrapping
a solution for it to the other callers without doing any vetting for
correctness then so be it, but to disregard completely seems error-prone.
I accept that thinking about such other users may complicate a solution
for firmware and if you prefer we just separate the race solution for
both that's fine.

> If user-space mounts a new filesystem (or just unpacks files from a
> tar-file that has firmware images in it, for chissake), that is not
> some magical "critical mount event". The whole concept is just stupid.
> Is it a "mount event" when the user downloads a new firmware image
> from the internet?
> 
> HELL NO.

We've gotten passed that the original implementation proposed is not what we
want, let's move on.

> But what is equally stupid is to then dismiss simple models because
> some totally unrelated "beyond firmware" issue.

I have not heard back from the other stakeholders using
kernel_read_file_from_path() and possible races for them. You seem to suggest
to ignore those possible theoretical races in the name of a simple solution for
firmware. Fine.

> Anything that is "beyond firmware" shouldn't even be discussed, for
> chrissake! It has nothing what-so-ever to do with firmware loading. If
> there ends up being some common helper functions, and shared code,
> that *still* doesn't make it so.

My point was to raise the flag of the possible races on the other call sites
where we read files directly from the kernel, that's all, if we agree we really
don't care for that fine.

> Basic rules of thumb:
> 
>  (a) don't over-design
> 
>  (b) don't have stupid illogical interfaces
> 
>  (c) don't conflate different issues just because you think they may
> have shared code.
> 
>  (4) be consistent. Don't make up new interfaces, and most certainly
> do *NOT* dismiss something just because it's what we have done before.
> 
> That's it.

OK..

  Luis

  reply	other threads:[~2016-10-05 17:38 UTC|newest]

Thread overview: 145+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-16 22:54 [PATCH v2 0/5] firmware: add SmPL grammar to avoid issues Luis R. Rodriguez
2016-06-16 22:54 ` [PATCH v2 1/5] MAINTAINERS: extend firmware_class maintainer list Luis R. Rodriguez
2016-06-16 22:54 ` [PATCH v2 2/5] firmware: annotate thou shalt not request fw on init or probe Luis R. Rodriguez
2016-06-16 22:54   ` [Cocci] " Luis R. Rodriguez
2016-06-16 22:54   ` Luis R. Rodriguez
2016-08-24  6:55   ` Daniel Vetter
2016-08-24  6:55     ` [Cocci] " Daniel Vetter
2016-08-24  6:55     ` Daniel Vetter
2016-08-24 20:39     ` Luis R. Rodriguez
2016-08-24 20:39       ` [Cocci] " Luis R. Rodriguez
2016-08-24 20:39       ` Luis R. Rodriguez
2016-08-25 11:05       ` Daniel Vetter
2016-08-25 11:05         ` [Cocci] " Daniel Vetter
2016-08-25 11:05         ` Daniel Vetter
2016-08-25 19:41         ` Luis R. Rodriguez
2016-08-25 19:41           ` [Cocci] " Luis R. Rodriguez
2016-08-25 19:41           ` Luis R. Rodriguez
2016-08-25 20:10           ` Daniel Vetter
2016-08-25 20:10             ` [Cocci] " Daniel Vetter
2016-08-25 20:10             ` Daniel Vetter
2016-08-25 20:25             ` Luis R. Rodriguez
2016-08-25 20:25               ` [Cocci] " Luis R. Rodriguez
2016-08-25 20:25               ` Luis R. Rodriguez
2016-08-25 20:30           ` Dmitry Torokhov
2016-08-25 20:30             ` [Cocci] " Dmitry Torokhov
2016-08-25 20:30             ` Dmitry Torokhov
2016-09-02 23:59           ` Luis R. Rodriguez
2016-09-02 23:59             ` Luis R. Rodriguez
2016-09-03  0:20             ` [RFC] fs: add userspace critical mounts event support Luis R. Rodriguez
2016-09-03  0:20               ` Luis R. Rodriguez
2016-09-03  4:11               ` Linus Torvalds
2016-09-03  4:11                 ` Linus Torvalds
2016-09-03  4:20                 ` Dmitry Torokhov
2016-09-03  4:20                   ` Dmitry Torokhov
2016-09-03  4:41                   ` Linus Torvalds
2016-09-03  4:41                     ` Linus Torvalds
2016-09-03 17:49                     ` Dmitry Torokhov
2016-09-03 17:49                       ` Dmitry Torokhov
2016-09-03 18:01                       ` Linus Torvalds
2016-09-03 18:01                         ` Linus Torvalds
2016-09-03 18:10                         ` Dmitry Torokhov
2016-09-03 18:10                           ` Dmitry Torokhov
2016-09-06 21:52                           ` Luis R. Rodriguez
2016-09-06 21:52                             ` Luis R. Rodriguez
2016-09-06 22:28                             ` Bjorn Andersson
2016-09-06 22:28                               ` Bjorn Andersson
2016-09-06 23:14                               ` Luis R. Rodriguez
2016-09-06 23:14                                 ` Luis R. Rodriguez
2016-09-24  1:37                           ` Herbert, Marc
2016-09-24  1:37                           ` Herbert, Marc
2016-09-24  1:37                           ` Herbert, Marc
2016-09-24  1:37                             ` Herbert, Marc
2016-09-24 17:41                             ` Dmitry Torokhov
2016-09-24 17:41                               ` Dmitry Torokhov
2016-10-05  0:00                               ` Luis R. Rodriguez
2016-10-05  0:12                                 ` Linus Torvalds
2016-10-05  0:24                                   ` Luis R. Rodriguez
2016-10-05  0:32                                     ` Linus Torvalds
2016-10-05 17:38                                       ` Luis R. Rodriguez [this message]
2016-10-05  1:48                                   ` Josh Triplett
2016-10-05  1:58                                     ` Linus Torvalds
2016-09-06 17:46                 ` Bjorn Andersson
2016-09-06 17:46                   ` Bjorn Andersson
2016-09-06 18:32                   ` Linus Torvalds
2016-09-06 18:32                     ` Linus Torvalds
2016-09-06 21:11                     ` Bjorn Andersson
2016-09-06 21:11                       ` Bjorn Andersson
2016-09-06 21:50                       ` Linus Torvalds
2016-09-06 21:50                         ` Linus Torvalds
2016-09-06 23:04                         ` Luis R. Rodriguez
2016-09-06 23:04                           ` Luis R. Rodriguez
2016-09-24  2:51                           ` Herbert, Marc
2016-10-04 23:28                             ` Luis R. Rodriguez
2016-09-06 22:32                     ` Luis R. Rodriguez
2016-09-06 22:32                       ` Luis R. Rodriguez
2016-09-14  2:38               ` Rob Landley
2016-09-14  2:38                 ` Rob Landley
2016-10-05 18:00                 ` Luis R. Rodriguez
2016-10-05 18:00                   ` Luis R. Rodriguez
2016-10-05 18:08                   ` Linus Torvalds
2016-10-05 18:08                     ` Linus Torvalds
2016-10-05 19:46                     ` Luis R. Rodriguez
2016-10-05 19:46                       ` Luis R. Rodriguez
2016-11-08 22:47                       ` Luis R. Rodriguez
2016-11-08 22:47                         ` Luis R. Rodriguez
2016-11-09  9:13                         ` Daniel Wagner
2016-11-09  9:13                           ` Daniel Wagner
2016-11-09 11:21                           ` Andy Lutomirski
2016-11-09 11:21                             ` Andy Lutomirski
2016-11-09 23:53                             ` Luis R. Rodriguez
2016-11-09 23:53                               ` Luis R. Rodriguez
2016-11-29 21:54                             ` Luis R. Rodriguez
2016-11-29 21:54                               ` Luis R. Rodriguez
2016-11-09 23:40                         ` Luis R. Rodriguez
2016-11-09 23:40                           ` Luis R. Rodriguez
2016-11-15  9:28                         ` Johannes Berg
2016-11-15  9:28                           ` Johannes Berg
2016-11-15  9:28                           ` Johannes Berg
2016-11-29 21:10                           ` Tom Gundersen
2016-11-29 21:10                             ` Tom Gundersen
2016-11-29 21:37                             ` Luis R. Rodriguez
2016-11-29 21:37                               ` Luis R. Rodriguez
2016-11-30  8:18                               ` Johannes Berg
2016-11-30  8:18                                 ` Johannes Berg
2016-06-16 22:54 ` [PATCH v2 3/5] firmware: update usermode helper docs and add SmPL report Luis R. Rodriguez
2016-06-16 22:54 ` [PATCH v2 4/5] firmware: add usermode helper DECLARE_FW_LOADER_USER() annotation Luis R. Rodriguez
2016-06-16 22:54 ` [PATCH v2 5/5] firmware: fix fw cache to avoid usermode helper on suspend Luis R. Rodriguez
2016-07-07  0:56 ` [PATCH v2 0/5] firmware: add SmPL grammar to avoid issues Luis R. Rodriguez
2016-07-13 21:47   ` Luis R. Rodriguez
2016-07-28  0:41     ` Luis R. Rodriguez
2016-08-03 14:50       ` Luis R. Rodriguez
2016-08-03 15:04         ` Greg KH
2016-08-03 17:06           ` Luis R. Rodriguez
2016-08-03 19:32             ` Greg KH
2016-08-03 19:46               ` Luis R. Rodriguez
2016-07-13 23:52   ` Fengguang Wu
2016-07-14  2:15     ` Luis R. Rodriguez
2016-07-14  2:23       ` Fengguang Wu
2016-07-14  3:08         ` Luis R. Rodriguez
2016-07-14  3:35           ` Fengguang Wu
2016-08-24  0:45 ` [PATCH v3 " mcgrof
2016-08-24  0:45   ` [PATCH v3 1/5] MAINTAINERS: extend firmware_class maintainer list mcgrof
2016-08-24  0:45   ` [PATCH v3 2/5] firmware: annotate thou shalt not request fw on init or probe mcgrof
2016-08-24  0:45     ` [Cocci] " mcgrof at kernel.org
2016-08-24  0:45     ` mcgrof
2016-08-24  8:17     ` Gabriel Paubert
2016-08-24  8:17       ` [Cocci] " Gabriel Paubert
2016-08-24  8:17       ` Gabriel Paubert
2016-09-02 18:26       ` Luis R. Rodriguez
2016-09-02 18:26         ` Luis R. Rodriguez
2016-08-24  0:45   ` [PATCH v3 3/5] firmware: update usermode helper docs and add SmPL report mcgrof
2016-08-24  0:45   ` [PATCH v3 4/5] firmware: add usermode helper DECLARE_FW_LOADER_USER() annotation mcgrof
2016-08-24  0:45   ` [PATCH v3 5/5] firmware: fix fw cache to avoid usermode helper on suspend mcgrof
2016-08-31  7:03     ` Daniel Wagner
2016-09-02 18:13       ` Luis R. Rodriguez
2016-09-07  0:42   ` [PATCH v4 0/5] firmware: add SmPL grammar to avoid issues Luis R. Rodriguez
2016-09-07  0:42     ` [PATCH v4 1/5] MAINTAINERS: extend firmware_class maintainer list Luis R. Rodriguez
2016-09-07  6:43       ` Greg KH
2016-09-08 14:58         ` Luis R. Rodriguez
2016-09-08 15:25         ` Ming Lei
2016-09-07  0:42     ` [PATCH v4 2/5] firmware: annotate thou shalt not request fw on init or probe Luis R. Rodriguez
2016-09-07  0:42       ` Luis R. Rodriguez
2016-09-07  0:42     ` [PATCH v4 3/5] firmware: update usermode helper docs and add SmPL report Luis R. Rodriguez
2016-09-07  0:42     ` [PATCH v4 4/5] firmware: add usermode helper DECLARE_FW_LOADER_USER() annotation Luis R. Rodriguez
2016-09-07  0:42     ` [PATCH v4 5/5] firmware: fix fw cache to avoid usermode helper on suspend Luis R. Rodriguez

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=20161005173835.GC3296@wotan.suse.de \
    --to=mcgrof@kernel.org \
    --cc=Julia.Lawall@lip6.fr \
    --cc=akpm@linux-foundation.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=bpoirier@suse.de \
    --cc=broonie@kernel.org \
    --cc=chunkeey@googlemail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dmitry.torokhov@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=fengguang.wu@intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hariprasad@chelsio.com \
    --cc=hauke@hauke-m.de \
    --cc=j.anaszewski@samsung.com \
    --cc=jeffm@suse.com \
    --cc=johannes@sipsolutions.net \
    --cc=josh@joshtriplett.org \
    --cc=jslaby@suse.com \
    --cc=keescook@chromium.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@amacapital.net \
    --cc=marc.herbert@intel.com \
    --cc=markivx@codeaurora.org \
    --cc=ming.lei@canonical.com \
    --cc=mmarek@suse.com \
    --cc=nbd@nbd.name \
    --cc=r.peniaev@gmail.com \
    --cc=rpurdie@rpsys.net \
    --cc=stephen.boyd@linaro.org \
    --cc=tiwai@suse.de \
    --cc=torvalds@linux-foundation.org \
    --cc=zohar@linux.vnet.ibm.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.