qemu-patch-raspberry4/migration
QingFeng Hao eefff991d0 qemu/migration: fix the double free problem on from_src_file
In load_snapshot, mis->from_src_file is freed twice, the first free is by
qemu_fclose, the second is by migration_incoming_state_destroy and
it causes Illegal instruction exception. The fix is just to remove the
first free.

This problem is found by qemu-iotests case 068 since commit
"660819b migration: shut src return path unconditionally". The error is:
068 1s ... - output mismatch (see 068.out.bad)
    --- tests/qemu-iotests/068.out	2017-05-06 01:00:26.417270437 +0200
    +++ 068.out.bad	2017-06-03 13:59:55.360274640 +0200
    @@ -6,6 +6,8 @@
     QEMU X.Y.Z monitor - type 'help' for more information
     (qemu) savevm 0
     (qemu) quit
    +./common.config: line 107: 242472 Illegal instruction     (core dumped) ( if [ -n "${QEMU_NEED_PID}" ]; then
    +    echo $BASHPID > "${QEMU_TEST_DIR}/qemu-${_QEMU_HANDLE}.pid";
    +fi; exec "$QEMU_PROG" $QEMU_OPTIONS "$@" )
     QEMU X.Y.Z monitor - type 'help' for more information
    -(qemu) quit
    -*** done
    +(qemu) *** done

Signed-off-by: QingFeng Hao <haoqf@linux.vnet.ibm.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
2017-06-07 10:20:56 +02:00
..
block.c migration: Move include/migration/block.h into migration/ 2017-06-01 18:49:24 +02:00
block.h migration: Move include/migration/block.h into migration/ 2017-06-01 18:49:24 +02:00
channel.c migration: Export tls.c functions in its own file 2017-06-01 18:49:23 +02:00
channel.h migration: Split migration/channel.c for channel operations 2017-05-18 19:20:24 +02:00
colo-comm.c migration: Remove vmstate.h from migration.h 2017-05-18 19:20:59 +02:00
colo-failover.c COLO: Implement the process of failover for primary VM 2016-10-30 15:17:39 +05:30
colo.c migration: Move include/migration/block.h into migration/ 2017-06-01 18:49:24 +02:00
exec.c migration: Export exec.c functions in its own file 2017-06-01 18:49:22 +02:00
exec.h migration: Export exec.c functions in its own file 2017-06-01 18:49:22 +02:00
fd.c migration: Export fd.c functions in its own file 2017-06-01 18:49:22 +02:00
fd.h migration: Export fd.c functions in its own file 2017-06-01 18:49:22 +02:00
Makefile.objs migration: Make savevm.c target independent 2017-05-18 19:21:00 +02:00
migration.c ram: Use MigrationStats for statistics 2017-06-07 10:20:54 +02:00
page_cache.c migration: Move page_cache.c to migration/ 2017-05-17 12:04:59 +02:00
page_cache.h migration: Move page_cache.c to migration/ 2017-05-17 12:04:59 +02:00
postcopy-ram.c migration: Export ram.c functions in its own file 2017-06-01 18:49:23 +02:00
postcopy-ram.h migration: Move postcopy stuff to postcopy-ram.c 2017-05-17 12:04:59 +02:00
qemu-file-channel.c migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
qemu-file-channel.h migration: Export qemu-file-channel.c functions in its own file 2017-05-18 19:20:50 +02:00
qemu-file.c migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
qemu-file.h migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
qjson.c migration: Move qjson.h to migration/ 2017-05-18 19:20:59 +02:00
qjson.h migration: Move qjson.h to migration/ 2017-05-18 19:20:59 +02:00
ram.c ram: Make RAMState dynamic 2017-06-07 10:20:55 +02:00
ram.h ram: Use MigrationStats for statistics 2017-06-07 10:20:54 +02:00
rdma.c migration: Export ram.c functions in its own file 2017-06-01 18:49:23 +02:00
rdma.h migration: Export rdma.c functions in its own file 2017-06-01 18:49:23 +02:00
savevm.c qemu/migration: fix the double free problem on from_src_file 2017-06-07 10:20:56 +02:00
savevm.h migration: Create savevm.h for functions exported from savevm.c 2017-05-31 09:39:19 +02:00
socket.c migration: Export socket.c functions in its own file 2017-06-01 18:49:23 +02:00
socket.h migration: Export socket.c functions in its own file 2017-06-01 18:49:23 +02:00
tls.c migration: Export tls.c functions in its own file 2017-06-01 18:49:23 +02:00
tls.h migration: Export tls.c functions in its own file 2017-06-01 18:49:23 +02:00
trace-events migration: Extra tracing 2017-05-04 10:41:23 +02:00
vmstate-types.c migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
vmstate.c migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
xbzrle.c migration: Create migration/xbzrle.h 2017-05-18 18:04:54 +02:00
xbzrle.h migration: Create migration/xbzrle.h 2017-05-18 18:04:54 +02:00