From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61499 invoked by alias); 23 Mar 2018 14:54:15 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 61484 invoked by uid 89); 23 Mar 2018 14:54:15 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.8 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,KAM_LOTSOFHASH,KAM_SHORT,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=didn, Hx-spam-relays-external:15.20.0609.012, H*RU:15.20.0609.012, H*r:15.20.0609.012 X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0061.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.61) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 23 Mar 2018 14:54:11 +0000 Received: from AM3PR08MB0101.eurprd08.prod.outlook.com (10.160.211.19) by AM3PR08MB0006.eurprd08.prod.outlook.com (10.160.236.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.567.14; Fri, 23 Mar 2018 14:54:05 +0000 Received: from AM3PR08MB0101.eurprd08.prod.outlook.com ([fe80::64e8:8f30:eae8:a839]) by AM3PR08MB0101.eurprd08.prod.outlook.com ([fe80::64e8:8f30:eae8:a839%13]) with mapi id 15.20.0609.012; Fri, 23 Mar 2018 14:54:05 +0000 From: Alan Hayward To: Simon Marchi CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH v4 02/10] Make gdbserver reg_defs a vector of objects Date: Fri, 23 Mar 2018 14:54:00 -0000 Message-ID: References: <20180322084429.26250-1-alan.hayward@arm.com> <20180322084429.26250-3-alan.hayward@arm.com> <74733d19-17a0-6a38-73d0-e1201f27d5cd@ericsson.com> In-Reply-To: <74733d19-17a0-6a38-73d0-e1201f27d5cd@ericsson.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AM3PR08MB0006;7:cvzxfq7Z8fDPOpntZkAnzuEKNUyxv+eH8w9MjzqJPg2UpkWgJ1ovHLHUg7p9OXWqyoJG2LwRka26he6IB4UwmM4kiQub1IY3RXBiZPBIYgULAQspLd8v1yTl+lTkWwa50i43dCAulNYtUEM9yAPnAK2YJNIEG+H9YmGCBBfouxzVT3zTGweR2/uW+3o5sLIiPoZC3q7xnNu5toGx/Imyc9pd+1bH/aLvAYLMKjPLqL0TfLqk8/nmwYcsv4UvW2fa x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 8f3f3c50-6870-468d-bfe4-08d590cdecc7 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:AM3PR08MB0006; x-ms-traffictypediagnostic: AM3PR08MB0006: nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(37575265505322)(250305191791016)(180628864354917)(22074186197030)(131327999870524)(788757137089); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(3231221)(944501327)(52105095)(10201501046)(6055026)(6041310)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(6072148)(201708071742011);SRVR:AM3PR08MB0006;BCL:0;PCL:0;RULEID:;SRVR:AM3PR08MB0006; x-forefront-prvs: 0620CADDF3 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(346002)(39860400002)(39380400002)(366004)(396003)(377424004)(199004)(189003)(51914003)(51444003)(53546011)(72206003)(106356001)(66066001)(3280700002)(6436002)(68736007)(186003)(81156014)(26005)(6116002)(99286004)(25786009)(8936002)(966005)(54906003)(6512007)(11346002)(6916009)(59450400001)(102836004)(76176011)(81166006)(3846002)(2906002)(105586002)(6506007)(6246003)(316002)(33656002)(53946003)(6306002)(82746002)(305945005)(36756003)(2900100001)(8676002)(7736002)(53936002)(5660300001)(229853002)(14454004)(575784001)(446003)(97736004)(83716003)(6486002)(3660700001)(5250100002)(478600001)(4326008)(86362001)(481834002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM3PR08MB0006;H:AM3PR08MB0101.eurprd08.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: YPoAh9kVpQ3QiAXaAAAnHgmPYboDRr47eli8cczCqlqEYxOy74m1Gqlvfm3UDPZ+JwWvB+3nNkunLaLlltpS42Z+X11Nn8Ca5cyNKEIEr272RDbcwjlvb5olvYdWO01nn9f6UGVuU4eOjqW7Ufrgy0dyL3ZkLHMDjqThw8ML7EVBoaaoq6wtDn9eWlx5ledbwxMXnCxhFotnqtY6gn9Gv2WrHqGDIu971t5yLKKRLFqLFoVcgknISby83EGpIq/Cb/XgDMdfUiioOJ/zXTKsZFjQlxf1HMXWl7rh2KHRLHW+8TXG4ibnazTHJDz6U7y/bdpKRosrl9ZS+2I0e3zpWw== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <25DCDB84ECEF2747B2F62C5A8B0E5882@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f3f3c50-6870-468d-bfe4-08d590cdecc7 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2018 14:54:05.5346 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR08MB0006 X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00443.txt.bz2 DQoNCj4gT24gMjIgTWFyIDIwMTgsIGF0IDIxOjMzLCBTaW1vbiBNYXJjaGkg PHNpbW9uLm1hcmNoaUBlcmljc3Nvbi5jb20+IHdyb3RlOg0KPiANCj4gT24g MjAxOC0wMy0yMiAwNDo0NCBBTSwgYWxhbi5oYXl3YXJkQGFybS5jb20gd3Jv dGU6DQo+PiBGcm9tOiBBbGFuIEhheXdhcmQgPGFsYW4uaGF5d2FyZEBhcm0u Y29tPg0KPj4gDQo+PiBGb2xsb3dpbmcgYSBzdWdnZXN0aW9uIGZyb20gUGhp bGlwcCwgdGhpcyBwYXRjaCBjaGFuZ2VzIHJlZ19kZWZzIGluDQo+PiBnZGJz ZXJ2ZXIgdGRlc2Mgc28gdGhhdCBpdCBpcyBhIHZlY3RvciBvZiBvYmplY3Rz IGluc3RlYWQgb2YgYSB2ZWN0b3INCj4+IG9mIHBvaW50ZXJzLiBVcGRhdGVk IHVzZXMgb2YgcmVnX2RlZnMgdG8gdXNlIHJlZmVyZW5jZXMuDQo+PiANCj4+ IFRoaXMgY2hhbmdlIHJlZHVjZXMgdGhlIG51bWJlciBvZiBzbWFsbCBodW5r cyBhbGxvY2F0ZWQgd2hlbiBidWlsZGluZw0KPj4gcmVnX2RlZnMuDQo+PiAN Cj4+IGZpbmRfcmVnaXN0ZXJfYnlfbnVtYmVyKCkgaXMgb25seSB1c2VkIGJ5 IHJlZ2NhY2hlLCB0aGVyZWZvcmUgSSBtYWRlDQo+PiBpdCBhIHN0YXRpYyBm dW5jdGlvbiBhbmQgbW92ZWQgaXQgZWFybGllciBpbiB0aGUgZmlsZSBzbyB0 aGF0IGZpbmRfcmVnbm8oKQ0KPj4gY291bGQgdXNlIGl0LiBUaGUgZXZlbnR1 YWwgcGxhbiBpcyB0byByZXBsYWNlIHRoaXMgd2l0aCBhY2Nlc3NvciBmdW5j dGlvbnMNCj4+IGluIGEgY29tbW9uIHRkZXNjIGNsYXNzLg0KPj4gDQo+PiBB bGFuLg0KPj4gDQo+PiAyMDE4LTAzLTIxICBBbGFuIEhheXdhcmQgIDxhbGFu LmhheXdhcmRAYXJtLmNvbT4NCj4+IA0KPj4gZ2RiL2dkYnNlcnZlci8NCj4+ IAkqIHJlZ2NhY2hlLmMgKGZpbmRfcmVnaXN0ZXJfYnlfbnVtYmVyKTogTWFr ZSBzdGF0aWMgYW5kIHJldHVybiBhIHJlZi4NCj4+IAkoZmluZF9yZWdubyk6 IFVzZSBmaW5kX3JlZ2lzdGVyX2J5X251bWJlcg0KPj4gCShyZWdpc3Rlcl9z aXplKTogVXNlIHJlZmVyZW5jZXMuDQo+PiAJKHJlZ2lzdGVyX2RhdGEpOiBM aWtld2lzZS4NCj4+IAkqIHJlZ2NhY2hlLmggKHN0cnVjdCByZWcpOiBSZW1v dmUgZGVjbGFyYXRpb24uDQo+PiAJKiB0ZGVzYy5jICh0YXJnZXRfZGVzYzo6 fnRhcmdldF9kZXNjKTogUmVtb3ZlIGZyZWUgY2FsbHMuDQo+PiAJKHRhcmdl dF9kZXNjOjpvcGVyYXRvcj09KTogVXNlIHJlZmVyZW5jZXMuDQo+PiAJKGlu aXRfdGFyZ2V0X2Rlc2MpOiBMaWtld2lzZS4NCj4+IAkodGRlc2NfY3JlYXRl X3JlZyk6IFVzZSByZWZlcmVuY2VzIGFuZCByZXNpemUgaW4gYSBzaW5nbGUg Y2FsbC4NCj4+IAkqIHRkZXNjLmggKHN0cnVjdCB0YXJnZXRfZGVzYyk6IFJl cGxhY2UgcG9pbnRlciB3aXRoIG9iamVjdC4NCj4+IC0tLQ0KPj4gZ2RiL2dk YnNlcnZlci9yZWdjYWNoZS5jIHwgMjcgKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tDQo+PiBnZGIvZ2Ric2VydmVyL3JlZ2NhY2hlLmggfCAgNCAtLS0t DQo+PiBnZGIvZ2Ric2VydmVyL3RkZXNjLmMgICAgfCAzMCArKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0NCj4+IGdkYi9nZGJzZXJ2ZXIvdGRlc2Mu aCAgICB8ICAyICstDQo+PiA0IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlv bnMoKyksIDM3IGRlbGV0aW9ucygtKQ0KPj4gDQo+PiBkaWZmIC0tZ2l0IGEv Z2RiL2dkYnNlcnZlci9yZWdjYWNoZS5jIGIvZ2RiL2dkYnNlcnZlci9yZWdj YWNoZS5jDQo+PiBpbmRleCAxYmIxNTkwMGRkLi5kZjViOWU5ZGQyIDEwMDY0 NA0KPj4gLS0tIGEvZ2RiL2dkYnNlcnZlci9yZWdjYWNoZS5jDQo+PiArKysg Yi9nZGIvZ2Ric2VydmVyL3JlZ2NhY2hlLmMNCj4+IEBAIC0xOTYsNiArMTk2 LDEzIEBAIHJlZ2NhY2hlX2NweSAoc3RydWN0IHJlZ2NhY2hlICpkc3QsIHN0 cnVjdCByZWdjYWNoZSAqc3JjKQ0KPj4gICBkc3QtPnJlZ2lzdGVyc192YWxp ZCA9IHNyYy0+cmVnaXN0ZXJzX3ZhbGlkOw0KPj4gfQ0KPj4gDQo+PiArLyog UmV0dXJuIGEgcmVmZXJlbmNlIHRvIHRoZSBkZXNjcmlwdGlvbiBvZiByZWdp c3RlciBgYG4nJy4gICovDQo+PiArDQo+PiArc3RhdGljIGNvbnN0IHN0cnVj dCByZWcgJg0KPj4gK2ZpbmRfcmVnaXN0ZXJfYnlfbnVtYmVyIChjb25zdCBz dHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjLCBpbnQgbikNCj4+ICt7DQo+PiAr ICByZXR1cm4gdGRlc2MtPnJlZ19kZWZzW25dOw0KPj4gK30NCj4+IA0KPj4g I2lmbmRlZiBJTl9QUk9DRVNTX0FHRU5UDQo+PiANCj4+IEBAIC0yNDMsMjUg KzI1MCwxMyBAQCBpbnQNCj4+IGZpbmRfcmVnbm8gKGNvbnN0IHN0cnVjdCB0 YXJnZXRfZGVzYyAqdGRlc2MsIGNvbnN0IGNoYXIgKm5hbWUpDQo+PiB7DQo+ PiAgIGZvciAoaW50IGkgPSAwOyBpIDwgdGRlc2MtPnJlZ19kZWZzLnNpemUg KCk7ICsraSkNCj4+IC0gICAgew0KPj4gLSAgICAgIHN0cnVjdCByZWcgKnJl ZyA9IHRkZXNjLT5yZWdfZGVmc1tpXTsNCj4+ICsgICAgaWYgKHN0cmNtcCAo bmFtZSwgZmluZF9yZWdpc3Rlcl9ieV9udW1iZXIgKHRkZXNjLCBpKS5uYW1l KSA9PSAwKQ0KPj4gKyAgICAgIHJldHVybiBpOw0KPj4gDQo+PiAtICAgICAg aWYgKHN0cmNtcCAobmFtZSwgcmVnLT5uYW1lKSA9PSAwKQ0KPj4gLQlyZXR1 cm4gaTsNCj4+IC0gICAgfQ0KPj4gICBpbnRlcm5hbF9lcnJvciAoX19GSUxF X18sIF9fTElORV9fLCAiVW5rbm93biByZWdpc3RlciAlcyByZXF1ZXN0ZWQi LA0KPj4gCQkgIG5hbWUpOw0KPiANCj4gUGxlYXNlIGtlZXAgdGhlIGN1cmx5 IGJyYWNlcyBmb3IgdGhlIGZvciwgYXMgc2hvd24gaGVyZToNCj4gDQo+IGh0 dHBzOi8vd3d3LmdudS5vcmcvcHJlcC9zdGFuZGFyZHMvaHRtbF9ub2RlL1N5 bnRhY3RpYy1Db252ZW50aW9ucy5odG1sI2luZGV4LW11bHRpcGxlLXZhcmlh Ymxlcy1pbi1hLWxpbmUNCj4gDQo+IENhbiB5b3UgcHV0IHRoZSBtb3Zpbmcg b2YgdGhpcyBmdW5jdGlvbi9tYWtpbmcgaXQgc3RhdGljL3JlbW92aW5nIHRo ZSBkZWNsYXJhdGlvbg0KPiBpbiBpdHMgb3duIHBhdGNoPyAgSXQncyBwcmUt YXBwcm92ZWQsIHdpdGggdGhhdCBmaXhlZC4NCj4gDQoNCk9rLCBJ4oCZdmUg cHVzaGVkIHRoaXMgYml0IGFzIHJlcXVlc3RlZDoNCg0KZGlmZiAtLWdpdCBh L2dkYi9nZGJzZXJ2ZXIvcmVnY2FjaGUuYyBiL2dkYi9nZGJzZXJ2ZXIvcmVn Y2FjaGUuYw0KaW5kZXggMWJiMTU5MDBkZC4uZDY1MTFmZGE2NSAxMDA2NDQN Ci0tLSBhL2dkYi9nZGJzZXJ2ZXIvcmVnY2FjaGUuYw0KKysrIGIvZ2RiL2dk YnNlcnZlci9yZWdjYWNoZS5jDQpAQCAtMTk2LDYgKzE5NiwxMyBAQCByZWdj YWNoZV9jcHkgKHN0cnVjdCByZWdjYWNoZSAqZHN0LCBzdHJ1Y3QgcmVnY2Fj aGUgKnNyYykNCiAgIGRzdC0+cmVnaXN0ZXJzX3ZhbGlkID0gc3JjLT5yZWdp c3RlcnNfdmFsaWQ7DQogfQ0KDQorLyogUmV0dXJuIGEgcG9pbnRlciB0byB0 aGUgZGVzY3JpcHRpb24gb2YgcmVnaXN0ZXIgTi4gICovDQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCByZWcgKg0KK2ZpbmRfcmVnaXN0ZXJfYnlfbnVtYmVy IChjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjLCBpbnQgbikNCit7 DQorICByZXR1cm4gdGRlc2MtPnJlZ19kZWZzW25dOw0KK30NCg0KICNpZm5k ZWYgSU5fUFJPQ0VTU19BR0VOVA0KDQpAQCAtMjQ0LDI0ICsyNTEsMTMgQEAg ZmluZF9yZWdubyAoY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzYywg Y29uc3QgY2hhciAqbmFtZSkNCiB7DQogICBmb3IgKGludCBpID0gMDsgaSA8 IHRkZXNjLT5yZWdfZGVmcy5zaXplICgpOyArK2kpDQogICAgIHsNCi0gICAg ICBzdHJ1Y3QgcmVnICpyZWcgPSB0ZGVzYy0+cmVnX2RlZnNbaV07DQotDQot ICAgICAgaWYgKHN0cmNtcCAobmFtZSwgcmVnLT5uYW1lKSA9PSAwKQ0KKyAg ICAgIGlmIChzdHJjbXAgKG5hbWUsIGZpbmRfcmVnaXN0ZXJfYnlfbnVtYmVy ICh0ZGVzYywgaSktPm5hbWUpID09IDApDQogICAgICAgIHJldHVybiBpOw0K ICAgICB9DQogICBpbnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9f LCAiVW5rbm93biByZWdpc3RlciAlcyByZXF1ZXN0ZWQiLA0KICAgICAgICAg ICAgICAgICAgbmFtZSk7DQogfQ0KDQotI2VuZGlmDQotDQotc3RydWN0IHJl ZyAqDQotZmluZF9yZWdpc3Rlcl9ieV9udW1iZXIgKGNvbnN0IHN0cnVjdCB0 YXJnZXRfZGVzYyAqdGRlc2MsIGludCBuKQ0KLXsNCi0gIHJldHVybiB0ZGVz Yy0+cmVnX2RlZnNbbl07DQotfQ0KLQ0KLSNpZm5kZWYgSU5fUFJPQ0VTU19B R0VOVA0KIHN0YXRpYyB2b2lkDQogZnJlZV9yZWdpc3Rlcl9jYWNoZV90aHJl YWQgKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGhyZWFkKQ0KIHsNCmRpZmYgLS1n aXQgYS9nZGIvZ2Ric2VydmVyL3JlZ2NhY2hlLmggYi9nZGIvZ2Ric2VydmVy L3JlZ2NhY2hlLmgNCmluZGV4IDNhNzVjZTNmZTEuLjZmZjEzMDg0YjAgMTAw NjQ0DQotLS0gYS9nZGIvZ2Ric2VydmVyL3JlZ2NhY2hlLmgNCisrKyBiL2dk Yi9nZGJzZXJ2ZXIvcmVnY2FjaGUuaA0KQEAgLTk0LDEwICs5NCw2IEBAIHZv aWQgcmVnaXN0ZXJzX2Zyb21fc3RyaW5nIChzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlLCBjaGFyICpidWYpOw0KDQogdm9pZCByZWdjYWNoZV93cml0ZV9w YyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgQ09SRV9BRERSIHBjKTsN Cg0KLS8qIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGRlc2NyaXB0aW9uIG9m IHJlZ2lzdGVyIGBgbicnLiAgKi8NCi0NCi1zdHJ1Y3QgcmVnICpmaW5kX3Jl Z2lzdGVyX2J5X251bWJlciAoY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0 ZGVzYywgaW50IG4pOw0KLQ0KIGludCByZWdpc3Rlcl9jYWNoZV9zaXplIChj b25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjKTsNCg0KIGludCByZWdp c3Rlcl9zaXplIChjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjLCBp bnQgbik7DQoNCg0KPj4gfQ0KPj4gDQo+PiAtI2VuZGlmDQo+PiAtDQo+PiAt c3RydWN0IHJlZyAqDQo+PiAtZmluZF9yZWdpc3Rlcl9ieV9udW1iZXIgKGNv bnN0IHN0cnVjdCB0YXJnZXRfZGVzYyAqdGRlc2MsIGludCBuKQ0KPj4gLXsN Cj4+IC0gIHJldHVybiB0ZGVzYy0+cmVnX2RlZnNbbl07DQo+PiAtfQ0KPj4g LQ0KPj4gLSNpZm5kZWYgSU5fUFJPQ0VTU19BR0VOVA0KPj4gc3RhdGljIHZv aWQNCj4+IGZyZWVfcmVnaXN0ZXJfY2FjaGVfdGhyZWFkIChzdHJ1Y3QgdGhy ZWFkX2luZm8gKnRocmVhZCkNCj4+IHsNCj4+IEBAIC0yOTIsNyArMjg3LDcg QEAgcmVnaXN0ZXJfY2FjaGVfc2l6ZSAoY29uc3Qgc3RydWN0IHRhcmdldF9k ZXNjICp0ZGVzYykNCj4+IGludA0KPj4gcmVnaXN0ZXJfc2l6ZSAoY29uc3Qg c3RydWN0IHRhcmdldF9kZXNjICp0ZGVzYywgaW50IG4pDQo+PiB7DQo+PiAt ICByZXR1cm4gZmluZF9yZWdpc3Rlcl9ieV9udW1iZXIgKHRkZXNjLCBuKS0+ c2l6ZSAvIDg7DQo+PiArICByZXR1cm4gZmluZF9yZWdpc3Rlcl9ieV9udW1i ZXIgKHRkZXNjLCBuKS5zaXplIC8gODsNCj4+IH0NCj4+IA0KPj4gLyogU2Vl IGNvbW1vbi9jb21tb24tcmVnY2FjaGUuaC4gICovDQo+PiBAQCAtMzA3LDcg KzMwMiw3IEBAIHN0YXRpYyB1bnNpZ25lZCBjaGFyICoNCj4+IHJlZ2lzdGVy X2RhdGEgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuLCBpbnQg ZmV0Y2gpDQo+PiB7DQo+PiAgIHJldHVybiAocmVnY2FjaGUtPnJlZ2lzdGVy cw0KPj4gLQkgICsgZmluZF9yZWdpc3Rlcl9ieV9udW1iZXIgKHJlZ2NhY2hl LT50ZGVzYywgbiktPm9mZnNldCAvIDgpOw0KPj4gKwkgICsgZmluZF9yZWdp c3Rlcl9ieV9udW1iZXIgKHJlZ2NhY2hlLT50ZGVzYywgbikub2Zmc2V0IC8g OCk7DQo+PiB9DQo+PiANCj4+IC8qIFN1cHBseSByZWdpc3RlciBOLCB3aG9z ZSBjb250ZW50cyBhcmUgc3RvcmVkIGluIEJVRiwgdG8gUkVHQ0FDSEUuDQo+ PiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9yZWdjYWNoZS5oIGIvZ2Ri L2dkYnNlcnZlci9yZWdjYWNoZS5oDQo+PiBpbmRleCAzYTc1Y2UzZmUxLi42 ZmYxMzA4NGIwIDEwMDY0NA0KPj4gLS0tIGEvZ2RiL2dkYnNlcnZlci9yZWdj YWNoZS5oDQo+PiArKysgYi9nZGIvZ2Ric2VydmVyL3JlZ2NhY2hlLmgNCj4+ IEBAIC05NCwxMCArOTQsNiBAQCB2b2lkIHJlZ2lzdGVyc19mcm9tX3N0cmlu ZyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgY2hhciAqYnVmKTsNCj4+ IA0KPj4gdm9pZCByZWdjYWNoZV93cml0ZV9wYyAoc3RydWN0IHJlZ2NhY2hl ICpyZWdjYWNoZSwgQ09SRV9BRERSIHBjKTsNCj4+IA0KPj4gLS8qIFJldHVy biBhIHBvaW50ZXIgdG8gdGhlIGRlc2NyaXB0aW9uIG9mIHJlZ2lzdGVyIGBg bicnLiAgKi8NCj4+IC0NCj4+IC1zdHJ1Y3QgcmVnICpmaW5kX3JlZ2lzdGVy X2J5X251bWJlciAoY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzYywg aW50IG4pOw0KPj4gLQ0KPj4gaW50IHJlZ2lzdGVyX2NhY2hlX3NpemUgKGNv bnN0IHN0cnVjdCB0YXJnZXRfZGVzYyAqdGRlc2MpOw0KPj4gDQo+PiBpbnQg cmVnaXN0ZXJfc2l6ZSAoY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVz YywgaW50IG4pOw0KPj4gZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2ZXIvdGRl c2MuYyBiL2dkYi9nZGJzZXJ2ZXIvdGRlc2MuYw0KPj4gaW5kZXggZTUwYTg0 OGUyZi4uOGU2OGEyN2M3YyAxMDA2NDQNCj4+IC0tLSBhL2dkYi9nZGJzZXJ2 ZXIvdGRlc2MuYw0KPj4gKysrIGIvZ2RiL2dkYnNlcnZlci90ZGVzYy5jDQo+ PiBAQCAtMjUsOSArMjUsNiBAQCB0YXJnZXRfZGVzYzo6fnRhcmdldF9kZXNj ICgpDQo+PiB7DQo+PiAgIGludCBpOw0KPj4gDQo+PiAtICBmb3IgKHJlZyAq cmVnIDogcmVnX2RlZnMpDQo+PiAtICAgIHhmcmVlIChyZWcpOw0KPj4gLQ0K Pj4gICB4ZnJlZSAoKGNoYXIgKikgYXJjaCk7DQo+PiAgIHhmcmVlICgoY2hh ciAqKSBvc2FiaSk7DQo+PiANCj4+IEBAIC00NSwxMCArNDIsMTAgQEAgYm9v bCB0YXJnZXRfZGVzYzo6b3BlcmF0b3I9PSAoY29uc3QgdGFyZ2V0X2Rlc2Mg Jm90aGVyKSBjb25zdA0KPj4gDQo+PiAgIGZvciAoaW50IGkgPSAwOyBpIDwg cmVnX2RlZnMuc2l6ZSAoKTsgKytpKQ0KPj4gICAgIHsNCj4+IC0gICAgICBz dHJ1Y3QgcmVnICpyZWcgPSByZWdfZGVmc1tpXTsNCj4+IC0gICAgICBzdHJ1 Y3QgcmVnICpyZWcyID0gb3RoZXIucmVnX2RlZnNbaV07DQo+PiArICAgICAg c3RydWN0IHJlZyByZWcgPSByZWdfZGVmc1tpXTsNCj4+ICsgICAgICBzdHJ1 Y3QgcmVnIHJlZzIgPSBvdGhlci5yZWdfZGVmc1tpXTsNCj4+IA0KPj4gLSAg ICAgIGlmIChyZWcgIT0gcmVnMiAmJiAqcmVnICE9ICpyZWcyKQ0KPj4gKyAg ICAgIGlmICgmcmVnICE9ICZyZWcyICYmIHJlZyAhPSByZWcyKQ0KPiANCj4g SSBkb24ndCB0aGluayB0aGUgZmlyc3QgcGFydCwgIiZyZWcgIT0gJnJlZyIs IG1ha2VzIHNlbnNlLiAgSXQncyBjb21wYXJpbmcNCj4gdGhlIGFkZHJlc3Nl cyBvZiB0aGUgbG9jYWwgdmFyaWFibGVzLiAgQWxzbywgdGhhdCBjb21wYXJp c29uIG9ubHkgbWFkZQ0KPiBzZW5zZSBhcyBhIHNob3J0Y3V0IHdoZW4gdGhl IHZlY3RvciBoZWxkIHBvaW50ZXJzIHRvIGR5bmFtaWNhbGx5IGFsbG9jYXRl ZA0KPiBtZW1vcnkuICBTbyBJIHRoaW5rIGl0IHNob3VsZCBqdXN0IGJlIHJl bW92ZWQuDQo+IA0KPiBBY3R1YWxseSwgbm93IHRoYXQgdGhlIHZlY3RvciBl bGVtZW50cyBhcmUgdGhlIG9iamVjdHMgZGlyZWN0bHksIEkgdGhpbmsgdGhh dA0KPiB0aGlzIHdob2xlIGZvciBsb29wIGNvdWxkIGJlIHJlcGxhY2VkIHdp dGg6DQo+IA0KPiBpZiAocmVnX2RlZnMgIT0gb3RoZXIucmVnX2RlZnMpDQo+ ICByZXR1cm4gZmFsc2U7DQo+IA0KPiBUaGUgaWYgdGhhdCBjb21wYXJlcyB0 aGUgdmVjdG9yIHNpemVzIGFib3ZlIHRoYXQgY2FuIGFsc28gYmUgcmVtb3Zl ZCwgc2luY2UNCj4gaXQncyBhbHNvIGRvbmUgYnkgc3RkOjp2ZWN0b3I6Om9w ZXJhdG9yPT06DQo+IA0KPiAgdGVtcGxhdGU8dHlwZW5hbWUgX1RwLCB0eXBl bmFtZSBfQWxsb2M+DQo+ICAgIGlubGluZSBib29sDQo+ICAgIG9wZXJhdG9y PT0oY29uc3QgdmVjdG9yPF9UcCwgX0FsbG9jPiYgX194LCBjb25zdCB2ZWN0 b3I8X1RwLCBfQWxsb2M+JiBfX3kpDQo+ICAgIHsgcmV0dXJuIChfX3guc2l6 ZSgpID09IF9feS5zaXplKCkNCj4gCSAgICAgICYmIHN0ZDo6ZXF1YWwoX194 LmJlZ2luKCksIF9feC5lbmQoKSwgX195LmJlZ2luKCkpKTsgfQ0KPiANCg0K RGlkbuKAmXQgcmVhbGlzZSB0aGF0IHN0ZDp2ZWN0b3Igd29ya2VkIGxpa2Ug dGhpcy4gQWdyZWVkIHdpdGggdGhlIGNoYW5nZS4NCg0KPj4gCXJldHVybiBm YWxzZTsNCj4+ICAgICB9DQo+PiANCj4+IEBAIC03MiwxMCArNjksMTAgQEAg aW5pdF90YXJnZXRfZGVzYyAoc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzYykN Cj4+IHsNCj4+ICAgaW50IG9mZnNldCA9IDA7DQo+PiANCj4+IC0gIGZvciAo cmVnICpyZWcgOiB0ZGVzYy0+cmVnX2RlZnMpDQo+PiArICBmb3IgKHJlZyAm cmVnIDogdGRlc2MtPnJlZ19kZWZzKQ0KPj4gICAgIHsNCj4+IC0gICAgICBy ZWctPm9mZnNldCA9IG9mZnNldDsNCj4+IC0gICAgICBvZmZzZXQgKz0gcmVn LT5zaXplOw0KPj4gKyAgICAgIHJlZy5vZmZzZXQgPSBvZmZzZXQ7DQo+PiAr ICAgICAgb2Zmc2V0ICs9IHJlZy5zaXplOw0KPj4gICAgIH0NCj4+IA0KPj4g ICB0ZGVzYy0+cmVnaXN0ZXJzX3NpemUgPSBvZmZzZXQgLyA4Ow0KPj4gQEAg LTI0MCwyNCArMjM3LDI1IEBAIHRkZXNjX2NyZWF0ZV9yZWcgKHN0cnVjdCB0 ZGVzY19mZWF0dXJlICpmZWF0dXJlLCBjb25zdCBjaGFyICpuYW1lLA0KPj4g CQkgIGludCBiaXRzaXplLCBjb25zdCBjaGFyICp0eXBlKQ0KPj4gew0KPj4g ICBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjID0gKHN0cnVjdCB0YXJnZXRf ZGVzYyAqKSBmZWF0dXJlOw0KPj4gKyAgaW50IGN1cnJlbnRfc2l6ZSA9IHRk ZXNjLT5yZWdfZGVmcy5zaXplICgpOw0KPj4gDQo+PiAtICB3aGlsZSAodGRl c2MtPnJlZ19kZWZzLnNpemUgKCkgPCByZWdudW0pDQo+PiAtICAgIHsNCj4+ IC0gICAgICBzdHJ1Y3QgcmVnICpyZWcgPSBYQ05FVyAoc3RydWN0IHJlZyk7 DQo+PiArICB0ZGVzYy0+cmVnX2RlZnMucmVzaXplIChyZWdudW0gIT0gMCA/ IHJlZ251bSArIDEgOiBjdXJyZW50X3NpemUgKyAxKTsNCj4+IA0KPj4gKyAg d2hpbGUgKGN1cnJlbnRfc2l6ZSA8IHJlZ251bSkNCj4+ICsgICAgew0KPj4g KyAgICAgIHN0cnVjdCByZWcgKnJlZyA9ICZ0ZGVzYy0+cmVnX2RlZnNbY3Vy cmVudF9zaXplXTsNCj4+ICAgICAgIHJlZy0+bmFtZSA9ICIiOw0KPj4gICAg ICAgcmVnLT5zaXplID0gMDsNCj4+IC0gICAgICB0ZGVzYy0+cmVnX2RlZnMu cHVzaF9iYWNrIChyZWcpOw0KPj4gKyAgICAgIGN1cnJlbnRfc2l6ZSsrOw0K Pj4gICAgIH0NCj4+IA0KPj4gICBnZGJfYXNzZXJ0IChyZWdudW0gPT0gMA0K Pj4gLQkgICAgICB8fCByZWdudW0gPT0gdGRlc2MtPnJlZ19kZWZzLnNpemUg KCkpOw0KPj4gKwkgICAgICB8fCByZWdudW0gKyAxID09IHRkZXNjLT5yZWdf ZGVmcy5zaXplICgpKTsNCj4+IA0KPj4gLSAgc3RydWN0IHJlZyAqcmVnID0g WENORVcgKHN0cnVjdCByZWcpOw0KPj4gKyAgc3RydWN0IHJlZyAqcmVnID0g JnRkZXNjLT5yZWdfZGVmcy5iYWNrICgpOw0KPj4gDQo+PiAgIHJlZy0+bmFt ZSA9IG5hbWU7DQo+PiAgIHJlZy0+c2l6ZSA9IGJpdHNpemU7DQo+PiAtICB0 ZGVzYy0+cmVnX2RlZnMucHVzaF9iYWNrIChyZWcpOw0KPj4gfQ0KPiANCj4g VG8gc2ltcGxpZnkgdGhpcyBmdXJ0aGVyLCBJIHdvdWxkIHN1Z2dlc3QgYWRk aW5nIGEgZGVmYXVsdCBjb25zdHJ1Y3RvciB0byByZWcNCj4gdGhhdCBpbml0 aWFsaXplcyBldmVyeXRoaW5nIHRvIG51bGxwdHIvMCwgYW5kIGFkZGluZyBh IGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMNCj4gcGFyYW1ldGVycy4gIFRoZSAu cmVzaXplKCkgd2lsbCBvbmx5IGJlIG5lY2Vzc2FyeSBpZiByZWdudW0gIT0g MCBhbmQgd2lsbA0KPiBhdXRvbWF0aWNhbGx5IGluaXRpYWxpemUgYWxsIHRo ZSB1bnVzZWQgcmVnaXN0ZXIgc2xvdHMgcHJvcGVybHksIHNvIHRoZSBmb3IN Cj4gbG9vcCB3aWxsIGJlIHVubmVjZXNzYXJ5Og0KPiANCj4gIGlmIChyZWdu dW0gIT0gMCkNCj4gICAgdGRlc2MtPnJlZ19kZWZzLnJlc2l6ZSAocmVnbnVt KTsNCj4gDQo+IFRoZSByZWdpc3RlciBjYW4gdGhlbiBiZSBhZGRlZCB3aXRo DQo+IA0KPiAgdGRlc2MtPnJlZ19kZWZzLmVtcGxhY2VfYmFjayAobmFtZSwg Yml0c2l6ZSk7DQoNCkkgbmVlZCB0byByZW1lbWJlciB0byB0aGluayBpbiBD KysgYW5kIG5vdCBDLiBUaGlzIHdheSBpcyBtdWNoIG5pY2VyL3NpbXBsZXIu DQoNCj4gDQo+IE9uZSBiZWhhdmlvciB0aGF0IG1pZ2h0IGNoYW5nZSBjb21w YXJlZCB0byB0aGUgcHJldmlvdXMgY29kZSBpcyB3aGVuIHRyeWluZyB0bw0K PiBhZGQgYSByZWdpc3RlciB3aXRoIGEgcmVnbnVtIHNtYWxsZXIgdGhhbiB0 aGUgY3VycmVudCBzaXplIG9mIHRoZSB2ZWN0b3IuICBJDQo+IHRoaW5rIHRo YXQgdGhlIG9sZCBjb2RlIHdvdWxkIGhhdmUgYXNzZXJ0ZWQsIGJ1dCB0aGUg bmV3IGNvZGUgd291bGQganVzdA0KPiBhY2NlcHQgaXQgYW5kIHJlc2l6ZSB0 aGUgdmVjdG9yIHRvIGEgc21hbGxlciBzaXplLiAgQ291bGQgeW91IHZlcmlm eT8gIEluIHRoYXQNCj4gY2FzZSwgbWF5YmUgd2Ugc2hvdWxkIG1vdmUgdGhl IGdkYl9hc3NlcnQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZnVuY3Rpb246 DQo+IA0KPiAgZ2RiX2Fzc2VydCAocmVnbnVtID09IDAgfHwgcmVnbnVtID49 IHRkZXNjLT5yZWdfZGVmcy5zaXplICgpKQ0KPiANCj4gc29tZXRoaW5nIGxp a2UgdGhhdC4gIEl0IGNhbiBhbHNvIGJlIG1vdmVkIHVuZGVyIHRoZSAiaWYg KHJlZ251bSAhPSAwKSIgc2hvd24NCj4gYWJvdmUuDQoNClllcywgaW4gdGhl IG9sZCBjb2RlLCBpZiB5b3UgZ2l2ZSBpdCBhIHNtYWxsZXIgcmVnbnVtLCB2 ZWN0b3Igd291bGRu4oCZdCBoYXZlIGJlZW4gcmVzaXplZCwNCmFuZCB0aGVu IHRoZSBhc3NlcnQgd291bGQgaGF2ZSBmaXJlZC4NCknigJlsbCBtb3ZlIHRo ZSBhc3NlcnQgdG8gdGhlIHRvcCBvZiB0aGUgZnVuY3Rpb24gdG8gZW5zdXJl IGl0IGRvZXNu4oCZdCByZXNpemUgc21hbGxlci4NCg0KTmV3IHZlcnNpb24g dXBkYXRlZCB3aXRoIGFsbCBvZiB0aGUgYWJvdmUuDQpDaGVja2VkIHRoaXMg b24gWDg2IHdpdGggbWFrZSBjaGVjayBvbiB0YXJnZXQgYm9hcmQgZ2Ric2Vy dmVyLg0KKFBhdGNoIDMvMTAsIGFuZCBwb3NzaWJseSBvdGhlcnMsIHdpbGwg bmVlZCB1cGRhdGluZyB0b28sIGJ1dCBzaG91bGQgYmUgb2J2aW91cykuDQoN ClRoYW5rcyBmb3IgdGhlIHJldmlldy4NCg0KQWxhbi4NCg0KDQpnZGIvDQoJ KiByZWdmb3JtYXRzL3JlZ2RlZi5oIChyZWcpOiBBZGQgY29uc3RydWN0b3Jz Lg0KDQpnZGIvZ2Ric2VydmVyLw0KCSogcmVnY2FjaGUuYyAoZmluZF9yZWdp c3Rlcl9ieV9udW1iZXIpOiBSZXR1cm4gYSByZWYuDQoJKGZpbmRfcmVnbm8p OiBVc2UgcmVmZXJlbmNlcy4NCgkocmVnaXN0ZXJfc2l6ZSk6IExpa2V3aXNl Lg0KCShyZWdpc3Rlcl9kYXRhKTogTGlrZXdpc2UuDQoJKiB0ZGVzYy5jICh0 YXJnZXRfZGVzYzo6fnRhcmdldF9kZXNjKTogUmVtb3ZlIGZyZWUgY2FsbHMu DQoJKHRhcmdldF9kZXNjOjpvcGVyYXRvcj09KTogVXNlIHN0ZDo6dmVjdG9y IGNvbXBhcmUuDQoJKGluaXRfdGFyZ2V0X2Rlc2MpOiBVc2UgcmVmZXJlbmNl Lg0KCSh0ZGVzY19jcmVhdGVfcmVnKTogVXNlIHJlZyBjb25zdHJ1Y3RvcnMu DQoJKiB0ZGVzYy5oIChzdHJ1Y3QgdGFyZ2V0X2Rlc2MpOiBSZXBsYWNlIHBv aW50ZXIgd2l0aCBvYmplY3QuDQoNCg0KZGlmZiAtLWdpdCBhL2dkYi9nZGJz ZXJ2ZXIvcmVnY2FjaGUuYyBiL2dkYi9nZGJzZXJ2ZXIvcmVnY2FjaGUuYw0K aW5kZXggZDY1MTFmZGE2NTBjYTUyNjg4Y2Q0ZDdkYjFhY2Q5NGU4MjJhM2Mw ZC4uY2JkZjc2NmRmMmMyYjk1ZjYwNTE5OGM2MTdmZmVhZDlmOWFjMzc3NSAx MDA2NDQNCi0tLSBhL2dkYi9nZGJzZXJ2ZXIvcmVnY2FjaGUuYw0KKysrIGIv Z2RiL2dkYnNlcnZlci9yZWdjYWNoZS5jDQpAQCAtMTk2LDkgKzE5Niw5IEBA IHJlZ2NhY2hlX2NweSAoc3RydWN0IHJlZ2NhY2hlICpkc3QsIHN0cnVjdCBy ZWdjYWNoZSAqc3JjKQ0KICAgZHN0LT5yZWdpc3RlcnNfdmFsaWQgPSBzcmMt PnJlZ2lzdGVyc192YWxpZDsNCiB9DQoNCi0vKiBSZXR1cm4gYSBwb2ludGVy IHRvIHRoZSBkZXNjcmlwdGlvbiBvZiByZWdpc3RlciBOLiAgKi8NCisvKiBS ZXR1cm4gYSByZWZlcmVuY2UgdG8gdGhlIGRlc2NyaXB0aW9uIG9mIHJlZ2lz dGVyIE4uICAqLw0KDQotc3RhdGljIGNvbnN0IHN0cnVjdCByZWcgKg0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgcmVnICYNCiBmaW5kX3JlZ2lzdGVyX2J5X251 bWJlciAoY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICp0ZGVzYywgaW50IG4p DQogew0KICAgcmV0dXJuIHRkZXNjLT5yZWdfZGVmc1tuXTsNCkBAIC0yNTEs NyArMjUxLDcgQEAgZmluZF9yZWdubyAoY29uc3Qgc3RydWN0IHRhcmdldF9k ZXNjICp0ZGVzYywgY29uc3QgY2hhciAqbmFtZSkNCiB7DQogICBmb3IgKGlu dCBpID0gMDsgaSA8IHRkZXNjLT5yZWdfZGVmcy5zaXplICgpOyArK2kpDQog ICAgIHsNCi0gICAgICBpZiAoc3RyY21wIChuYW1lLCBmaW5kX3JlZ2lzdGVy X2J5X251bWJlciAodGRlc2MsIGkpLT5uYW1lKSA9PSAwKQ0KKyAgICAgIGlm IChzdHJjbXAgKG5hbWUsIGZpbmRfcmVnaXN0ZXJfYnlfbnVtYmVyICh0ZGVz YywgaSkubmFtZSkgPT0gMCkNCiAJcmV0dXJuIGk7DQogICAgIH0NCiAgIGlu dGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sICJVbmtub3duIHJl Z2lzdGVyICVzIHJlcXVlc3RlZCIsDQpAQCAtMjg4LDcgKzI4OCw3IEBAIHJl Z2lzdGVyX2NhY2hlX3NpemUgKGNvbnN0IHN0cnVjdCB0YXJnZXRfZGVzYyAq dGRlc2MpDQogaW50DQogcmVnaXN0ZXJfc2l6ZSAoY29uc3Qgc3RydWN0IHRh cmdldF9kZXNjICp0ZGVzYywgaW50IG4pDQogew0KLSAgcmV0dXJuIGZpbmRf cmVnaXN0ZXJfYnlfbnVtYmVyICh0ZGVzYywgbiktPnNpemUgLyA4Ow0KKyAg cmV0dXJuIGZpbmRfcmVnaXN0ZXJfYnlfbnVtYmVyICh0ZGVzYywgbikuc2l6 ZSAvIDg7DQogfQ0KDQogLyogU2VlIGNvbW1vbi9jb21tb24tcmVnY2FjaGUu aC4gICovDQpAQCAtMzAzLDcgKzMwMyw3IEBAIHN0YXRpYyB1bnNpZ25lZCBj aGFyICoNCiByZWdpc3Rlcl9kYXRhIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2Nh Y2hlLCBpbnQgbiwgaW50IGZldGNoKQ0KIHsNCiAgIHJldHVybiAocmVnY2Fj aGUtPnJlZ2lzdGVycw0KLQkgICsgZmluZF9yZWdpc3Rlcl9ieV9udW1iZXIg KHJlZ2NhY2hlLT50ZGVzYywgbiktPm9mZnNldCAvIDgpOw0KKwkgICsgZmlu ZF9yZWdpc3Rlcl9ieV9udW1iZXIgKHJlZ2NhY2hlLT50ZGVzYywgbikub2Zm c2V0IC8gOCk7DQogfQ0KDQogLyogU3VwcGx5IHJlZ2lzdGVyIE4sIHdob3Nl IGNvbnRlbnRzIGFyZSBzdG9yZWQgaW4gQlVGLCB0byBSRUdDQUNIRS4NCmRp ZmYgLS1naXQgYS9nZGIvZ2Ric2VydmVyL3RkZXNjLmggYi9nZGIvZ2Ric2Vy dmVyL3RkZXNjLmgNCmluZGV4IDQ1MTNlYTc0MjMyYTQ1NmNjODZlYjlhNjU1 OTA0MDEyZmYxMTczNzMuLmE2MjU0NDM0MWNkMjNhOWE4ZWM2ODMzZTFlYWU3 MzYxNmEzMTVkMmQgMTAwNjQ0DQotLS0gYS9nZGIvZ2Ric2VydmVyL3RkZXNj LmgNCisrKyBiL2dkYi9nZGJzZXJ2ZXIvdGRlc2MuaA0KQEAgLTM0LDcgKzM0 LDcgQEAgc3RydWN0IHRhcmdldF9kZXNjIDogdGRlc2NfZmVhdHVyZQ0KIHsN CiAgIC8qIEEgdmVjdG9yIG9mIGVsZW1lbnRzIG9mIHJlZ2lzdGVyIGRlZmlu aXRpb25zIHRoYXQNCiAgICAgIGRlc2NyaWJlIHRoZSBpbmZlcmlvcidzIHJl Z2lzdGVyIHNldC4gICovDQotICBzdGQ6OnZlY3RvcjxzdHJ1Y3QgcmVnICo+ IHJlZ19kZWZzOw0KKyAgc3RkOjp2ZWN0b3I8c3RydWN0IHJlZz4gcmVnX2Rl ZnM7DQoNCiAgIC8qIFRoZSByZWdpc3RlciBjYWNoZSBzaXplLCBpbiBieXRl cy4gICovDQogICBpbnQgcmVnaXN0ZXJzX3NpemU7DQpkaWZmIC0tZ2l0IGEv Z2RiL2dkYnNlcnZlci90ZGVzYy5jIGIvZ2RiL2dkYnNlcnZlci90ZGVzYy5j DQppbmRleCBlNTBhODQ4ZTJmOWYyODBhODRhYjEzOWNmY2U0ZDFmMTdiZDA1 ODg0Li44NzdkYmRhZWNhYzQzZjQyYzAzMWRmZmFmZTJiZDlmMDFiNTc3MDM4 IDEwMDY0NA0KLS0tIGEvZ2RiL2dkYnNlcnZlci90ZGVzYy5jDQorKysgYi9n ZGIvZ2Ric2VydmVyL3RkZXNjLmMNCkBAIC0yNSw5ICsyNSw2IEBAIHRhcmdl dF9kZXNjOjp+dGFyZ2V0X2Rlc2MgKCkNCiB7DQogICBpbnQgaTsNCg0KLSAg Zm9yIChyZWcgKnJlZyA6IHJlZ19kZWZzKQ0KLSAgICB4ZnJlZSAocmVnKTsN Ci0NCiAgIHhmcmVlICgoY2hhciAqKSBhcmNoKTsNCiAgIHhmcmVlICgoY2hh ciAqKSBvc2FiaSk7DQoNCkBAIC00MCwxOCArMzcsOSBAQCB0YXJnZXRfZGVz Yzo6fnRhcmdldF9kZXNjICgpDQoNCiBib29sIHRhcmdldF9kZXNjOjpvcGVy YXRvcj09IChjb25zdCB0YXJnZXRfZGVzYyAmb3RoZXIpIGNvbnN0DQogew0K LSAgaWYgKHJlZ19kZWZzLnNpemUgKCkgIT0gb3RoZXIucmVnX2RlZnMuc2l6 ZSAoKSkNCisgIGlmIChyZWdfZGVmcyAhPSBvdGhlci5yZWdfZGVmcykNCiAg ICAgcmV0dXJuIGZhbHNlOw0KDQotICBmb3IgKGludCBpID0gMDsgaSA8IHJl Z19kZWZzLnNpemUgKCk7ICsraSkNCi0gICAgew0KLSAgICAgIHN0cnVjdCBy ZWcgKnJlZyA9IHJlZ19kZWZzW2ldOw0KLSAgICAgIHN0cnVjdCByZWcgKnJl ZzIgPSBvdGhlci5yZWdfZGVmc1tpXTsNCi0NCi0gICAgICBpZiAocmVnICE9 IHJlZzIgJiYgKnJlZyAhPSAqcmVnMikNCi0JcmV0dXJuIGZhbHNlOw0KLSAg ICB9DQotDQogICAvKiBDb21wYXJlIGV4cGVkaXRlX3JlZ3MuICAqLw0KICAg aW50IGkgPSAwOw0KICAgZm9yICg7IGV4cGVkaXRlX3JlZ3NbaV0gIT0gTlVM TDsgaSsrKQ0KQEAgLTcyLDEwICs2MCwxMCBAQCBpbml0X3RhcmdldF9kZXNj IChzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjKQ0KIHsNCiAgIGludCBvZmZz ZXQgPSAwOw0KDQotICBmb3IgKHJlZyAqcmVnIDogdGRlc2MtPnJlZ19kZWZz KQ0KKyAgZm9yIChyZWcgJnJlZyA6IHRkZXNjLT5yZWdfZGVmcykNCiAgICAg ew0KLSAgICAgIHJlZy0+b2Zmc2V0ID0gb2Zmc2V0Ow0KLSAgICAgIG9mZnNl dCArPSByZWctPnNpemU7DQorICAgICAgcmVnLm9mZnNldCA9IG9mZnNldDsN CisgICAgICBvZmZzZXQgKz0gcmVnLnNpemU7DQogICAgIH0NCg0KICAgdGRl c2MtPnJlZ2lzdGVyc19zaXplID0gb2Zmc2V0IC8gODsNCkBAIC0yNDEsMjMg KzIyOSwxMiBAQCB0ZGVzY19jcmVhdGVfcmVnIChzdHJ1Y3QgdGRlc2NfZmVh dHVyZSAqZmVhdHVyZSwgY29uc3QgY2hhciAqbmFtZSwNCiB7DQogICBzdHJ1 Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjID0gKHN0cnVjdCB0YXJnZXRfZGVzYyAq KSBmZWF0dXJlOw0KDQotICB3aGlsZSAodGRlc2MtPnJlZ19kZWZzLnNpemUg KCkgPCByZWdudW0pDQotICAgIHsNCi0gICAgICBzdHJ1Y3QgcmVnICpyZWcg PSBYQ05FVyAoc3RydWN0IHJlZyk7DQotDQotICAgICAgcmVnLT5uYW1lID0g IiI7DQotICAgICAgcmVnLT5zaXplID0gMDsNCi0gICAgICB0ZGVzYy0+cmVn X2RlZnMucHVzaF9iYWNrIChyZWcpOw0KLSAgICB9DQotDQotICBnZGJfYXNz ZXJ0IChyZWdudW0gPT0gMA0KLQkgICAgICB8fCByZWdudW0gPT0gdGRlc2Mt PnJlZ19kZWZzLnNpemUgKCkpOw0KKyAgZ2RiX2Fzc2VydCAocmVnbnVtID09 IDAgfHwgcmVnbnVtID49IHRkZXNjLT5yZWdfZGVmcy5zaXplICgpKTsNCg0K LSAgc3RydWN0IHJlZyAqcmVnID0gWENORVcgKHN0cnVjdCByZWcpOw0KKyAg aWYgKHJlZ251bSAhPSAwKQ0KKyAgICB0ZGVzYy0+cmVnX2RlZnMucmVzaXpl IChyZWdudW0pOw0KDQotICByZWctPm5hbWUgPSBuYW1lOw0KLSAgcmVnLT5z aXplID0gYml0c2l6ZTsNCi0gIHRkZXNjLT5yZWdfZGVmcy5wdXNoX2JhY2sg KHJlZyk7DQorICB0ZGVzYy0+cmVnX2RlZnMuZW1wbGFjZV9iYWNrIChuYW1l LCAwLCBiaXRzaXplKTsNCiB9DQoNCiAvKiBTZWUgY29tbW9uL3RkZXNjLmgu ICAqLw0KZGlmZiAtLWdpdCBhL2dkYi9yZWdmb3JtYXRzL3JlZ2RlZi5oIGIv Z2RiL3JlZ2Zvcm1hdHMvcmVnZGVmLmgNCmluZGV4IDI2MmQwM2MwNzg1ZjQ4 ZTgzYjc4NGI2MTc3YzUyZTJkMjUzYTYwNjcuLjFmNzg2MWZkOThkZDkwODVj M2ZlOWQ3ZWU0YjgzOTY5OTkwNjAyNjUgMTAwNjQ0DQotLS0gYS9nZGIvcmVn Zm9ybWF0cy9yZWdkZWYuaA0KKysrIGIvZ2RiL3JlZ2Zvcm1hdHMvcmVnZGVm LmgNCkBAIC0yMSw2ICsyMSwxOCBAQA0KDQogc3RydWN0IHJlZw0KIHsNCisg IHJlZyAoKQ0KKyAgICA6IG5hbWUgKCIiKSwNCisgICAgICBvZmZzZXQgKDAp LA0KKyAgICAgIHNpemUgKDApDQorICB7fQ0KKw0KKyAgcmVnIChjb25zdCBj aGFyICpfbmFtZSwgaW50IF9vZmZzZXQsIGludCBfc2l6ZSkNCisgICAgOiBu YW1lIChfbmFtZSksDQorICAgICAgb2Zmc2V0IChfb2Zmc2V0KSwNCisgICAg ICBzaXplIChfc2l6ZSkNCisgIHt9DQorDQogICAvKiBUaGUgbmFtZSBvZiB0 aGlzIHJlZ2lzdGVyIC0gTlVMTCBmb3IgcGFkIGVudHJpZXMuICAqLw0KICAg Y29uc3QgY2hhciAqbmFtZTsNCg0K