From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=46180 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Otgla-0007Bb-2Y for qemu-devel@nongnu.org; Thu, 09 Sep 2010 09:02:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OtglV-0001XV-OF for qemu-devel@nongnu.org; Thu, 09 Sep 2010 09:02:13 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39761) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OtglV-0001XP-HF for qemu-devel@nongnu.org; Thu, 09 Sep 2010 09:02:09 -0400 Message-ID: <4C88DAE0.4050301@redhat.com> Date: Thu, 09 Sep 2010 15:02:24 +0200 From: Kevin Wolf MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] raw: Fix image header protection References: <1283861325-23785-1-git-send-email-kwolf@redhat.com> <4C88D381.5030306@codemonkey.ws> <4C88D6A3.6050001@redhat.com> <4C88D881.4020303@codemonkey.ws> In-Reply-To: <4C88D881.4020303@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel@nongnu.org Am 09.09.2010 14:52, schrieb Anthony Liguori: > On 09/09/2010 07:44 AM, Kevin Wolf wrote: >>> Isn't this an unbounded, guest controlled, malloc? IOW, a guest could >>> do a request of 4GB and on a 32-bit system crash the qemu instance. >>> >> If you're concerned about that, we need to ban qemu_iovec_to_buffer() >> completely. Currently we do the same thing for every write request for >> every format but raw. > > And QED ;-) qed doesn't exist. We have something some notices from a brainstorming thread that should become a specification some day. And yes, there's some prototype code. That's everything we have today. Anyway, if you declare qemu_iovec_to_buffer() broken, it doesn't really matter if n-1 formats or n-2 formats are broken... >> Or instead of completely removing it, we could add >> a size limit, though I suspect that would mean violating some specs. >> > > One thing I was thinking of trying was splitting off the first sector > into a linear buffer, then allocating a new iovec and adjusting the new > iovec to cover the new request minus the first sector. That doesn't help any of the other use cases. Either we consider it a problem or not. If we do, it must be fixed everywhere. Kevin