|
From: | Avi Kivity |
Subject: | [Qemu-devel] Re: Endless loop in qcow2_alloc_cluster_offset |
Date: | Mon, 07 Dec 2009 17:04:14 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091203 Fedora/3.0-3.13.rc2.fc12 Thunderbird/3.0 |
On 12/07/2009 04:50 PM, Jan Kiszka wrote:
Maybe I'm seeing ghosts, and I don't even have a minimal clue about what goes on in the code, but this looks fishy:
Plenty of ghosts in qcow2, of all those explorers who tried to brave the code. Only Kevin has ever come back.
preallocate() invokes qcow2_alloc_cluster_offset() passing&meta, a stack variable. It seems that qcow2_alloc_cluster_offset() may insert this structure into cluster_allocs and leave it there. So we corrupt the queue as soon as preallocate() returns, no?
We invoke run_dependent_requests() which should dequeue those &meta again (I think).
-- error compiling committee.c: too many arguments to function
[Prev in Thread] | Current Thread | [Next in Thread] |