From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MjG9u-0003dq-9o for qemu-devel@nongnu.org; Thu, 03 Sep 2009 13:31:42 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MjG9o-0003dS-QV for qemu-devel@nongnu.org; Thu, 03 Sep 2009 13:31:41 -0400 Received: from [199.232.76.173] (port=37680 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MjG9o-0003dP-Kq for qemu-devel@nongnu.org; Thu, 03 Sep 2009 13:31:36 -0400 Received: from mail-bw0-f227.google.com ([209.85.218.227]:43052) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MjG9n-0000XP-LW for qemu-devel@nongnu.org; Thu, 03 Sep 2009 13:31:36 -0400 Received: by bwz27 with SMTP id 27so107685bwz.34 for ; Thu, 03 Sep 2009 10:31:33 -0700 (PDT) MIME-Version: 1.0 Sender: dustin.kirkland@gmail.com Date: Thu, 3 Sep 2009 12:31:33 -0500 Message-ID: From: Dustin Kirkland Content-Type: multipart/mixed; boundary=001517478ae435242b0472afc177 Subject: [Qemu-devel] [PATCH] qemu-kvm: fix segfault when running kvm without /dev/kvm, falling back to non-accelerated mode List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, kvm@vger.kernel.org --001517478ae435242b0472afc177 Content-Type: text/plain; charset=ISO-8859-1 qemu-kvm: fix segfault when running kvm without /dev/kvm, falling back to non-accelerated mode We're seeing segfaults on systems without access to /dev/kvm. It looks like the global kvm_allowed is being set just a little too late in vl.c. This patch moves the kvm initialization a bit higher in the vl.c main, just after options processing, and solves the segfaults. We're carrying this patch in Ubuntu 9.10 Alpha. Please apply upstream, or advise if and why this might not be the optimal solution. Signed-off-by: Dustin Kirkland --001517478ae435242b0472afc177 Content-Type: text/x-diff; charset=US-ASCII; name="04_fix-no-kvm-segfault.patch" Content-Disposition: attachment; filename="04_fix-no-kvm-segfault.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fz5rv9pz0 TW92ZSB0aGUga3ZtX2luaXQoKSBjYWxsIGEgYml0IGhpZ2hlciB0byBmaXggYSBzZWdmYXVsdCB3 aGVuCi9kZXYva3ZtIGlzIG5vdCBhdmFpbGFibGUuICBUaGUga3ZtX2FsbG93ZWQgZ2xvYmFsIG5l ZWRzCnRvIGJlIHNldCBjb3JyZWN0bHkgYSBsaXR0bGUgZWFybGllci4KClNpZ25lZC1vZmYtYnk6 IER1c3RpbiBLaXJrbGFuZCA8a2lya2xhbmRAY2Fub25pY2FsLmNvbT4KCgotLS0gcWVtdS1rdm0t MC4xMS4wfnJjMS5vcmlnL3ZsLmMKKysrIHFlbXUta3ZtLTAuMTEuMH5yYzEvdmwuYwpAQCAtNTc0 OCw2ICs1NzQ4LDIwIEBACiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoa3ZtX2VuYWJsZWQo KSkgeworICAgICAgICBpbnQgcmV0OworCisgICAgICAgIHJldCA9IGt2bV9pbml0KHNtcF9jcHVz KTsKKyAgICAgICAgaWYgKHJldCA8IDApIHsKKyNpZiBkZWZpbmVkKEtWTV9VUFNUUkVBTSkgfHwg ZGVmaW5lZChOT19DUFVfRU1VTEFUSU9OKQorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJm YWlsZWQgdG8gaW5pdGlhbGl6ZSBLVk1cbiIpOworICAgICAgICAgICAgZXhpdCgxKTsKKyNlbmRp ZgorICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDb3VsZCBub3QgaW5pdGlhbGl6ZSBLVk0s IHdpbGwgZGlzYWJsZSBLVk0gc3VwcG9ydFxuIik7CisgICAgICAgICAgICBrdm1fYWxsb3dlZCA9 IDA7CisgICAgICAgIH0KKyAgICB9CisKICAgICAvKiBJZiBubyBkYXRhX2RpciBpcyBzcGVjaWZp ZWQgdGhlbiB0cnkgdG8gZmluZCBpdCByZWxhdGl2ZSB0byB0aGUKICAgICAgICBleGVjdXRhYmxl IHBhdGguICAqLwogICAgIGlmICghZGF0YV9kaXIpIHsKQEAgLTYwMDgsMjAgKzYwMjIsNiBAQAog ICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGt2bV9lbmFibGVkKCkpIHsKLSAgICAgICAgaW50 IHJldDsKLQotICAgICAgICByZXQgPSBrdm1faW5pdChzbXBfY3B1cyk7Ci0gICAgICAgIGlmIChy ZXQgPCAwKSB7Ci0jaWYgZGVmaW5lZChLVk1fVVBTVFJFQU0pIHx8IGRlZmluZWQoTk9fQ1BVX0VN VUxBVElPTikKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIGluaXRpYWxp emUgS1ZNXG4iKTsKLSAgICAgICAgICAgIGV4aXQoMSk7Ci0jZW5kaWYKLSAgICAgICAgICAgIGZw cmludGYoc3RkZXJyLCAiQ291bGQgbm90IGluaXRpYWxpemUgS1ZNLCB3aWxsIGRpc2FibGUgS1ZN IHN1cHBvcnRcbiIpOwotCSAgICAga3ZtX2FsbG93ZWQgPSAwOwotICAgICAgICB9Ci0gICAgfQot CiAgICAgaWYgKG1vbml0b3JfZGV2aWNlKSB7CiAgICAgICAgIG1vbml0b3JfaGQgPSBxZW11X2No cl9vcGVuKCJtb25pdG9yIiwgbW9uaXRvcl9kZXZpY2UsIE5VTEwpOwogICAgICAgICBpZiAoIW1v bml0b3JfaGQpIHsK --001517478ae435242b0472afc177--