From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JKCGh-0003sy-Rp for qemu-devel@nongnu.org; Wed, 30 Jan 2008 07:42:19 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JKCGg-0003sD-2f for qemu-devel@nongnu.org; Wed, 30 Jan 2008 07:42:19 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JKCGf-0003s8-VT for qemu-devel@nongnu.org; Wed, 30 Jan 2008 07:42:17 -0500 Received: from partizan.velesys.com ([213.184.230.195]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JKCGf-0001Oi-D7 for qemu-devel@nongnu.org; Wed, 30 Jan 2008 07:42:17 -0500 Received: from localhost (mail.velesys.com [10.0.5.31]) by partizan.velesys.com (partizan.velesys.com) with ESMTP id E851F136B6C for ; Tue, 29 Jan 2008 16:57:16 +0000 (UTC) Received: from partizan.velesys.com ([10.0.5.31]) by localhost (mail.velesys.com [10.0.5.31]) (amavisd-new, port 10024) with ESMTP id aYAsaKI2-TZW for ; Tue, 29 Jan 2008 16:57:12 +0000 (UTC) Received: from localhost.localdomain (unknown [10.0.0.74]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by partizan.velesys.com (partizan.velesys.com) with ESMTP id 5A61B136AF2 for ; Tue, 29 Jan 2008 16:57:12 +0000 (UTC) Date: Tue, 29 Jan 2008 18:59:56 +0200 From: "Kirill A. Shutemov" Message-ID: <20080129165956.GA27300@localhost.localdomain> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="d6Gm4EdcadzBjdND" Content-Disposition: inline Subject: [Qemu-devel] [PATCH] Fix lock_iovec Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --d6Gm4EdcadzBjdND Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Do not stop iovec conversion on iov_base =3D=3D NULL if iov_len is 0 --- linux-user/syscall.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index d099e97..5dc6594 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1028,7 +1028,7 @@ static abi_long lock_iovec(int type, struct iovec *ve= c, abi_ulong target_addr, base =3D tswapl(target_vec[i].iov_base); vec[i].iov_len =3D tswapl(target_vec[i].iov_len); vec[i].iov_base =3D lock_user(type, base, vec[i].iov_len, copy); - if (!vec[i].iov_base)=20 + if (!vec[i].iov_base && vec[i].iov_len) goto fail; } unlock_user (target_vec, target_addr, 0); --=20 Regards, Kirill A. Shutemov + Belarus, Minsk + Velesys Ltd, http://www.velesys.com/ + ALT Linux Team, http://www.altlinux.com/ --d6Gm4EdcadzBjdND Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (GNU/Linux) iEYEARECAAYFAkefW4wACgkQbWYnhzC5v6p5kgCfYCizffBe2E3IyxwVrpjTqg2g mvgAnRtv/sELZp47NK14aTzovxx6WmLd =uDFG -----END PGP SIGNATURE----- --d6Gm4EdcadzBjdND--