qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: "Gabriel L. Somlo" <somlo@cmu.edu>
Cc: pbonzini@redhat.com, Laszlo Ersek <lersek@redhat.com>,
	qemu-devel@nongnu.org, jordan.l.justen@intel.com
Subject: Re: [Qemu-devel] [PATCH] fw_cfg: insert string blobs via qemu cmdline
Date: Mon, 28 Sep 2015 14:00:05 -0600	[thread overview]
Message-ID: <56099C45.6060707@redhat.com> (raw)
In-Reply-To: <20150928195125.GS2080@HEDWIG.INI.CMU.EDU>

[-- Attachment #1: Type: text/plain, Size: 2028 bytes --]

On 09/28/2015 01:51 PM, Gabriel L. Somlo wrote:
> On Mon, Sep 28, 2015 at 01:46:33PM -0600, Eric Blake wrote:
>> On 09/28/2015 07:30 AM, Laszlo Ersek wrote:
>>
>>>>  
>>>> +Small enough items may be provided directly as strings on the command
>>>> +line, using the syntax:
>>>> +
>>>> +    -fw_cfg [name=]<item_name>,content=<string>
>>>> +
>>>
>>> Please consider spelling out that these blobs will NOT be NUL-terminated
>>> when viewed on the guest. (It kinda follows from all the other fw_cfg
>>> things, but once we leave host-side files for qemu command line strings,
>>> it might become non-obvious to users.)
>>
>> Or else GUARANTEE that it will be NUL-terminated (and the only way to
>> get blobs that are not NUL terminated is to use files rather than content=).
> 
> I went with the first suggestion (leave out the trailing '\0' from the
> blob payload, and say so in docs/specs/fw_cfg.txt) in v2 of the patch.
> 
> Do you feel strongly about including the \0 ? Otherwise, we're already
> there :)

I don't know what users are more likely to want to push through. A
trailing NUL implies a binary file (as text files cannot contain \0),
but even without a trailing NUL, a file is not a text file (per the
POSIX definition) unless it is either empty or ends in a newline.  Use
of content=... is unlikely to have users remembering to place a newline
there if examples don't suggest it.  And I don't know if guests are
expecting text data from these blobs, or are okay with binary blobs.

That's a long-winded way of stating that omitting the NUL is fine by me,
as long as you document it, and as long as you are catering to the most
common user usage of the feature.

Either that, or it's my way of dreaming about alternative 3: guarantee a
trailing newline (rather than NUL), so that 'content="abc"' on the
command line results in the 4-byte blob "abc\n" in the guest.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]

  reply	other threads:[~2015-09-28 20:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-26 22:55 [Qemu-devel] [PATCH] fw_cfg: insert string blobs via qemu cmdline Gabriel L. Somlo
2015-09-28 13:30 ` Laszlo Ersek
2015-09-28 15:05   ` Gabriel L. Somlo
2015-09-28 19:46   ` Eric Blake
2015-09-28 19:51     ` Gabriel L. Somlo
2015-09-28 20:00       ` Eric Blake [this message]
2015-09-28 20:56         ` Laszlo Ersek
2015-09-28 21:05           ` Laszlo Ersek
2015-09-28 21:45             ` Gabriel L. Somlo
2015-09-28 22:08               ` Laszlo Ersek
2015-09-28 22:47                 ` Gabriel L. Somlo
2015-09-29  7:16                   ` Laszlo Ersek

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=56099C45.6060707@redhat.com \
    --to=eblake@redhat.com \
    --cc=jordan.l.justen@intel.com \
    --cc=lersek@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=somlo@cmu.edu \
    /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).