From: Juan Quintela <quintela@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: QingFeng Hao <haoqf@linux.vnet.ibm.com>,
famz@redhat.com, qemu-block@nongnu.org,
liujbjl@linux.vnet.ibm.com, qemu-devel@nongnu.org,
peterx@redhat.com, dgilbert@redhat.com, borntraeger@de.ibm.com,
cornelia.huck@de.ibm.com
Subject: Re: [Qemu-devel] [PATCH v2 1/1] qemu/migration: fix the double free problem on from_src_file
Date: Tue, 06 Jun 2017 19:57:16 +0200 [thread overview]
Message-ID: <874lvt579f.fsf@secure.mitica> (raw)
In-Reply-To: <20170606124953.GD5448@noname.redhat.com> (Kevin Wolf's message of "Tue, 6 Jun 2017 14:49:53 +0200")
Kevin Wolf <kwolf@redhat.com> wrote:
> Am 06.06.2017 um 07:24 hat QingFeng Hao geschrieben:
>> 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>
>
> Dave, as you only gave R-b rather than merging the patch, should this be
> merged through the block tree?
I got it. I will send a pull request later Today.
>
> Did we check other callers of migration_incoming_state_destroy()?
>
> For example, qmp_xen_load_devices_state() looks suspicious, too.
>
> I can't tell for postcopy_ram_listen_thread() - commit 660819b didn't
> seem to remove a qemu_fclose() call there, but I can't see one left
> behind either. Was the file leaked before commit 660819b or am I
> missing something?
I will take a look at those.
Thanks, Juan.
next prev parent reply other threads:[~2017-06-06 17:57 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-06 5:24 [Qemu-devel] [PATCH v2 0/1] qemu/migration: fix the migration bug found by qemu-iotests case 068 QingFeng Hao
2017-06-06 5:24 ` [Qemu-devel] [PATCH v2 1/1] qemu/migration: fix the double free problem on from_src_file QingFeng Hao
2017-06-06 12:49 ` Kevin Wolf
2017-06-06 17:42 ` Dr. David Alan Gilbert
2017-06-07 3:29 ` Peter Xu
2017-06-06 17:57 ` Juan Quintela [this message]
2017-06-07 3:18 ` QingFeng Hao
2017-06-07 12:18 ` Dr. David Alan Gilbert
2017-06-08 5:23 ` QingFeng Hao
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=874lvt579f.fsf@secure.mitica \
--to=quintela@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=dgilbert@redhat.com \
--cc=famz@redhat.com \
--cc=haoqf@linux.vnet.ibm.com \
--cc=kwolf@redhat.com \
--cc=liujbjl@linux.vnet.ibm.com \
--cc=peterx@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.