exec: Stop using memory after free
commit55b4e80b047300e1512df02887b7448ba3786b62
authorDon Slutz <don.slutz@gmail.com>
Mon, 30 Nov 2015 22:11:04 +0000 (30 17:11 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 2 Dec 2015 11:01:43 +0000 (2 12:01 +0100)
tree518baa57a8aa6ceaf698f39b0fa34c7873a1f2c0
parent9d7b969ea6d9663a94760c6c131481b366f4d38a
exec: Stop using memory after free

memory_region_unref(mr) can free memory.

For example I got:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f43280d4700 (LWP 4462)]
0x00007f43323283c0 in phys_section_destroy (mr=0x7f43259468b0)
    at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
1023        if (mr->subpage) {
(gdb) bt
    at /home/don/xen/tools/qemu-xen-dir/exec.c:1023
    at /home/don/xen/tools/qemu-xen-dir/exec.c:1034
    at /home/don/xen/tools/qemu-xen-dir/exec.c:2205
(gdb) p mr
$1 = (MemoryRegion *) 0x7f43259468b0

And this change prevents this.

Signed-off-by: Don Slutz <Don.Slutz@Gmail.com>
Message-Id: <1448921464-21845-1-git-send-email-Don.Slutz@Gmail.com>
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
exec.c