From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1HuWJ6-0004bC-Az for qemu-devel@nongnu.org; Sat, 02 Jun 2007 12:18:24 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1HuWJ2-0004Xv-O7 for qemu-devel@nongnu.org; Sat, 02 Jun 2007 12:18:23 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1HuWJ2-0004Xk-JR for qemu-devel@nongnu.org; Sat, 02 Jun 2007 12:18:20 -0400 Received: from grayson.netsweng.com ([207.235.77.11]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1HuWJ1-0000yR-F6 for qemu-devel@nongnu.org; Sat, 02 Jun 2007 12:18:20 -0400 Received: from amavis by grayson.netsweng.com with scanned-ok (Exim 3.36 #1 (Debian)) id 1HuWIz-0000iE-00 for ; Sat, 02 Jun 2007 12:18:17 -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 JpoKRwMkuHVy for ; Sat, 2 Jun 2007 12:17:31 -0400 (EDT) Received: from [71.31.89.73] (helo=trantor.stuart.netsweng.com) by grayson.netsweng.com with esmtp (Exim 3.36 #1 (Debian)) id 1HuWIE-0000fS-00 for ; Sat, 02 Jun 2007 12:17:30 -0400 Date: Sat, 2 Jun 2007 12:17:08 -0400 (EDT) From: Stuart Anderson Subject: Re: [Qemu-devel] [PATCH] linux-user semaphore structure mapping In-Reply-To: <20070601115922.GI28232@networkno.de> Message-ID: References: <20070601115922.GI28232@networkno.de> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-1463811327-349864141-1180801028=:21792" 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-349864141-1180801028=:21792 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Fri, 1 Jun 2007, Thiemo Seufer wrote: > Stuart Anderson wrote: >> >> This is a refresh (vs 5/28 cvs) of a patch sent several weeks ago. This >> patch implments the structure handling for the semaphore IPC related >> structures used by semctl(). >> > It produces too many compiler warnings to be comfortable with, and > breaks compilation of alpha-linux-user. Thiemo, I've attached both the semaphore and message queue patches to this message since there is a dependency between them (message queue patch must be applied on top of the semaphore patch). This is updated to 6/01 cvs, and includes the additional part to fix alpha the same as is done for the other archs. It also cleans up the warnings in the new code areas. 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-349864141-1180801028=:21792 Content-Type: TEXT/x-diff; charset=US-ASCII; name=03_semcalls.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: semaphore patch Content-Disposition: attachment; filename=03_semcalls.patch SW5kZXg6IHFlbXUvbGludXgtdXNlci9pMzg2L3N5c2NhbGwuaA0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KLS0tIHFlbXUub3JpZy9saW51eC11c2VyL2kz ODYvc3lzY2FsbC5oCTIwMDctMDYtMDEgMTY6NTI6MDcuMDAwMDAwMDAwIC0w NDAwDQorKysgcWVtdS9saW51eC11c2VyL2kzODYvc3lzY2FsbC5oCTIwMDct MDYtMDEgMTc6MDg6MjkuMDAwMDAwMDAwIC0wNDAwDQpAQCAtMTQyLDgwICsx NDIsNCBAQA0KIAlzdHJ1Y3QgdGFyZ2V0X3ZtODZwbHVzX2luZm9fc3RydWN0 IHZtODZwbHVzOw0KIH07DQogDQotLyogaXBjcyAqLw0KLQ0KLSNkZWZpbmUg VEFSR0VUX1NFTU9QICAgICAgICAgICAxDQotI2RlZmluZSBUQVJHRVRfU0VN R0VUICAgICAgICAgIDINCi0jZGVmaW5lIFRBUkdFVF9TRU1DVEwgICAgICAg ICAgMyANCi0jZGVmaW5lIFRBUkdFVF9NU0dTTkQgICAgICAgICAgMTEgDQot I2RlZmluZSBUQVJHRVRfTVNHUkNWICAgICAgICAgIDEyDQotI2RlZmluZSBU QVJHRVRfTVNHR0VUICAgICAgICAgIDEzDQotI2RlZmluZSBUQVJHRVRfTVNH Q1RMICAgICAgICAgIDE0DQotI2RlZmluZSBUQVJHRVRfU0hNQVQgICAgICAg ICAgIDIxDQotI2RlZmluZSBUQVJHRVRfU0hNRFQgICAgICAgICAgIDIyDQot I2RlZmluZSBUQVJHRVRfU0hNR0VUICAgICAgICAgIDIzDQotI2RlZmluZSBU QVJHRVRfU0hNQ1RMICAgICAgICAgIDI0DQotDQotc3RydWN0IHRhcmdldF9t c2didWYgew0KLQlpbnQgbXR5cGU7DQotCWNoYXIgbXRleHRbMV07DQotfTsN Ci0NCi1zdHJ1Y3QgdGFyZ2V0X2lwY19rbHVkZ2Ugew0KLQl1bnNpZ25lZCBp bnQJbXNncDsJLyogUmVhbGx5IChzdHJ1Y3QgbXNnYnVmICopICovDQotCWlu dCBtc2d0eXA7DQotfTsJDQotDQotc3RydWN0IHRhcmdldF9pcGNfcGVybSB7 DQotCWludAlrZXk7DQotCXVuc2lnbmVkIHNob3J0CXVpZDsNCi0JdW5zaWdu ZWQgc2hvcnQJZ2lkOw0KLQl1bnNpZ25lZCBzaG9ydAljdWlkOw0KLQl1bnNp Z25lZCBzaG9ydAljZ2lkOw0KLQl1bnNpZ25lZCBzaG9ydAltb2RlOw0KLQl1 bnNpZ25lZCBzaG9ydAlzZXE7DQotfTsNCi0NCi1zdHJ1Y3QgdGFyZ2V0X21z cWlkX2RzIHsNCi0Jc3RydWN0IHRhcmdldF9pcGNfcGVybQltc2dfcGVybTsN Ci0JdW5zaWduZWQgaW50CQltc2dfZmlyc3Q7CS8qIHJlYWxseSBzdHJ1Y3Qg dGFyZ2V0X21zZyogKi8NCi0JdW5zaWduZWQgaW50CQltc2dfbGFzdDsJLyog cmVhbGx5IHN0cnVjdCB0YXJnZXRfbXNnKiAqLw0KLQl1bnNpZ25lZCBpbnQJ CW1zZ19zdGltZTsJLyogcmVhbGx5IHRhcmdldF90aW1lX3QgKi8NCi0JdW5z aWduZWQgaW50CQltc2dfcnRpbWU7CS8qIHJlYWxseSB0YXJnZXRfdGltZV90 ICovDQotCXVuc2lnbmVkIGludAkJbXNnX2N0aW1lOwkvKiByZWFsbHkgdGFy Z2V0X3RpbWVfdCAqLw0KLQl1bnNpZ25lZCBpbnQJCXd3YWl0OwkJLyogcmVh bGx5IHN0cnVjdCB3YWl0X3F1ZXVlKiAqLw0KLQl1bnNpZ25lZCBpbnQJCXJ3 YWl0OwkJLyogcmVhbGx5IHN0cnVjdCB3YWl0X3F1ZXVlKiAqLw0KLQl1bnNp Z25lZCBzaG9ydAkJbXNnX2NieXRlczsNCi0JdW5zaWduZWQgc2hvcnQJCW1z Z19xbnVtOw0KLQl1bnNpZ25lZCBzaG9ydAkJbXNnX3FieXRlczsNCi0JdW5z aWduZWQgc2hvcnQJCW1zZ19sc3BpZDsNCi0JdW5zaWduZWQgc2hvcnQJCW1z Z19scnBpZDsNCi19Ow0KLQ0KLXN0cnVjdCB0YXJnZXRfc2htaWRfZHMgew0K LQlzdHJ1Y3QgdGFyZ2V0X2lwY19wZXJtCXNobV9wZXJtOw0KLQlpbnQJCQlz aG1fc2Vnc3o7DQotCXVuc2lnbmVkIGludAkJc2htX2F0aW1lOwkvKiByZWFs bHkgdGFyZ2V0X3RpbWVfdCAqLw0KLQl1bnNpZ25lZCBpbnQJCXNobV9kdGlt ZTsJLyogcmVhbGx5IHRhcmdldF90aW1lX3QgKi8NCi0JdW5zaWduZWQgaW50 CQlzaG1fY3RpbWU7CS8qIHJlYWxseSB0YXJnZXRfdGltZV90ICovDQotCXVu c2lnbmVkIHNob3J0CQlzaG1fY3BpZDsNCi0JdW5zaWduZWQgc2hvcnQJCXNo bV9scGlkOw0KLQlzaG9ydAkJCXNobV9uYXR0Y2g7DQotCXVuc2lnbmVkIHNo b3J0CQlzaG1fbnBhZ2VzOw0KLQl1bnNpZ25lZCBsb25nCQkqc2htX3BhZ2Vz Ow0KLQl2b2lkIAkJCSphdHRhY2hlczsJLyogcmVhbGx5IHN0cnVjdCBzaG1f ZGVzYyAqICovDQotfTsNCi0NCi0jZGVmaW5lIFRBUkdFVF9JUENfUk1JRAkw DQotI2RlZmluZSBUQVJHRVRfSVBDX1NFVAkxDQotI2RlZmluZSBUQVJHRVRf SVBDX1NUQVQJMg0KLQ0KLXVuaW9uIHRhcmdldF9zZW11biB7DQotICAgIGlu dCB2YWw7DQotICAgIHVuc2lnbmVkIGludCBidWY7CS8qIHJlYWxseSBzdHJ1 Y3Qgc2VtaWRfZHMgKiAqLw0KLSAgICB1bnNpZ25lZCBpbnQgYXJyYXk7IC8q IHJlYWxseSB1bnNpZ25lZCBzaG9ydCAqICovDQotICAgIHVuc2lnbmVkIGlu dCBfX2J1ZjsJLyogcmVhbGx5IHN0cnVjdCBzZW1pbmZvICogKi8NCi0gICAg dW5zaWduZWQgaW50IF9fcGFkOwkvKiByZWFsbHkgdm9pZCogKi8NCi19Ow0K LQ0KICNkZWZpbmUgVU5BTUVfTUFDSElORSAiaTY4NiINCkluZGV4OiBxZW11 L2xpbnV4LXVzZXIvcHBjL3N5c2NhbGwuaA0KPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KLS0tIHFlbXUub3JpZy9saW51eC11c2VyL3BwYy9zeXNjYWxsLmgJ MjAwNy0wNi0wMSAxNjo1MjowNy4wMDAwMDAwMDAgLTA0MDANCisrKyBxZW11 L2xpbnV4LXVzZXIvcHBjL3N5c2NhbGwuaAkyMDA3LTA2LTAxIDE3OjA4OjI5 LjAwMDAwMDAwMCAtMDQwMA0KQEAgLTUxLDgwICs1MSw0IEBADQogICogZmxh Z3MgbWFza3MNCiAgKi8NCiANCi0vKiBpcGNzICovDQotDQotI2RlZmluZSBU QVJHRVRfU0VNT1AgICAgICAgICAgIDENCi0jZGVmaW5lIFRBUkdFVF9TRU1H RVQgICAgICAgICAgMg0KLSNkZWZpbmUgVEFSR0VUX1NFTUNUTCAgICAgICAg ICAzIA0KLSNkZWZpbmUgVEFSR0VUX01TR1NORCAgICAgICAgICAxMSANCi0j ZGVmaW5lIFRBUkdFVF9NU0dSQ1YgICAgICAgICAgMTINCi0jZGVmaW5lIFRB UkdFVF9NU0dHRVQgICAgICAgICAgMTMNCi0jZGVmaW5lIFRBUkdFVF9NU0dD VEwgICAgICAgICAgMTQNCi0jZGVmaW5lIFRBUkdFVF9TSE1BVCAgICAgICAg ICAgMjENCi0jZGVmaW5lIFRBUkdFVF9TSE1EVCAgICAgICAgICAgMjINCi0j ZGVmaW5lIFRBUkdFVF9TSE1HRVQgICAgICAgICAgMjMNCi0jZGVmaW5lIFRB UkdFVF9TSE1DVEwgICAgICAgICAgMjQNCi0NCi1zdHJ1Y3QgdGFyZ2V0X21z Z2J1ZiB7DQotCWludCBtdHlwZTsNCi0JY2hhciBtdGV4dFsxXTsNCi19Ow0K LQ0KLXN0cnVjdCB0YXJnZXRfaXBjX2tsdWRnZSB7DQotCXVuc2lnbmVkIGlu dAltc2dwOwkvKiBSZWFsbHkgKHN0cnVjdCBtc2didWYgKikgKi8NCi0JaW50 IG1zZ3R5cDsNCi19OwkNCi0NCi1zdHJ1Y3QgdGFyZ2V0X2lwY19wZXJtIHsN Ci0JaW50CWtleTsNCi0JdW5zaWduZWQgc2hvcnQJdWlkOw0KLQl1bnNpZ25l ZCBzaG9ydAlnaWQ7DQotCXVuc2lnbmVkIHNob3J0CWN1aWQ7DQotCXVuc2ln bmVkIHNob3J0CWNnaWQ7DQotCXVuc2lnbmVkIHNob3J0CW1vZGU7DQotCXVu c2lnbmVkIHNob3J0CXNlcTsNCi19Ow0KLQ0KLXN0cnVjdCB0YXJnZXRfbXNx aWRfZHMgew0KLQlzdHJ1Y3QgdGFyZ2V0X2lwY19wZXJtCW1zZ19wZXJtOw0K LQl1bnNpZ25lZCBpbnQJCW1zZ19maXJzdDsJLyogcmVhbGx5IHN0cnVjdCB0 YXJnZXRfbXNnKiAqLw0KLQl1bnNpZ25lZCBpbnQJCW1zZ19sYXN0OwkvKiBy ZWFsbHkgc3RydWN0IHRhcmdldF9tc2cqICovDQotCXVuc2lnbmVkIGludAkJ bXNnX3N0aW1lOwkvKiByZWFsbHkgdGFyZ2V0X3RpbWVfdCAqLw0KLQl1bnNp Z25lZCBpbnQJCW1zZ19ydGltZTsJLyogcmVhbGx5IHRhcmdldF90aW1lX3Qg Ki8NCi0JdW5zaWduZWQgaW50CQltc2dfY3RpbWU7CS8qIHJlYWxseSB0YXJn ZXRfdGltZV90ICovDQotCXVuc2lnbmVkIGludAkJd3dhaXQ7CQkvKiByZWFs bHkgc3RydWN0IHdhaXRfcXVldWUqICovDQotCXVuc2lnbmVkIGludAkJcndh aXQ7CQkvKiByZWFsbHkgc3RydWN0IHdhaXRfcXVldWUqICovDQotCXVuc2ln bmVkIHNob3J0CQltc2dfY2J5dGVzOw0KLQl1bnNpZ25lZCBzaG9ydAkJbXNn X3FudW07DQotCXVuc2lnbmVkIHNob3J0CQltc2dfcWJ5dGVzOw0KLQl1bnNp Z25lZCBzaG9ydAkJbXNnX2xzcGlkOw0KLQl1bnNpZ25lZCBzaG9ydAkJbXNn X2xycGlkOw0KLX07DQotDQotc3RydWN0IHRhcmdldF9zaG1pZF9kcyB7DQot CXN0cnVjdCB0YXJnZXRfaXBjX3Blcm0Jc2htX3Blcm07DQotCWludAkJCXNo bV9zZWdzejsNCi0JdW5zaWduZWQgaW50CQlzaG1fYXRpbWU7CS8qIHJlYWxs eSB0YXJnZXRfdGltZV90ICovDQotCXVuc2lnbmVkIGludAkJc2htX2R0aW1l OwkvKiByZWFsbHkgdGFyZ2V0X3RpbWVfdCAqLw0KLQl1bnNpZ25lZCBpbnQJ CXNobV9jdGltZTsJLyogcmVhbGx5IHRhcmdldF90aW1lX3QgKi8NCi0JdW5z aWduZWQgc2hvcnQJCXNobV9jcGlkOw0KLQl1bnNpZ25lZCBzaG9ydAkJc2ht X2xwaWQ7DQotCXNob3J0CQkJc2htX25hdHRjaDsNCi0JdW5zaWduZWQgc2hv cnQJCXNobV9ucGFnZXM7DQotCXVuc2lnbmVkIGxvbmcJCSpzaG1fcGFnZXM7 DQotCXZvaWQgCQkJKmF0dGFjaGVzOwkvKiByZWFsbHkgc3RydWN0IHNobV9k ZXNjICogKi8NCi19Ow0KLQ0KLSNkZWZpbmUgVEFSR0VUX0lQQ19STUlECTAN Ci0jZGVmaW5lIFRBUkdFVF9JUENfU0VUCTENCi0jZGVmaW5lIFRBUkdFVF9J UENfU1RBVAkyDQotDQotdW5pb24gdGFyZ2V0X3NlbXVuIHsNCi0gICAgaW50 IHZhbDsNCi0gICAgdW5zaWduZWQgaW50IGJ1ZjsJLyogcmVhbGx5IHN0cnVj dCBzZW1pZF9kcyAqICovDQotICAgIHVuc2lnbmVkIGludCBhcnJheTsgLyog cmVhbGx5IHVuc2lnbmVkIHNob3J0ICogKi8NCi0gICAgdW5zaWduZWQgaW50 IF9fYnVmOwkvKiByZWFsbHkgc3RydWN0IHNlbWluZm8gKiAqLw0KLSAgICB1 bnNpZ25lZCBpbnQgX19wYWQ7CS8qIHJlYWxseSB2b2lkKiAqLw0KLX07DQot DQogI2RlZmluZSBVTkFNRV9NQUNISU5FICJwcGMiDQpJbmRleDogcWVtdS9s aW51eC11c2VyL3N5c2NhbGwuYw0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K LS0tIHFlbXUub3JpZy9saW51eC11c2VyL3N5c2NhbGwuYwkyMDA3LTA2LTAx IDE2OjU3OjA1LjAwMDAwMDAwMCAtMDQwMA0KKysrIHFlbXUvbGludXgtdXNl ci9zeXNjYWxsLmMJMjAwNy0wNi0wMSAxNzowODoyOS4wMDAwMDAwMDAgLTA0 MDANCkBAIC0xMjMwLDEyICsxMjMwLDIxMyBAQA0KICAgICB1aW50MzJfdAlz aXplOw0KIH0gc2htX3JlZ2lvbnNbTl9TSE1fUkVHSU9OU107DQogDQorc3Ry dWN0IHRhcmdldF9pcGNfcGVybQ0KK3sNCisgICAgdGFyZ2V0X2xvbmcgX19r ZXk7DQorICAgIHRhcmdldF91bG9uZyB1aWQ7DQorICAgIHRhcmdldF91bG9u ZyBnaWQ7DQorICAgIHRhcmdldF91bG9uZyBjdWlkOw0KKyAgICB0YXJnZXRf dWxvbmcgY2dpZDsNCisgICAgdW5zaWduZWQgc2hvcnQgaW50IG1vZGU7DQor ICAgIHVuc2lnbmVkIHNob3J0IGludCBfX3BhZDE7DQorICAgIHVuc2lnbmVk IHNob3J0IGludCBfX3NlcTsNCisgICAgdW5zaWduZWQgc2hvcnQgaW50IF9f cGFkMjsNCisgICAgdGFyZ2V0X3Vsb25nIF9fdW51c2VkMTsNCisgICAgdGFy Z2V0X3Vsb25nIF9fdW51c2VkMjsNCit9Ow0KKw0KK3N0cnVjdCB0YXJnZXRf c2VtaWRfZHMNCit7DQorICBzdHJ1Y3QgdGFyZ2V0X2lwY19wZXJtIHNlbV9w ZXJtOw0KKyAgdGFyZ2V0X3Vsb25nIHNlbV9vdGltZTsNCisgIHRhcmdldF91 bG9uZyBfX3VudXNlZDE7DQorICB0YXJnZXRfdWxvbmcgc2VtX2N0aW1lOw0K KyAgdGFyZ2V0X3Vsb25nIF9fdW51c2VkMjsNCisgIHRhcmdldF91bG9uZyBz ZW1fbnNlbXM7DQorICB0YXJnZXRfdWxvbmcgX191bnVzZWQzOw0KKyAgdGFy Z2V0X3Vsb25nIF9fdW51c2VkNDsNCit9Ow0KKw0KK3N0YXRpYyBpbmxpbmUg dm9pZCB0YXJnZXRfdG9faG9zdF9pcGNfcGVybShzdHJ1Y3QgaXBjX3Blcm0g Kmhvc3RfaXAsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRhcmdldF91bG9uZyB0YXJnZXRfYWRkcikNCit7DQorICAg IHN0cnVjdCB0YXJnZXRfaXBjX3Blcm0gKnRhcmdldF9pcDsNCisgICAgc3Ry dWN0IHRhcmdldF9zZW1pZF9kcyAqdGFyZ2V0X3NkOw0KKw0KKyAgICBsb2Nr X3VzZXJfc3RydWN0KHRhcmdldF9zZCwgdGFyZ2V0X2FkZHIsIDEpOw0KKyAg ICB0YXJnZXRfaXA9Jih0YXJnZXRfc2QtPnNlbV9wZXJtKTsNCisgICAgaG9z dF9pcC0+X19rZXkgPSB0c3dhcGwodGFyZ2V0X2lwLT5fX2tleSk7DQorICAg IGhvc3RfaXAtPnVpZCA9IHRzd2FwbCh0YXJnZXRfaXAtPnVpZCk7DQorICAg IGhvc3RfaXAtPmdpZCA9IHRzd2FwbCh0YXJnZXRfaXAtPmdpZCk7DQorICAg IGhvc3RfaXAtPmN1aWQgPSB0c3dhcGwodGFyZ2V0X2lwLT5jdWlkKTsNCisg ICAgaG9zdF9pcC0+Y2dpZCA9IHRzd2FwbCh0YXJnZXRfaXAtPmNnaWQpOw0K KyAgICBob3N0X2lwLT5tb2RlID0gdHN3YXBsKHRhcmdldF9pcC0+bW9kZSk7 DQorICAgIHVubG9ja191c2VyX3N0cnVjdCh0YXJnZXRfc2QsIHRhcmdldF9h ZGRyLCAwKTsNCit9DQorDQorc3RhdGljIGlubGluZSB2b2lkIGhvc3RfdG9f dGFyZ2V0X2lwY19wZXJtKHRhcmdldF91bG9uZyB0YXJnZXRfYWRkciwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGlwY19wZXJtICpob3N0X2lwKQ0KK3sNCisgICAgc3RydWN0IHRhcmdl dF9pcGNfcGVybSAqdGFyZ2V0X2lwOw0KKyAgICBzdHJ1Y3QgdGFyZ2V0X3Nl bWlkX2RzICp0YXJnZXRfc2Q7DQorDQorICAgIGxvY2tfdXNlcl9zdHJ1Y3Qo dGFyZ2V0X3NkLCB0YXJnZXRfYWRkciwgMCk7DQorICAgIHRhcmdldF9pcCA9 ICYodGFyZ2V0X3NkLT5zZW1fcGVybSk7DQorICAgIHRhcmdldF9pcC0+X19r ZXkgPSB0c3dhcGwoaG9zdF9pcC0+X19rZXkpOw0KKyAgICB0YXJnZXRfaXAt PnVpZCA9IHRzd2FwbChob3N0X2lwLT51aWQpOw0KKyAgICB0YXJnZXRfaXAt PmdpZCA9IHRzd2FwbChob3N0X2lwLT5naWQpOw0KKyAgICB0YXJnZXRfaXAt PmN1aWQgPSB0c3dhcGwoaG9zdF9pcC0+Y3VpZCk7DQorICAgIHRhcmdldF9p cC0+Y2dpZCA9IHRzd2FwbChob3N0X2lwLT5jZ2lkKTsNCisgICAgdGFyZ2V0 X2lwLT5tb2RlID0gdHN3YXBsKGhvc3RfaXAtPm1vZGUpOw0KKyAgICB1bmxv Y2tfdXNlcl9zdHJ1Y3QodGFyZ2V0X3NkLCB0YXJnZXRfYWRkciwgMSk7DQor fQ0KKw0KK3N0YXRpYyBpbmxpbmUgdm9pZCB0YXJnZXRfdG9faG9zdF9zZW1p ZF9kcyhzdHJ1Y3Qgc2VtaWRfZHMgKmhvc3Rfc2QsDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X3Vsb25nIHRh cmdldF9hZGRyKQ0KK3sNCisgICAgc3RydWN0IHRhcmdldF9zZW1pZF9kcyAq dGFyZ2V0X3NkOw0KKw0KKyAgICBsb2NrX3VzZXJfc3RydWN0KHRhcmdldF9z ZCwgdGFyZ2V0X2FkZHIsIDEpOw0KKyAgICB0YXJnZXRfdG9faG9zdF9pcGNf cGVybSgmKGhvc3Rfc2QtPnNlbV9wZXJtKSx0YXJnZXRfYWRkcik7DQorICAg IGhvc3Rfc2QtPnNlbV9uc2VtcyA9IHRzd2FwbCh0YXJnZXRfc2QtPnNlbV9u c2Vtcyk7DQorICAgIGhvc3Rfc2QtPnNlbV9vdGltZSA9IHRzd2FwbCh0YXJn ZXRfc2QtPnNlbV9vdGltZSk7DQorICAgIGhvc3Rfc2QtPnNlbV9jdGltZSA9 IHRzd2FwbCh0YXJnZXRfc2QtPnNlbV9jdGltZSk7DQorICAgIHVubG9ja191 c2VyX3N0cnVjdCh0YXJnZXRfc2QsIHRhcmdldF9hZGRyLCAwKTsNCit9DQor DQorc3RhdGljIGlubGluZSB2b2lkIGhvc3RfdG9fdGFyZ2V0X3NlbWlkX2Rz KHRhcmdldF91bG9uZyB0YXJnZXRfYWRkciwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNlbWlkX2RzICpo b3N0X3NkKQ0KK3sNCisgICAgc3RydWN0IHRhcmdldF9zZW1pZF9kcyAqdGFy Z2V0X3NkOw0KKw0KKyAgICBsb2NrX3VzZXJfc3RydWN0KHRhcmdldF9zZCwg dGFyZ2V0X2FkZHIsIDApOw0KKyAgICBob3N0X3RvX3RhcmdldF9pcGNfcGVy bSh0YXJnZXRfYWRkciwmKGhvc3Rfc2QtPnNlbV9wZXJtKSk7DQorICAgIHRh cmdldF9zZC0+c2VtX25zZW1zID0gdHN3YXBsKGhvc3Rfc2QtPnNlbV9uc2Vt cyk7DQorICAgIHRhcmdldF9zZC0+c2VtX290aW1lID0gdHN3YXBsKGhvc3Rf c2QtPnNlbV9vdGltZSk7DQorICAgIHRhcmdldF9zZC0+c2VtX2N0aW1lID0g dHN3YXBsKGhvc3Rfc2QtPnNlbV9jdGltZSk7DQorICAgIHVubG9ja191c2Vy X3N0cnVjdCh0YXJnZXRfc2QsIHRhcmdldF9hZGRyLCAxKTsNCit9DQorDQog dW5pb24gc2VtdW4gew0KIAlpbnQgdmFsOw0KLQlzdHJ1Y3Qgc2VuaWRfZHMg KmJ1ZjsNCisJc3RydWN0IHNlbWlkX2RzICpidWY7DQogCXVuc2lnbmVkIHNo b3J0ICphcnJheTsNCiB9Ow0KIA0KK3VuaW9uIHRhcmdldF9zZW11biB7DQor CWludCB2YWw7DQorCXRhcmdldF9sb25nIGJ1ZjsNCisJdW5zaWduZWQgc2hv cnQgaW50ICphcnJheTsNCit9Ow0KKw0KK3N0YXRpYyBpbmxpbmUgdm9pZCB0 YXJnZXRfdG9faG9zdF9zZW11bih1bnNpZ25lZCBsb25nIGNtZCwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24gc2Vt dW4gKmhvc3Rfc3UsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRhcmdldF91bG9uZyB0YXJnZXRfYWRkciwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNlbWlk X2RzICpkcykNCit7DQorICAgIHVuaW9uIHRhcmdldF9zZW11biAqdGFyZ2V0 X3N1Ow0KKw0KKyAgICBzd2l0Y2goIGNtZCApIHsNCisJY2FzZSBJUENfU1RB VDoNCisJY2FzZSBJUENfU0VUOg0KKyAgICAgICAgICAgbG9ja191c2VyX3N0 cnVjdCh0YXJnZXRfc3UsIHRhcmdldF9hZGRyLCAxKTsNCisJICAgdGFyZ2V0 X3RvX2hvc3Rfc2VtaWRfZHMoZHMsdGFyZ2V0X3N1LT5idWYpOw0KKwkgICBo b3N0X3N1LT5idWYgPSBkczsNCisgICAgICAgICAgIHVubG9ja191c2VyX3N0 cnVjdCh0YXJnZXRfc3UsIHRhcmdldF9hZGRyLCAwKTsNCisJICAgYnJlYWs7 DQorCWNhc2UgR0VUVkFMOg0KKwljYXNlIFNFVFZBTDoNCisgICAgICAgICAg IGxvY2tfdXNlcl9zdHJ1Y3QodGFyZ2V0X3N1LCB0YXJnZXRfYWRkciwgMSk7 DQorCSAgIGhvc3Rfc3UtPnZhbCA9IHRzd2FwbCh0YXJnZXRfc3UtPnZhbCk7 DQorICAgICAgICAgICB1bmxvY2tfdXNlcl9zdHJ1Y3QodGFyZ2V0X3N1LCB0 YXJnZXRfYWRkciwgMCk7DQorCSAgIGJyZWFrOw0KKwljYXNlIEdFVEFMTDoN CisJY2FzZSBTRVRBTEw6DQorICAgICAgICAgICBsb2NrX3VzZXJfc3RydWN0 KHRhcmdldF9zdSwgdGFyZ2V0X2FkZHIsIDEpOw0KKwkgICAqaG9zdF9zdS0+ YXJyYXkgPSB0c3dhcDE2KCp0YXJnZXRfc3UtPmFycmF5KTsNCisgICAgICAg ICAgIHVubG9ja191c2VyX3N0cnVjdCh0YXJnZXRfc3UsIHRhcmdldF9hZGRy LCAwKTsNCisJICAgYnJlYWs7DQorCWRlZmF1bHQ6DQorICAgICAgICAgICBn ZW11X2xvZygic2VtdW4gb3BlcmF0aW9uIG5vdCBmdWxseSBzdXBwb3J0ZWQ6 ICVkXG4iLCAoaW50KWNtZCk7DQorICAgIH0NCit9DQorDQorc3RhdGljIGlu bGluZSB2b2lkIGhvc3RfdG9fdGFyZ2V0X3NlbXVuKHVuc2lnbmVkIGxvbmcg Y21kLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0YXJnZXRfdWxvbmcgdGFyZ2V0X2FkZHIsDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIHNlbXVuICpob3N0X3N1 LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3Qgc2VtaWRfZHMgKmRzKQ0KK3sNCisgICAgdW5pb24gdGFyZ2V0X3Nl bXVuICp0YXJnZXRfc3U7DQorDQorICAgIHN3aXRjaCggY21kICkgew0KKwlj YXNlIElQQ19TVEFUOg0KKwljYXNlIElQQ19TRVQ6DQorICAgICAgICAgICBs b2NrX3VzZXJfc3RydWN0KHRhcmdldF9zdSwgdGFyZ2V0X2FkZHIsIDApOw0K KwkgICBob3N0X3RvX3RhcmdldF9zZW1pZF9kcyh0YXJnZXRfc3UtPmJ1Zixk cyk7DQorICAgICAgICAgICB1bmxvY2tfdXNlcl9zdHJ1Y3QodGFyZ2V0X3N1 LCB0YXJnZXRfYWRkciwgMSk7DQorCSAgIGJyZWFrOw0KKwljYXNlIEdFVFZB TDoNCisJY2FzZSBTRVRWQUw6DQorICAgICAgICAgICBsb2NrX3VzZXJfc3Ry dWN0KHRhcmdldF9zdSwgdGFyZ2V0X2FkZHIsIDApOw0KKwkgICB0YXJnZXRf c3UtPnZhbCA9IHRzd2FwbChob3N0X3N1LT52YWwpOw0KKyAgICAgICAgICAg dW5sb2NrX3VzZXJfc3RydWN0KHRhcmdldF9zdSwgdGFyZ2V0X2FkZHIsIDEp Ow0KKwkgICBicmVhazsNCisJY2FzZSBHRVRBTEw6DQorCWNhc2UgU0VUQUxM Og0KKyAgICAgICAgICAgbG9ja191c2VyX3N0cnVjdCh0YXJnZXRfc3UsIHRh cmdldF9hZGRyLCAwKTsNCisJICAgKnRhcmdldF9zdS0+YXJyYXkgPSB0c3dh cDE2KCpob3N0X3N1LT5hcnJheSk7DQorICAgICAgICAgICB1bmxvY2tfdXNl cl9zdHJ1Y3QodGFyZ2V0X3N1LCB0YXJnZXRfYWRkciwgMSk7DQorCSAgIGJy ZWFrOw0KKyAgICAgICAgZGVmYXVsdDoNCisgICAgICAgICAgIGdlbXVfbG9n KCJzZW11biBvcGVyYXRpb24gbm90IGZ1bGx5IHN1cHBvcnRlZDogJWRcbiIs IChpbnQpY21kKTsNCisgICAgfQ0KK30NCisNCitzdGF0aWMgaW5saW5lIGxv bmcgZG9fc2VtY3RsKGxvbmcgZmlyc3QsIGxvbmcgc2Vjb25kLCBsb25nIHRo aXJkLCBsb25nIHB0cikNCit7DQorICAgIHVuaW9uIHNlbXVuIGFyZzsNCisg ICAgc3RydWN0IHNlbWlkX2RzIGRzYXJnOw0KKyAgICBpbnQgY21kID0gdGhp cmQmMHhmZjsNCisgICAgbG9uZyByZXQgPSAwOw0KKw0KKyAgICBzd2l0Y2go IGNtZCApIHsNCisJY2FzZSBHRVRWQUw6DQorICAgICAgICAgICAgdGFyZ2V0 X3RvX2hvc3Rfc2VtdW4oY21kLCZhcmcscHRyLCZkc2FyZyk7DQorICAgICAg ICAgICAgcmV0ID0gZ2V0X2Vycm5vKHNlbWN0bChmaXJzdCwgc2Vjb25kLCBj bWQsIGFyZykpOw0KKyAgICAgICAgICAgIGhvc3RfdG9fdGFyZ2V0X3NlbXVu KGNtZCxwdHIsJmFyZywmZHNhcmcpOw0KKyAgICAgICAgICAgIGJyZWFrOw0K KwljYXNlIFNFVFZBTDoNCisgICAgICAgICAgICB0YXJnZXRfdG9faG9zdF9z ZW11bihjbWQsJmFyZyxwdHIsJmRzYXJnKTsNCisgICAgICAgICAgICByZXQg PSBnZXRfZXJybm8oc2VtY3RsKGZpcnN0LCBzZWNvbmQsIGNtZCwgYXJnKSk7 DQorICAgICAgICAgICAgaG9zdF90b190YXJnZXRfc2VtdW4oY21kLHB0ciwm YXJnLCZkc2FyZyk7DQorICAgICAgICAgICAgYnJlYWs7DQorCWNhc2UgR0VU QUxMOg0KKyAgICAgICAgICAgIHRhcmdldF90b19ob3N0X3NlbXVuKGNtZCwm YXJnLHB0ciwmZHNhcmcpOw0KKyAgICAgICAgICAgIHJldCA9IGdldF9lcnJu byhzZW1jdGwoZmlyc3QsIHNlY29uZCwgY21kLCBhcmcpKTsNCisgICAgICAg ICAgICBob3N0X3RvX3RhcmdldF9zZW11bihjbWQscHRyLCZhcmcsJmRzYXJn KTsNCisgICAgICAgICAgICBicmVhazsNCisJY2FzZSBTRVRBTEw6DQorICAg ICAgICAgICAgdGFyZ2V0X3RvX2hvc3Rfc2VtdW4oY21kLCZhcmcscHRyLCZk c2FyZyk7DQorICAgICAgICAgICAgcmV0ID0gZ2V0X2Vycm5vKHNlbWN0bChm aXJzdCwgc2Vjb25kLCBjbWQsIGFyZykpOw0KKyAgICAgICAgICAgIGhvc3Rf dG9fdGFyZ2V0X3NlbXVuKGNtZCxwdHIsJmFyZywmZHNhcmcpOw0KKyAgICAg ICAgICAgIGJyZWFrOw0KKwljYXNlIElQQ19TVEFUOg0KKyAgICAgICAgICAg IHRhcmdldF90b19ob3N0X3NlbXVuKGNtZCwmYXJnLHB0ciwmZHNhcmcpOw0K KyAgICAgICAgICAgIHJldCA9IGdldF9lcnJubyhzZW1jdGwoZmlyc3QsIHNl Y29uZCwgY21kLCBhcmcpKTsNCisgICAgICAgICAgICBob3N0X3RvX3Rhcmdl dF9zZW11bihjbWQscHRyLCZhcmcsJmRzYXJnKTsNCisgICAgICAgICAgICBi cmVhazsNCisJY2FzZSBJUENfU0VUOg0KKyAgICAgICAgICAgIHRhcmdldF90 b19ob3N0X3NlbXVuKGNtZCwmYXJnLHB0ciwmZHNhcmcpOw0KKyAgICAgICAg ICAgIHJldCA9IGdldF9lcnJubyhzZW1jdGwoZmlyc3QsIHNlY29uZCwgY21k LCBhcmcpKTsNCisgICAgICAgICAgICBob3N0X3RvX3RhcmdldF9zZW11bihj bWQscHRyLCZhcmcsJmRzYXJnKTsNCisgICAgICAgICAgICBicmVhazsNCisg ICAgZGVmYXVsdDoNCisgICAgICAgICAgICByZXQgPSBnZXRfZXJybm8oc2Vt Y3RsKGZpcnN0LCBzZWNvbmQsIGNtZCwgYXJnKSk7DQorICAgIH0NCisNCisg ICAgcmV0dXJuIHJldDsNCit9DQorDQogLyogPz8/IFRoaXMgb25seSB3b3Jr cyB3aXRoIGxpbmVhciBtYXBwaW5ncy4gICovDQogc3RhdGljIGxvbmcgZG9f aXBjKGxvbmcgY2FsbCwgbG9uZyBmaXJzdCwgbG9uZyBzZWNvbmQsIGxvbmcg dGhpcmQsDQogCQkgICBsb25nIHB0ciwgbG9uZyBmaWZ0aCkNCkBAIC0xMjU5 LDggKzE0NjAsNyBAQA0KICAgICAgICAgYnJlYWs7DQogDQogICAgIGNhc2Ug SVBDT1Bfc2VtY3RsOg0KLSAgICAgICAgcmV0ID0gZ2V0X2Vycm5vKHNlbWN0 bChmaXJzdCwgc2Vjb25kLCB0aGlyZCwgKCh1bmlvbiBzZW11biopcHRyKS0+ dmFsKSk7DQotDQorICAgICAgICByZXQgPSBkb19zZW1jdGwoZmlyc3QsIHNl Y29uZCwgdGhpcmQsIHB0cik7DQogICAgICAgICBicmVhazsNCiANCiAgICAg Y2FzZSBJUENPUF9zZW10aW1lZG9wOg0KSW5kZXg6IHFlbXUvbGludXgtdXNl ci9hbHBoYS9zeXNjYWxsLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0t LSBxZW11Lm9yaWcvbGludXgtdXNlci9hbHBoYS9zeXNjYWxsLmgJMjAwNy0w Ni0wMSAxNjo1MjowNy4wMDAwMDAwMDAgLTA0MDANCisrKyBxZW11L2xpbnV4 LXVzZXIvYWxwaGEvc3lzY2FsbC5oCTIwMDctMDYtMDEgMTc6MDg6MjkuMDAw MDAwMDAwIC0wNDAwDQpAQCAtMzgsNzggKzM4LDQgQEANCiAgICAgICAgIHRh cmdldF91bG9uZyB1bmlxdWU7DQogfTsNCiANCi0jZGVmaW5lIFRBUkdFVF9T RU1PUCAgICAgICAgICAgMQ0KLSNkZWZpbmUgVEFSR0VUX1NFTUdFVCAgICAg ICAgICAyDQotI2RlZmluZSBUQVJHRVRfU0VNQ1RMICAgICAgICAgIDMgDQot I2RlZmluZSBUQVJHRVRfTVNHU05EICAgICAgICAgIDExIA0KLSNkZWZpbmUg VEFSR0VUX01TR1JDViAgICAgICAgICAxMg0KLSNkZWZpbmUgVEFSR0VUX01T R0dFVCAgICAgICAgICAxMw0KLSNkZWZpbmUgVEFSR0VUX01TR0NUTCAgICAg ICAgICAxNA0KLSNkZWZpbmUgVEFSR0VUX1NITUFUICAgICAgICAgICAyMQ0K LSNkZWZpbmUgVEFSR0VUX1NITURUICAgICAgICAgICAyMg0KLSNkZWZpbmUg VEFSR0VUX1NITUdFVCAgICAgICAgICAyMw0KLSNkZWZpbmUgVEFSR0VUX1NI TUNUTCAgICAgICAgICAyNA0KLQ0KLXN0cnVjdCB0YXJnZXRfbXNnYnVmIHsN Ci0JaW50IG10eXBlOw0KLQljaGFyIG10ZXh0WzFdOw0KLX07DQotDQotc3Ry dWN0IHRhcmdldF9pcGNfa2x1ZGdlIHsNCi0JdW5zaWduZWQgaW50CW1zZ3A7 CS8qIFJlYWxseSAoc3RydWN0IG1zZ2J1ZiAqKSAqLw0KLQlpbnQgbXNndHlw Ow0KLX07CQ0KLQ0KLXN0cnVjdCB0YXJnZXRfaXBjX3Blcm0gew0KLQlpbnQJ a2V5Ow0KLQl1bnNpZ25lZCBzaG9ydAl1aWQ7DQotCXVuc2lnbmVkIHNob3J0 CWdpZDsNCi0JdW5zaWduZWQgc2hvcnQJY3VpZDsNCi0JdW5zaWduZWQgc2hv cnQJY2dpZDsNCi0JdW5zaWduZWQgc2hvcnQJbW9kZTsNCi0JdW5zaWduZWQg c2hvcnQJc2VxOw0KLX07DQotDQotc3RydWN0IHRhcmdldF9tc3FpZF9kcyB7 DQotCXN0cnVjdCB0YXJnZXRfaXBjX3Blcm0JbXNnX3Blcm07DQotCXVuc2ln bmVkIGludAkJbXNnX2ZpcnN0OwkvKiByZWFsbHkgc3RydWN0IHRhcmdldF9t c2cqICovDQotCXVuc2lnbmVkIGludAkJbXNnX2xhc3Q7CS8qIHJlYWxseSBz dHJ1Y3QgdGFyZ2V0X21zZyogKi8NCi0JdW5zaWduZWQgaW50CQltc2dfc3Rp bWU7CS8qIHJlYWxseSB0YXJnZXRfdGltZV90ICovDQotCXVuc2lnbmVkIGlu dAkJbXNnX3J0aW1lOwkvKiByZWFsbHkgdGFyZ2V0X3RpbWVfdCAqLw0KLQl1 bnNpZ25lZCBpbnQJCW1zZ19jdGltZTsJLyogcmVhbGx5IHRhcmdldF90aW1l X3QgKi8NCi0JdW5zaWduZWQgaW50CQl3d2FpdDsJCS8qIHJlYWxseSBzdHJ1 Y3Qgd2FpdF9xdWV1ZSogKi8NCi0JdW5zaWduZWQgaW50CQlyd2FpdDsJCS8q IHJlYWxseSBzdHJ1Y3Qgd2FpdF9xdWV1ZSogKi8NCi0JdW5zaWduZWQgc2hv cnQJCW1zZ19jYnl0ZXM7DQotCXVuc2lnbmVkIHNob3J0CQltc2dfcW51bTsN Ci0JdW5zaWduZWQgc2hvcnQJCW1zZ19xYnl0ZXM7DQotCXVuc2lnbmVkIHNo b3J0CQltc2dfbHNwaWQ7DQotCXVuc2lnbmVkIHNob3J0CQltc2dfbHJwaWQ7 DQotfTsNCi0NCi1zdHJ1Y3QgdGFyZ2V0X3NobWlkX2RzIHsNCi0Jc3RydWN0 IHRhcmdldF9pcGNfcGVybQlzaG1fcGVybTsNCi0JaW50CQkJc2htX3NlZ3N6 Ow0KLQl1bnNpZ25lZCBpbnQJCXNobV9hdGltZTsJLyogcmVhbGx5IHRhcmdl dF90aW1lX3QgKi8NCi0JdW5zaWduZWQgaW50CQlzaG1fZHRpbWU7CS8qIHJl YWxseSB0YXJnZXRfdGltZV90ICovDQotCXVuc2lnbmVkIGludAkJc2htX2N0 aW1lOwkvKiByZWFsbHkgdGFyZ2V0X3RpbWVfdCAqLw0KLQl1bnNpZ25lZCBz aG9ydAkJc2htX2NwaWQ7DQotCXVuc2lnbmVkIHNob3J0CQlzaG1fbHBpZDsN Ci0Jc2hvcnQJCQlzaG1fbmF0dGNoOw0KLQl1bnNpZ25lZCBzaG9ydAkJc2ht X25wYWdlczsNCi0JdW5zaWduZWQgbG9uZwkJKnNobV9wYWdlczsNCi0Jdm9p ZCAJCQkqYXR0YWNoZXM7CS8qIHJlYWxseSBzdHJ1Y3Qgc2htX2Rlc2MgKiAq Lw0KLX07DQotDQotI2RlZmluZSBUQVJHRVRfSVBDX1JNSUQJMA0KLSNkZWZp bmUgVEFSR0VUX0lQQ19TRVQJMQ0KLSNkZWZpbmUgVEFSR0VUX0lQQ19TVEFU CTINCi0NCi11bmlvbiB0YXJnZXRfc2VtdW4gew0KLSAgICBpbnQgdmFsOw0K LSAgICB1bnNpZ25lZCBpbnQgYnVmOwkvKiByZWFsbHkgc3RydWN0IHNlbWlk X2RzICogKi8NCi0gICAgdW5zaWduZWQgaW50IGFycmF5OyAvKiByZWFsbHkg dW5zaWduZWQgc2hvcnQgKiAqLw0KLSAgICB1bnNpZ25lZCBpbnQgX19idWY7 CS8qIHJlYWxseSBzdHJ1Y3Qgc2VtaW5mbyAqICovDQotICAgIHVuc2lnbmVk IGludCBfX3BhZDsJLyogcmVhbGx5IHZvaWQqICovDQotfTsNCi0NCiAjZGVm aW5lIFVOQU1FX01BQ0hJTkUgImFscGhhIg0K ---1463811327-349864141-1180801028=:21792 Content-Type: TEXT/x-diff; charset=US-ASCII; name=05_msgcalls.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: mesage queue patch Content-Disposition: attachment; filename=05_msgcalls.patch SW5kZXg6IHFlbXUvbGludXgtdXNlci9zeXNjYWxsLmMNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0NCi0tLSBxZW11Lm9yaWcvbGludXgtdXNlci9zeXNjYWxs LmMJMjAwNy0wNi0wMSAxNzowODoyOS4wMDAwMDAwMDAgLTA0MDANCisrKyBx ZW11L2xpbnV4LXVzZXIvc3lzY2FsbC5jCTIwMDctMDYtMDEgMTc6MDk6MDAu MDAwMDAwMDAwIC0wNDAwDQpAQCAtMTQzNyw2ICsxNDM3LDExNyBAQA0KICAg ICByZXR1cm4gcmV0Ow0KIH0NCiANCitzdHJ1Y3QgdGFyZ2V0X21zcWlkX2Rz DQorew0KKyAgc3RydWN0IHRhcmdldF9pcGNfcGVybSBtc2dfcGVybTsNCisg IHRhcmdldF91bG9uZyBtc2dfc3RpbWU7DQorICB0YXJnZXRfdWxvbmcgX191 bnVzZWQxOw0KKyAgdGFyZ2V0X3Vsb25nIG1zZ19ydGltZTsNCisgIHRhcmdl dF91bG9uZyBfX3VudXNlZDI7DQorICB0YXJnZXRfdWxvbmcgbXNnX2N0aW1l Ow0KKyAgdGFyZ2V0X3Vsb25nIF9fdW51c2VkMzsNCisgIHRhcmdldF91bG9u ZyBfX21zZ19jYnl0ZXM7DQorICB0YXJnZXRfdWxvbmcgbXNnX3FudW07DQor ICB0YXJnZXRfdWxvbmcgbXNnX3FieXRlczsNCisgIHRhcmdldF91bG9uZyBt c2dfbHNwaWQ7DQorICB0YXJnZXRfdWxvbmcgbXNnX2xycGlkOw0KKyAgdGFy Z2V0X3Vsb25nIF9fdW51c2VkNDsNCisgIHRhcmdldF91bG9uZyBfX3VudXNl ZDU7DQorfTsNCisNCitzdGF0aWMgaW5saW5lIHZvaWQgdGFyZ2V0X3RvX2hv c3RfbXNxaWRfZHMoc3RydWN0IG1zcWlkX2RzICpob3N0X21kLA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF91 bG9uZyB0YXJnZXRfYWRkcikNCit7DQorICAgIHN0cnVjdCB0YXJnZXRfbXNx aWRfZHMgKnRhcmdldF9tZDsNCisNCisgICAgbG9ja191c2VyX3N0cnVjdCh0 YXJnZXRfbWQsIHRhcmdldF9hZGRyLCAxKTsNCisgICAgdGFyZ2V0X3RvX2hv c3RfaXBjX3Blcm0oJihob3N0X21kLT5tc2dfcGVybSksdGFyZ2V0X2FkZHIp Ow0KKyAgICBob3N0X21kLT5tc2dfc3RpbWUgPSB0c3dhcGwodGFyZ2V0X21k LT5tc2dfc3RpbWUpOw0KKyAgICBob3N0X21kLT5tc2dfcnRpbWUgPSB0c3dh cGwodGFyZ2V0X21kLT5tc2dfcnRpbWUpOw0KKyAgICBob3N0X21kLT5tc2df Y3RpbWUgPSB0c3dhcGwodGFyZ2V0X21kLT5tc2dfY3RpbWUpOw0KKyAgICBo b3N0X21kLT5fX21zZ19jYnl0ZXMgPSB0c3dhcGwodGFyZ2V0X21kLT5fX21z Z19jYnl0ZXMpOw0KKyAgICBob3N0X21kLT5tc2dfcW51bSA9IHRzd2FwbCh0 YXJnZXRfbWQtPm1zZ19xbnVtKTsNCisgICAgaG9zdF9tZC0+bXNnX3FieXRl cyA9IHRzd2FwbCh0YXJnZXRfbWQtPm1zZ19xYnl0ZXMpOw0KKyAgICBob3N0 X21kLT5tc2dfbHNwaWQgPSB0c3dhcGwodGFyZ2V0X21kLT5tc2dfbHNwaWQp Ow0KKyAgICBob3N0X21kLT5tc2dfbHJwaWQgPSB0c3dhcGwodGFyZ2V0X21k LT5tc2dfbHJwaWQpOw0KKyAgICB1bmxvY2tfdXNlcl9zdHJ1Y3QodGFyZ2V0 X21kLCB0YXJnZXRfYWRkciwgMCk7DQorfQ0KKw0KK3N0YXRpYyBpbmxpbmUg dm9pZCBob3N0X3RvX3RhcmdldF9tc3FpZF9kcyh0YXJnZXRfdWxvbmcgdGFy Z2V0X2FkZHIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBtc3FpZF9kcyAqaG9zdF9tZCkNCit7DQorICAg IHN0cnVjdCB0YXJnZXRfbXNxaWRfZHMgKnRhcmdldF9tZDsNCisNCisgICAg bG9ja191c2VyX3N0cnVjdCh0YXJnZXRfbWQsIHRhcmdldF9hZGRyLCAwKTsN CisgICAgaG9zdF90b190YXJnZXRfaXBjX3Blcm0odGFyZ2V0X2FkZHIsJiho b3N0X21kLT5tc2dfcGVybSkpOw0KKyAgICB0YXJnZXRfbWQtPm1zZ19zdGlt ZSA9IHRzd2FwbChob3N0X21kLT5tc2dfc3RpbWUpOw0KKyAgICB0YXJnZXRf bWQtPm1zZ19ydGltZSA9IHRzd2FwbChob3N0X21kLT5tc2dfcnRpbWUpOw0K KyAgICB0YXJnZXRfbWQtPm1zZ19jdGltZSA9IHRzd2FwbChob3N0X21kLT5t c2dfY3RpbWUpOw0KKyAgICB0YXJnZXRfbWQtPl9fbXNnX2NieXRlcyA9IHRz d2FwbChob3N0X21kLT5fX21zZ19jYnl0ZXMpOw0KKyAgICB0YXJnZXRfbWQt Pm1zZ19xbnVtID0gdHN3YXBsKGhvc3RfbWQtPm1zZ19xbnVtKTsNCisgICAg dGFyZ2V0X21kLT5tc2dfcWJ5dGVzID0gdHN3YXBsKGhvc3RfbWQtPm1zZ19x Ynl0ZXMpOw0KKyAgICB0YXJnZXRfbWQtPm1zZ19sc3BpZCA9IHRzd2FwbCho b3N0X21kLT5tc2dfbHNwaWQpOw0KKyAgICB0YXJnZXRfbWQtPm1zZ19scnBp ZCA9IHRzd2FwbChob3N0X21kLT5tc2dfbHJwaWQpOw0KKyAgICB1bmxvY2tf dXNlcl9zdHJ1Y3QodGFyZ2V0X21kLCB0YXJnZXRfYWRkciwgMSk7DQorfQ0K Kw0KK3N0YXRpYyBpbmxpbmUgbG9uZyBkb19tc2djdGwobG9uZyBmaXJzdCwg bG9uZyBzZWNvbmQsIGxvbmcgcHRyKQ0KK3sNCisgICAgc3RydWN0IG1zcWlk X2RzIGRzYXJnOw0KKyAgICBpbnQgY21kID0gc2Vjb25kJjB4ZmY7DQorICAg IGxvbmcgcmV0ID0gMDsNCisgICAgc3dpdGNoKCBjbWQgKSB7DQorICAgIGNh c2UgSVBDX1NUQVQ6DQorICAgIGNhc2UgSVBDX1NFVDoNCisgICAgICAgIHRh cmdldF90b19ob3N0X21zcWlkX2RzKCZkc2FyZyxwdHIpOw0KKyAgICAgICAg cmV0ID0gZ2V0X2Vycm5vKG1zZ2N0bChmaXJzdCwgY21kLCAmZHNhcmcpKTsN CisgICAgICAgIGhvc3RfdG9fdGFyZ2V0X21zcWlkX2RzKHB0ciwmZHNhcmcp Ow0KKyAgICBkZWZhdWx0Og0KKyAgICAgICAgcmV0ID0gZ2V0X2Vycm5vKG1z Z2N0bChmaXJzdCwgY21kLCAmZHNhcmcpKTsNCisgICAgfQ0KKyAgICByZXR1 cm4gcmV0Ow0KK30NCisNCitzdHJ1Y3QgdGFyZ2V0X21zZ2J1ZiB7DQorCXRh cmdldF91bG9uZyBtdHlwZTsNCisJY2hhcgltdGV4dFsxXTsNCit9Ow0KKw0K K3N0YXRpYyBpbmxpbmUgbG9uZyBkb19tc2dzbmQobG9uZyBtc3FpZCwgbG9u ZyBtc2dwLCBsb25nIG1zZ3N6LCBsb25nIG1zZ2ZsZykNCit7DQorICAgIHN0 cnVjdCB0YXJnZXRfbXNnYnVmICp0YXJnZXRfbWI7DQorICAgIHN0cnVjdCBt c2didWYgKmhvc3RfbWI7DQorICAgIGxvbmcgcmV0ID0gMDsNCisNCisgICAg bG9ja191c2VyX3N0cnVjdCh0YXJnZXRfbWIsbXNncCwwKTsNCisgICAgaG9z dF9tYiA9IG1hbGxvYyhtc2dzeitzaXplb2YobG9uZykpOw0KKyAgICBob3N0 X21iLT5tdHlwZSA9IHRzd2FwbCh0YXJnZXRfbWItPm10eXBlKTsNCisgICAg bWVtY3B5KGhvc3RfbWItPm10ZXh0LHRhcmdldF9tYi0+bXRleHQsbXNnc3op Ow0KKyAgICByZXQgPSBnZXRfZXJybm8obXNnc25kKG1zcWlkLCBob3N0X21i LCBtc2dzeiwgbXNnZmxnKSk7DQorICAgIGZyZWUoaG9zdF9tYik7DQorICAg IHVubG9ja191c2VyX3N0cnVjdCh0YXJnZXRfbWIsIG1zZ3AsIDApOw0KKw0K KyAgICByZXR1cm4gcmV0Ow0KK30NCisNCitzdGF0aWMgaW5saW5lIGxvbmcg ZG9fbXNncmN2KGxvbmcgbXNxaWQsIGxvbmcgbXNncCwgbG9uZyBtc2dzeiwg bG9uZyBtc2d0eXBlLCBsb25nIG1zZ2ZsZykNCit7DQorICAgIHN0cnVjdCB0 YXJnZXRfbXNnYnVmICp0YXJnZXRfbWI7DQorICAgIHN0cnVjdCBtc2didWYg Kmhvc3RfbWI7DQorICAgIGxvbmcgcmV0ID0gMDsNCisNCisgICAgbG9ja191 c2VyX3N0cnVjdCh0YXJnZXRfbWIsbXNncCwwKTsNCisgICAgaG9zdF9tYiA9 IG1hbGxvYyhtc2dzeitzaXplb2YobG9uZykpOw0KKyAgICByZXQgPSBnZXRf ZXJybm8obXNncmN2KG1zcWlkLCBob3N0X21iLCBtc2dzeiwgMSwgbXNnZmxn KSk7DQorICAgIGlmKCByZXQgPiAwICkNCisgICAgCW1lbWNweSh0YXJnZXRf bWItPm10ZXh0LGhvc3RfbWItPm10ZXh0LHJldCk7DQorICAgIHRhcmdldF9t Yi0+bXR5cGUgPSB0c3dhcGwoaG9zdF9tYi0+bXR5cGUpOw0KKyAgICBmcmVl KGhvc3RfbWIpOw0KKyAgICB1bmxvY2tfdXNlcl9zdHJ1Y3QodGFyZ2V0X21i LCBtc2dwLCAwKTsNCisNCisgICAgcmV0dXJuIHJldDsNCit9DQorDQogLyog Pz8/IFRoaXMgb25seSB3b3JrcyB3aXRoIGxpbmVhciBtYXBwaW5ncy4gICov DQogc3RhdGljIGxvbmcgZG9faXBjKGxvbmcgY2FsbCwgbG9uZyBmaXJzdCwg bG9uZyBzZWNvbmQsIGxvbmcgdGhpcmQsDQogCQkgICBsb25nIHB0ciwgbG9u ZyBmaWZ0aCkNCkBAIC0xNDczLDI3ICsxNTg0LDI3IEBADQogCQlicmVhazsN CiANCiAJY2FzZSBJUENPUF9tc2dzbmQ6DQotCQlyZXQgPSBnZXRfZXJybm8o bXNnc25kKGZpcnN0LCAoc3RydWN0IG1zZ2J1ZiAqKSBwdHIsIHNlY29uZCwg dGhpcmQpKTsNCisJCXJldCA9IGRvX21zZ3NuZChmaXJzdCwgcHRyLCBzZWNv bmQsIHRoaXJkKTsNCiAJCWJyZWFrOw0KIA0KIAljYXNlIElQQ09QX21zZ2N0 bDoNCi0JCXJldCA9IGdldF9lcnJubyhtc2djdGwoZmlyc3QsIHNlY29uZCwg KHN0cnVjdCBtc3FpZF9kcyAqKSBwdHIpKTsNCisgICAgICAgIAlyZXQgPSBk b19tc2djdGwoZmlyc3QsIHNlY29uZCwgcHRyKTsNCiAJCWJyZWFrOw0KIA0K IAljYXNlIElQQ09QX21zZ3JjdjoNCi0JCXsNCi0JCQlzdHJ1Y3QgaXBjX2ts dWRnZQ0KLQkJCXsNCi0JCQkJdm9pZCAqX191bmJvdW5kZWQgbXNncDsNCi0J CQkJbG9uZyBpbnQgbXNndHlwOw0KLQkJCX07DQorICAgICAgICAgICAgICAg IHsNCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGlwY19rbHVkZ2UN CisgICAgICAgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZvaWQgKl9fdW5ib3VuZGVkIG1zZ3A7DQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBpbnQgbXNndHlwOw0KKyAg ICAgICAgICAgICAgICAgICAgICB9Ow0KIA0KLQkJCXN0cnVjdCBpcGNfa2x1 ZGdlICpmb28gPSAoc3RydWN0IGlwY19rbHVkZ2UgKikgcHRyOw0KLQkJCXN0 cnVjdCBtc2didWYgKm1zZ3AgPSAoc3RydWN0IG1zZ2J1ZiAqKSBmb28tPm1z Z3A7DQorICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpcGNfa2x1ZGdl ICpmb28gPSAoc3RydWN0IGlwY19rbHVkZ2UgKikgcHRyOw0KKyAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgbXNnYnVmICptc2dwID0gKHN0cnVjdCBt c2didWYgKikgZm9vLT5tc2dwOw0KIA0KLQkJCXJldCA9IGdldF9lcnJubyht c2dyY3YoZmlyc3QsIG1zZ3AsIHNlY29uZCwgMCwgdGhpcmQpKTsNCisgICAg ICAgICAgICAgICAgICAgICAgcmV0ID0gZG9fbXNncmN2KGZpcnN0LCBtc2dw LCBzZWNvbmQsIDAsIHRoaXJkKTsNCiANCi0JCX0NCisgICAgICAgICAgICAg ICAgfQ0KIAkJYnJlYWs7DQogDQogICAgIGNhc2UgSVBDT1Bfc2htYXQ6DQo= ---1463811327-349864141-1180801028=:21792--