qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-trivial] [PATCH] memsave: Improve and disambiguate error messa


From: Michael Tokarev
Subject: Re: [Qemu-trivial] [PATCH] memsave: Improve and disambiguate error message
Date: Tue, 10 Feb 2015 22:06:57 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0

08.02.2015 15:14, Borislav Petkov wrote:
> On Sun, Feb 08, 2015 at 11:09:24AM +0100, Paolo Bonzini wrote:
>> Cc: address@hidden
> 
> Thanks.
> 
> But, there's more b0rked with this error message so you might wanna take
> the patch below instead.
> 
> Btw, what are the vim settings when doing patches for qemu, this must be
> documented somewhere as coding style differs significantly from that of
> the kernel?
> 
> :-)
> 
> ---
> From: Borislav Petkov <address@hidden>
> Subject: [PATCH] memsave: Improve and disambiguate error message
> 
> When requesting a size which cannot be read, the error message shows
> a different address which is misleading to the user and it looks like
> something's wrong with the address parsing. This is because the input
> @addr variable is incremented in the memory dumping loop:

Applied this version to -trivial, thank you!

/mjt


> (qemu) memsave 0xffffffff8418069c 0xb00000 mem
> Invalid addr 0xffffffff849ffe9c specified
> 
> Fix that by saving the original address and size and use them in the
> error message:
> 
> (qemu) memsave 0xffffffff8418069c 0xb00000 mem
> Invalid addr 0xffffffff8418069c/size 11534336 specified
> 
> Cc: Anthony Liguori <address@hidden>
> Cc: Paolo Bonzini <address@hidden>
> Signed-off-by: Borislav Petkov <address@hidden>
> ---
>  cpus.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/cpus.c b/cpus.c
> index 0cdd1d71560b..a5c7cad00fc9 100644
> --- a/cpus.c
> +++ b/cpus.c
> @@ -1466,6 +1466,7 @@ void qmp_memsave(int64_t addr, int64_t size, const char 
> *filename,
>      uint32_t l;
>      CPUState *cpu;
>      uint8_t buf[1024];
> +    int64_t orig_addr = addr, orig_size = size;
>  
>      if (!has_cpu) {
>          cpu_index = 0;
> @@ -1489,7 +1490,8 @@ void qmp_memsave(int64_t addr, int64_t size, const char 
> *filename,
>          if (l > size)
>              l = size;
>          if (cpu_memory_rw_debug(cpu, addr, buf, l, 0) != 0) {
> -            error_setg(errp, "Invalid addr 0x%016" PRIx64 "specified", addr);
> +            error_setg(errp, "Invalid addr 0x%016" PRIx64 "/size %" PRId64
> +                             " specified", orig_addr, orig_size);
>              goto exit;
>          }
>          if (fwrite(buf, 1, l, f) != l) {
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]