migration: don't close a file descriptor while it can be in use
commite8199e4895d34136735dea7e628d0de1a5afb630
authorLaurent Vivier <lvivier@redhat.com>
Wed, 12 Apr 2017 13:53:11 +0000 (12 15:53 +0200)
committerJuan Quintela <quintela@redhat.com>
Fri, 21 Apr 2017 10:25:40 +0000 (21 12:25 +0200)
treeb09018e5bda04aead89b6077d9d21dddbfd1b889
parent66103a5796d0003cb198c25d783dcdc1596aef1f
migration: don't close a file descriptor while it can be in use

If we close the QEMUFile descriptor in process_incoming_migration_co()
while it has been stopped by an error, the postcopy_ram_listen_thread()
can try to continue to use it. And as the memory has been freed
it is working with an invalid pointer and crashes.

Fix this by releasing the memory after having managed the error
case (which, in fact, calls exit())

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Amit Shah <amit@kernel.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
migration/migration.c