qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Vivier <lvivier@redhat.com>
To: "Dr . David Alan Gilbert" <dgilbert@redhat.com>, qemu-devel@nongnu.org
Cc: "Daniel P . Berrange" <berrange@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Greg Kurz <groug@kaod.org>, Laurent Vivier <lvivier@redhat.com>
Subject: [Qemu-devel] [PATCH v4 2/4] hmp: fix "dump-quest-memory" segfault (arm)
Date: Wed, 13 Sep 2017 16:20:34 +0200	[thread overview]
Message-ID: <20170913142036.2469-3-lvivier@redhat.com> (raw)
In-Reply-To: <20170913142036.2469-1-lvivier@redhat.com>

Running QEMU with
    qemu-system-aarch64 -M none -nographic -m 256
and executing
    dump-guest-memory /dev/null 0 8192
results in segfault

Fix by checking if we have CPU, and exit with
error if there is no CPU:

    (qemu) dump-guest-memory /dev/null
    this feature or command is not currently supported

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
---
 target/arm/arch_dump.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/target/arm/arch_dump.c b/target/arm/arch_dump.c
index 1a9861f69b..9e5b2fb31c 100644
--- a/target/arm/arch_dump.c
+++ b/target/arm/arch_dump.c
@@ -273,11 +273,18 @@ int arm_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
 int cpu_get_dump_info(ArchDumpInfo *info,
                       const GuestPhysBlockList *guest_phys_blocks)
 {
-    ARMCPU *cpu = ARM_CPU(first_cpu);
-    CPUARMState *env = &cpu->env;
+    ARMCPU *cpu;
+    CPUARMState *env;
     GuestPhysBlock *block;
     hwaddr lowest_addr = ULLONG_MAX;
 
+    if (first_cpu == NULL) {
+        return -1;
+    }
+
+    cpu = ARM_CPU(first_cpu);
+    env = &cpu->env;
+
     /* Take a best guess at the phys_base. If we get it wrong then crash
      * will need '--machdep phys_offset=<phys-offset>' added to its command
      * line, which isn't any worse than assuming we can use zero, but being
-- 
2.13.5

  parent reply	other threads:[~2017-09-13 14:21 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-13 14:20 [Qemu-devel] [PATCH v4 0/4] hmp: fix "dump-quest-memory" segfault Laurent Vivier
2017-09-13 14:20 ` [Qemu-devel] [PATCH v4 1/4] hmp: fix "dump-quest-memory" segfault (ppc) Laurent Vivier
2017-09-14  0:14   ` David Gibson
2017-09-13 14:20 ` Laurent Vivier [this message]
2017-09-14  6:41   ` [Qemu-devel] [PATCH v4 2/4] hmp: fix "dump-quest-memory" segfault (arm) Auger Eric
2017-09-13 14:20 ` [Qemu-devel] [PATCH v4 3/4] dump: do not dump non-existent guest memory Laurent Vivier
2017-09-13 14:27   ` Cornelia Huck
2017-09-13 14:30     ` Laurent Vivier
2017-09-14  9:48       ` Dr. David Alan Gilbert
2017-09-13 14:20 ` [Qemu-devel] [PATCH v4 4/4] tests/hmp: test "none" machine with memory Laurent Vivier
2017-09-14  9:50 ` [Qemu-devel] [PATCH v4 0/4] hmp: fix "dump-quest-memory" segfault Dr. David Alan Gilbert

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=20170913142036.2469-3-lvivier@redhat.com \
    --to=lvivier@redhat.com \
    --cc=berrange@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=dgilbert@redhat.com \
    --cc=groug@kaod.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@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 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).