From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IXo0J-0005bJ-Mi for qemu-devel@nongnu.org; Tue, 18 Sep 2007 21:05:23 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IXo0I-0005b3-NQ for qemu-devel@nongnu.org; Tue, 18 Sep 2007 21:05:22 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IXo0I-0005b0-Gi for qemu-devel@nongnu.org; Tue, 18 Sep 2007 21:05:22 -0400 Received: from grayson.netsweng.com ([207.235.77.11]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IXo0I-0004sd-0a for qemu-devel@nongnu.org; Tue, 18 Sep 2007 21:05:22 -0400 Received: from amavis by grayson.netsweng.com with scanned-ok (Exim 3.36 #1 (Debian)) id 1IXo0H-0007D9-00 for ; Tue, 18 Sep 2007 21:05:21 -0400 Received: from grayson.netsweng.com ([127.0.0.1]) by localhost (grayson.netsweng.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VmcChz-x4vL2 for ; Tue, 18 Sep 2007 21:05:03 -0400 (EDT) Received: from h134.99.28.71.ip.alltel.net ([71.28.99.134] helo=trantor.stuart.netsweng.com) by grayson.netsweng.com with esmtp (Exim 3.36 #1 (Debian)) id 1IXnzw-00078p-00 for ; Tue, 18 Sep 2007 21:05:00 -0400 Date: Tue, 18 Sep 2007 21:04:38 -0400 (EDT) From: Stuart Anderson Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463811327-2115637952-1190163878=:20150" Subject: [Qemu-devel] RFC: [1/11] EFAULT patch 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 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1463811327-2115637952-1190163878=:20150 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed This first part contains the additions to the existing infrastructure needed to implement the new interfaces used in the rest of the patch. In exec.c, page_check_range() has been added to take an address and a size and and check to see if it is contained in a valid page that belongs to the target. A flag is passed t indicate wether read or write access should be checked. In qemu.h, the access_ok macro has been given a real implemention, and implementations of copy_from_user() and copy_to_user() have been added. Stuart Stuart R. Anderson anderson@netsweng.com Network & Software Engineering http://www.netsweng.com/ 1024D/37A79149: 0791 D3B8 9A4C 2CDC A31F BD03 0A62 E534 37A7 9149 ---1463811327-2115637952-1190163878=:20150 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=06_efault.patch.1 Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: efault 1 of 11 Content-Disposition: attachment; filename=06_efault.patch.1 SW5kZXg6IHFlbXUvZXhlYy5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot LS0gcWVtdS5vcmlnL2V4ZWMuYwkyMDA3LTA4LTA3IDIxOjQ0OjEwLjAwMDAw MDAwMCAtMDQwMA0KKysrIHFlbXUvZXhlYy5jCTIwMDctMDgtMDcgMjE6NDQ6 MTYuMDAwMDAwMDAwIC0wNDAwDQpAQCAtMTg2Miw2ICsxODYyLDI5IEBADQog ICAgIHNwaW5fdW5sb2NrKCZ0Yl9sb2NrKTsNCiB9DQogDQoraW50IHBhZ2Vf Y2hlY2tfcmFuZ2UodGFyZ2V0X3Vsb25nIHN0YXJ0LCB0YXJnZXRfdWxvbmcg bGVuLCBpbnQgZmxhZ3MpDQorew0KKyAgICBQYWdlRGVzYyAqcDsNCisgICAg dGFyZ2V0X3Vsb25nIGVuZDsNCisgICAgdGFyZ2V0X3Vsb25nIGFkZHI7DQor DQorICAgIGVuZCA9IFRBUkdFVF9QQUdFX0FMSUdOKHN0YXJ0K2xlbik7IC8q IG11c3QgZG8gYmVmb3JlIHdlIGxvb3NlIGJpdHMgaW4gdGhlIG5leHQgc3Rl cCAqLw0KKyAgICBzdGFydCA9IHN0YXJ0ICYgVEFSR0VUX1BBR0VfTUFTSzsN CisNCisgICAgaWYoIGVuZCA8IHN0YXJ0ICkgcmV0dXJuIC0xOyAgLyogd2Un dmUgd3JhcHBlZCBhcm91bmQgKi8NCisgICAgZm9yKGFkZHIgPSBzdGFydDsg YWRkciA8IGVuZDsgYWRkciArPSBUQVJHRVRfUEFHRV9TSVpFKSB7DQorICAg ICAgICBwID0gcGFnZV9maW5kKGFkZHIgPj4gVEFSR0VUX1BBR0VfQklUUyk7 DQorCWlmKCAhcCApIHJldHVybiAtMTsNCisJaWYoICEocC0+ZmxhZ3MgJiBQ QUdFX1ZBTElEKSApIHJldHVybiAtMTsNCisNCisgICAgICAgIGlmICghKHAt PmZsYWdzICYgUEFHRV9SRUFEKSAmJg0KKyAgICAgICAgICAgIChmbGFncyAm IFBBR0VfUkVBRCkgKSByZXR1cm4gLTE7DQorICAgICAgICBpZiAoIShwLT5m bGFncyAmIFBBR0VfV1JJVEUpICYmDQorICAgICAgICAgICAgKGZsYWdzICYg UEFHRV9XUklURSkgKSByZXR1cm4gLTE7DQorICAgIH0NCisgICAgcmV0dXJu IDA7DQorfQ0KKw0KIC8qIGNhbGxlZCBmcm9tIHNpZ25hbCBoYW5kbGVyOiBp bnZhbGlkYXRlIHRoZSBjb2RlIGFuZCB1bnByb3RlY3QgdGhlDQogICAgcGFn ZS4gUmV0dXJuIFRSVUUgaWYgdGhlIGZhdWx0IHdhcyBzdWNjZXNmdWxseSBo YW5kbGVkLiAqLw0KIGludCBwYWdlX3VucHJvdGVjdCh0YXJnZXRfdWxvbmcg YWRkcmVzcywgdW5zaWduZWQgbG9uZyBwYywgdm9pZCAqcHVjKQ0KSW5kZXg6 IHFlbXUvY3B1LWFsbC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g cWVtdS5vcmlnL2NwdS1hbGwuaAkyMDA3LTA4LTA3IDIxOjQ0OjEwLjAwMDAw MDAwMCAtMDQwMA0KKysrIHFlbXUvY3B1LWFsbC5oCTIwMDctMDgtMDcgMjE6 NDQ6MTYuMDAwMDAwMDAwIC0wNDAwDQpAQCAtNjkxLDYgKzY5MSw3IEBADQog aW50IHBhZ2VfZ2V0X2ZsYWdzKHRhcmdldF91bG9uZyBhZGRyZXNzKTsNCiB2 b2lkIHBhZ2Vfc2V0X2ZsYWdzKHRhcmdldF91bG9uZyBzdGFydCwgdGFyZ2V0 X3Vsb25nIGVuZCwgaW50IGZsYWdzKTsNCiB2b2lkIHBhZ2VfdW5wcm90ZWN0 X3JhbmdlKHRhcmdldF91bG9uZyBkYXRhLCB0YXJnZXRfdWxvbmcgZGF0YV9z aXplKTsNCitpbnQgcGFnZV9jaGVja19yYW5nZSh0YXJnZXRfdWxvbmcgc3Rh cnQsIHRhcmdldF91bG9uZyBsZW4sIGludCBmbGFncyk7DQogDQogQ1BVU3Rh dGUgKmNwdV9jb3B5KENQVVN0YXRlICplbnYpOw0KIA0KSW5kZXg6IHFlbXUv bGludXgtdXNlci9xZW11LmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBxZW11Lm9yaWcvbGludXgtdXNlci9xZW11LmgJMjAwNy0wOC0wNyAyMTo0 NDoxMC4wMDAwMDAwMDAgLTA0MDANCisrKyBxZW11L2xpbnV4LXVzZXIvcWVt dS5oCTIwMDctMDgtMDggMTc6NTQ6MTguMDAwMDAwMDAwIC0wNDAwDQpAQCAt MTcxLDcgKzE3MSw4IEBADQogI2RlZmluZSBWRVJJRllfUkVBRCAwDQogI2Rl ZmluZSBWRVJJRllfV1JJVEUgMQ0KIA0KLSNkZWZpbmUgYWNjZXNzX29rKHR5 cGUsYWRkcixzaXplKSAoMSkNCisjZGVmaW5lIGFjY2Vzc19vayh0eXBlLGFk ZHIsc2l6ZSkgXA0KKyAgICAocGFnZV9jaGVja19yYW5nZSgodGFyZ2V0X3Vs b25nKWFkZHIsc2l6ZSwodHlwZT09VkVSSUZZX1JFQUQpP1BBR0VfUkVBRDpQ QUdFX1dSSVRFKT09MCkNCiANCiAvKiBOT1RFIGdldF91c2VyIGFuZCBwdXRf dXNlciB1c2UgaG9zdCBhZGRyZXNzZXMuICAqLw0KICNkZWZpbmUgX19wdXRf dXNlcih4LHB0cilcDQpAQCAtMjM4LDYgKzIzOSwyNiBAQA0KICAgICBfX3Jl dDtcDQogfSkNCiANCisjZGVmaW5lIGNvcHlfZnJvbV91c2VyKGhwdHIsIGdw dHIsIGxlbikgXA0KKyh7IFwNCisgICAgaW50IF9fY2Z1X3JldD0wO1wNCisg ICAgaWYoIGFjY2Vzc19vayhWRVJJRllfUkVBRCwgZ3B0ciwgKGxlbikgKSAp XA0KKyAgICAgICAgbWVtY3B5KGhwdHIsZ3B0ciwobGVuKSk7IFwNCisgICAg ZWxzZSBcDQorICAgICAgICBfX2NmdV9yZXQ9MTtcDQorICAgIF9fY2Z1X3Jl dDsgXA0KK30pDQorDQorI2RlZmluZSBjb3B5X3RvX3VzZXIoZ3B0ciwgaHB0 ciwgbGVuKSBcDQorKHsgXA0KKyAgICBpbnQgX19jdHVfcmV0PTA7XA0KKyAg ICBpZiggYWNjZXNzX29rKFZFUklGWV9XUklURSwgZ3B0ciwgKGxlbikpIClc DQorICAgICAgICBtZW1jcHkoZ3B0cixocHRyLChsZW4pKTsgXA0KKyAgICBl bHNlIFwNCisgICAgICAgIF9fY3R1X3JldD0xO1wNCisgICAgX19jdHVfcmV0 OyBcDQorfSkNCisNCiAvKiBGdW5jdGlvbnMgZm9yIGFjY2Vzc2luZyBndWVz dCBtZW1vcnkuICBUaGUgdGdldCBhbmQgdHB1dCBmdW5jdGlvbnMNCiAgICBy ZWFkL3dyaXRlIHNpbmdsZSB2YWx1ZXMsIGJ5dGVzd2FwcGluZyBhcyBuZWNj ZXNzYXJ5LiAgVGhlIGxvY2tfdXNlcg0KICAgIGdldHMgYSBwb2ludGVyIHRv IGEgY29udGlndW91cyBhcmVhIG9mIGd1ZXN0IG1lbW9yeSwgYnV0IGRvZXMg bm90IHBlcmZvcm0NCg== ---1463811327-2115637952-1190163878=:20150--