From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: [PATCH] kvm: Fix overlapping check for memory slots Date: Sat, 11 Apr 2009 11:48:04 +0200 Message-ID: <49E06754.8050906@web.de> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig2C16937B64B2403D05350932" Cc: kvm-devel , Glauber Costa , qemu-devel To: Avi Kivity Return-path: Received: from fmmailgate02.web.de ([217.72.192.227]:53542 "EHLO fmmailgate02.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754503AbZDKJsM (ORCPT ); Sat, 11 Apr 2009 05:48:12 -0400 Sender: kvm-owner@vger.kernel.org List-ID: This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig2C16937B64B2403D05350932 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable This nice little buglet complicates a smarter slot management in qemu user space just "slightly". Sigh... --------> When checking for overlapping slots on registration of a new one, kvm currently also considers zero-length (ie. deleted) slots and rejects requests incorrectly. This finally denies user space from joining slots. Fix the check by skipping deleted slots. Signed-off-by: Jan Kiszka --- virt/kvm/kvm_main.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 363af32..18f06d2 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -1117,7 +1117,7 @@ int __kvm_set_memory_region(struct kvm *kvm, for (i =3D 0; i < KVM_MEMORY_SLOTS; ++i) { struct kvm_memory_slot *s =3D &kvm->memslots[i]; =20 - if (s =3D=3D memslot) + if (s =3D=3D memslot || !s->npages) continue; if (!((base_gfn + npages <=3D s->base_gfn) || (base_gfn >=3D s->base_gfn + s->npages))) --------------enig2C16937B64B2403D05350932 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iEYEARECAAYFAkngZ1kACgkQniDOoMHTA+m4FwCfYiJq6zX4m1ZtWOOJ5y7F2PLo 5V0AnAoegK4i0neFtm8svKETwh7pgShB =EPhA -----END PGP SIGNATURE----- --------------enig2C16937B64B2403D05350932--