From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IzpsW-0002dr-R0 for qemu-devel@nongnu.org; Wed, 05 Dec 2007 03:45:12 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IzpsQ-0002aQ-QR for qemu-devel@nongnu.org; Wed, 05 Dec 2007 03:45:11 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IzpsQ-0002Zt-Jb for qemu-devel@nongnu.org; Wed, 05 Dec 2007 03:45:06 -0500 Received: from mx20.gnu.org ([199.232.41.8]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1IzpsP-0001N1-Vz for qemu-devel@nongnu.org; Wed, 05 Dec 2007 03:45:06 -0500 Received: from wr-out-0506.google.com ([64.233.184.226]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IzpsP-00073R-1p for qemu-devel@nongnu.org; Wed, 05 Dec 2007 03:45:05 -0500 Received: by wr-out-0506.google.com with SMTP id c37so6800282wra for ; Wed, 05 Dec 2007 00:45:03 -0800 (PST) Message-ID: Date: Wed, 5 Dec 2007 17:45:03 +0900 From: "Magnus Damm" MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_3316_14289936.1196844303822" Subject: [Qemu-devel] [PATCH] mark host pages as reserved 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 Cc: Lauri Leukkunen ------=_Part_3316_14289936.1196844303822 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi all, This patch teaches the user space emulator about host pages. It marks present host page mappings with PAGE_RESERVED so mmap_find_vma() properly can detect that pages at mmap_next_start should be skipped over instead of being overwritten using mmap(). Without this patch I experience crashes with the arm or sh4 user space emulator together with sbox2. This combination sometimes result in that host libraries are mapped into the qemu process space starting from 0x4xxxxxxx instead of 0xb7xxxxxx. This together with the initial value of mmap_next_start results in a segfault when the elf loader overwrites the mapped host libraries with the target binary. Comments anyone? / magnus ------=_Part_3316_14289936.1196844303822 Content-Type: application/octet-stream; name=qemu-cvs-20071205b-reserve-host-pages.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_f9tlfm2m0 Content-Disposition: attachment; filename=qemu-cvs-20071205b-reserve-host-pages.patch LS0tIDAwMDEvY3B1LWFsbC5oCisrKyB3b3JrL2NwdS1hbGwuaAkyMDA3LTEyLTA1IDE3OjA1OjM2 LjAwMDAwMDAwMCArMDkwMApAQCAtNzE2LDYgKzcxNiw3IEBAIGV4dGVybiB1bnNpZ25lZCBsb25n IHFlbXVfaG9zdF9wYWdlX21hc2sKIC8qIG9yaWdpbmFsIHN0YXRlIG9mIHRoZSB3cml0ZSBmbGFn ICh1c2VkIHdoZW4gdHJhY2tpbmcgc2VsZi1tb2RpZnlpbmcKICAgIGNvZGUgKi8KICNkZWZpbmUg UEFHRV9XUklURV9PUkcgMHgwMDEwCisjZGVmaW5lIFBBR0VfUkVTRVJWRUQgIDB4MDAyMAogCiB2 b2lkIHBhZ2VfZHVtcChGSUxFICpmKTsKIGludCBwYWdlX2dldF9mbGFncyh0YXJnZXRfdWxvbmcg YWRkcmVzcyk7Ci0tLSAwMDAxL2V4ZWMuYworKysgd29yay9leGVjLmMJMjAwNy0xMi0wNSAxNzow NjowNy4wMDAwMDAwMDAgKzA5MDAKQEAgLTIwOSw2ICsyMDksMjcgQEAgc3RhdGljIHZvaWQgcGFn ZV9pbml0KHZvaWQpCiAgICAgcWVtdV9ob3N0X3BhZ2VfbWFzayA9IH4ocWVtdV9ob3N0X3BhZ2Vf c2l6ZSAtIDEpOwogICAgIGwxX3BoeXNfbWFwID0gcWVtdV92bWFsbG9jKEwxX1NJWkUgKiBzaXpl b2Yodm9pZCAqKSk7CiAgICAgbWVtc2V0KGwxX3BoeXNfbWFwLCAwLCBMMV9TSVpFICogc2l6ZW9m KHZvaWQgKikpOworCisjaWYgIWRlZmluZWQoX1dJTjMyKSAmJiBkZWZpbmVkKENPTkZJR19VU0VS X09OTFkpCisgICAgeworICAgICAgICBsb25nIGxvbmcgc3RhcnRhZGRyLCBlbmRhZGRyOworICAg ICAgICBGSUxFICpmOworICAgICAgICBpbnQgbjsKKworICAgICAgICBmID0gZm9wZW4oIi9wcm9j L3NlbGYvbWFwcyIsICJyIik7CisgICAgICAgIGlmIChmKSB7CisgICAgICAgICAgICBkbyB7Cisg ICAgICAgICAgICAgICAgbiA9IGZzY2FuZiAoZiwgIiVsbHgtJWxseCAlKlteXG5dXG4iLCAmc3Rh cnRhZGRyLCAmZW5kYWRkcik7CisgICAgICAgICAgICAgICAgaWYgKG4gPT0gMikgeworICAgICAg ICAgICAgICAgICAgICBwYWdlX3NldF9mbGFncyhUQVJHRVRfUEFHRV9BTElHTihzdGFydGFkZHIp LAorCQkJCSAgIFRBUkdFVF9QQUdFX0FMSUdOKGVuZGFkZHIpLAorCQkJCSAgIFBBR0VfUkVTRVJW RUQpOyAKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IHdoaWxlICghZmVvZihmKSk7 CisgICAgICAgICAgICBmY2xvc2UoZik7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKIH0KIAog c3RhdGljIGlubGluZSBQYWdlRGVzYyAqcGFnZV9maW5kX2FsbG9jKHVuc2lnbmVkIGludCBpbmRl eCkKLS0tIDAwMDEvbGludXgtdXNlci9tbWFwLmMKKysrIHdvcmsvbGludXgtdXNlci9tbWFwLmMJ MjAwNy0xMi0wNSAxNzowNTozNi4wMDAwMDAwMDAgKzA5MDAKQEAgLTE2Miw3ICsxNjIsNyBAQCBz dGF0aWMgYWJpX3Vsb25nIG1tYXBfbmV4dF9zdGFydCA9IDB4NDAwCiAgICAnc3RhcnQnLiBJZiAn c3RhcnQnID09IDAsIHRoZW4gYSBkZWZhdWx0IHN0YXJ0IGFkZHJlc3MgaXMgdXNlZC4KICAgIFJl dHVybiAtMSBpZiBlcnJvci4KICovCi0vKiBYWFg6IHNob3VsZCBtYXJrIHBhZ2VzIHVzZWQgYnkg dGhlIGhvc3QgYXMgcmVzZXJ2ZWQgdG8gYmUgc3VyZSBub3QKKy8qIHBhZ2VfaW5pdCgpIG1hcmtz IHBhZ2VzIHVzZWQgYnkgdGhlIGhvc3QgYXMgcmVzZXJ2ZWQgdG8gYmUgc3VyZSBub3QKICAgIHRv IHVzZSB0aGVtLiAqLwogc3RhdGljIGFiaV91bG9uZyBtbWFwX2ZpbmRfdm1hKGFiaV91bG9uZyBz dGFydCwgYWJpX3Vsb25nIHNpemUpCiB7Cg== ------=_Part_3316_14289936.1196844303822--