From: Greg KH <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>
To: Roy Franz <roy.franz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>,
Borislav Petkov <bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org>,
Matt Fleming
<matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org>,
Ong Boon Leong
<boon.leong.ong-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Sam Protsenko
<semen.protsenko-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
"Kweh,
Hock Leong"
<hock.leong.kweh-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Peter Jones <pjones-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Ming Lei <ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
Subject: Re: [PATCH v4 2/2] efi: an sysfs interface for user to update efi firmware
Date: Fri, 17 Apr 2015 15:50:16 +0200 [thread overview]
Message-ID: <20150417135016.GC19794@kroah.com> (raw)
In-Reply-To: <CAFECyb-bthi74VwkF8fpZg8ZpoyORmE5X+8dbRGG1uTP8RUm_A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Wed, Apr 15, 2015 at 05:19:09PM -0700, Roy Franz wrote:
> On Wed, Apr 15, 2015 at 8:45 AM, Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org> wrote:
> > On Apr 15, 2015 6:20 AM, "Greg Kroah-Hartman"
> > <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> wrote:
> >>
> >> On Tue, Apr 14, 2015 at 11:52:48AM -0400, Andy Lutomirski wrote:
> >> > On Tue, Apr 14, 2015 at 10:09 AM, Greg Kroah-Hartman
> >> > <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> wrote:
> >> > > On Tue, Apr 14, 2015 at 05:44:56PM +0800, Kweh, Hock Leong wrote:
> >> > >> From: "Kweh, Hock Leong" <hock.leong.kweh-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> >> > >>
> >> > >> Introducing a kernel module to expose capsule loader interface
> >> > >> for user to upload capsule binaries. This module leverage the
> >> > >> request_firmware_direct_full_path() to obtain the binary at a
> >> > >> specific path input by user.
> >> > >>
> >> > >> Example method to load the capsule binary:
> >> > >> echo -n "/path/to/capsule/binary" > /sys/devices/platform/efi_capsule_loader/capsule_loader
> >> > >
> >> > > Ick, why not just have the firmware file location present, and copy it
> >> > > to the sysfs file directly from userspace, instead of this two-step
> >> > > process?
> >> >
> >> > Because it's not at all obvious how error handling should work in that case.
> >>
> >> I don't understand how the error handling is any different. The kernel
> >> ends up copying the data in through the firmware interface both ways, we
> >> just aren't creating yet-another-firmware-path in the system.
> >
> > If I run uefi-update-capsule foo.bin, I want it to complain if the
> > UEFI call fails. In contrast, if I boot and my ath10k firmware is
> > bad, there's no explicit user interaction that should fail; instead I
> > have no network device and I get to read the logs and figure out why.
> > IOW bad volatile device firmware is just like a bad device driver,
> > whereas bad UEFI capsules are problems that should be reported to
> > whatever tried to send them to UEFI.
> >
> > --Andy
> >
> There are several types of errors that can be returned by
> UpdateCapsule(), allowing
> us to distinguish between capsules that are not supported by the
> platform, capsules
> that must be updated at boot time, and capsule updates that failed due
> to a device error.
> I think we really do want this type of information returned to capsule loader.
Ok, all of that sounds like you really want a character device, with an
ioctl, to do this. Just use a misc device and your infrastructure will
be handled for you (sysfs, character device, etc.) and away you go.
thanks,
greg k-h
WARNING: multiple messages have this Message-ID (diff)
From: Greg KH <gregkh@linuxfoundation.org>
To: Roy Franz <roy.franz@linaro.org>
Cc: Andy Lutomirski <luto@amacapital.net>,
Borislav Petkov <bp@alien8.de>,
Matt Fleming <matt@console-pimps.org>,
Ong Boon Leong <boon.leong.ong@intel.com>,
"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
Sam Protsenko <semen.protsenko@linaro.org>,
"Kweh, Hock Leong" <hock.leong.kweh@intel.com>,
LKML <linux-kernel@vger.kernel.org>,
Peter Jones <pjones@redhat.com>,
Ming Lei <ming.lei@canonical.com>
Subject: Re: [PATCH v4 2/2] efi: an sysfs interface for user to update efi firmware
Date: Fri, 17 Apr 2015 15:50:16 +0200 [thread overview]
Message-ID: <20150417135016.GC19794@kroah.com> (raw)
In-Reply-To: <CAFECyb-bthi74VwkF8fpZg8ZpoyORmE5X+8dbRGG1uTP8RUm_A@mail.gmail.com>
On Wed, Apr 15, 2015 at 05:19:09PM -0700, Roy Franz wrote:
> On Wed, Apr 15, 2015 at 8:45 AM, Andy Lutomirski <luto@amacapital.net> wrote:
> > On Apr 15, 2015 6:20 AM, "Greg Kroah-Hartman"
> > <gregkh@linuxfoundation.org> wrote:
> >>
> >> On Tue, Apr 14, 2015 at 11:52:48AM -0400, Andy Lutomirski wrote:
> >> > On Tue, Apr 14, 2015 at 10:09 AM, Greg Kroah-Hartman
> >> > <gregkh@linuxfoundation.org> wrote:
> >> > > On Tue, Apr 14, 2015 at 05:44:56PM +0800, Kweh, Hock Leong wrote:
> >> > >> From: "Kweh, Hock Leong" <hock.leong.kweh@intel.com>
> >> > >>
> >> > >> Introducing a kernel module to expose capsule loader interface
> >> > >> for user to upload capsule binaries. This module leverage the
> >> > >> request_firmware_direct_full_path() to obtain the binary at a
> >> > >> specific path input by user.
> >> > >>
> >> > >> Example method to load the capsule binary:
> >> > >> echo -n "/path/to/capsule/binary" > /sys/devices/platform/efi_capsule_loader/capsule_loader
> >> > >
> >> > > Ick, why not just have the firmware file location present, and copy it
> >> > > to the sysfs file directly from userspace, instead of this two-step
> >> > > process?
> >> >
> >> > Because it's not at all obvious how error handling should work in that case.
> >>
> >> I don't understand how the error handling is any different. The kernel
> >> ends up copying the data in through the firmware interface both ways, we
> >> just aren't creating yet-another-firmware-path in the system.
> >
> > If I run uefi-update-capsule foo.bin, I want it to complain if the
> > UEFI call fails. In contrast, if I boot and my ath10k firmware is
> > bad, there's no explicit user interaction that should fail; instead I
> > have no network device and I get to read the logs and figure out why.
> > IOW bad volatile device firmware is just like a bad device driver,
> > whereas bad UEFI capsules are problems that should be reported to
> > whatever tried to send them to UEFI.
> >
> > --Andy
> >
> There are several types of errors that can be returned by
> UpdateCapsule(), allowing
> us to distinguish between capsules that are not supported by the
> platform, capsules
> that must be updated at boot time, and capsule updates that failed due
> to a device error.
> I think we really do want this type of information returned to capsule loader.
Ok, all of that sounds like you really want a character device, with an
ioctl, to do this. Just use a misc device and your infrastructure will
be handled for you (sysfs, character device, etc.) and away you go.
thanks,
greg k-h
next prev parent reply other threads:[~2015-04-17 13:50 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
[not found] ` <1429004697-28320-1-git-send-email-hock.leong.kweh-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
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
[not found] ` <CALCETrW_aXJ1iiXCa6aTE3r3J3EF_Njn5bb9=At_3ajCzPFSPg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-14 16:18 ` Borislav Petkov
2015-04-14 16:18 ` Borislav Petkov
[not found] ` <20150414161833.GE14069-fF5Pk5pvG8Y@public.gmane.org>
2015-04-15 10:14 ` Matt Fleming
2015-04-15 10:14 ` Matt Fleming
[not found] ` <20150415101455.GB4804-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2015-04-15 10:18 ` Borislav Petkov
2015-04-15 10:18 ` Borislav Petkov
[not found] ` <20150415101805.GC2282-fF5Pk5pvG8Y@public.gmane.org>
2015-04-15 11:09 ` Matt Fleming
2015-04-15 11:09 ` Matt Fleming
2015-04-15 13:15 ` Greg Kroah-Hartman
2015-04-15 13:15 ` Greg Kroah-Hartman
2015-04-15 15:53 ` Andy Lutomirski
[not found] ` <1429004697-28320-2-git-send-email-hock.leong.kweh-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
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
[not found] ` <1429004697-28320-3-git-send-email-hock.leong.kweh-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2015-04-14 14:09 ` Greg Kroah-Hartman
2015-04-14 14:09 ` Greg Kroah-Hartman
[not found] ` <20150414140914.GE5989-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-04-14 15:52 ` Andy Lutomirski
2015-04-14 15:52 ` Andy Lutomirski
[not found] ` <CALCETrWeW8Gp9QFGCVhPmNo_Z+xsCJN7LYMPD6XNc92_dKMz3g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-15 13:20 ` Greg Kroah-Hartman
2015-04-15 13:20 ` Greg Kroah-Hartman
[not found] ` <20150415132000.GD21491-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-04-15 15:45 ` Andy Lutomirski
2015-04-15 15:45 ` Andy Lutomirski
[not found] ` <CALCETrWUTjTLmwPZAwXrj06SwYaSX_7+XSTsVun2+HYC4wsqZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-16 0:19 ` Roy Franz
2015-04-16 0:19 ` Roy Franz
[not found] ` <CAFECyb-bthi74VwkF8fpZg8ZpoyORmE5X+8dbRGG1uTP8RUm_A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-17 13:50 ` Greg KH [this message]
2015-04-17 13:50 ` Greg KH
2015-04-15 11:32 ` Kweh, Hock Leong
2015-04-15 11:32 ` Kweh, Hock Leong
[not found] ` <F54AEECA5E2B9541821D670476DAE19C2B8D2AEA-j2khPEwRog0FyVwBAnZdSLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-15 13:19 ` Greg Kroah-Hartman
2015-04-15 13:19 ` Greg Kroah-Hartman
2015-04-16 9:42 ` Kweh, Hock Leong
[not found] ` <F54AEECA5E2B9541821D670476DAE19C2B8D2E74-j2khPEwRog0FyVwBAnZdSLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-17 13:49 ` Greg Kroah-Hartman
2015-04-17 13:49 ` Greg Kroah-Hartman
2015-04-17 14:36 ` Matt Fleming
[not found] ` <20150417143640.GB3671-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2015-04-20 3:28 ` Kweh, Hock Leong
2015-04-20 3:28 ` Kweh, Hock Leong
2015-04-20 14:43 ` Greg Kroah-Hartman
[not found] ` <20150420144323.GA7261-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-04-21 3:23 ` Kweh, Hock Leong
2015-04-21 3:23 ` Kweh, Hock Leong
[not found] ` <F54AEECA5E2B9541821D670476DAE19C2CC11869-j2khPEwRog0FyVwBAnZdSLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-21 7:56 ` Greg Kroah-Hartman
2015-04-21 7:56 ` Greg Kroah-Hartman
[not found] ` <20150421075620.GA11000-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-04-22 1:21 ` James Bottomley
2015-04-22 1:21 ` James Bottomley
[not found] ` <1429665679.2207.44.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-22 1:58 ` Andy Lutomirski
2015-04-22 1:58 ` Andy Lutomirski
2015-04-22 2:20 ` James Bottomley
[not found] ` <1429669228.2207.46.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-22 3:24 ` Andy Lutomirski
2015-04-22 3:24 ` Andy Lutomirski
[not found] ` <CALCETrVsmQxoJ6WxVnW03Q9Hq8oH=zuv662S6TJxFwb26d=erQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-22 4:51 ` James Bottomley
2015-04-22 4:51 ` James Bottomley
[not found] ` <1429678269.18798.9.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-22 16:50 ` Andy Lutomirski
2015-04-22 16:50 ` Andy Lutomirski
[not found] ` <CALCETrU5u5nUJB4i0KRPZGvXgohW5ojxxOOv-_pR2OLmypvXyw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-22 17:34 ` James Bottomley
2015-04-22 17:34 ` James Bottomley
[not found] ` <1429724049.2195.44.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-22 17:45 ` Andy Lutomirski
2015-04-22 17:45 ` Andy Lutomirski
[not found] ` <CALCETrX9GZmWnfkm-CwKW-2mPvRbNcRaY6tUY=8e0THsPBKMcA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-22 13:27 ` Peter Jones
2015-04-22 13:27 ` Peter Jones
2015-04-22 15:18 ` James Bottomley
[not found] ` <1429715913.2195.22.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
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
[not found] ` <1429798187.2170.3.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-24 2:14 ` Kweh, Hock Leong
2015-04-24 2:14 ` Kweh, Hock Leong
[not found] ` <F54AEECA5E2B9541821D670476DAE19C2CC12798-j2khPEwRog0FyVwBAnZdSLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-24 15:16 ` James Bottomley
2015-04-24 15:16 ` James Bottomley
[not found] ` <1429888575.2182.20.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-27 21:59 ` Andy Lutomirski
2015-04-27 21:59 ` Andy Lutomirski
[not found] ` <CALCETrU2G10uGvdB6kVyfMPA=biuZwK7BAeqmKuY=jvN38K2wA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-27 22:35 ` James Bottomley
2015-04-27 22:35 ` James Bottomley
[not found] ` <1430174136.2314.49.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-27 22:40 ` Andy Lutomirski
2015-04-27 22:40 ` Andy Lutomirski
[not found] ` <CALCETrXeh+y1XZrdDyhEmy+GK6z7-swZNPYGZybnqzppWAE+Wg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-04-27 22:51 ` James Bottomley
2015-04-27 22:51 ` James Bottomley
[not found] ` <1430175112.2314.56.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-29 11:23 ` Kweh, Hock Leong
2015-04-29 11:23 ` Kweh, Hock Leong
2015-04-29 18:40 ` Andy Lutomirski
[not found] ` <CALCETrXBFBqwZ=A+zoC5Lj0Zr2_2hEkSBX0hrLZJRjyDWqjucA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
[not found] ` <F54AEECA5E2B9541821D670476DAE19C2CC142E1-j2khPEwRog0FyVwBAnZdSLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2015-04-30 17:55 ` Andy Lutomirski
2015-04-30 17:55 ` Andy Lutomirski
[not found] ` <F54AEECA5E2B9541821D670476DAE19C2CC13F37-j2khPEwRog0FyVwBAnZdSLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
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
[not found] ` <20150415131906.GC21491-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-04-22 15:35 ` James Bottomley
2015-04-22 15:35 ` James Bottomley
[not found] ` <1429716954.2195.28.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-22 15:46 ` Greg Kroah-Hartman
2015-04-22 15:46 ` Greg Kroah-Hartman
[not found] ` <20150422154620.GA32576-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2015-04-22 16:11 ` James Bottomley
2015-04-22 16:11 ` James Bottomley
[not found] ` <1429719077.2195.37.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
2015-04-23 9:50 ` Greg Kroah-Hartman
2015-04-23 9:50 ` Greg Kroah-Hartman
2015-04-23 16:14 ` James Bottomley
[not found] ` <1429805658.6624.2.camel-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
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=20150417135016.GC19794@kroah.com \
--to=gregkh-hqyy1w1ycw8ekmwlsbkhg0b+6bgklq7r@public.gmane.org \
--cc=boon.leong.ong-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=bp-Gina5bIWoIWzQB+pC5nmwQ@public.gmane.org \
--cc=hock.leong.kweh-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org \
--cc=matt-HNK1S37rvNbeXh+fF434Mdi2O/JbrIOy@public.gmane.org \
--cc=ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
--cc=pjones-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=roy.franz-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=semen.protsenko-QSEj5FYQhm4dnm+yROfE0A@public.gmane.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.