qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Bug 1332297] Re: qemu-img: crash on check of an image


From: M.Kustova
Subject: Re: [Qemu-devel] [Bug 1332297] Re: qemu-img: crash on check of an image with large value in the 'size' header field
Date: Wed, 25 Jun 2014 13:54:58 +0400

On Wed, Jun 25, 2014 at 1:42 PM, Kevin Wolf <address@hidden> wrote:
> Am 25.06.2014 um 11:32 hat M.Kustova geschrieben:
>> On Tue, Jun 24, 2014 at 7:36 PM, Kevin Wolf <address@hidden> wrote:
>> > Am 24.06.2014 um 15:19 hat M.Kustova geschrieben:
>> >> On Mon, Jun 23, 2014 at 12:02 PM, Stefan Hajnoczi <address@hidden> wrote:
>> >> > On Thu, Jun 19, 2014 at 07:19:55PM -0000, Maria Kustova wrote:
>> >> >> The bug description missed qemu-img error:
>> >> >>
>> >> >> (process:12283): GLib-ERROR **: gmem.c:110: failed to allocate
>> >> >> 18446744059294601304 bytes
>> >> >
>> >> > Thanks, there has been recent work by Kevin Wolf to handle memory
>> >> > allocation failures gracefully without terminating QEMU.  This sounds
>> >> > like a candidate for g_try_malloc() and friends.
>> >> >
>> >> > Does the following patch series solve the problem?
>> >> > https://lists.gnu.org/archive/html/qemu-devel/2014-06/msg01275.html
>> >>
>> >> These patches are conflicting with current master. So I can't test
>> >> them as they are.
>> >>
>> >> Do you have a developer repository or branch containing these patches,
>> >> so I could test it on the pre-release base?
>> >
>> > I'm just about to send a new version, I'll keep you CCed there.
>>
>> "[PATCH v4 21/21] qcow2: Return useful error code in refcount_init()"
>> is still broken for the current master.
>
> In which way? I can cleanly apply the whole patch series on master (even
> tried applying the emails from my inbox to be sure).

Beginning from line #49 in master:

    if (s->refcount_table_size > 0) {
        BLKDBG_EVENT(bs->file, BLKDBG_REFTABLE_LOAD);
        ret = bdrv_pread(bs->file, s->refcount_table_offset,

The patch:

   if (s->refcount_table_size > 0) {^M
         if (s->refcount_table == NULL) {^M
+            ret = -ENOMEM;^M
             goto fail;^M
         }^M
         BLKDBG_EVENT(bs->file, BLKDBG_REFTABLE_LOAD);^M
         ret = bdrv_pread(bs->file, s->refcount_table_offset,^M

At least master version doesn't have this condition.
>
> Kevin
Maria



reply via email to

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