On Sun, Feb 08, 2015 at 11:09:24AM +0100, Paolo Bonzini wrote: > Cc: qemu-triv...@nongnu.org
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 <b...@suse.de> 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: (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 <aligu...@amazon.com> Cc: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Borislav Petkov <b...@suse.de> --- 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) { -- 2.2.0.33.gc18b867 -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. --