All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley-d9PhHud1JfjCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>
To: Andy Lutomirski <luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org>
Cc: Greg KH
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
	Kweh Hock Leong
	<hock.leong.kweh-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Matt Fleming
	<matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@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>,
	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: Wed, 22 Apr 2015 10:34:09 -0700	[thread overview]
Message-ID: <1429724049.2195.44.camel@HansenPartnership.com> (raw)
In-Reply-To: <CALCETrU5u5nUJB4i0KRPZGvXgohW5ojxxOOv-_pR2OLmypvXyw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Wed, 2015-04-22 at 09:50 -0700, Andy Lutomirski wrote:
> On Apr 21, 2015 9:51 PM, "James Bottomley"
> <James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org> wrote:
> >
> > On Tue, 2015-04-21 at 20:24 -0700, Andy Lutomirski wrote:
> > > On Tue, Apr 21, 2015 at 7:20 PM, James Bottomley
> > > <James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org> wrote:
> > > > On Tue, 2015-04-21 at 18:58 -0700, Andy Lutomirski wrote:
> > > >> On Tue, Apr 21, 2015 at 6:21 PM, James Bottomley
> > > >> <James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org> wrote:
> > > >> > Andy, just on the misc device idea, what about triggering the capsule
> > > >> > update from close()?  In theory close returns an error code (not sure if
> > > >> > most tools actually check this, though).  That means we can do the write
> > > >> > in chunks but pass it in atomically on the close and cat will work
> > > >> > (provided it checks the return code of close).
> > > >>
> > > >> I thought about this but IIRC cat doesn't check the return value from close.
> > > >
> > > > It does in my copy (coreutils-8.23) :
> > > >
> > > >       if (!STREQ (infile, "-") && close (input_desc) < 0)
> > > >         {
> > > >           error (0, errno, "%s", infile);
> > > >           ok = false;
> > > >         }
> > > > [...]
> > > >   if (have_read_stdin && close (STDIN_FILENO) < 0)
> > > >     error (EXIT_FAILURE, errno, _("closing standard input"));
> > > >
> > >
> > > True, but it's stdout that we care about, not stdin :(
> >
> > Gosh you're determined to force me to wade through this source code,
> > aren't you?  That's handled in lib/closeout.c:
> >
> > /* Close standard output.  On error, issue a diagnostic and _exit
> >    with status 'exit_failure'.
> >
> > ...
> >
> >
> > The point is that, admittedly much to my surprise, it all looks to be
> > handled by cat ... so we could proceed to have the transaction completed
> > in close in a misc device (or a sysfs file).
> >
> > Unless there are any other rabbits you'd like to pull out of the hat?
> 
> No, maybe it's okay, unless there's an issue where the error would
> only be returned on the close of the last reference of the struct
> file.  After all, 'cat foo >/sys/bar' doesn't fully close /sys/bar
> until after cat exits.

No, cat handles that too.  It has an atexit() handler for closing
stdout.

James

WARNING: multiple messages have this Message-ID (diff)
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Greg KH <gregkh@linuxfoundation.org>,
	Kweh Hock Leong <hock.leong.kweh@intel.com>,
	LKML <linux-kernel@vger.kernel.org>,
	Matt Fleming <matt@codeblueprint.co.uk>,
	"Ong, Boon Leong" <boon.leong.ong@intel.com>,
	"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
	Ming Lei <ming.lei@canonical.com>
Subject: Re: [PATCH v4 2/2] efi: an sysfs interface for user to update efi firmware
Date: Wed, 22 Apr 2015 10:34:09 -0700	[thread overview]
Message-ID: <1429724049.2195.44.camel@HansenPartnership.com> (raw)
In-Reply-To: <CALCETrU5u5nUJB4i0KRPZGvXgohW5ojxxOOv-_pR2OLmypvXyw@mail.gmail.com>

On Wed, 2015-04-22 at 09:50 -0700, Andy Lutomirski wrote:
> On Apr 21, 2015 9:51 PM, "James Bottomley"
> <James.Bottomley@hansenpartnership.com> wrote:
> >
> > On Tue, 2015-04-21 at 20:24 -0700, Andy Lutomirski wrote:
> > > On Tue, Apr 21, 2015 at 7:20 PM, James Bottomley
> > > <James.Bottomley@hansenpartnership.com> wrote:
> > > > On Tue, 2015-04-21 at 18:58 -0700, Andy Lutomirski wrote:
> > > >> On Tue, Apr 21, 2015 at 6:21 PM, James Bottomley
> > > >> <James.Bottomley@hansenpartnership.com> wrote:
> > > >> > Andy, just on the misc device idea, what about triggering the capsule
> > > >> > update from close()?  In theory close returns an error code (not sure if
> > > >> > most tools actually check this, though).  That means we can do the write
> > > >> > in chunks but pass it in atomically on the close and cat will work
> > > >> > (provided it checks the return code of close).
> > > >>
> > > >> I thought about this but IIRC cat doesn't check the return value from close.
> > > >
> > > > It does in my copy (coreutils-8.23) :
> > > >
> > > >       if (!STREQ (infile, "-") && close (input_desc) < 0)
> > > >         {
> > > >           error (0, errno, "%s", infile);
> > > >           ok = false;
> > > >         }
> > > > [...]
> > > >   if (have_read_stdin && close (STDIN_FILENO) < 0)
> > > >     error (EXIT_FAILURE, errno, _("closing standard input"));
> > > >
> > >
> > > True, but it's stdout that we care about, not stdin :(
> >
> > Gosh you're determined to force me to wade through this source code,
> > aren't you?  That's handled in lib/closeout.c:
> >
> > /* Close standard output.  On error, issue a diagnostic and _exit
> >    with status 'exit_failure'.
> >
> > ...
> >
> >
> > The point is that, admittedly much to my surprise, it all looks to be
> > handled by cat ... so we could proceed to have the transaction completed
> > in close in a misc device (or a sysfs file).
> >
> > Unless there are any other rabbits you'd like to pull out of the hat?
> 
> No, maybe it's okay, unless there's an issue where the error would
> only be returned on the close of the last reference of the struct
> file.  After all, 'cat foo >/sys/bar' doesn't fully close /sys/bar
> until after cat exits.

No, cat handles that too.  It has an atexit() handler for closing
stdout.

James



  parent reply	other threads:[~2015-04-22 17:34 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
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 [this message]
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=1429724049.2195.44.camel@HansenPartnership.com \
    --to=james.bottomley-d9phhud1jfjcxq6kfmz53/egyhegw8jk@public.gmane.org \
    --cc=boon.leong.ong-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@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-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org \
    --cc=ming.lei-Z7WLFzj8eWMS+FvcfC7Uqw@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.