All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,
	qemu-devel@nongnu.org, admin@manateeshome.com
Subject: Re: [Qemu-devel] [PATCH] hmp/(p)memsave: Allow >32bit file size
Date: Mon, 24 Jul 2017 16:26:15 +0200	[thread overview]
Message-ID: <87r2x552t4.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20170724141426.GB2127@work-vm> (David Alan Gilbert's message of "Mon, 24 Jul 2017 15:14:26 +0100")

"Dr. David Alan Gilbert" <dgilbert@redhat.com> writes:

> * Thomas Huth (thuth@redhat.com) wrote:
>> On 24.07.2017 14:14, Dr. David Alan Gilbert (git) wrote:
>> > From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>> > 
>> > memsave and pmemsave only take 32bit size arguments in HMP at the
>> > moment; let them take 64bit values.
>> > 
>> > Reported-by: Pierre Kim <admin@manateeshome.com>
>> > Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
>> > ---
>> >  hmp-commands.hx | 4 ++--
>> >  hmp.c           | 4 ++--
>> >  2 files changed, 4 insertions(+), 4 deletions(-)
>> > 
>> > diff --git a/hmp-commands.hx b/hmp-commands.hx
>> > index 1941e19932..ddf77ae7ac 100644
>> > --- a/hmp-commands.hx
>> > +++ b/hmp-commands.hx
>> > @@ -829,7 +829,7 @@ ETEXI
>> >  
>> >      {
>> >          .name       = "memsave",
>> > -        .args_type  = "val:l,size:i,filename:s",
>> > +        .args_type  = "val:l,size:l,filename:s",
>> >          .params     = "addr size file",
>> >          .help       = "save to disk virtual memory dump starting at 'addr' of size 'size'",
>> >          .cmd        = hmp_memsave,
>> > @@ -843,7 +843,7 @@ ETEXI
>> >  
>> >      {
>> >          .name       = "pmemsave",
>> > -        .args_type  = "val:l,size:i,filename:s",
>> > +        .args_type  = "val:l,size:l,filename:s",
>> >          .params     = "addr size file",
>> >          .help       = "save to disk physical memory dump starting at 'addr' of size 'size'",
>> >          .cmd        = hmp_pmemsave,
>> > diff --git a/hmp.c b/hmp.c
>> > index bf1de747d5..dfbd615380 100644
>> > --- a/hmp.c
>> > +++ b/hmp.c
>> > @@ -1066,7 +1066,7 @@ void hmp_cpu(Monitor *mon, const QDict *qdict)
>> >  
>> >  void hmp_memsave(Monitor *mon, const QDict *qdict)
>> >  {
>> > -    uint32_t size = qdict_get_int(qdict, "size");
>> > +    uint64_t size = qdict_get_int(qdict, "size");
>> >      const char *filename = qdict_get_str(qdict, "filename");
>> >      uint64_t addr = qdict_get_int(qdict, "val");
>> >      Error *err = NULL;
>> > @@ -1083,7 +1083,7 @@ void hmp_memsave(Monitor *mon, const QDict *qdict)
>> >  
>> >  void hmp_pmemsave(Monitor *mon, const QDict *qdict)
>> >  {
>> > -    uint32_t size = qdict_get_int(qdict, "size");
>> > +    uint64_t size = qdict_get_int(qdict, "size");
>> >      const char *filename = qdict_get_str(qdict, "filename");
>> >      uint64_t addr = qdict_get_int(qdict, "val");
>> >      Error *err = NULL;
>> 
>> The "size" parameter of the qmp_memsave() and qmp_pmemsave() function is
>> a signed integer (int64_t) ... could we get into trouble here if the
>> integer is really big? E.g. should we make "size" here signed, too, and
>> then add a sanity check for "size >= 0" ?
>
> OK, yes, I'll fix that for the sizes;

I think we should fix QMP instead: use type 'size' instead of 'int' for
byte counts.  There might be more than just memsave and pmemsave.

>                                        qmp_pmemsave hangs with -ve sizes
> (which probably needs fixing another time).
>
> V.2 coming up.
>
> Dave
>
>>  Thomas
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

      reply	other threads:[~2017-07-24 14:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-24 12:14 [Qemu-devel] [PATCH] hmp/(p)memsave: Allow >32bit file size Dr. David Alan Gilbert (git)
2017-07-24 12:21 ` Thomas Huth
2017-07-24 14:14   ` Dr. David Alan Gilbert
2017-07-24 14:26     ` Markus Armbruster [this message]

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=87r2x552t4.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=admin@manateeshome.com \
    --cc=dgilbert@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.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.