qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH] savevm: fix corruption in vmstate_subsection_lo


From: Paolo Bonzini
Subject: [Qemu-devel] Re: [PATCH] savevm: fix corruption in vmstate_subsection_load().
Date: Thu, 20 Jan 2011 09:27:59 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.7

On 12/14/2010 10:07 AM, Yoshiaki Tamura wrote:
Although it's rare to happen in live migration, when the head of a
byte stream contains 0x05

IIUC, this happens if you have VMS_STRUCT and the field after the VMS_STRUCT starts with 0x5.

I think you should also add this in vmstate_subsection_load:

    sub_vmsd = vmstate_get_subsection(sub, idstr);
    if (sub_vmsd == NULL) {
        return -ENOENT;
    }
+   assert (!sub_vmsd->subsections);
    ret = vmstate_load_state(f, sub_vmsd, opaque, version_id);

and this in vmstate_load_state:

    if (field->flags & VMS_STRUCT) {
+       assert (!vmsd->subsections);
        ret = vmstate_load_state(f, field->vmsd, addr,
                                 field->vmsd->version_id);
    }

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]