All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Andy Lutomirski <luto@amacapital.net>
Cc: "Kweh, Hock Leong" <hock.leong.kweh@intel.com>,
	Ming Lei <ming.lei@canonical.com>,
	Matt Fleming <matt@console-pimps.org>,
	Ong Boon Leong <boon.leong.ong@intel.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
	Sam Protsenko <semen.protsenko@linaro.org>,
	Peter Jones <pjones@redhat.com>, Roy Franz <roy.franz@linaro.org>,
	Borislav Petkov <bp@alien8.de>
Subject: Re: [PATCH v4 1/2] firmware_loader: introduce new API - request_firmware_direct_full_path()
Date: Wed, 15 Apr 2015 15:15:51 +0200	[thread overview]
Message-ID: <20150415131551.GB21491@kroah.com> (raw)
In-Reply-To: <CALCETrW_aXJ1iiXCa6aTE3r3J3EF_Njn5bb9=At_3ajCzPFSPg@mail.gmail.com>

On Tue, Apr 14, 2015 at 11:56:26AM -0400, Andy Lutomirski wrote:
> On Tue, Apr 14, 2015 at 10:08 AM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > On Tue, Apr 14, 2015 at 05:44:55PM +0800, Kweh, Hock Leong wrote:
> >> From: "Kweh, Hock Leong" <hock.leong.kweh@intel.com>
> >>
> >> Introduce this new API for loading firmware from a specific location
> >> instead of /lib/firmware/ by providing a full path to the firmware
> >> file.
> >
> > Ick, why would we want this?
> >
> 
> Because this mechanism should still work even if /lib is unwriteable
> (e.g it's on squashfs or a read-only NFS root).

Why would a filesystem need to be writable to read a firmware blob from?

> In this regard, UEFI capsules are very much unlike firmware_class
> firmware.  firmware_class firmwise is kind of like device drivers; it
> generally comes from the same vendor as your kernel image and
> /lib/modules, and it can be updated by the same mechanism.  UEFI
> capsules, on the other hand, are one-time things that should be loaded
> at the explicit request of the admin.

Just like BIOS updates, which use the firmware interface.

> There is no reason whatsoever
> that they should exist on persistent storage, and, in fact, there's a
> very good reason that they should not.  On little embedded devices,
> which will apparently be the initial users of this code, keeping the
> capsules around is a waste of valuable space.
> 
> This is why I think that the right approach would be to avoid using
> firmware_class entirely for this.  IMO a simple_char device would be
> the way to go (hint hint...) but other simple approaches are certainly
> possible.

A char device would be present all the time, like a sysfs file to write
the firmware to, so I don't see the difference here.  For a char device,
you would just do the normal open/write/close, just like for the
firmware interface, what is the difference?

thanks,

greg k-h

WARNING: multiple messages have this Message-ID (diff)
From: Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
To: Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
Cc: "Kweh,
	Hock Leong"
	<hock.leong.kweh-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Ming Lei <ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>,
	Matt Fleming
	<matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>,
	Ong Boon Leong
	<boon.leong.ong-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Sam Protsenko
	<semen.protsenko-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Peter Jones <pjones-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Roy Franz <roy.franz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Borislav Petkov <bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>
Subject: Re: [PATCH v4 1/2] firmware_loader: introduce new API - request_firmware_direct_full_path()
Date: Wed, 15 Apr 2015 15:15:51 +0200	[thread overview]
Message-ID: <20150415131551.GB21491@kroah.com> (raw)
In-Reply-To: <CALCETrW_aXJ1iiXCa6aTE3r3J3EF_Njn5bb9=At_3ajCzPFSPg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Tue, Apr 14, 2015 at 11:56:26AM -0400, Andy Lutomirski wrote:
> On Tue, Apr 14, 2015 at 10:08 AM, Greg Kroah-Hartman
> <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> wrote:
> > On Tue, Apr 14, 2015 at 05:44:55PM +0800, Kweh, Hock Leong wrote:
> >> From: "Kweh, Hock Leong" <hock.leong.kweh-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> >>
> >> Introduce this new API for loading firmware from a specific location
> >> instead of /lib/firmware/ by providing a full path to the firmware
> >> file.
> >
> > Ick, why would we want this?
> >
> 
> Because this mechanism should still work even if /lib is unwriteable
> (e.g it's on squashfs or a read-only NFS root).

Why would a filesystem need to be writable to read a firmware blob from?

> In this regard, UEFI capsules are very much unlike firmware_class
> firmware.  firmware_class firmwise is kind of like device drivers; it
> generally comes from the same vendor as your kernel image and
> /lib/modules, and it can be updated by the same mechanism.  UEFI
> capsules, on the other hand, are one-time things that should be loaded
> at the explicit request of the admin.

Just like BIOS updates, which use the firmware interface.

> There is no reason whatsoever
> that they should exist on persistent storage, and, in fact, there's a
> very good reason that they should not.  On little embedded devices,
> which will apparently be the initial users of this code, keeping the
> capsules around is a waste of valuable space.
> 
> This is why I think that the right approach would be to avoid using
> firmware_class entirely for this.  IMO a simple_char device would be
> the way to go (hint hint...) but other simple approaches are certainly
> possible.

A char device would be present all the time, like a sysfs file to write
the firmware to, so I don't see the difference here.  For a char device,
you would just do the normal open/write/close, just like for the
firmware interface, what is the difference?

thanks,

greg k-h

  parent reply	other threads:[~2015-04-15 13:16 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-14  9:44 [PATCH v4 0/2] Enable capsule loader interface for efi firmware updating Kweh, Hock Leong
2015-04-14  9:44 ` Kweh, Hock Leong
2015-04-14  9:44 ` [PATCH v4 1/2] firmware_loader: introduce new API - request_firmware_direct_full_path() Kweh, Hock Leong
2015-04-14  9:44   ` Kweh, Hock Leong
2015-04-14 14:08   ` Greg Kroah-Hartman
2015-04-14 15:56     ` Andy Lutomirski
2015-04-14 16:18       ` Borislav Petkov
2015-04-14 16:18         ` Borislav Petkov
2015-04-15 10:14         ` Matt Fleming
2015-04-15 10:14           ` Matt Fleming
2015-04-15 10:18           ` Borislav Petkov
2015-04-15 10:18             ` Borislav Petkov
2015-04-15 11:09             ` Matt Fleming
2015-04-15 11:09               ` Matt Fleming
2015-04-15 13:15       ` Greg Kroah-Hartman [this message]
2015-04-15 13:15         ` Greg Kroah-Hartman
2015-04-15 15:53         ` Andy Lutomirski
2015-04-15 12:48   ` Matt Fleming
2015-04-15 12:48     ` Matt Fleming
2015-04-14  9:44 ` [PATCH v4 2/2] efi: an sysfs interface for user to update efi firmware Kweh, Hock Leong
2015-04-14  9:44   ` Kweh, Hock Leong
2015-04-14 14:09   ` Greg Kroah-Hartman
2015-04-14 14:09     ` Greg Kroah-Hartman
2015-04-14 15:52     ` Andy Lutomirski
2015-04-14 15:52       ` Andy Lutomirski
2015-04-15 13:20       ` Greg Kroah-Hartman
2015-04-15 13:20         ` Greg Kroah-Hartman
2015-04-15 15:45         ` Andy Lutomirski
2015-04-15 15:45           ` Andy Lutomirski
2015-04-16  0:19           ` Roy Franz
2015-04-16  0:19             ` Roy Franz
2015-04-17 13:50             ` Greg KH
2015-04-17 13:50               ` Greg KH
2015-04-15 11:32     ` Kweh, Hock Leong
2015-04-15 11:32       ` Kweh, Hock Leong
2015-04-15 13:19       ` Greg Kroah-Hartman
2015-04-15 13:19         ` Greg Kroah-Hartman
2015-04-16  9:42         ` Kweh, Hock Leong
2015-04-17 13:49           ` Greg Kroah-Hartman
2015-04-17 13:49             ` Greg Kroah-Hartman
2015-04-17 14:36             ` Matt Fleming
2015-04-20  3:28               ` Kweh, Hock Leong
2015-04-20  3:28                 ` Kweh, Hock Leong
2015-04-20 14:43                 ` Greg Kroah-Hartman
2015-04-21  3:23                   ` Kweh, Hock Leong
2015-04-21  3:23                     ` Kweh, Hock Leong
2015-04-21  7:56                     ` Greg Kroah-Hartman
2015-04-21  7:56                       ` Greg Kroah-Hartman
2015-04-22  1:21                       ` James Bottomley
2015-04-22  1:21                         ` James Bottomley
2015-04-22  1:58                         ` Andy Lutomirski
2015-04-22  1:58                           ` Andy Lutomirski
2015-04-22  2:20                           ` James Bottomley
2015-04-22  3:24                             ` Andy Lutomirski
2015-04-22  3:24                               ` Andy Lutomirski
2015-04-22  4:51                               ` James Bottomley
2015-04-22  4:51                                 ` James Bottomley
2015-04-22 16:50                                 ` Andy Lutomirski
2015-04-22 16:50                                   ` Andy Lutomirski
2015-04-22 17:34                                   ` James Bottomley
2015-04-22 17:34                                     ` James Bottomley
2015-04-22 17:45                                     ` Andy Lutomirski
2015-04-22 17:45                                       ` Andy Lutomirski
2015-04-22 13:27                           ` Peter Jones
2015-04-22 13:27                             ` Peter Jones
2015-04-22 15:18                             ` James Bottomley
2015-04-22 15:24                               ` One Thousand Gnomes
2015-04-22 15:24                                 ` One Thousand Gnomes
2015-04-23  8:30                               ` Kweh, Hock Leong
2015-04-23  8:30                                 ` Kweh, Hock Leong
2015-04-23 14:09                                 ` James Bottomley
2015-04-24  2:14                                   ` Kweh, Hock Leong
2015-04-24  2:14                                     ` Kweh, Hock Leong
2015-04-24 15:16                                     ` James Bottomley
2015-04-24 15:16                                       ` James Bottomley
2015-04-27 21:59                                       ` Andy Lutomirski
2015-04-27 21:59                                         ` Andy Lutomirski
2015-04-27 22:35                                         ` James Bottomley
2015-04-27 22:35                                           ` James Bottomley
2015-04-27 22:40                                           ` Andy Lutomirski
2015-04-27 22:40                                             ` Andy Lutomirski
2015-04-27 22:51                                             ` James Bottomley
2015-04-27 22:51                                               ` James Bottomley
2015-04-29 11:23                                               ` Kweh, Hock Leong
2015-04-29 11:23                                                 ` Kweh, Hock Leong
2015-04-29 18:40                                                 ` Andy Lutomirski
2015-04-29 21:37                                                   ` James Bottomley
2015-04-29 21:37                                                     ` James Bottomley
2015-04-30  9:17                                                   ` Kweh, Hock Leong
2015-04-30  9:17                                                     ` Kweh, Hock Leong
2015-04-30 17:55                                                     ` Andy Lutomirski
2015-04-30 17:55                                                       ` Andy Lutomirski
2015-04-29 21:35                                                 ` James Bottomley
2015-04-29 21:35                                                   ` James Bottomley
2015-04-29 21:36                                                   ` Andy Lutomirski
2015-04-29 21:39                                                     ` James Bottomley
2015-04-29 21:42                                                       ` Andy Lutomirski
2015-04-20 17:59             ` James Bottomley
2015-04-22 15:35         ` James Bottomley
2015-04-22 15:35           ` James Bottomley
2015-04-22 15:46           ` Greg Kroah-Hartman
2015-04-22 15:46             ` Greg Kroah-Hartman
2015-04-22 16:11             ` James Bottomley
2015-04-22 16:11               ` James Bottomley
2015-04-23  9:50               ` Greg Kroah-Hartman
2015-04-23  9:50                 ` Greg Kroah-Hartman
2015-04-23 16:14                 ` James Bottomley
2015-04-23 20:38                   ` Greg Kroah-Hartman
2015-04-23 20:38                     ` Greg Kroah-Hartman

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=20150415131551.GB21491@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=boon.leong.ong@intel.com \
    --cc=bp@alien8.de \
    --cc=hock.leong.kweh@intel.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=matt@console-pimps.org \
    --cc=ming.lei@canonical.com \
    --cc=pjones@redhat.com \
    --cc=roy.franz@linaro.org \
    --cc=semen.protsenko@linaro.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 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.