From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IXoHz-0006Aa-Tu for qemu-devel@nongnu.org; Tue, 18 Sep 2007 21:23:39 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IXoHy-00069r-9L for qemu-devel@nongnu.org; Tue, 18 Sep 2007 21:23:39 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IXoHy-00069i-28 for qemu-devel@nongnu.org; Tue, 18 Sep 2007 21:23:38 -0400 Received: from grayson.netsweng.com ([207.235.77.11]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IXoHx-00074o-7b for qemu-devel@nongnu.org; Tue, 18 Sep 2007 21:23:37 -0400 Received: from amavis by grayson.netsweng.com with scanned-ok (Exim 3.36 #1 (Debian)) id 1IXoHu-0007gi-00 for ; Tue, 18 Sep 2007 21:23:34 -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 UbVglDGLWKSc for ; Tue, 18 Sep 2007 21:22:28 -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 1IXoGb-0007fY-00 for ; Tue, 18 Sep 2007 21:22:13 -0400 Date: Tue, 18 Sep 2007 21:21:52 -0400 (EDT) From: Stuart Anderson Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463811327-2102150400-1190164912=:20150" Subject: [Qemu-devel] RFC: [5/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-2102150400-1190164912=:20150 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed This part contains the changes to the message queue IPC syscalls. The functions for reading and writing the msqid_ds structure have been updated to use the kernel-like APIs. Also, additional checking has been added to the implementations of msgsnd() and msgrecv(). 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-2102150400-1190164912=:20150 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=06_efault.patch.5 Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: efault patch 5 of 11 Content-Disposition: attachment; filename=06_efault.patch.5 SW5kZXg6IHFlbXUvbGludXgtdXNlci9zeXNjYWxsLmMNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCi0tLSBxZW11Lm9yaWcvbGludXgtdXNlci9zeXNjYWxs LmMJMjAwNy0wOS0xNiAxNTo1NjozNy4wMDAwMDAwMDAgLTA0MDANCisrKyBx ZW11L2xpbnV4LXVzZXIvc3lzY2FsbC5jCTIwMDctMDktMTYgMTU6NTY6NDIu MDAwMDAwMDAwIC0wNDAwDQpAQCAtMTQ2OCw1MyArMTQ2OCw1OSBAQA0KICAg dGFyZ2V0X3Vsb25nIF9fdW51c2VkNTsNCiB9Ow0KIA0KLXN0YXRpYyBpbmxp bmUgdm9pZCB0YXJnZXRfdG9faG9zdF9tc3FpZF9kcyhzdHJ1Y3QgbXNxaWRf ZHMgKmhvc3RfbWQsDQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGFyZ2V0X3Vsb25nIHRhcmdldF9hZGRyKQ0KK3N0YXRp YyBpbmxpbmUgbG9uZyBjb3B5X2Zyb21fdXNlcl9tc3FpZF9kcyhzdHJ1Y3Qg bXNxaWRfZHMgKmhvc3RfbWQsDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHRhcmdldF9tc3FpZF9kcyAqdGFy Z2V0X21kKQ0KIHsNCi0gICAgc3RydWN0IHRhcmdldF9tc3FpZF9kcyAqdGFy Z2V0X21kOw0KKyAgICAvKiBhY2Nlc3MgaGFzIGFscmVhZHkgYmVlbiBjaGVj a2VkICovDQorICAgIGNvcHlfZnJvbV91c2VyX2lwY19wZXJtKCYoaG9zdF9t ZC0+bXNnX3Blcm0pLCYodGFyZ2V0X21kLT5tc2dfcGVybSkpOw0KKyAgICBf X2dldF91c2VyKGhvc3RfbWQtPm1zZ19zdGltZSwgJnRhcmdldF9tZC0+bXNn X3N0aW1lKTsNCisgICAgX19nZXRfdXNlcihob3N0X21kLT5tc2dfcnRpbWUs ICZ0YXJnZXRfbWQtPm1zZ19ydGltZSk7DQorICAgIF9fZ2V0X3VzZXIoaG9z dF9tZC0+bXNnX2N0aW1lLCAmdGFyZ2V0X21kLT5tc2dfY3RpbWUpOw0KKyAg ICBfX2dldF91c2VyKGhvc3RfbWQtPl9fbXNnX2NieXRlcywgJnRhcmdldF9t ZC0+X19tc2dfY2J5dGVzKTsNCisgICAgX19nZXRfdXNlcihob3N0X21kLT5t c2dfcW51bSwgJnRhcmdldF9tZC0+bXNnX3FudW0pOw0KKyAgICBfX2dldF91 c2VyKGhvc3RfbWQtPm1zZ19xYnl0ZXMsICZ0YXJnZXRfbWQtPm1zZ19xYnl0 ZXMpOw0KKyAgICBfX2dldF91c2VyKGhvc3RfbWQtPm1zZ19sc3BpZCwgJnRh cmdldF9tZC0+bXNnX2xzcGlkKTsNCisgICAgX19nZXRfdXNlcihob3N0X21k LT5tc2dfbHJwaWQsICZ0YXJnZXRfbWQtPm1zZ19scnBpZCk7DQogDQotICAg IGxvY2tfdXNlcl9zdHJ1Y3QodGFyZ2V0X21kLCB0YXJnZXRfYWRkciwgMSk7 DQotICAgIGNvcHlfZnJvbV91c2VyX2lwY19wZXJtKCYoaG9zdF9tZC0+bXNn X3Blcm0pLHRhcmdldF9hZGRyKTsNCi0gICAgaG9zdF9tZC0+bXNnX3N0aW1l ID0gdHN3YXBsKHRhcmdldF9tZC0+bXNnX3N0aW1lKTsNCi0gICAgaG9zdF9t ZC0+bXNnX3J0aW1lID0gdHN3YXBsKHRhcmdldF9tZC0+bXNnX3J0aW1lKTsN Ci0gICAgaG9zdF9tZC0+bXNnX2N0aW1lID0gdHN3YXBsKHRhcmdldF9tZC0+ bXNnX2N0aW1lKTsNCi0gICAgaG9zdF9tZC0+X19tc2dfY2J5dGVzID0gdHN3 YXBsKHRhcmdldF9tZC0+X19tc2dfY2J5dGVzKTsNCi0gICAgaG9zdF9tZC0+ bXNnX3FudW0gPSB0c3dhcGwodGFyZ2V0X21kLT5tc2dfcW51bSk7DQotICAg IGhvc3RfbWQtPm1zZ19xYnl0ZXMgPSB0c3dhcGwodGFyZ2V0X21kLT5tc2df cWJ5dGVzKTsNCi0gICAgaG9zdF9tZC0+bXNnX2xzcGlkID0gdHN3YXBsKHRh cmdldF9tZC0+bXNnX2xzcGlkKTsNCi0gICAgaG9zdF9tZC0+bXNnX2xycGlk ID0gdHN3YXBsKHRhcmdldF9tZC0+bXNnX2xycGlkKTsNCi0gICAgdW5sb2Nr X3VzZXJfc3RydWN0KHRhcmdldF9tZCwgdGFyZ2V0X2FkZHIsIDApOw0KKyAg ICByZXR1cm4gMDsNCiB9DQogDQotc3RhdGljIGlubGluZSB2b2lkIGhvc3Rf dG9fdGFyZ2V0X21zcWlkX2RzKHRhcmdldF91bG9uZyB0YXJnZXRfYWRkciwN CitzdGF0aWMgaW5saW5lIGxvbmcgY29weV90b191c2VybXNxaWRfZHMoc3Ry dWN0IHRhcmdldF9tc3FpZF9kcyAqdGFyZ2V0X21kLA0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXNxaWRf ZHMgKmhvc3RfbWQpDQogew0KLSAgICBzdHJ1Y3QgdGFyZ2V0X21zcWlkX2Rz ICp0YXJnZXRfbWQ7DQorICAgIC8qIGFjY2VzcyBoYXMgYWxyZWFkeSBiZWVu IGNoZWNrZWQgKi8NCisgICAgY29weV90b191c2VyX2lwY19wZXJtKCYodGFy Z2V0X21kLT5tc2dfcGVybSksJihob3N0X21kLT5tc2dfcGVybSkpOw0KKyAg ICBfX3B1dF91c2VyKGhvc3RfbWQtPm1zZ19zdGltZSwgJnRhcmdldF9tZC0+ bXNnX3N0aW1lKTsNCisgICAgX19wdXRfdXNlcihob3N0X21kLT5tc2dfcnRp bWUsICZ0YXJnZXRfbWQtPm1zZ19ydGltZSk7DQorICAgIF9fcHV0X3VzZXIo aG9zdF9tZC0+bXNnX2N0aW1lLCAmdGFyZ2V0X21kLT5tc2dfY3RpbWUpOw0K KyAgICBfX3B1dF91c2VyKGhvc3RfbWQtPl9fbXNnX2NieXRlcywgJnRhcmdl dF9tZC0+X19tc2dfY2J5dGVzKTsNCisgICAgX19wdXRfdXNlcihob3N0X21k LT5tc2dfcW51bSwgJnRhcmdldF9tZC0+bXNnX3FudW0pOw0KKyAgICBfX3B1 dF91c2VyKGhvc3RfbWQtPm1zZ19xYnl0ZXMsICZ0YXJnZXRfbWQtPm1zZ19x Ynl0ZXMpOw0KKyAgICBfX3B1dF91c2VyKGhvc3RfbWQtPm1zZ19sc3BpZCwg JnRhcmdldF9tZC0+bXNnX2xzcGlkKTsNCisgICAgX19wdXRfdXNlcihob3N0 X21kLT5tc2dfbHJwaWQsICZ0YXJnZXRfbWQtPm1zZ19scnBpZCk7DQogDQot ICAgIGxvY2tfdXNlcl9zdHJ1Y3QodGFyZ2V0X21kLCB0YXJnZXRfYWRkciwg MCk7DQotICAgIGNvcHlfdG9fdXNlcl9pcGNfcGVybSh0YXJnZXRfYWRkciwm KGhvc3RfbWQtPm1zZ19wZXJtKSk7DQotICAgIHRhcmdldF9tZC0+bXNnX3N0 aW1lID0gdHN3YXBsKGhvc3RfbWQtPm1zZ19zdGltZSk7DQotICAgIHRhcmdl dF9tZC0+bXNnX3J0aW1lID0gdHN3YXBsKGhvc3RfbWQtPm1zZ19ydGltZSk7 DQotICAgIHRhcmdldF9tZC0+bXNnX2N0aW1lID0gdHN3YXBsKGhvc3RfbWQt Pm1zZ19jdGltZSk7DQotICAgIHRhcmdldF9tZC0+X19tc2dfY2J5dGVzID0g dHN3YXBsKGhvc3RfbWQtPl9fbXNnX2NieXRlcyk7DQotICAgIHRhcmdldF9t ZC0+bXNnX3FudW0gPSB0c3dhcGwoaG9zdF9tZC0+bXNnX3FudW0pOw0KLSAg ICB0YXJnZXRfbWQtPm1zZ19xYnl0ZXMgPSB0c3dhcGwoaG9zdF9tZC0+bXNn X3FieXRlcyk7DQotICAgIHRhcmdldF9tZC0+bXNnX2xzcGlkID0gdHN3YXBs KGhvc3RfbWQtPm1zZ19sc3BpZCk7DQotICAgIHRhcmdldF9tZC0+bXNnX2xy cGlkID0gdHN3YXBsKGhvc3RfbWQtPm1zZ19scnBpZCk7DQotICAgIHVubG9j a191c2VyX3N0cnVjdCh0YXJnZXRfbWQsIHRhcmdldF9hZGRyLCAxKTsNCisg ICAgcmV0dXJuIDA7DQogfQ0KIA0KIHN0YXRpYyBpbmxpbmUgbG9uZyBkb19t c2djdGwobG9uZyBmaXJzdCwgbG9uZyBzZWNvbmQsIGxvbmcgcHRyKQ0KIHsN CiAgICAgc3RydWN0IG1zcWlkX2RzIGRzYXJnOw0KKyAgICBzdHJ1Y3QgdGFy Z2V0X21zcWlkX2RzICp0YXJnZXRfZHMgPSAoc3RydWN0IHRhcmdldF9tc3Fp ZF9kcyAqKXB0cjsNCiAgICAgaW50IGNtZCA9IHNlY29uZCYweGZmOw0KICAg ICBsb25nIHJldCA9IDA7DQogICAgIHN3aXRjaCggY21kICkgew0KICAgICBj YXNlIElQQ19TVEFUOg0KKwlpZiggY29weV9mcm9tX3VzZXIoJmRzYXJnLHRh cmdldF9kcyxzaXplb2Yoc3RydWN0IG1zcWlkX2RzKSkgKSByZXR1cm4gLUVG QVVMVDsNCisgICAgICAgIGNvcHlfZnJvbV91c2VyX21zcWlkX2RzKCZkc2Fy Zyx0YXJnZXRfZHMpOw0KKyAgICAgICAgcmV0ID0gZ2V0X2Vycm5vKG1zZ2N0 bChmaXJzdCwgY21kLCAmZHNhcmcpKTsNCisgICAgICAgIGlmKCBjb3B5X3Rv X3VzZXJtc3FpZF9kcyh0YXJnZXRfZHMsJmRzYXJnKSApIHJldHVybiAtRUZB VUxUOw0KKwlicmVhazsNCiAgICAgY2FzZSBJUENfU0VUOg0KLSAgICAgICAg dGFyZ2V0X3RvX2hvc3RfbXNxaWRfZHMoJmRzYXJnLHB0cik7DQorCWlmKCBj b3B5X2Zyb21fdXNlcigmZHNhcmcsdGFyZ2V0X2RzLHNpemVvZihzdHJ1Y3Qg bXNxaWRfZHMpKSApIHJldHVybiAtRUZBVUxUOw0KKyAgICAgICAgY29weV9m cm9tX3VzZXJfbXNxaWRfZHMoJmRzYXJnLHRhcmdldF9kcyk7DQogICAgICAg ICByZXQgPSBnZXRfZXJybm8obXNnY3RsKGZpcnN0LCBjbWQsICZkc2FyZykp Ow0KLSAgICAgICAgaG9zdF90b190YXJnZXRfbXNxaWRfZHMocHRyLCZkc2Fy Zyk7DQorICAgICAgICBpZiggY29weV90b191c2VybXNxaWRfZHModGFyZ2V0 X2RzLCZkc2FyZykgKSByZXR1cm4gLUVGQVVMVDsNCisJYnJlYWs7DQogICAg IGRlZmF1bHQ6DQogICAgICAgICByZXQgPSBnZXRfZXJybm8obXNnY3RsKGZp cnN0LCBjbWQsICZkc2FyZykpOw0KICAgICB9DQpAQCAtMTUyMiw0MSArMTUy OCw0NSBAQA0KIH0NCiANCiBzdHJ1Y3QgdGFyZ2V0X21zZ2J1ZiB7DQotCXRh cmdldF91bG9uZyBtdHlwZTsNCisJdGFyZ2V0X2xvbmcgbXR5cGU7DQogCWNo YXIJbXRleHRbMV07DQogfTsNCiANCiBzdGF0aWMgaW5saW5lIGxvbmcgZG9f bXNnc25kKGxvbmcgbXNxaWQsIGxvbmcgbXNncCwgbG9uZyBtc2dzeiwgbG9u ZyBtc2dmbGcpDQogew0KLSAgICBzdHJ1Y3QgdGFyZ2V0X21zZ2J1ZiAqdGFy Z2V0X21iOw0KKyAgICBzdHJ1Y3QgdGFyZ2V0X21zZ2J1ZiAqdGFyZ2V0X21i ID0gKHN0cnVjdCB0YXJnZXRfbXNnYnVmICopbXNncDsNCisgICAgdGFyZ2V0 X2xvbmcgdG1zZ3N6ID0gdHN3YXAzMihtc2dzeik7DQogICAgIHN0cnVjdCBt c2didWYgKmhvc3RfbWI7DQogICAgIGxvbmcgcmV0ID0gMDsNCiANCi0gICAg bG9ja191c2VyX3N0cnVjdCh0YXJnZXRfbWIsbXNncCwwKTsNCi0gICAgaG9z dF9tYiA9IG1hbGxvYyhtc2dzeitzaXplb2YobG9uZykpOw0KKyAgICBpZigg dG1zZ3N6IDwgMCApIHJldHVybiAtRUlOVkFMOw0KKyAgICBpZiggIWFjY2Vz c19vayhWRVJJRllfUkVBRCx0YXJnZXRfbWIsc2l6ZW9mKHRhcmdldF9sb25n KSkgKSByZXR1cm4gLUVGQVVMVDsNCisgICAgaWYoICEodGFyZ2V0X21iLT5t dHlwZSA+IDApICkgcmV0dXJuIC1FSU5WQUw7DQorDQorICAgIGhvc3RfbWIg PSBhbGxvY2Eoc2l6ZW9mKGxvbmcpK21zZ3N6KTsNCisNCisgICAgaWYoIGNv cHlfZnJvbV91c2VyKGhvc3RfbWItPm10ZXh0LHRhcmdldF9tYi0+bXRleHQs bXNnc3opICkgcmV0dXJuIC1FRkFVTFQ7DQogICAgIGhvc3RfbWItPm10eXBl ID0gdHN3YXBsKHRhcmdldF9tYi0+bXR5cGUpOw0KLSAgICBtZW1jcHkoaG9z dF9tYi0+bXRleHQsdGFyZ2V0X21iLT5tdGV4dCxtc2dzeik7DQogICAgIHJl dCA9IGdldF9lcnJubyhtc2dzbmQobXNxaWQsIGhvc3RfbWIsIG1zZ3N6LCBt c2dmbGcpKTsNCi0gICAgZnJlZShob3N0X21iKTsNCi0gICAgdW5sb2NrX3Vz ZXJfc3RydWN0KHRhcmdldF9tYiwgbXNncCwgMCk7DQogDQogICAgIHJldHVy biByZXQ7DQogfQ0KIA0KIHN0YXRpYyBpbmxpbmUgbG9uZyBkb19tc2dyY3Yo bG9uZyBtc3FpZCwgbG9uZyBtc2dwLCBsb25nIG1zZ3N6LCBsb25nIG1zZ3R5 cGUsIGxvbmcgbXNnZmxnKQ0KIHsNCi0gICAgc3RydWN0IHRhcmdldF9tc2di dWYgKnRhcmdldF9tYjsNCisgICAgc3RydWN0IHRhcmdldF9tc2didWYgKnRh cmdldF9tYiA9IChzdHJ1Y3QgdGFyZ2V0X21zZ2J1ZiAqKW1zZ3A7DQorICAg IHRhcmdldF9sb25nIHRtc2dzeiA9IHRzd2FwMzIobXNnc3opOw0KICAgICBz dHJ1Y3QgbXNnYnVmICpob3N0X21iOw0KICAgICBsb25nIHJldCA9IDA7DQog DQotICAgIGxvY2tfdXNlcl9zdHJ1Y3QodGFyZ2V0X21iLCBtc2dwLCAwKTsN Ci0gICAgaG9zdF9tYiA9IG1hbGxvYyhtc2dzeitzaXplb2YobG9uZykpOw0K LSAgICByZXQgPSBnZXRfZXJybm8obXNncmN2KG1zcWlkLCBob3N0X21iLCBt c2dzeiwgMSwgbXNnZmxnKSk7DQorICAgIGlmKCB0bXNnc3ogPCAwICkgcmV0 dXJuIC1FSU5WQUw7DQorDQorICAgIGhvc3RfbWIgPSBhbGxvY2Eoc2l6ZW9m KGxvbmcpK21zZ3N6KTsNCisNCisgICAgcmV0ID0gZ2V0X2Vycm5vKG1zZ3Jj dihtc3FpZCwgaG9zdF9tYiwgbXNnc3osIG1zZ3R5cGUsIG1zZ2ZsZykpOw0K ICAgICBpZiAocmV0ID4gMCkNCi0gICAgCW1lbWNweSh0YXJnZXRfbWItPm10 ZXh0LCBob3N0X21iLT5tdGV4dCwgcmV0KTsNCisJaWYoIGNvcHlfdG9fdXNl cih0YXJnZXRfbWItPm10ZXh0LGhvc3RfbWItPm10ZXh0LHJldCkgKSByZXR1 cm4gLUVGQVVMVDsNCiAgICAgdGFyZ2V0X21iLT5tdHlwZSA9IHRzd2FwbCho b3N0X21iLT5tdHlwZSk7DQotICAgIGZyZWUoaG9zdF9tYik7DQotICAgIHVu bG9ja191c2VyX3N0cnVjdCh0YXJnZXRfbWIsIG1zZ3AsIDApOw0KIA0KICAg ICByZXR1cm4gcmV0Ow0KIH0NCg== ---1463811327-2102150400-1190164912=:20150--