From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LtHsV-0003f8-M5 for qemu-devel@nongnu.org; Mon, 13 Apr 2009 04:50:55 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LtHsQ-0003d5-FS for qemu-devel@nongnu.org; Mon, 13 Apr 2009 04:50:54 -0400 Received: from [199.232.76.173] (port=41846 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LtHsQ-0003d0-BY for qemu-devel@nongnu.org; Mon, 13 Apr 2009 04:50:50 -0400 Received: from fmmailgate03.web.de ([217.72.192.234]:48804) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LtHsP-0007mP-LD for qemu-devel@nongnu.org; Mon, 13 Apr 2009 04:50:50 -0400 Message-ID: <49E2FCE0.5010509@web.de> Date: Mon, 13 Apr 2009 10:50:40 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <49E06754.8050906@web.de> <200904131347.29389.sheng@linux.intel.com> In-Reply-To: <200904131347.29389.sheng@linux.intel.com> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigA15C9E6A143FD0A302547666" Sender: jan.kiszka@web.de Subject: [Qemu-devel] Re: [PATCH] kvm: Fix overlapping check for memory slots Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Sheng Yang Cc: Glauber Costa , Avi Kivity , kvm@vger.kernel.org, qemu-devel This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigA15C9E6A143FD0A302547666 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Sheng Yang wrote: > On Saturday 11 April 2009 17:48:04 Jan Kiszka wrote: >> 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 slot= s. >> 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]; >> >> - 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))) >=20 > Is it necessary to preserve a valid base_gfn/flags/etc for a zeroed slo= t?=20 > Seems kvm_free_physmem_slot didn't clean them. It is not necessary as long as we ignore such slots (as this patch does).= Jan --------------enigA15C9E6A143FD0A302547666 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 iEQEARECAAYFAkni/OUACgkQniDOoMHTA+mszQCYgI0vAT3ugyAZCX6vFha9RDWf cACWJsw0BkNsQIdzxl08gKGGbFe1yg== =msYe -----END PGP SIGNATURE----- --------------enigA15C9E6A143FD0A302547666--