From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-f69.google.com (mail-oi0-f69.google.com [209.85.218.69]) by kanga.kvack.org (Postfix) with ESMTP id 09A046B0033 for ; Wed, 22 Nov 2017 20:57:25 -0500 (EST) Received: by mail-oi0-f69.google.com with SMTP id 72so8272687oik.6 for ; Wed, 22 Nov 2017 17:57:25 -0800 (PST) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com. [45.249.212.189]) by mx.google.com with ESMTPS id v94si7519471ota.228.2017.11.22.17.57.20 for (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 22 Nov 2017 17:57:23 -0800 (PST) From: "Liuwenliang (Abbott Liu)" Subject: Re: [PATCH 01/11] Initialize the mapping of KASan shadow memory Date: Thu, 23 Nov 2017 01:54:59 +0000 Message-ID: References: <87po8ir1kg.fsf@on-the-bus.cambridge.arm.com> <87375eqobb.fsf@on-the-bus.cambridge.arm.com> <20171117073556.GB28855@cbox> <20171118134841.3f6c9183@why.wild-wind.fr.eu.org> <20171121122938.sydii3i36jbzi7x4@lakrids.cambridge.arm.com> <757534e5-fcea-3eb4-3c8d-b8c7e709f555@arm.com> In-Reply-To: <757534e5-fcea-3eb4-3c8d-b8c7e709f555@arm.com> Content-Language: zh-CN Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: owner-linux-mm@kvack.org List-ID: To: Marc Zyngier , Mark Rutland Cc: "tixy@linaro.org" , "mhocko@suse.com" , "grygorii.strashko@linaro.org" , "catalin.marinas@arm.com" , "linux-mm@kvack.org" , "glider@google.com" , "afzal.mohd.ma@gmail.com" , "mingo@kernel.org" , Christoffer Dall , "f.fainelli@gmail.com" , "mawilcox@microsoft.com" , "linux@armlinux.org.uk" , "kasan-dev@googlegroups.com" , Dailei , "linux-arm-kernel@lists.infradead.org" , "aryabinin@virtuozzo.com" , "labbott@redhat.com" , "vladimir.murzin@arm.com" , "keescook@chromium.org" , "arnd@arndb.de" , Zengweilin , "opendmb@gmail.com" , Heshaoliang , "tglx@linutronix.de" , "dvyukov@google.com" , "ard.biesheuvel@linaro.org" , "linux-kernel@vger.kernel.org" , Jiazhenghua , "akpm@linux-foundation.org" , "robin.murphy@arm.com" , "thgarnie@google.com" , "kirill.shutemov@linux.intel.com" T24gTm92IDIzLCAyMDE3ICAyMDozMCAgTWFyYyBaeW5naWVyIFttYWlsdG86bWFyYy56eW5naWVy QGFybS5jb21dICB3cm90ZToNCj5QbGVhc2UgZGVmaW5lIGJvdGggUEFSIGFjY2Vzc29ycy4gWWVz LCBJIGtub3cgdGhlIDMyYml0IHZlcnNpb24gaXMgbm90DQo+dXNlZCB5ZXQsIGJ1dCBpdCBkb2Vz bid0IGh1cnQgdG8gbWFrZSBpdCB2aXNpYmxlLg0KDQpUaGFua3MgZm9yIHlvdXIgcmV2aWV3Lg0K SSdtIGdvaW5nIHRvIGNoYW5nZSBpdCBpbiB0aGUgbmV3IHZlcnNpb24uDQpIZXJlIGlzIHRoZSBj b2RlIEkgdGVzdGVkIG9uIHZleHByZXNzX2E5IGFuZCB2ZXhwcmVzc19hMTU6DQpkaWZmIC0tZ2l0 IGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vY3AxNS5oIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vY3Ax NS5oDQppbmRleCBkYmRiY2UxLi5iODM1M2IxIDEwMDY0NA0KLS0tIGEvYXJjaC9hcm0vaW5jbHVk ZS9hc20vY3AxNS5oDQorKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9jcDE1LmgNCkBAIC0yLDYg KzIsNyBAQA0KICNkZWZpbmUgX19BU01fQVJNX0NQMTVfSA0KDQogI2luY2x1ZGUgPGFzbS9iYXJy aWVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3N0cmluZ2lmeS5oPg0KDQogLyoNCiAgKiBDUjEgYml0 cyAoQ1AjMTUgQ1IxKQ0KQEAgLTY0LDggKzY1LDEwOSBAQA0KICNkZWZpbmUgX193cml0ZV9zeXNy ZWcodiwgciwgdywgYywgdCkgIGFzbSB2b2xhdGlsZSh3ICIgIiBjIDogOiAiciIgKCh0KSh2KSkp DQogI2RlZmluZSB3cml0ZV9zeXNyZWcodiwgLi4uKSAgICAgICAgICAgX193cml0ZV9zeXNyZWco diwgX19WQV9BUkdTX18pDQoNCisjZGVmaW5lIFRUQlIwXzMyICAgICBfX0FDQ0VTU19DUDE1KGMy LCAwLCBjMCwgMCkNCisjZGVmaW5lIFRUQlIxXzMyICAgICBfX0FDQ0VTU19DUDE1KGMyLCAwLCBj MCwgMSkNCisjZGVmaW5lIFBBUl8zMiAgICAgICAgICAgICAgIF9fQUNDRVNTX0NQMTUoYzcsIDAs IGM0LCAwKQ0KKyNkZWZpbmUgVFRCUjBfNjQgICAgIF9fQUNDRVNTX0NQMTVfNjQoMCwgYzIpDQor I2RlZmluZSBUVEJSMV82NCAgICAgX19BQ0NFU1NfQ1AxNV82NCgxLCBjMikNCisjZGVmaW5lIFBB Ul82NCAgICAgICAgICAgICAgIF9fQUNDRVNTX0NQMTVfNjQoMCwgYzcpDQorI2RlZmluZSBWVFRC UiAgICAgICAgICAgX19BQ0NFU1NfQ1AxNV82NCg2LCBjMikNCisjZGVmaW5lIENOVFZfQ1ZBTCAg ICAgICBfX0FDQ0VTU19DUDE1XzY0KDMsIGMxNCkNCisjZGVmaW5lIENOVFZPRkYgICAgICAgICBf X0FDQ0VTU19DUDE1XzY0KDQsIGMxNCkNCisNCisjZGVmaW5lIE1JRFIgICAgICAgICAgICBfX0FD Q0VTU19DUDE1KGMwLCAwLCBjMCwgMCkNCisjZGVmaW5lIENTU0VMUiAgICAgICAgICBfX0FDQ0VT U19DUDE1KGMwLCAyLCBjMCwgMCkNCisjZGVmaW5lIFZQSURSICAgICAgICAgICBfX0FDQ0VTU19D UDE1KGMwLCA0LCBjMCwgMCkNCisjZGVmaW5lIFZNUElEUiAgICAgICAgICBfX0FDQ0VTU19DUDE1 KGMwLCA0LCBjMCwgNSkNCisjZGVmaW5lIFNDVExSICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMx LCAwLCBjMCwgMCkNCisjZGVmaW5lIENQQUNSICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxLCAw LCBjMCwgMikNCisjZGVmaW5lIEhDUiAgICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxLCA0LCBj MSwgMCkNCisjZGVmaW5lIEhEQ1IgICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxLCA0LCBjMSwg MSkNCisjZGVmaW5lIEhDUFRSICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxLCA0LCBjMSwgMikN CisjZGVmaW5lIEhTVFIgICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxLCA0LCBjMSwgMykNCisj ZGVmaW5lIFRUQkNSICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMyLCAwLCBjMCwgMikNCisjZGVm aW5lIEhUQ1IgICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMyLCA0LCBjMCwgMikNCisjZGVmaW5l IFZUQ1IgICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMyLCA0LCBjMSwgMikNCisjZGVmaW5lIERB Q1IgICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMzLCAwLCBjMCwgMCkNCisjZGVmaW5lIERGU1Ig ICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGM1LCAwLCBjMCwgMCkNCisjZGVmaW5lIElGU1IgICAg ICAgICAgICBfX0FDQ0VTU19DUDE1KGM1LCAwLCBjMCwgMSkNCisjZGVmaW5lIEFERlNSICAgICAg ICAgICBfX0FDQ0VTU19DUDE1KGM1LCAwLCBjMSwgMCkNCisjZGVmaW5lIEFJRlNSICAgICAgICAg ICBfX0FDQ0VTU19DUDE1KGM1LCAwLCBjMSwgMSkNCisjZGVmaW5lIEhTUiAgICAgICAgICAgICBf X0FDQ0VTU19DUDE1KGM1LCA0LCBjMiwgMCkNCisjZGVmaW5lIERGQVIgICAgICAgICAgICBfX0FD Q0VTU19DUDE1KGM2LCAwLCBjMCwgMCkNCisjZGVmaW5lIElGQVIgICAgICAgICAgICBfX0FDQ0VT U19DUDE1KGM2LCAwLCBjMCwgMikNCisjZGVmaW5lIEhERkFSICAgICAgICAgICBfX0FDQ0VTU19D UDE1KGM2LCA0LCBjMCwgMCkNCisjZGVmaW5lIEhJRkFSICAgICAgICAgICBfX0FDQ0VTU19DUDE1 KGM2LCA0LCBjMCwgMikNCisjZGVmaW5lIEhQRkFSICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGM2 LCA0LCBjMCwgNCkNCisjZGVmaW5lIElDSUFMTFVJUyAgICAgICBfX0FDQ0VTU19DUDE1KGM3LCAw LCBjMSwgMCkNCisjZGVmaW5lIEFUUzFDUFIgICAgICAgICBfX0FDQ0VTU19DUDE1KGM3LCAwLCBj OCwgMCkNCisjZGVmaW5lIFRMQklBTExJUyAgICAgICBfX0FDQ0VTU19DUDE1KGM4LCAwLCBjMywg MCkNCisjZGVmaW5lIFRMQklBTEwgICAgICAgICBfX0FDQ0VTU19DUDE1KGM4LCAwLCBjNywgMCkN CisjZGVmaW5lIFRMQklBTExOU05ISVMgICBfX0FDQ0VTU19DUDE1KGM4LCA0LCBjMywgNCkNCisj ZGVmaW5lIFBSUlIgICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxMCwgMCwgYzIsIDApDQorI2Rl ZmluZSBOTVJSICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMTAsIDAsIGMyLCAxKQ0KKyNkZWZp bmUgQU1BSVIwICAgICAgICAgIF9fQUNDRVNTX0NQMTUoYzEwLCAwLCBjMywgMCkNCisjZGVmaW5l IEFNQUlSMSAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxMCwgMCwgYzMsIDEpDQorI2RlZmluZSBW QkFSICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMTIsIDAsIGMwLCAwKQ0KKyNkZWZpbmUgQ0lE ICAgICAgICAgICAgIF9fQUNDRVNTX0NQMTUoYzEzLCAwLCBjMCwgMSkNCisjZGVmaW5lIFRJRF9V UlcgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxMywgMCwgYzAsIDIpDQorI2RlZmluZSBUSURfVVJP ICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMTMsIDAsIGMwLCAzKQ0KKyNkZWZpbmUgVElEX1BSSVYg ICAgICAgIF9fQUNDRVNTX0NQMTUoYzEzLCAwLCBjMCwgNCkNCisjZGVmaW5lIEhUUElEUiAgICAg ICAgICBfX0FDQ0VTU19DUDE1KGMxMywgNCwgYzAsIDIpDQorI2RlZmluZSBDTlRLQ1RMICAgICAg ICAgX19BQ0NFU1NfQ1AxNShjMTQsIDAsIGMxLCAwKQ0KKyNkZWZpbmUgQ05UVl9DVEwgICAgICAg IF9fQUNDRVNTX0NQMTUoYzE0LCAwLCBjMywgMSkNCisjZGVmaW5lIENOVEhDVEwgICAgICAgICBf X0FDQ0VTU19DUDE1KGMxNCwgNCwgYzEsIDApDQorDQogZXh0ZXJuIHVuc2lnbmVkIGxvbmcgY3Jf YWxpZ25tZW50OyAgICAgLyogZGVmaW5lZCBpbiBlbnRyeS1hcm12LlMgKi8NCg0KK3N0YXRpYyBp bmxpbmUgdm9pZCBzZXRfcGFyKHU2NCB2YWwpDQorew0KKyAgICAgICAgaWYgKElTX0VOQUJMRUQo Q09ORklHX0FSTV9MUEFFKSkNCisgICAgICAgICAgICAgICAgd3JpdGVfc3lzcmVnKHZhbCwgUEFS XzY0KTsNCisgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgd3JpdGVfc3lzcmVnKHZhbCwg UEFSXzMyKTsNCit9DQorDQorc3RhdGljIGlubGluZSB1NjQgZ2V0X3Bhcih2b2lkKQ0KK3sNCisg ICAgICAgIGlmIChJU19FTkFCTEVEKENPTkZJR19BUk1fTFBBRSkpDQorICAgICAgICAgICAgICAg IHJldHVybiByZWFkX3N5c3JlZyhQQVJfNjQpOw0KKyAgICAgICAgZWxzZQ0KKyAgICAgICAgICAg ICAgICByZXR1cm4gKHU2NClyZWFkX3N5c3JlZyhQQVJfMzIpOw0KK30NCisNCitzdGF0aWMgaW5s aW5lIHZvaWQgc2V0X3R0YnIwKHU2NCB2YWwpDQorew0KKyBpZiAoSVNfRU5BQkxFRChDT05GSUdf QVJNX0xQQUUpKQ0KKyAgICAgICAgIHdyaXRlX3N5c3JlZyh2YWwsIFRUQlIwXzY0KTsNCisgZWxz ZQ0KKyAgICAgICAgIHdyaXRlX3N5c3JlZyh2YWwsIFRUQlIwXzMyKTsNCit9DQorDQorc3RhdGlj IGlubGluZSB1NjQgZ2V0X3R0YnIwKHZvaWQpDQorew0KKyBpZiAoSVNfRU5BQkxFRChDT05GSUdf QVJNX0xQQUUpKQ0KKyAgICAgICAgIHJldHVybiByZWFkX3N5c3JlZyhUVEJSMF82NCk7DQorIGVs c2UNCisgICAgICAgICByZXR1cm4gKHU2NClyZWFkX3N5c3JlZyhUVEJSMF8zMik7DQorfQ0KKw0K K3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRfdHRicjEodTY0IHZhbCkNCit7DQorIGlmIChJU19FTkFC TEVEKENPTkZJR19BUk1fTFBBRSkpDQorICAgICAgICAgd3JpdGVfc3lzcmVnKHZhbCwgVFRCUjFf NjQpOw0KKyBlbHNlDQorICAgICAgICAgd3JpdGVfc3lzcmVnKHZhbCwgVFRCUjFfMzIpOw0KK30N CisNCitzdGF0aWMgaW5saW5lIHU2NCBnZXRfdHRicjEodm9pZCkNCit7DQorIGlmIChJU19FTkFC TEVEKENPTkZJR19BUk1fTFBBRSkpDQorICAgICAgICAgcmV0dXJuIHJlYWRfc3lzcmVnKFRUQlIx XzY0KTsNCisgZWxzZQ0KKyAgICAgICAgIHJldHVybiAodTY0KXJlYWRfc3lzcmVnKFRUQlIxXzMy KTsNCit9DQorDQogc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGdldF9jcih2b2lkKQ0KIHsN CiAgICAgICAgdW5zaWduZWQgbG9uZyB2YWw7DQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vaW5jbHVk ZS9hc20va3ZtX2h5cC5oIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20va3ZtX2h5cC5oDQppbmRleCAx NGI1OTAzLi44ZGI4YThjIDEwMDY0NA0KLS0tIGEvYXJjaC9hcm0vaW5jbHVkZS9hc20va3ZtX2h5 cC5oDQorKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9rdm1faHlwLmgNCkBAIC0zNyw1NiArMzcs NiBAQA0KICAgICAgICBfX3ZhbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwNCiB9KQ0KDQotI2RlZmluZSBUVEJSMCAgICAgICAgICAgICAgX19BQ0NF U1NfQ1AxNV82NCgwLCBjMikNCi0jZGVmaW5lIFRUQlIxICAgICAgICAgICAgICBfX0FDQ0VTU19D UDE1XzY0KDEsIGMyKQ0KLSNkZWZpbmUgVlRUQlIgICAgICAgICAgICAgIF9fQUNDRVNTX0NQMTVf NjQoNiwgYzIpDQotI2RlZmluZSBQQVIgICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNV82NCgw LCBjNykNCi0jZGVmaW5lIENOVFZfQ1ZBTCAgX19BQ0NFU1NfQ1AxNV82NCgzLCBjMTQpDQotI2Rl ZmluZSBDTlRWT0ZGICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNV82NCg0LCBjMTQpDQotDQotI2Rl ZmluZSBNSURSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMCwgMCwgYzAsIDApDQotI2Rl ZmluZSBDU1NFTFIgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMCwgMiwgYzAsIDApDQotI2Rl ZmluZSBWUElEUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMCwgNCwgYzAsIDApDQotI2Rl ZmluZSBWTVBJRFIgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMCwgNCwgYzAsIDUpDQotI2Rl ZmluZSBTQ1RMUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMSwgMCwgYzAsIDApDQotI2Rl ZmluZSBDUEFDUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMSwgMCwgYzAsIDIpDQotI2Rl ZmluZSBIQ1IgICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMSwgNCwgYzEsIDApDQotI2Rl ZmluZSBIRENSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMSwgNCwgYzEsIDEpDQotI2Rl ZmluZSBIQ1BUUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMSwgNCwgYzEsIDIpDQotI2Rl ZmluZSBIU1RSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMSwgNCwgYzEsIDMpDQotI2Rl ZmluZSBUVEJDUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMiwgMCwgYzAsIDIpDQotI2Rl ZmluZSBIVENSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMiwgNCwgYzAsIDIpDQotI2Rl ZmluZSBWVENSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMiwgNCwgYzEsIDIpDQotI2Rl ZmluZSBEQUNSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMywgMCwgYzAsIDApDQotI2Rl ZmluZSBERlNSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNSwgMCwgYzAsIDApDQotI2Rl ZmluZSBJRlNSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNSwgMCwgYzAsIDEpDQotI2Rl ZmluZSBBREZTUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNSwgMCwgYzEsIDApDQotI2Rl ZmluZSBBSUZTUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNSwgMCwgYzEsIDEpDQotI2Rl ZmluZSBIU1IgICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNSwgNCwgYzIsIDApDQotI2Rl ZmluZSBERkFSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNiwgMCwgYzAsIDApDQotI2Rl ZmluZSBJRkFSICAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNiwgMCwgYzAsIDIpDQotI2Rl ZmluZSBIREZBUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNiwgNCwgYzAsIDApDQotI2Rl ZmluZSBISUZBUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNiwgNCwgYzAsIDIpDQotI2Rl ZmluZSBIUEZBUiAgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNiwgNCwgYzAsIDQpDQotI2Rl ZmluZSBJQ0lBTExVSVMgIF9fQUNDRVNTX0NQMTUoYzcsIDAsIGMxLCAwKQ0KLSNkZWZpbmUgQVRT MUNQUiAgICAgICAgICAgIF9fQUNDRVNTX0NQMTUoYzcsIDAsIGM4LCAwKQ0KLSNkZWZpbmUgVExC SUFMTElTICBfX0FDQ0VTU19DUDE1KGM4LCAwLCBjMywgMCkNCi0jZGVmaW5lIFRMQklBTEwgICAg ICAgICAgICBfX0FDQ0VTU19DUDE1KGM4LCAwLCBjNywgMCkNCi0jZGVmaW5lIFRMQklBTExOU05I SVMgICAgICBfX0FDQ0VTU19DUDE1KGM4LCA0LCBjMywgNCkNCi0jZGVmaW5lIFBSUlIgICAgICAg ICAgICAgICBfX0FDQ0VTU19DUDE1KGMxMCwgMCwgYzIsIDApDQotI2RlZmluZSBOTVJSICAgICAg ICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMTAsIDAsIGMyLCAxKQ0KLSNkZWZpbmUgQU1BSVIwICAg ICAgICAgICAgIF9fQUNDRVNTX0NQMTUoYzEwLCAwLCBjMywgMCkNCi0jZGVmaW5lIEFNQUlSMSAg ICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxMCwgMCwgYzMsIDEpDQotI2RlZmluZSBWQkFSICAg ICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMTIsIDAsIGMwLCAwKQ0KLSNkZWZpbmUgQ0lEICAg ICAgICAgICAgICAgIF9fQUNDRVNTX0NQMTUoYzEzLCAwLCBjMCwgMSkNCi0jZGVmaW5lIFRJRF9V UlcgICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMxMywgMCwgYzAsIDIpDQotI2RlZmluZSBUSURf VVJPICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMTMsIDAsIGMwLCAzKQ0KLSNkZWZpbmUgVElE X1BSSVYgICBfX0FDQ0VTU19DUDE1KGMxMywgMCwgYzAsIDQpDQotI2RlZmluZSBIVFBJRFIgICAg ICAgICAgICAgX19BQ0NFU1NfQ1AxNShjMTMsIDQsIGMwLCAyKQ0KLSNkZWZpbmUgQ05US0NUTCAg ICAgICAgICAgIF9fQUNDRVNTX0NQMTUoYzE0LCAwLCBjMSwgMCkNCi0jZGVmaW5lIENOVFZfQ1RM ICAgX19BQ0NFU1NfQ1AxNShjMTQsIDAsIGMzLCAxKQ0KLSNkZWZpbmUgQ05USENUTCAgICAgICAg ICAgIF9fQUNDRVNTX0NQMTUoYzE0LCA0LCBjMSwgMCkNCi0NCiAjZGVmaW5lIFZGUF9GUEVYQyAg ICAgIF9fQUNDRVNTX1ZGUChGUEVYQykNCg0KIC8qIEFBcmNoNjQgY29tcGF0aWJpbGl0eSBtYWNy b3MsIG9ubHkgZm9yIHRoZSB0aW1lciBzbyBmYXIgKi8NCmRpZmYgLS1naXQgYS9hcmNoL2FybS9r dm0vaHlwL2NwMTUtc3IuYyBiL2FyY2gvYXJtL2t2bS9oeXAvY3AxNS1zci5jDQppbmRleCBjNDc4 MjgxLi5kMzY1ZTNjIDEwMDY0NA0KLS0tIGEvYXJjaC9hcm0va3ZtL2h5cC9jcDE1LXNyLmMNCisr KyBiL2FyY2gvYXJtL2t2bS9oeXAvY3AxNS1zci5jDQpAQCAtMzEsOCArMzEsOCBAQCB2b2lkIF9f aHlwX3RleHQgX19zeXNyZWdfc2F2ZV9zdGF0ZShzdHJ1Y3Qga3ZtX2NwdV9jb250ZXh0ICpjdHh0 KQ0KICAgICAgICBjdHh0LT5jcDE1W2MwX0NTU0VMUl0gICAgICAgICAgID0gcmVhZF9zeXNyZWco Q1NTRUxSKTsNCiAgICAgICAgY3R4dC0+Y3AxNVtjMV9TQ1RMUl0gICAgICAgICAgICA9IHJlYWRf c3lzcmVnKFNDVExSKTsNCiAgICAgICAgY3R4dC0+Y3AxNVtjMV9DUEFDUl0gICAgICAgICAgICA9 IHJlYWRfc3lzcmVnKENQQUNSKTsNCi0gICAqY3AxNV82NChjdHh0LCBjMl9UVEJSMCkgICAgICAg ID0gcmVhZF9zeXNyZWcoVFRCUjApOw0KLSAgICpjcDE1XzY0KGN0eHQsIGMyX1RUQlIxKSAgICAg ICAgPSByZWFkX3N5c3JlZyhUVEJSMSk7DQorICpjcDE1XzY0KGN0eHQsIGMyX1RUQlIwKSAgICA9 IHJlYWRfc3lzcmVnKFRUQlIwXzY0KTsNCisgKmNwMTVfNjQoY3R4dCwgYzJfVFRCUjEpICAgID0g cmVhZF9zeXNyZWcoVFRCUjFfNjQpOw0KICAgICAgICBjdHh0LT5jcDE1W2MyX1RUQkNSXSAgICAg ICAgICAgID0gcmVhZF9zeXNyZWcoVFRCQ1IpOw0KICAgICAgICBjdHh0LT5jcDE1W2MzX0RBQ1Jd ICAgICAgICAgICAgID0gcmVhZF9zeXNyZWcoREFDUik7DQogICAgICAgIGN0eHQtPmNwMTVbYzVf REZTUl0gICAgICAgICAgICAgPSByZWFkX3N5c3JlZyhERlNSKTsNCkBAIC00MSw3ICs0MSw3IEBA IHZvaWQgX19oeXBfdGV4dCBfX3N5c3JlZ19zYXZlX3N0YXRlKHN0cnVjdCBrdm1fY3B1X2NvbnRl eHQgKmN0eHQpDQogICAgICAgIGN0eHQtPmNwMTVbYzVfQUlGU1JdICAgICAgICAgICAgPSByZWFk X3N5c3JlZyhBSUZTUik7DQogICAgICAgIGN0eHQtPmNwMTVbYzZfREZBUl0gICAgICAgICAgICAg PSByZWFkX3N5c3JlZyhERkFSKTsNCiAgICAgICAgY3R4dC0+Y3AxNVtjNl9JRkFSXSAgICAgICAg ICAgICA9IHJlYWRfc3lzcmVnKElGQVIpOw0KLSAgICpjcDE1XzY0KGN0eHQsIGM3X1BBUikgICAg ICAgICAgPSByZWFkX3N5c3JlZyhQQVIpOw0KKyAqY3AxNV82NChjdHh0LCBjN19QQVIpICAgICAg ICAgICAgICA9IHJlYWRfc3lzcmVnKFBBUl82NCk7DQogICAgICAgIGN0eHQtPmNwMTVbYzEwX1BS UlJdICAgICAgICAgICAgPSByZWFkX3N5c3JlZyhQUlJSKTsNCiAgICAgICAgY3R4dC0+Y3AxNVtj MTBfTk1SUl0gICAgICAgICAgICA9IHJlYWRfc3lzcmVnKE5NUlIpOw0KICAgICAgICBjdHh0LT5j cDE1W2MxMF9BTUFJUjBdICAgICAgICAgID0gcmVhZF9zeXNyZWcoQU1BSVIwKTsNCkBAIC02MCw4 ICs2MCw4IEBAIHZvaWQgX19oeXBfdGV4dCBfX3N5c3JlZ19yZXN0b3JlX3N0YXRlKHN0cnVjdCBr dm1fY3B1X2NvbnRleHQgKmN0eHQpDQogICAgICAgIHdyaXRlX3N5c3JlZyhjdHh0LT5jcDE1W2Mw X0NTU0VMUl0sICAgICBDU1NFTFIpOw0KICAgICAgICB3cml0ZV9zeXNyZWcoY3R4dC0+Y3AxNVtj MV9TQ1RMUl0sICAgICAgU0NUTFIpOw0KICAgICAgICB3cml0ZV9zeXNyZWcoY3R4dC0+Y3AxNVtj MV9DUEFDUl0sICAgICAgQ1BBQ1IpOw0KLSAgIHdyaXRlX3N5c3JlZygqY3AxNV82NChjdHh0LCBj Ml9UVEJSMCksICBUVEJSMCk7DQotICAgd3JpdGVfc3lzcmVnKCpjcDE1XzY0KGN0eHQsIGMyX1RU QlIxKSwgIFRUQlIxKTsNCisgd3JpdGVfc3lzcmVnKCpjcDE1XzY0KGN0eHQsIGMyX1RUQlIwKSwg ICAgICBUVEJSMF82NCk7DQorIHdyaXRlX3N5c3JlZygqY3AxNV82NChjdHh0LCBjMl9UVEJSMSks ICAgICAgVFRCUjFfNjQpOw0KICAgICAgICB3cml0ZV9zeXNyZWcoY3R4dC0+Y3AxNVtjMl9UVEJD Ul0sICAgICAgVFRCQ1IpOw0KICAgICAgICB3cml0ZV9zeXNyZWcoY3R4dC0+Y3AxNVtjM19EQUNS XSwgICAgICAgREFDUik7DQogICAgICAgIHdyaXRlX3N5c3JlZyhjdHh0LT5jcDE1W2M1X0RGU1Jd LCAgICAgICBERlNSKTsNCkBAIC03MCw3ICs3MCw3IEBAIHZvaWQgX19oeXBfdGV4dCBfX3N5c3Jl Z19yZXN0b3JlX3N0YXRlKHN0cnVjdCBrdm1fY3B1X2NvbnRleHQgKmN0eHQpDQogICAgICAgIHdy aXRlX3N5c3JlZyhjdHh0LT5jcDE1W2M1X0FJRlNSXSwgICAgICBBSUZTUik7DQogICAgICAgIHdy aXRlX3N5c3JlZyhjdHh0LT5jcDE1W2M2X0RGQVJdLCAgICAgICBERkFSKTsNCiAgICAgICAgd3Jp dGVfc3lzcmVnKGN0eHQtPmNwMTVbYzZfSUZBUl0sICAgICAgIElGQVIpOw0KLSAgIHdyaXRlX3N5 c3JlZygqY3AxNV82NChjdHh0LCBjN19QQVIpLCAgICBQQVIpOw0KKyB3cml0ZV9zeXNyZWcoKmNw MTVfNjQoY3R4dCwgYzdfUEFSKSwgICAgICAgIFBBUl82NCk7DQogICAgICAgIHdyaXRlX3N5c3Jl ZyhjdHh0LT5jcDE1W2MxMF9QUlJSXSwgICAgICBQUlJSKTsNCiAgICAgICAgd3JpdGVfc3lzcmVn KGN0eHQtPmNwMTVbYzEwX05NUlJdLCAgICAgIE5NUlIpOw0KICAgICAgICB3cml0ZV9zeXNyZWco Y3R4dC0+Y3AxNVtjMTBfQU1BSVIwXSwgICAgQU1BSVIwKTsNCmRpZmYgLS1naXQgYS9hcmNoL2Fy bS9rdm0vaHlwL3N3aXRjaC5jIGIvYXJjaC9hcm0va3ZtL2h5cC9zd2l0Y2guYw0KaW5kZXggZWJk MmRkNC4uNDg3OTU4OCAxMDA2NDQNCi0tLSBhL2FyY2gvYXJtL2t2bS9oeXAvc3dpdGNoLmMNCisr KyBiL2FyY2gvYXJtL2t2bS9oeXAvc3dpdGNoLmMNCkBAIC0xMzMsMTIgKzEzMywxMiBAQCBzdGF0 aWMgYm9vbCBfX2h5cF90ZXh0IF9fcG9wdWxhdGVfZmF1bHRfaW5mbyhzdHJ1Y3Qga3ZtX3ZjcHUg KnZjcHUpDQogICAgICAgIGlmICghKGhzciAmIEhTUl9EQUJUX1MxUFRXKSAmJiAoaHNyICYgSFNS X0ZTQ19UWVBFKSA9PSBGU0NfUEVSTSkgew0KICAgICAgICAgICAgICAgIHU2NCBwYXIsIHRtcDsN Cg0KLSAgICAgICAgICAgcGFyID0gcmVhZF9zeXNyZWcoUEFSKTsNCisgICAgICAgICBwYXIgPSBy ZWFkX3N5c3JlZyhQQVJfNjQpOw0KICAgICAgICAgICAgICAgIHdyaXRlX3N5c3JlZyhmYXIsIEFU UzFDUFIpOw0KICAgICAgICAgICAgICAgIGlzYigpOw0KDQotICAgICAgICAgICB0bXAgPSByZWFk X3N5c3JlZyhQQVIpOw0KLSAgICAgICAgICAgd3JpdGVfc3lzcmVnKHBhciwgUEFSKTsNCisgICAg ICAgICB0bXAgPSByZWFkX3N5c3JlZyhQQVJfNjQpOw0KKyAgICAgICAgIHdyaXRlX3N5c3JlZyhw YXIsIFBBUl82NCk7DQoNCiAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkodG1wICYgMSkpDQog ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8qIFRyYW5zbGF0aW9uIGZhaWxl ZCwgYmFjayB0byBndWVzdCAqLw0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21tL2thc2FuX2luaXQu YyBiL2FyY2gvYXJtL21tL2thc2FuX2luaXQuYw0KaW5kZXggMDQ5ZWUwYS4uODdjODZjNyAxMDA2 NDQNCi0tLSBhL2FyY2gvYXJtL21tL2thc2FuX2luaXQuYw0KKysrIGIvYXJjaC9hcm0vbW0va2Fz YW5faW5pdC5jDQpAQCAtMjAzLDE2ICsyMDMsMTYgQEAgdm9pZCBfX2luaXQga2FzYW5faW5pdCh2 b2lkKQ0KICAgICAgICB1NjQgb3JpZ190dGJyMDsNCiAgICAgICAgaW50IGk7DQoNCi0gICBvcmln X3R0YnIwID0gY3B1X2dldF90dGJyKDApOw0KKyBvcmlnX3R0YnIwID0gZ2V0X3R0YnIwKCk7DQoN CiAjaWZkZWYgQ09ORklHX0FSTV9MUEFFDQogICAgICAgIG1lbWNweSh0bXBfcG1kX3RhYmxlLCBw Z2RfcGFnZV92YWRkcigqcGdkX29mZnNldF9rKEtBU0FOX1NIQURPV19TVEFSVCkpLCBzaXplb2Yo dG1wX3BtZF90YWJsZSkpOw0KICAgICAgICBtZW1jcHkodG1wX3BhZ2VfdGFibGUsIHN3YXBwZXJf cGdfZGlyLCBzaXplb2YodG1wX3BhZ2VfdGFibGUpKTsNCiAgICAgICAgc2V0X3BnZCgmdG1wX3Bh Z2VfdGFibGVbcGdkX2luZGV4KEtBU0FOX1NIQURPV19TVEFSVCldLCBfX3BnZChfX3BhKHRtcF9w bWRfdGFibGUpIHwgUE1EX1RZUEVfVEFCTEUgfCBMX1BHRF9TV0FQUEVSKSk7DQotICAgY3B1X3Nl dF90dGJyMChfX3BhKHRtcF9wYWdlX3RhYmxlKSk7DQorIHNldF90dGJyMChfX3BhKHRtcF9wYWdl X3RhYmxlKSk7DQogI2Vsc2UNCiAgICAgICAgbWVtY3B5KHRtcF9wYWdlX3RhYmxlLCBzd2FwcGVy X3BnX2Rpciwgc2l6ZW9mKHRtcF9wYWdlX3RhYmxlKSk7DQotICAgY3B1X3NldF90dGJyMChfX3Bh KHRtcF9wYWdlX3RhYmxlKSk7DQorIHNldF90dGJyMCgodTY0KV9fcGEodG1wX3BhZ2VfdGFibGUp KTsNCiAjZW5kaWYNCiAgICAgICAgZmx1c2hfY2FjaGVfYWxsKCk7DQogICAgICAgIGxvY2FsX2Zs dXNoX2JwX2FsbCgpOw0KQEAgLTI1Nyw3ICsyNTcsNyBAQCB2b2lkIF9faW5pdCBrYXNhbl9pbml0 KHZvaWQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKl9fcGdwcm90KF9MX1BU RV9ERUZBVUxUIHwgTF9QVEVfRElSVFkgfCBMX1BURV9YTiB8IExfUFRFX1JET05MWSkpKi8NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19wZ3Byb3QocGdwcm90X3ZhbChQQUdFX0tF Uk5FTCkgfCBMX1BURV9SRE9OTFkpKSk7DQogICAgICAgIG1lbXNldChrYXNhbl96ZXJvX3BhZ2Us IDAsIFBBR0VfU0laRSk7DQotICAgY3B1X3NldF90dGJyMChvcmlnX3R0YnIwKTsNCisgc2V0X3R0 YnIwKG9yaWdfdHRicjApOw0KICAgICAgICBmbHVzaF9jYWNoZV9hbGwoKTsNCiAgICAgICAgbG9j YWxfZmx1c2hfYnBfYWxsKCk7DQogICAgICAgIGxvY2FsX2ZsdXNoX3RsYl9hbGwoKTsNCg0KDQoN Ci0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCuWPkeS7tuS6ujogTWFyYyBaeW5naWVyIFttYWlsdG86 bWFyYy56eW5naWVyQGFybS5jb21dIA0K5Y+R6YCB5pe26Ze0OiAyMDE35bm0MTHmnIgyMuaXpSAy MTowNg0K5pS25Lu25Lq6OiBMaXV3ZW5saWFuZyAoQWJib3R0IExpdSk7IE1hcmsgUnV0bGFuZA0K 5oqE6YCBOiB0aXh5QGxpbmFyby5vcmc7IG1ob2Nrb0BzdXNlLmNvbTsgZ3J5Z29yaWkuc3RyYXNo a29AbGluYXJvLm9yZzsgY2F0YWxpbi5tYXJpbmFzQGFybS5jb207IGxpbnV4LW1tQGt2YWNrLm9y ZzsgZ2xpZGVyQGdvb2dsZS5jb207IGFmemFsLm1vaGQubWFAZ21haWwuY29tOyBtaW5nb0BrZXJu ZWwub3JnOyBDaHJpc3RvZmZlciBEYWxsOyBmLmZhaW5lbGxpQGdtYWlsLmNvbTsgbWF3aWxjb3hA bWljcm9zb2Z0LmNvbTsgbGludXhAYXJtbGludXgub3JnLnVrOyBrYXNhbi1kZXZAZ29vZ2xlZ3Jv dXBzLmNvbTsgRGFpbGVpOyBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IGFy eWFiaW5pbkB2aXJ0dW96em8uY29tOyBsYWJib3R0QHJlZGhhdC5jb207IHZsYWRpbWlyLm11cnpp bkBhcm0uY29tOyBrZWVzY29va0BjaHJvbWl1bS5vcmc7IGFybmRAYXJuZGIuZGU7IFplbmd3ZWls aW47IG9wZW5kbWJAZ21haWwuY29tOyBIZXNoYW9saWFuZzsgdGdseEBsaW51dHJvbml4LmRlOyBk dnl1a292QGdvb2dsZS5jb207IGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc7IGxpbnV4LWtlcm5l bEB2Z2VyLmtlcm5lbC5vcmc7IEppYXpoZW5naHVhOyBha3BtQGxpbnV4LWZvdW5kYXRpb24ub3Jn OyByb2Jpbi5tdXJwaHlAYXJtLmNvbTsgdGhnYXJuaWVAZ29vZ2xlLmNvbTsga2lyaWxsLnNodXRl bW92QGxpbnV4LmludGVsLmNvbQ0K5Li76aKYOiBSZTogW1BBVENIIDAxLzExXSBJbml0aWFsaXpl IHRoZSBtYXBwaW5nIG9mIEtBU2FuIHNoYWRvdyBtZW1vcnkNCg0KT24gMjIvMTEvMTcgMTI6NTYs IExpdXdlbmxpYW5nIChBYmJvdHQgTGl1KSB3cm90ZToNCj4gT24gTm92IDIyLCAyMDE3ICAyMDoz MCAgTWFyayBSdXRsYW5kIFttYWlsdG86bWFyay5ydXRsYW5kQGFybS5jb21dIHdyb3RlOg0KPj4g T24gVHVlLCBOb3YgMjEsIDIwMTcgYXQgMDc6NTk6MDFBTSArMDAwMCwgTGl1d2VubGlhbmcgKEFi Ym90dCBMaXUpIHdyb3RlOg0KPj4+IE9uIE5vdiAxNywgMjAxNyAgMjE6NDkgIE1hcmMgWnluZ2ll ciBbbWFpbHRvOm1hcmMuenluZ2llckBhcm0uY29tXSAgd3JvdGU6DQo+Pj4+IE9uIFNhdCwgMTgg Tm92IDIwMTcgMTA6NDA6MDggKzAwMDANCj4+Pj4gIkxpdXdlbmxpYW5nIChBYmJvdHQgTGl1KSIg PGxpdXdlbmxpYW5nQGh1YXdlaS5jb20+IHdyb3RlOg0KPj4+Pj4gT24gTm92IDE3LCAyMDE3ICAx NTozNiBDaHJpc3RvZmZlciBEYWxsIFttYWlsdG86Y2RhbGxAbGluYXJvLm9yZ10gIHdyb3RlOg0K PiANCj4+PiBQbGVhc2UgZG9uJ3QgYXNrIHBlb3BsZSB0byBsaW1pdCB0byA0R0Igb2YgcGh5c2lj YWwgc3BhY2Ugb24gQ1BVDQo+Pj4gc3VwcG9ydGluZyBMUEFFLCBwbGVhc2UgZG9uJ3QgYXNrIHBl b3BsZSB0byBndWFyYW50ZWVkIHRvIGhhdmUgc29tZQ0KPj4+IG1lbW9yeSBiZWxvdyA0R0Igb24g Q1BVIHN1cHBvcnRpbmcgTFBBRS4NCj4gDQo+PiBJIGRvbid0IHRoaW5rIHRoYXQgTWFyYyBpcyBz dWdnZXN0aW5nIHRoYXQgeW91J2QgYWx3YXlzIHVzZSB0aGUgMzItYml0DQo+PiBhY2Nlc3NvcnMg b24gYW4gTFBBRSBzeXN0ZW0sIGp1c3QgdGhhdCBhbGwgdGhlIGRlZmluaXRpb25zIHNob3VsZCBl eGlzdA0KPj4gcmVnYXJkbGVzcyBvZiBjb25maWd1cmF0aW9uLg0KPiANCj4+IFNvIHJhdGhlciB0 aGFuIHRoaXM6DQo+IA0KPj4+ICsjaWZkZWYgQ09ORklHX0FSTV9MUEFFDQo+Pj4gKyNkZWZpbmUg VFRCUjAgICAgICAgICAgIF9fQUNDRVNTX0NQMTVfNjQoMCwgYzIpDQo+Pj4gKyNkZWZpbmUgVFRC UjEgICAgICAgICAgIF9fQUNDRVNTX0NQMTVfNjQoMSwgYzIpDQo+Pj4gKyNkZWZpbmUgUEFSICAg ICAgICAgICAgIF9fQUNDRVNTX0NQMTVfNjQoMCwgYzcpDQo+Pj4gKyNlbHNlDQo+Pj4gKyNkZWZp bmUgVFRCUjAgICAgICAgICAgIF9fQUNDRVNTX0NQMTUoYzIsIDAsIGMwLCAwKQ0KPj4+ICsjZGVm aW5lIFRUQlIxICAgICAgICAgICBfX0FDQ0VTU19DUDE1KGMyLCAwLCBjMCwgMSkNCj4+PiArI2Rl ZmluZSBQQVIgICAgICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNywgMCwgYzQsIDApDQo+Pj4gKyNl bmRpZg0KPiANCj4+IC4uLiB5b3UnZCBoYXZlIHRoZSBmb2xsb3dpbmcgaW4gY3AxNS5oOg0KPiAN Cj4+ICNkZWZpbmUgVFRCUjBfNjQgICAgICAgX19BQ0NFU1NfQ1AxNV82NCgwLCBjMikNCj4+ICNk ZWZpbmUgVFRCUjFfNjQgICAgICAgX19BQ0NFU1NfQ1AxNV82NCgxLCBjMikNCj4+ICNkZWZpbmUg UEFSXzY0ICAgICAgICAgX19BQ0NFU1NfQ1AxNV82NCgwLCBjNykNCj4gDQo+PiAjZGVmaW5lIFRU QlIwXzMyICAgICAgIF9fQUNDRVNTX0NQMTUoYzIsIDAsIGMwLCAwKQ0KPj4gI2RlZmluZSBUVEJS MV8zMiAgICAgICBfX0FDQ0VTU19DUDE1KGMyLCAwLCBjMCwgMSkNCj4+ICNkZWZpbmUgUEFSXzMy ICAgICAgICAgX19BQ0NFU1NfQ1AxNShjNywgMCwgYzQsIDApDQo+IA0KPj4gLi4uIGFuZCBlbHNl d2hlcmUsIHdoZXJlIGl0IG1hdHRlcnMsIHdlIGNob29zZSB3aGljaCB0byB1c2UgZGVwZW5kaW5n IG9uDQo+PiB0aGUga2VybmVsIGNvbmZpZ3VyYXRpb24sIGUuZy4NCj4gDQo+PiB2b2lkIHNldF90 dGJyMCh1NjQgdmFsKQ0KPj4gew0KPj4gICAgICAgaWYgKElTX0VOQUJMRUQoQ09ORklHX0FSTV9M UEFFKSkNCj4+ICAgICAgICAgICAgICAgd3JpdGVfc3lzcmVnKHZhbCwgVFRCUjBfNjQpOw0KPj4g ICAgICAgZWxzZQ0KPj4gICAgICAgICAgICAgICB3cml0ZV9zeXNyZWcodmFsLCBUVEJSMF8zMik7 DQo+PiB9DQo+IA0KPj4gVGhhbmtzLA0KPj4gTWFyay4NCj4gDQo+IFRoYW5rcyBmb3IgeW91ciBz b2x1dGlvbi4NCj4gSSBkaWRuJ3Qga25vdyB0aGVyZSB3YXMgYSBJU19FTkFCTEVEIG1hY3JvIHRo YXQgSSBjYW4gdXNlLCBzbyBJIGNhbid0IHdyaXRlIGEgZnVuY3Rpb24gDQo+IGxpa2U6DQo+IHZv aWQgc2V0X3R0YnIwKHU2NCB2YWwpDQo+IHsNCj4gICAgICAgIGlmIChJU19FTkFCTEVEKENPTkZJ R19BUk1fTFBBRSkpDQo+ICAgICAgICAgICAgICAgIHdyaXRlX3N5c3JlZyh2YWwsIFRUQlIwXzY0 KTsNCj4gICAgICAgIGVsc2UNCj4gICAgICAgICAgICAgICAgd3JpdGVfc3lzcmVnKHZhbCwgVFRC UjBfMzIpOw0KPiB9DQo+IA0KPiANCj4gSGVyZSBpcyB0aGUgY29kZSBJIHRlc3RlZCBvbiB2ZXhw cmVzc19hOSBhbmQgdmV4cHJlc3NfYTE1Og0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vaW5jbHVk ZS9hc20vY3AxNS5oIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vY3AxNS5oDQo+IGluZGV4IGRiZGJj ZTEuLjVlYjAxODUgMTAwNjQ0DQo+IC0tLSBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2NwMTUuaA0K PiArKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9jcDE1LmgNCj4gQEAgLTIsNiArMiw3IEBADQo+ ICAjZGVmaW5lIF9fQVNNX0FSTV9DUDE1X0gNCj4gDQo+ICAjaW5jbHVkZSA8YXNtL2JhcnJpZXIu aD4NCj4gKyNpbmNsdWRlIDxsaW51eC9zdHJpbmdpZnkuaD4NCj4gDQo+ICAvKg0KPiAgICogQ1Ix IGJpdHMgKENQIzE1IENSMSkNCj4gQEAgLTY0LDggKzY1LDkzIEBADQo+ICAjZGVmaW5lIF9fd3Jp dGVfc3lzcmVnKHYsIHIsIHcsIGMsIHQpICBhc20gdm9sYXRpbGUodyAiICIgYyA6IDogInIiICgo dCkodikpKQ0KPiAgI2RlZmluZSB3cml0ZV9zeXNyZWcodiwgLi4uKSAgICAgICAgICAgX193cml0 ZV9zeXNyZWcodiwgX19WQV9BUkdTX18pDQo+IA0KPiArI2RlZmluZSBUVEJSMF8zMiAgICAgICAg ICAgX19BQ0NFU1NfQ1AxNShjMiwgMCwgYzAsIDApDQo+ICsjZGVmaW5lIFRUQlIxXzMyICAgICAg ICAgICBfX0FDQ0VTU19DUDE1KGMyLCAwLCBjMCwgMSkNCj4gKyNkZWZpbmUgVFRCUjBfNjQgICAg ICAgICAgIF9fQUNDRVNTX0NQMTVfNjQoMCwgYzIpDQo+ICsjZGVmaW5lIFRUQlIxXzY0ICAgICAg ICAgICBfX0FDQ0VTU19DUDE1XzY0KDEsIGMyKQ0KPiArI2RlZmluZSBQQVIgICAgICAgICAgICAg X19BQ0NFU1NfQ1AxNV82NCgwLCBjNykNCg0KUGxlYXNlIGRlZmluZSBib3RoIFBBUiBhY2Nlc3Nv cnMuIFllcywgSSBrbm93IHRoZSAzMmJpdCB2ZXJzaW9uIGlzIG5vdA0KdXNlZCB5ZXQsIGJ1dCBp dCBkb2Vzbid0IGh1cnQgdG8gbWFrZSBpdCB2aXNpYmxlLg0KDQpUaGFua3MsDQoNCglNLg0KLS0g DQpKYXp6IGlzIG5vdCBkZWFkLiBJdCBqdXN0IHNtZWxscyBmdW5ueS4uLg0K -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org