From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 56505 invoked by alias); 27 Jan 2017 16:46:31 -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 56477 invoked by uid 89); 27 Jan 2017 16:46:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.9 required=5.0 tests=AWL,BAYES_50,KAM_LOTSOFHASH,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=no version=3.3.2 spammy=sk:527f643, UD:rs6000-tdep.c, *word, rs6000tdepc X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0044.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 27 Jan 2017 16:46:19 +0000 Received: from VI1PR0801MB1822.eurprd08.prod.outlook.com (10.168.68.7) by VI1PR0801MB1821.eurprd08.prod.outlook.com (10.168.67.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Fri, 27 Jan 2017 16:46:14 +0000 Received: from VI1PR0801MB1822.eurprd08.prod.outlook.com ([10.168.68.7]) by VI1PR0801MB1822.eurprd08.prod.outlook.com ([10.168.68.7]) with mapi id 15.01.0860.021; Fri, 27 Jan 2017 16:46:14 +0000 From: Alan Hayward To: Pedro Alves CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH] Removal of uses of MAX_REGISTER_SIZE Date: Fri, 27 Jan 2017 16:46:00 -0000 Message-ID: References: <7CF07197-4FED-4970-BB4B-2FE828E29A63@arm.com> <45e3a5e1-a9aa-1bc0-5d08-526b89fc458e@redhat.com> In-Reply-To: <45e3a5e1-a9aa-1bc0-5d08-526b89fc458e@redhat.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-office365-filtering-correlation-id: 57d5060a-8349-42ee-bc42-08d446d4021f x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401076);SRVR:VI1PR0801MB1821; x-microsoft-exchange-diagnostics: 1;VI1PR0801MB1821;7:KNw0QJQsoY5WPosmWwAyUW+dtvoxa922N+eXuT5tJnmggC/UnKUg/ABJfAhiPTkx1dWzKPhWu9yBmBxaCZL+Ustmk+I9914M2bFf/0v1ZKF+zUH8+i6Se+L9FRq3CHNjUqkoDNArlzNX4JrpLotxRoDkInodoKVL1B7eDOOEIsnPdxiZI4pTZq7mcZgV4qCIwRW8P3IOwoAxZ+lE1bpgeqrARx90N2afAlychbOw+ylccnMDdJYMNAj6lI/cCnDgHViLqZTxaZFlR6HeijV9cGAWXP5dIfyZqxjyiLNzUkvtGhyzWgPhWvdTY+xB6FpZKyflKVckSc9r2rBbPYk6YvXFkTNL2MUVxIUrPLX66vSl191ONS/NLDVMZl7cW9qZPtW8m46OuBs00MzEkvOQsjvgoxFSCX3oJ+HUonxgLYppdOAa0gzp+WNnCt+JTyyfNMrDF1jkj7UQVdGbN5v+HQ== nodisclaimer: True x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917)(131327999870524)(788757137089); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(20161123560025)(20161123558021)(20161123555025)(20161123562025)(6072148);SRVR:VI1PR0801MB1821;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0801MB1821; x-forefront-prvs: 0200DDA8BE x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(7916002)(39410400002)(39840400002)(39850400002)(39860400002)(39450400003)(377454003)(51914003)(199003)(24454002)(377424004)(189002)(33656002)(3280700002)(53936002)(54356999)(4326007)(189998001)(50986999)(16200700003)(2906002)(3846002)(101416001)(66066001)(97736004)(102836003)(2950100002)(53946003)(6916009)(6116002)(122556002)(76176999)(5660300001)(77096006)(305945005)(106356001)(106116001)(7736002)(110136003)(229853002)(83716003)(3660700001)(36756003)(2900100001)(105586002)(6486002)(6512007)(54906002)(8676002)(8936002)(81156014)(38730400001)(6436002)(25786008)(81166006)(92566002)(86362001)(68736007)(6506006)(82746002)(575784001)(99286003)(104396002)(559001)(579004)(569005);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0801MB1821;H:VI1PR0801MB1822.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) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <91C6173C80A81E4A8A78569DD217D6E5@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Jan 2017 16:46:14.2752 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1821 X-SW-Source: 2017-01/txt/msg00630.txt.bz2 VGhhbmtzIGZvciB0aGUgcmV2aWV3Lg0KDQo+IE9uIDI3IEphbiAyMDE3LCBh dCAxMTo0OSwgUGVkcm8gQWx2ZXMgPHBhbHZlc0ByZWRoYXQuY29tPiB3cm90 ZToNCj4gDQo+IE9uIDAxLzI0LzIwMTcgMTA6MzEgQU0sIEFsYW4gSGF5d2Fy ZCB3cm90ZToNCj4+IFRoaXMgcGF0Y2ggcmVwbGFjZXMgYWxsIGN1cnJlbnQg dXNlcyBvZiBNQVhfUkVHSVNURVJfU0laRSB3aXRoIGNhbGxzIHRvDQo+PiBl aXRoZXIgcmVnaXN0ZXJfc2l6ZSgpIHdoZW4gdGhlIHJlZ2lzdGVyIG51bWJl ciBpcyBrbm93biwgYW5kDQo+PiBtYXhfcmVnaXN0ZXJfc2l6ZSgpIGluIGFs bCBvdGhlciBjYXNlcy4NCj4+IA0KPj4gSXQgYXNzdW1lcyB0aGF0IHRoZSBw YXRjaCAiW1BBVENIIDMvM10gQ2FsY3VsYXRlIG1heCByZWdpc3RlciBzaXpl IiB3aWxsIGJlDQo+PiBhcHByb3ZlZCwgYW5kIGZvbGxvd3MgdGhlIG1ldGhv ZHMgdXNlZCBpbiB0aGF0IHNlcmllcyBvZiAzIHBhdGNoZXMuDQo+PiANCj4+ IEluIGEgY291cGxlIG9mIGNhc2VzIEkndmUgbW92ZWQgdmFyaWFibGVzIG91 dHNpZGUgYSBsb29wIHRvIHByZXZlbnQgbXVsdGlwbGUNCj4+IGFsbG9jYXRp b25zLg0KPiANCj4gVGhlIHZlcnkgZmlyc3QgaHVuayBjYWxscyBhbGxvY2Eg aW4gYSBsb29wIChJIGRpZG4ndCBsb29rIGFueQ0KPiBmdXJ0aGVyKS4gIFRo aXMgaXMgdW5mb3J0dW5hdGVseSBlYXN5IHRvIGdldCB3cm9uZyB3aXRoIGFs bG9jYS4gIChOb3QNCj4ganVzdCBpbiB0aGlzIHBhdGNoLCBidXQgYWxzbyBm dXR1cmUgcGF0Y2hlcyB0aGF0IG1pZ2h0IG1vdmUgdGhpbmdzDQo+IGFyb3Vu ZCBhbmQgYWRkIGxvb3BzIGFyb3VuZCBhbGxvY2FzIHdpdGhvdXQgbm90aWNp bmcuKSAgV2lzaA0KPiB0aGUgY29tcGlsZXIgd2FybmVkIGFib3V0IGl0IGFu ZC9vciB0aGF0IEMrKyBzdXBwb3J0ZWQgVkxBcy4gIDotLw0KPiANCg0KRml4 ZWQuIFRoZXJlIHdlcmUgcXVpdGUgb2YgZmV3IG9mIHRoZXNlIGFscmVhZHkg aW4gdGhpcyBwYXRjaCwgYnV0IGxvb2tzDQpsaWtlIEkgbWlzc2VkIGEgZmV3 LiBGaXhlZCB0aG9zZSB1cCB0b28uDQoNCg0KPiBPbiAyNyBKYW4gMjAxNywg YXQgMTI6MTEsIFBlZHJvIEFsdmVzIDxwYWx2ZXNAcmVkaGF0LmNvbT4gd3Jv dGU6DQo+IA0KPiBPbiAwMS8yNC8yMDE3IDEwOjMxIEFNLCBBbGFuIEhheXdh cmQgd3JvdGU6DQo+PiBhYXJjaDY0X3BzZXVkb193cml0ZSAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQo+ PiAJCSAgICAgIGludCByZWdudW0sIGNvbnN0IGdkYl9ieXRlICpidWYpDQo+ PiB7DQo+PiAtICBnZGJfYnl0ZSByZWdfYnVmW01BWF9SRUdJU1RFUl9TSVpF XTsNCj4+ICsgIGdkYl9ieXRlICpyZWdfYnVmID0gKGdkYl9ieXRlICopIGFs bG9jYSAocmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKSk7DQo+PiAN Cj4+ICAgLyogRW5zdXJlIHRoZSByZWdpc3RlciBidWZmZXIgaXMgemVybywg d2Ugd2FudCBnZGIgd3JpdGVzIG9mIHRoZQ0KPj4gICAgICB2YXJpb3VzICdz Y2FsYXInIHBzZXVkbyByZWdpc3RlcnMgdG8gYmVoYXZpb3IgbGlrZSBhcmNo aXRlY3R1cmFsDQo+PiAgICAgIHdyaXRlcywgcmVnaXN0ZXIgd2lkdGggYnl0 ZXMgYXJlIHdyaXR0ZW4gdGhlIHJlbWFpbmRlciBhcmUgc2V0IHRvDQo+PiAg ICAgIHplcm8uICAqLw0KPj4gLSAgbWVtc2V0IChyZWdfYnVmLCAwLCBzaXpl b2YgKHJlZ19idWYpKTsNCj4+ICsgIG1lbXNldCAocmVnX2J1ZiwgMCwgc2l6 ZW9mIChyZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdudW0pKSk7DQo+IA0K PiBPSywgSSBzY3JvbGxlZCBhIGJpdCBmdXJ0aGVyIGRvd24gdG8gdGhlIHRo aXJkIGh1bmsuICBUaGlzIHNpemVvZiBpcyANCj4gY2xlYXJseSBicm9rZW4u ICBUaGVyZSBtYXkgYmUgbW9yZSBpbnN0YW5jZXMgb2YgdGhpcy4NCj4gDQoN CkZpeGVkLiBEaWQgYSBncmVwIGZvciBzaXplb2YgYWNyb3NzIHRoZSBwYXRj aCBhbmQgY291bGRu4oCZdCBzZWUgYW55IG1vcmUuDQoNCg0KPiBNYWtlcyBt ZSB3b25kZXIgd2hldGhlciB0aGlzIGlzIHRoZSByaWdodCBhcHByb2FjaC4g IDotLw0KPiAoTm8sIEkgZG9uJ3QgaGF2ZSBhIGZvcm1lZCBvcGluaW9uIGZv ciB3aGF0IHRoYXQgd291bGQgYmUuKQ0KPiANCg0KQ291bGRu4oCZdCBzZWUg YW55IG90aGVyIHdheSBvZiBkb2luZyB0aGlzIChoZW5jZSB0aGUgcHJldmlv dXMgcGF0Y2hlcyB0aGF0DQpqdXN0IGNoYW5nZWQgb25lIG9yIHR3byBvZiB0 aGVtKS4gT25jZSB0aGV5IGFyZSBhbGwgY2hhbmdlZCBpdCBzaG91bGRu4oCZ dA0KYmUgdG9vIG11Y2ggb2YgYSBwcm9ibGVtIGdvaW5nIGZvcndhcmQgLSBp dOKAmXMgZG9pbmcgdGhpcyBtYW55IGF0IG9uY2UNCndoaWNoIGlzIHRoZSBw YWluLg0KDQpVcGRhdGVkIHBhdGNoIGJlbG93Lg0KDQpUaGFua3MsDQpBbGFu Lg0KDQoyMDE3LTAxLTI3ICBBbGFuIEhheXdhcmQgIDxhbGFuLmhheXdhcmRA YXJtLmNvbT4NCg0KCSogYWFyY2g2NC10ZGVwLmMgKGFhcmNoNjRfc3RvcmVf cmV0dXJuX3ZhbHVlKTogUmVwbGFjZQ0KCU1BWF9SRUdJU1RFUl9TSVpFLg0K CShhYXJjaDY0X3BzZXVkb19yZWFkX3ZhbHVlKTogTGlrZXdpc2UuDQoJKGFh cmNoNjRfcHNldWRvX3dyaXRlKTogTGlrZXdpc2UuDQoJKiBhbHBoYS10ZGVw LmMgKGFscGhhX3JlZ2lzdGVyX3RvX3ZhbHVlKTogTGlrZXdpc2UuDQoJKGFs cGhhX3ZhbHVlX3RvX3JlZ2lzdGVyKTogTGlrZXdpc2UuDQoJKiBhcm0tdGRl cC5jIChhcm1fc3RvcmVfcmV0dXJuX3ZhbHVlKTogTGlrZXdpc2UuDQoJKiBi ZmluLXRkZXAuYyAoYmZpbl9wc2V1ZG9fcmVnaXN0ZXJfcmVhZCk6IExpa2V3 aXNlLg0KCShiZmluX3BzZXVkb19yZWdpc3Rlcl93cml0ZSk6IExpa2V3aXNl Lg0KCSogZnJhbWUuYyAoZnJhbWVfdW53aW5kX3JlZ2lzdGVyX3NpZ25lZCk6 IExpa2V3aXNlLg0KCShmcmFtZV91bndpbmRfcmVnaXN0ZXJfdW5zaWduZWQp OiBMaWtld2lzZS4NCgkoZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzKTogTGlr ZXdpc2UuDQoJKHB1dF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyk6IExpa2V3aXNl Lg0KCSogZnJ2LWxpbnV4LXRkZXAuYyAoZnJ2X2xpbnV4X3N1cHBseV9ncmVn c2V0KTogTGlrZXdpc2UuDQoJKiBpMzg2LXRkZXAuYyAoaTM4Nl9wc2V1ZG9f cmVnaXN0ZXJfcmVhZF9pbnRvX3ZhbHVlKTogTGlrZXdpc2UuDQoJKGkzODZf cHNldWRvX3JlZ2lzdGVyX3dyaXRlKTogTGlrZXdpc2UuDQoJKGkzODZfcHJv Y2Vzc19yZWNvcmQpOiBMaWtld2lzZS4NCgkqIGkzODctdGRlcC5jIChpMzg3 X3N1cHBseV94c2F2ZSk6IExpa2V3aXNlLg0KCSogaWE2NC10ZGVwLmMgKGlh NjRfcmVnaXN0ZXJfdG9fdmFsdWUpOiBMaWtld2lzZS4NCgkoaWE2NF92YWx1 ZV90b19yZWdpc3Rlcik6IExpa2V3aXNlLg0KCShleGFtaW5lX3Byb2xvZ3Vl KTogTGlrZXdpc2UuDQoJKGlhNjRfc2lndHJhbXBfZnJhbWVfcHJldl9yZWdp c3Rlcik6IExpa2V3aXNlLg0KCShpYTY0X2FjY2Vzc19yZWcpOiBMaWtld2lz ZS4NCgkoaWE2NF9hY2Nlc3NfcnNlX3JlZyk6IExpa2V3aXNlLg0KCShpYTY0 X2xpYnVud2luZF9mcmFtZV9wcmV2X3JlZ2lzdGVyKTogTGlrZXdpc2UuDQoJ KGlhNjRfZXh0cmFjdF9yZXR1cm5fdmFsdWUpOiBMaWtld2lzZS4NCgkoaWE2 NF9zdG9yZV9yZXR1cm5fdmFsdWUpOiBMaWtld2lzZS4NCgkoaWE2NF9wdXNo X2R1bW15X2NhbGwpOiBMaWtld2lzZS4NCgkqIG0zMnItdGRlcC5jIChtMzJy X3B1c2hfZHVtbXlfY2FsbCk6IExpa2V3aXNlLg0KCSogbTY4ay1saW51eC1u YXQuYyAoZmV0Y2hfcmVnaXN0ZXIpOiBMaWtld2lzZS4NCgkoc3RvcmVfcmVn aXN0ZXIpOiBMaWtld2lzZS4NCgkqIGdkYi9taS9taS1tYWluLmMgKHJlZ2lz dGVyX2NoYW5nZWRfcCk6IExpa2V3aXNlDQoJKiBtaXBzLWZic2QtdGRlcC5j IChtaXBzX2Zic2Rfc3VwcGx5X3JlZyk6IExpa2V3aXNlLg0KCShtaXBzX2Zi c2RfY29sbGVjdF9yZWcpOiBMaWtld2lzZS4NCgkqIG1pcHMtbGludXgtdGRl cC5jIChzdXBwbHlfMzJiaXRfcmVnKTogTGlrZXdpc2UuDQoJKG1pcHNfc3Vw cGx5X2dyZWdzZXQpOiBMaWtld2lzZS4NCgkobWlwc19zdXBwbHlfZnByZWdz ZXQpOiBMaWtld2lzZS4NCgkobWlwczY0X3N1cHBseV9ncmVnc2V0KTogTGlr ZXdpc2UuDQoJKG1pcHM2NF9maWxsX2dyZWdzZXQpOiBMaWtld2lzZS4NCgko bWlwczY0X2ZpbGxfZnByZWdzZXQpOiBMaWtld2lzZS4NCgkqIG1pcHMtdGRl cC5jIChtaXBzX2VhYmlfcHVzaF9kdW1teV9jYWxsKTogTGlrZXdpc2UuDQoJ KG1pcHNfbzMyX3JldHVybl92YWx1ZSk6IExpa2V3aXNlLg0KCShwcmludF9n cF9yZWdpc3Rlcl9yb3cpOiBMaWtld2lzZS4NCgkqIG1uMTAzMDAtbGludXgt dGRlcC5jIChhbTMzX3N1cHBseV9ncmVnc2V0X21ldGhvZCk6IExpa2V3aXNl Lg0KCSogbW4xMDMwMC10ZGVwLmMgKG1uMTAzMDBfZXh0cmFjdF9yZXR1cm5f dmFsdWUpOiBMaWtld2lzZS4NCgkobW4xMDMwMF9wdXNoX2R1bW15X2NhbGwp OiBMaWtld2lzZS4NCgkqIHBwYy1saW51eC1uYXQuYzogTGlrZXdpc2UuDQoJ KiBwcGMtc3lzdi10ZGVwLmMgKHBwY19zeXN2X2FiaV9wdXNoX2R1bW15X2Nh bGwpOiBMaWtld2lzZS4NCgkoZ2V0X2RlY2ltYWxfZmxvYXRfcmV0dXJuX3Zh bHVlKTogTGlrZXdpc2UuDQoJKGRvX3BwY19zeXN2X3JldHVybl92YWx1ZSk6 IExpa2V3aXNlLg0KCShwcGM2NF9zeXN2X2FiaV9wdXNoX2ludGVnZXIpOiBM aWtld2lzZS4NCgkocHBjNjRfc3lzdl9hYmlfcHVzaF9mcmVnKTogTGlrZXdp c2UuDQoJKHBwYzY0X3N5c3ZfYWJpX3JldHVybl92YWx1ZV9iYXNlKTogTGlr ZXdpc2UuDQoJKHBwYzY0X3N5c3ZfYWJpX3JldHVybl92YWx1ZSk6IExpa2V3 aXNlLg0KCSogcmVjb3JkLWZ1bGwuYyAocmVjb3JkX2Z1bGxfZXhlY19pbnNu KTogTGlrZXdpc2UuDQoJKHJlY29yZF9mdWxsX2NvcmVfb3Blbl8xKTogTGlr ZXdpc2UuDQoJKHJlY29yZF9mdWxsX2NvcmVfZmV0Y2hfcmVnaXN0ZXJzKTog TGlrZXdpc2UuDQoJKHJlY29yZF9mdWxsX2NvcmVfc3RvcmVfcmVnaXN0ZXJz KTogTGlrZXdpc2UuDQoJKGluaXRfcmVjb3JkX2Z1bGxfY29yZV9vcHMpOiBM aWtld2lzZS4NCgkqIHJlbW90ZS1zaW0uYyAoZ2Ric2ltX2ZldGNoX3JlZ2lz dGVyKTogTGlrZXdpc2UuDQoJKGdkYnNpbV9zdG9yZV9yZWdpc3Rlcik6IExp a2V3aXNlLg0KCSogcnM2MDAwLWFpeC10ZGVwLmMgKHJzNjAwMF9wdXNoX2R1 bW15X2NhbGwpOiBMaWtld2lzZS4NCgkqIHJzNjAwMC1seW54MTc4LXRkZXAu YyAocnM2MDAwX2x5bngxNzhfcHVzaF9kdW1teV9jYWxsKTogTGlrZXdpc2Uu DQoJKiByczYwMDAtbmF0LmM6IExpa2V3aXNlLg0KCSogcnM2MDAwLXRkZXAu YyAocnM2MDAwX3JlZ2lzdGVyX3RvX3ZhbHVlKTogTGlrZXdpc2UuDQoJKHJz NjAwMF92YWx1ZV90b19yZWdpc3Rlcik6IExpa2V3aXNlLg0KCSogc2gtdGRl cC5jIChzaF9wc2V1ZG9fcmVnaXN0ZXJfcmVhZCk6IExpa2V3aXNlLg0KCShz aF9wc2V1ZG9fcmVnaXN0ZXJfd3JpdGUpOiBMaWtld2lzZS4NCgkqIHNoNjQt dGRlcC5jIChzaDY0X3BzZXVkb19yZWdpc3Rlcl9yZWFkKTogTGlrZXdpc2Uu DQoJKHNoNjRfcHNldWRvX3JlZ2lzdGVyX3dyaXRlKTogTGlrZXdpc2UuDQoJ KiBzb2wtdGhyZWFkLmMgKHNvbF90aHJlYWRfc3RvcmVfcmVnaXN0ZXJzKTog TGlrZXdpc2UuDQoJKiBzdGFjay5jIChmcmFtZV9pbmZvKTogTGlrZXdpc2Uu DQoJKiB0YXJnZXQuYyAoZGVidWdfcHJpbnRfcmVnaXN0ZXIpOiBMaWtld2lz ZS4NCgkqIHh0ZW5zYS10ZGVwLmMgKHh0ZW5zYV9yZWdpc3Rlcl93cml0ZV9t YXNrZWQpOiBMaWtld2lzZS4NCgkoeHRlbnNhX3JlZ2lzdGVyX3JlYWRfbWFz a2VkKTogTGlrZXdpc2UuDQoJKHh0ZW5zYV9wc2V1ZG9fcmVnaXN0ZXJfcmVh ZCk6IExpa2V3aXNlLg0KCSh4dGVuc2FfcHNldWRvX3JlZ2lzdGVyX3dyaXRl KTogTGlrZXdpc2UuDQoNCg0KZGlmZiAtLWdpdCBhL2dkYi9hYXJjaDY0LXRk ZXAuYyBiL2dkYi9hYXJjaDY0LXRkZXAuYw0KaW5kZXggODAxYzAzZDVhMGI1 ZDIwNWRjOTY3Y2IwZDUzZTI5OWVhOTVlYWE4Zi4uZDk0NmQ4MmFhOGQwYmQ5 M2MwZjI2NWExMjM5YTEyMzMyZWM4NTU5NyAxMDA2NDQNCi0tLSBhL2dkYi9h YXJjaDY0LXRkZXAuYw0KKysrIGIvZ2RiL2FhcmNoNjQtdGRlcC5jDQpAQCAt MTk3OCwxMSArMTk3OCwxMSBAQCBhYXJjaDY0X3N0b3JlX3JldHVybl92YWx1 ZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCByZWdjYWNoZSAqcmVncywN CiAgICAgICBzdHJ1Y3QgdHlwZSAqbWVtYmVyX3R5cGUgPSBjaGVja190eXBl ZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIDApKTsNCiAgICAgICBpbnQg bGVuID0gVFlQRV9MRU5HVEggKG1lbWJlcl90eXBlKTsNCiAgICAgICBpbnQg aTsNCisgICAgICBiZmRfYnl0ZSAqdG1wYnVmID0gKGJmZF9ieXRlICopIGFs bG9jYSAobWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpKTsNCg0KICAgICAg IGZvciAoaSA9IDA7IGkgPCBlbGVtZW50czsgaSsrKQ0KIAl7DQogCSAgaW50 IHJlZ25vID0gQUFSQ0g2NF9WMF9SRUdOVU0gKyBpOw0KLQkgIGJmZF9ieXRl IHRtcGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQoNCiAJICBpZiAoYWFyY2g2 NF9kZWJ1ZykNCiAJICAgIHsNCkBAIC0yMjM2LDcgKzIyMzYsNyBAQCBhYXJj aDY0X3BzZXVkb19yZWFkX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwNCiAJCQkgICBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLA0KIAkJCSAg IGludCByZWdudW0pDQogew0KLSAgZ2RiX2J5dGUgcmVnX2J1ZltNQVhfUkVH SVNURVJfU0laRV07DQorICBnZGJfYnl0ZSAqcmVnX2J1ZiA9IChnZGJfYnl0 ZSAqKSBhbGxvY2EgKHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gsIHJlZ251bSkp Ow0KICAgc3RydWN0IHZhbHVlICpyZXN1bHRfdmFsdWU7DQogICBnZGJfYnl0 ZSAqYnVmOw0KDQpAQCAtMjMzMSwxMyArMjMzMSwxMyBAQCBzdGF0aWMgdm9p ZA0KIGFhcmNoNjRfcHNldWRvX3dyaXRlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCiAJCSAgICAgIGlu dCByZWdudW0sIGNvbnN0IGdkYl9ieXRlICpidWYpDQogew0KLSAgZ2RiX2J5 dGUgcmVnX2J1ZltNQVhfUkVHSVNURVJfU0laRV07DQorICBnZGJfYnl0ZSAq cmVnX2J1ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKHJlZ2lzdGVyX3NpemUg KGdkYmFyY2gsIHJlZ251bSkpOw0KDQogICAvKiBFbnN1cmUgdGhlIHJlZ2lz dGVyIGJ1ZmZlciBpcyB6ZXJvLCB3ZSB3YW50IGdkYiB3cml0ZXMgb2YgdGhl DQogICAgICB2YXJpb3VzICdzY2FsYXInIHBzZXVkbyByZWdpc3RlcnMgdG8g YmVoYXZpb3IgbGlrZSBhcmNoaXRlY3R1cmFsDQogICAgICB3cml0ZXMsIHJl Z2lzdGVyIHdpZHRoIGJ5dGVzIGFyZSB3cml0dGVuIHRoZSByZW1haW5kZXIg YXJlIHNldCB0bw0KICAgICAgemVyby4gICovDQotICBtZW1zZXQgKHJlZ19i dWYsIDAsIHNpemVvZiAocmVnX2J1ZikpOw0KKyAgbWVtc2V0IChyZWdfYnVm LCAwLCByZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdudW0pKTsNCg0KICAg cmVnbnVtIC09IGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpOw0KDQpkaWZm IC0tZ2l0IGEvZ2RiL2FscGhhLXRkZXAuYyBiL2dkYi9hbHBoYS10ZGVwLmMN CmluZGV4IDRkZDY1YzU4Y2MyODk2ZWE2MDM4Mzk5MTI4ZTNlYjM3NmQxZWU2 NzIuLjVkODUwZGIwN2RhMGQ1ZjZkNDc3OTVkYTk3MGFkZDU4MTYxZDcyMmMg MTAwNjQ0DQotLS0gYS9nZGIvYWxwaGEtdGRlcC5jDQorKysgYi9nZGIvYWxw aGEtdGRlcC5jDQpAQCAtMjQ0LDcgKzI0NCw3IEBAIGFscGhhX3JlZ2lzdGVy X3RvX3ZhbHVlIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdu dW0sDQogCQkJaW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZhaWxhYmxlcCkN CiB7DQogICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9h cmNoIChmcmFtZSk7DQotICBnZGJfYnl0ZSBpbltNQVhfUkVHSVNURVJfU0la RV07DQorICBnZGJfYnl0ZSAqaW4gPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChy ZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdudW0pKTsNCg0KICAgLyogQ29u dmVydCB0byBUWVBFLiAgKi8NCiAgIGlmICghZ2V0X2ZyYW1lX3JlZ2lzdGVy X2J5dGVzIChmcmFtZSwgcmVnbnVtLCAwLA0KQEAgLTI2Niw3ICsyNjYsOCBA QCBzdGF0aWMgdm9pZA0KIGFscGhhX3ZhbHVlX3RvX3JlZ2lzdGVyIChzdHJ1 Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sDQogCQkJIHN0cnVj dCB0eXBlICp2YWx0eXBlLCBjb25zdCBnZGJfYnl0ZSAqaW4pDQogew0KLSAg Z2RiX2J5dGUgb3V0W01BWF9SRUdJU1RFUl9TSVpFXTsNCisgIHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoID0gZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKTsNCisg IGdkYl9ieXRlICpvdXQgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChyZWdpc3Rl cl9zaXplIChnZGJhcmNoLCByZWdudW0pKTsNCg0KICAgc3dpdGNoIChUWVBF X0xFTkdUSCAodmFsdHlwZSkpDQogICAgIHsNCmRpZmYgLS1naXQgYS9nZGIv YXJtLXRkZXAuYyBiL2dkYi9hcm0tdGRlcC5jDQppbmRleCAyYmRmYTU3YzJm ZjAxOGY4NDlmYWJlY2FjZmU0NGZlYzk5NmMwNTA1Li44ZmU2NWExNjQ3YmFm MjJmZjEyNzhhNmRmYzdlMTcyZDgzODJlMmRjIDEwMDY0NA0KLS0tIGEvZ2Ri L2FybS10ZGVwLmMNCisrKyBiL2dkYi9hcm0tdGRlcC5jDQpAQCAtODE1MCw3 ICs4MTUwLDcgQEAgYXJtX3N0b3JlX3JldHVybl92YWx1ZSAoc3RydWN0IHR5 cGUgKnR5cGUsIHN0cnVjdCByZWdjYWNoZSAqcmVncywNCg0KICAgaWYgKFRZ UEVfQ09ERSAodHlwZSkgPT0gVFlQRV9DT0RFX0ZMVCkNCiAgICAgew0KLSAg ICAgIGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQorICAgICAg Z2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKG1heF9yZWdp c3Rlcl9zaXplIChnZGJhcmNoKSk7DQoNCiAgICAgICBzd2l0Y2ggKGdkYmFy Y2hfdGRlcCAoZ2RiYXJjaCktPmZwX21vZGVsKQ0KIAl7DQpkaWZmIC0tZ2l0 IGEvZ2RiL2JmaW4tdGRlcC5jIGIvZ2RiL2JmaW4tdGRlcC5jDQppbmRleCAz ZGYxYmEzODdhMzIzZGM2ODI3YjExODk0MzJmODg3N2QxODMzMTg0Li42ODg0 OGQxZDcwMDk4MWQ4ZjRiNjk4ZmMxMjI5OTcyODRjOTY0YjU3IDEwMDY0NA0K LS0tIGEvZ2RiL2JmaW4tdGRlcC5jDQorKysgYi9nZGIvYmZpbi10ZGVwLmMN CkBAIC02ODksNyArNjg5LDcgQEAgc3RhdGljIGVudW0gcmVnaXN0ZXJfc3Rh dHVzDQogYmZpbl9wc2V1ZG9fcmVnaXN0ZXJfcmVhZCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQogCQkJ ICAgaW50IHJlZ251bSwgZ2RiX2J5dGUgKmJ1ZmZlcikNCiB7DQotICBnZGJf Ynl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAoTUFYX1JFR0lTVEVS X1NJWkUpOw0KKyAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxv Y2EgKHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gsIHJlZ251bSkpOw0KICAgZW51 bSByZWdpc3Rlcl9zdGF0dXMgc3RhdHVzOw0KDQogICBpZiAocmVnbnVtICE9 IEJGSU5fQ0NfUkVHTlVNKQ0KQEAgLTcxMCw3ICs3MTAsNyBAQCBzdGF0aWMg dm9pZA0KIGJmaW5fcHNldWRvX3JlZ2lzdGVyX3dyaXRlIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCiAJ CQkgICAgaW50IHJlZ251bSwgY29uc3QgZ2RiX2J5dGUgKmJ1ZmZlcikNCiB7 DQotICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAoTUFY X1JFR0lTVEVSX1NJWkUpOw0KKyAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0 ZSAqKSBhbGxvY2EgKHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gsIHJlZ251bSkp Ow0KDQogICBpZiAocmVnbnVtICE9IEJGSU5fQ0NfUkVHTlVNKQ0KICAgICBp bnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLA0KZGlmZiAtLWdp dCBhL2dkYi9mcmFtZS5jIGIvZ2RiL2ZyYW1lLmMNCmluZGV4IGQ5ODAwM2Rl ZTdjMzRhNjNiZDI1MzU2ZTY2NzQ3MjE2NjRhNGIyZjMuLjE2MjUwZjlhODAw YjYwNzcwNjg0NWQ3YjNiZGI1ZWU3NTY3ZDRiZDUgMTAwNjQ0DQotLS0gYS9n ZGIvZnJhbWUuYw0KKysrIGIvZ2RiL2ZyYW1lLmMNCkBAIC0xMjUyLDcgKzEy NTIsNyBAQCBmcmFtZV91bndpbmRfcmVnaXN0ZXJfc2lnbmVkIChzdHJ1Y3Qg ZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0pDQogICBzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCA9IGZyYW1lX3Vud2luZF9hcmNoIChmcmFtZSk7DQog ICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9v cmRlciAoZ2RiYXJjaCk7DQogICBpbnQgc2l6ZSA9IHJlZ2lzdGVyX3NpemUg KGdkYmFyY2gsIHJlZ251bSk7DQotICBnZGJfYnl0ZSBidWZbTUFYX1JFR0lT VEVSX1NJWkVdOw0KKyAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBh bGxvY2EgKHNpemUpOw0KDQogICBmcmFtZV91bndpbmRfcmVnaXN0ZXIgKGZy YW1lLCByZWdudW0sIGJ1Zik7DQogICByZXR1cm4gZXh0cmFjdF9zaWduZWRf aW50ZWdlciAoYnVmLCBzaXplLCBieXRlX29yZGVyKTsNCkBAIC0xMjcwLDcg KzEyNzAsNyBAQCBmcmFtZV91bndpbmRfcmVnaXN0ZXJfdW5zaWduZWQgKHN0 cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSkNCiAgIHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoID0gZnJhbWVfdW53aW5kX2FyY2ggKGZyYW1l KTsNCiAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9i eXRlX29yZGVyIChnZGJhcmNoKTsNCiAgIGludCBzaXplID0gcmVnaXN0ZXJf c2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKTsNCi0gIGdkYl9ieXRlIGJ1ZltNQVhf UkVHSVNURVJfU0laRV07DQorICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRl ICopIGFsbG9jYSAoc2l6ZSk7DQoNCiAgIGZyYW1lX3Vud2luZF9yZWdpc3Rl ciAoZnJhbWUsIHJlZ251bSwgYnVmKTsNCiAgIHJldHVybiBleHRyYWN0X3Vu c2lnbmVkX2ludGVnZXIgKGJ1Ziwgc2l6ZSwgYnl0ZV9vcmRlcik7DQpAQCAt MTM4OSw2ICsxMzg5LDggQEAgZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChz dHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sDQogICAgIGVy cm9yIChfKCJCYWQgZGVidWcgaW5mb3JtYXRpb24gZGV0ZWN0ZWQ6ICINCiAJ ICAgICAiQXR0ZW1wdCB0byByZWFkICVkIGJ5dGVzIGZyb20gcmVnaXN0ZXJz LiIpLCBsZW4pOw0KDQorICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRlICop IGFsbG9jYSAobWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpKTsNCisNCiAg IC8qIENvcHkgdGhlIGRhdGEuICAqLw0KICAgd2hpbGUgKGxlbiA+IDApDQog ICAgIHsNCkBAIC0xNDEwLDcgKzE0MTIsNiBAQCBnZXRfZnJhbWVfcmVnaXN0 ZXJfYnl0ZXMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251 bSwNCiAJfQ0KICAgICAgIGVsc2UNCiAJew0KLQkgIGdkYl9ieXRlIGJ1ZltN QVhfUkVHSVNURVJfU0laRV07DQogCSAgZW51bSBsdmFsX3R5cGUgbHZhbDsN CiAJICBDT1JFX0FERFIgYWRkcjsNCiAJICBpbnQgcmVhbG51bTsNCkBAIC0x NDQ2LDYgKzE0NDcsOCBAQCBwdXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMgKHN0 cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwNCiAgICAgICBy ZWdudW0rKzsNCiAgICAgfQ0KDQorICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9i eXRlICopIGFsbG9jYSAobWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpKTsN CisNCiAgIC8qIENvcHkgdGhlIGRhdGEuICAqLw0KICAgd2hpbGUgKGxlbiA+ IDApDQogICAgIHsNCkBAIC0xNDYwLDggKzE0NjMsNiBAQCBwdXRfZnJhbWVf cmVnaXN0ZXJfYnl0ZXMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50 IHJlZ251bSwNCiAJfQ0KICAgICAgIGVsc2UNCiAJew0KLQkgIGdkYl9ieXRl IGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQotDQogCSAgZGVwcmVjYXRlZF9m cmFtZV9yZWdpc3Rlcl9yZWFkIChmcmFtZSwgcmVnbnVtLCBidWYpOw0KIAkg IG1lbWNweSAoYnVmICsgb2Zmc2V0LCBteWFkZHIsIGN1cnJfbGVuKTsNCiAJ ICBwdXRfZnJhbWVfcmVnaXN0ZXIgKGZyYW1lLCByZWdudW0sIGJ1Zik7DQpk aWZmIC0tZ2l0IGEvZ2RiL2Zydi1saW51eC10ZGVwLmMgYi9nZGIvZnJ2LWxp bnV4LXRkZXAuYw0KaW5kZXggZWI4N2Y5MzA1OGIwMjg3ZThmMDVjNTg1ZDFi NmFhMWZmMmJmZmI3OC4uMDZmOGNiYjhjYzRjZDI1N2E2MjZiYWZhYzMzMDdh NjhhMWQwNDg1NSAxMDA2NDQNCi0tLSBhL2dkYi9mcnYtbGludXgtdGRlcC5j DQorKysgYi9nZGIvZnJ2LWxpbnV4LXRkZXAuYw0KQEAgLTQxMyw5ICs0MTMs MTAgQEAgZnJ2X2xpbnV4X3N1cHBseV9ncmVnc2V0IChjb25zdCBzdHJ1Y3Qg cmVnc2V0ICpyZWdzZXQsDQogCQkJICBpbnQgcmVnbnVtLCBjb25zdCB2b2lk ICpncmVncywgc2l6ZV90IGxlbikNCiB7DQogICBpbnQgcmVnaTsNCi0gIGNo YXIgemVyb2J1ZltNQVhfUkVHSVNURVJfU0laRV07DQorICBzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCA9IGdldF9yZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7 DQorICBjaGFyICp6ZXJvYnVmID0gKGNoYXIgKikgYWxsb2NhIChtYXhfcmVn aXN0ZXJfc2l6ZSAoZ2RiYXJjaCkpOw0KDQotICBtZW1zZXQgKHplcm9idWYs IDAsIE1BWF9SRUdJU1RFUl9TSVpFKTsNCisgIG1lbXNldCAoemVyb2J1Ziwg MCwgbWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpKTsNCg0KICAgLyogZ3Iw IGFsd2F5cyBjb250YWlucyAwLiAgQWxzbywgdGhlIGtlcm5lbCBwYXNzZXMg dGhlIFRCUiB2YWx1ZSBpbg0KICAgICAgdGhpcyBzbG90LiAgKi8NCmRpZmYg LS1naXQgYS9nZGIvaTM4Ni10ZGVwLmMgYi9nZGIvaTM4Ni10ZGVwLmMNCmlu ZGV4IDhhNGQ1OWY2ZmRhZThlYzc4NTQ2MmQwY2VlZGNkNjUwMWI5NTVjZjAu LjYxOTE1OTMxNzRmNjA1Y2IwNDI1YTczNWVjMDJjYTRkMzg5NjliYzggMTAw NjQ0DQotLS0gYS9nZGIvaTM4Ni10ZGVwLmMNCisrKyBiL2dkYi9pMzg2LXRk ZXAuYw0KQEAgLTMyNTAsNyArMzI1MCw3IEBAIGkzODZfcHNldWRvX3JlZ2lz dGVyX3JlYWRfaW50b192YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs DQogCQkJCSAgICAgIGludCByZWdudW0sDQogCQkJCSAgICAgIHN0cnVjdCB2 YWx1ZSAqcmVzdWx0X3ZhbHVlKQ0KIHsNCi0gIGdkYl9ieXRlIHJhd19idWZb TUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAgZ2RiX2J5dGUgKnJhd19idWYgPSAo Z2RiX2J5dGUgKikgYWxsb2NhIChyZWdpc3Rlcl9zaXplIChnZGJhcmNoLCBy ZWdudW0pKTsNCiAgIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHN0YXR1czsNCiAg IGdkYl9ieXRlICpidWYgPSB2YWx1ZV9jb250ZW50c19yYXcgKHJlc3VsdF92 YWx1ZSk7DQoNCkBAIC0zNDU1LDcgKzM0NTUsNyBAQCB2b2lkDQogaTM4Nl9w c2V1ZG9fcmVnaXN0ZXJfd3JpdGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLA0KIAkJCSAgICBpbnQgcmVn bnVtLCBjb25zdCBnZGJfYnl0ZSAqYnVmKQ0KIHsNCi0gIGdkYl9ieXRlIHJh d19idWZbTUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAgZ2RiX2J5dGUgKnJhd19i dWYgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChyZWdpc3Rlcl9zaXplIChnZGJh cmNoLCByZWdudW0pKTsNCg0KICAgaWYgKGkzODZfbW14X3JlZ251bV9wIChn ZGJhcmNoLCByZWdudW0pKQ0KICAgICB7DQpAQCAtNTAzNyw3ICs1MDM3LDcg QEAgaTM4Nl9wcm9jZXNzX3JlY29yZCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQogICB1aW50MzJfdCBv cGNvZGU7DQogICB1aW50OF90IG9wY29kZTg7DQogICBVTE9OR0VTVCBhZGRy Ow0KLSAgZ2RiX2J5dGUgYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsNCisgIGdk Yl9ieXRlICpidWYgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChtYXhfcmVnaXN0 ZXJfc2l6ZSAoZ2RiYXJjaCkpOw0KICAgc3RydWN0IGkzODZfcmVjb3JkX3Mg aXI7DQogICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0ZGVwID0gZ2RiYXJjaF90 ZGVwIChnZGJhcmNoKTsNCiAgIHVpbnQ4X3QgcmV4X3cgPSAtMTsNCmRpZmYg LS1naXQgYS9nZGIvaTM4Ny10ZGVwLmMgYi9nZGIvaTM4Ny10ZGVwLmMNCmlu ZGV4IGFkYmU3MjEzMzA4OWJjMzcxMTA4ZDVkZDc5YmY4ZDhlNjFiYTI1OWMu LmFjYzQzZDdlOThhYzMxNzgyNGY0NzU1ZWMxNTA3OTRmNjNhZjcxZTQgMTAw NjQ0DQotLS0gYS9nZGIvaTM4Ny10ZGVwLmMNCisrKyBiL2dkYi9pMzg3LXRk ZXAuYw0KQEAgLTg5OSw3ICs4OTksOCBAQCBpMzg3X3N1cHBseV94c2F2ZSAo c3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ251bSwNCiAgIGNv bnN0IGdkYl9ieXRlICpyZWdzID0gKGNvbnN0IGdkYl9ieXRlICopIHhzYXZl Ow0KICAgaW50IGk7DQogICB1bnNpZ25lZCBpbnQgY2xlYXJfYnY7DQotICBz dGF0aWMgY29uc3QgZ2RiX2J5dGUgemVyb1tNQVhfUkVHSVNURVJfU0laRV0g PSB7IDAgfTsNCisgIGdkYl9ieXRlICp6ZXJvID0gKGdkYl9ieXRlICopIGFs bG9jYSAobWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpKTsNCisgIG1lbXNl dCAoemVybywgMCwgbWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpKTsNCiAg IGVudW0NCiAgICAgew0KICAgICAgIG5vbmUgPSAweDAsDQpkaWZmIC0tZ2l0 IGEvZ2RiL2lhNjQtdGRlcC5jIGIvZ2RiL2lhNjQtdGRlcC5jDQppbmRleCA0 YzUzYmM2YjA1YTAxMWU0OTk1Yzk0YjY2OWI0ZjExMTA4YTEyYTM4Li4xZWFk MzZmMmUzMDhiNTQ2MmRiZjg0ODgxYTY3MTQ2NWMyZGU2ZTk4IDEwMDY0NA0K LS0tIGEvZ2RiL2lhNjQtdGRlcC5jDQorKysgYi9nZGIvaWE2NC10ZGVwLmMN CkBAIC0xMjI3LDcgKzEyMjcsNyBAQCBpYTY0X3JlZ2lzdGVyX3RvX3ZhbHVl IChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sDQogCQkJ aW50ICpvcHRpbWl6ZWRwLCBpbnQgKnVuYXZhaWxhYmxlcCkNCiB7DQogICBz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFt ZSk7DQotICBnZGJfYnl0ZSBpbltNQVhfUkVHSVNURVJfU0laRV07DQorICBn ZGJfYnl0ZSAqaW4gPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChyZWdpc3Rlcl9z aXplIChnZGJhcmNoLCByZWdudW0pKTsNCg0KICAgLyogQ29udmVydCB0byBU WVBFLiAgKi8NCiAgIGlmICghZ2V0X2ZyYW1lX3JlZ2lzdGVyX2J5dGVzIChm cmFtZSwgcmVnbnVtLCAwLA0KQEAgLTEyNDUsNyArMTI0NSw3IEBAIGlhNjRf dmFsdWVfdG9fcmVnaXN0ZXIgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwg aW50IHJlZ251bSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHR5cGUgKnZhbHR5cGUsIGNvbnN0IGdkYl9ieXRlICppbikNCiB7DQogICBz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFt ZSk7DQotICBnZGJfYnl0ZSBvdXRbTUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAg Z2RiX2J5dGUgKm91dCA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKHJlZ2lzdGVy X3NpemUgKGdkYmFyY2gsIHJlZ251bSkpOw0KICAgY29udmVydF90eXBlZF9m bG9hdGluZyAoaW4sIHZhbHR5cGUsIG91dCwgaWE2NF9leHRfdHlwZSAoZ2Ri YXJjaCkpOw0KICAgcHV0X2ZyYW1lX3JlZ2lzdGVyIChmcmFtZSwgcmVnbnVt LCBvdXQpOw0KIH0NCkBAIC0xNDUzLDYgKzE0NTMsOSBAQCBleGFtaW5lX3By b2xvZ3VlIChDT1JFX0FERFIgcGMsIENPUkVfQUREUiBsaW1fcGMsDQogCX0N CiAgICAgfQ0KDQorICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9m cmFtZV9hcmNoICh0aGlzX2ZyYW1lKTsNCisgIGdkYl9ieXRlICpyZWd2YWwg PSAoZ2RiX2J5dGUgKikgYWxsb2NhIChyZWdpc3Rlcl9zaXplIChnZGJhcmNo LCBzcF9yZWdudW0pKTsNCisNCiAgIC8qIExvb3AsIGxvb2tpbmcgZm9yIHBy b2xvZ3VlIGluc3RydWN0aW9ucywga2VlcGluZyB0cmFjayBvZg0KICAgICAg d2hlcmUgcHJlc2VydmVkIHJlZ2lzdGVycyB3ZXJlIHNwaWxsZWQuICAqLw0K ICAgd2hpbGUgKHBjIDwgbGltX3BjKQ0KQEAgLTE1MTYsNyArMTUxOSw2IEBA IGV4YW1pbmVfcHJvbG9ndWUgKENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxp bV9wYywNCiAJICBlbHNlIGlmIChxcCA9PSAwICYmIHJOID09IDINCiAJICAg ICAgICAmJiAoKHJNID09IGZwX3JlZyAmJiBmcF9yZWcgIT0gMCkgfHwgck0g PT0gMTIpKQ0KIAkgICAgew0KLQkgICAgICBnZGJfYnl0ZSBidWZbTUFYX1JF R0lTVEVSX1NJWkVdOw0KIAkgICAgICBDT1JFX0FERFIgc2F2ZWRfc3AgPSAw Ow0KIAkgICAgICAvKiBhZGRzIHIyLCBzcGlsbG9mZnNldCwgckZyYW1lUG9p bnRlcg0KIAkgICAgICAgICAgIG9yDQpAQCAtMTUzMiwxMCArMTUzNCw5IEBA IGV4YW1pbmVfcHJvbG9ndWUgKENPUkVfQUREUiBwYywgQ09SRV9BRERSIGxp bV9wYywNCiAJCSB0aGlzJ2xsIGJlIHdyb25nLiAgRklYTUUgKi8NCiAJICAg ICAgaWYgKHRoaXNfZnJhbWUpDQogCQl7DQotCQkgIHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoID0gZ2V0X2ZyYW1lX2FyY2ggKHRoaXNfZnJhbWUpOw0KIAkJ ICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9v cmRlciAoZ2RiYXJjaCk7DQotCQkgIGdldF9mcmFtZV9yZWdpc3RlciAodGhp c19mcmFtZSwgc3BfcmVnbnVtLCBidWYpOw0KLQkJICBzYXZlZF9zcCA9IGV4 dHJhY3RfdW5zaWduZWRfaW50ZWdlciAoYnVmLCA4LCBieXRlX29yZGVyKTsN CisJCSAgZ2V0X2ZyYW1lX3JlZ2lzdGVyICh0aGlzX2ZyYW1lLCBzcF9yZWdu dW0sIHJlZ3ZhbCk7DQorCQkgIHNhdmVkX3NwID0gZXh0cmFjdF91bnNpZ25l ZF9pbnRlZ2VyIChyZWd2YWwsIDgsIGJ5dGVfb3JkZXIpOw0KIAkJfQ0KIAkg ICAgICBzcGlsbF9hZGRyICA9IHNhdmVkX3NwDQogCSAgICAgICAgICAgICAg ICAgICsgKHJNID09IDEyID8gMCA6IG1lbV9zdGFja19mcmFtZV9zaXplKQ0K QEAgLTIyODksOCArMjI5MCw2IEBAIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKg0K IGlhNjRfc2lndHJhbXBfZnJhbWVfcHJldl9yZWdpc3RlciAoc3RydWN0IGZy YW1lX2luZm8gKnRoaXNfZnJhbWUsDQogCQkJCSAgIHZvaWQgKip0aGlzX2Nh Y2hlLCBpbnQgcmVnbnVtKQ0KIHsNCi0gIGdkYl9ieXRlIGJ1ZltNQVhfUkVH SVNURVJfU0laRV07DQotDQogICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9 IGdldF9mcmFtZV9hcmNoICh0aGlzX2ZyYW1lKTsNCiAgIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNo KTsNCiAgIHN0cnVjdCBpYTY0X2ZyYW1lX2NhY2hlICpjYWNoZSA9DQpAQCAt MjMwNSw2ICsyMzA0LDcgQEAgaWE2NF9zaWd0cmFtcF9mcmFtZV9wcmV2X3Jl Z2lzdGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwNCiAgICAg ew0KICAgICAgIENPUkVfQUREUiBwYyA9IDA7DQogICAgICAgQ09SRV9BRERS IGFkZHIgPSBjYWNoZS0+c2F2ZWRfcmVnc1tJQTY0X1ZSQVBfUkVHTlVNXTsN CisgICAgICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAo cmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKSk7DQoNCiAgICAgICBp ZiAoYWRkciAhPSAwKQ0KIAl7DQpAQCAtMjQ5NSw4ICsyNDk1LDggQEAgaWE2 NF9hY2Nlc3NfcmVnICh1bndfYWRkcl9zcGFjZV90IGFzLCB1bndfcmVnbnVt X3QgdXdfcmVnbnVtLCB1bndfd29yZF90ICp2YWwsDQogICBzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoICh0aGlzX2ZyYW1lKTsN CiAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRl X29yZGVyIChnZGJhcmNoKTsNCiAgIGxvbmcgbmV3X3NvZiwgb2xkX3NvZjsN Ci0gIGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQotDQorICBn ZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAobWF4X3JlZ2lz dGVyX3NpemUgKGdkYmFyY2gpKTsNCisNCiAgIC8qIFdlIG5ldmVyIGNhbGwg YW55IGxpYnVud2luZCByb3V0aW5lcyB0aGF0IG5lZWQgdG8gd3JpdGUgcmVn aXN0ZXJzLiAgKi8NCiAgIGdkYl9hc3NlcnQgKCF3cml0ZSk7DQoNCkBAIC0y NTc1LDggKzI1NzUsOCBAQCBpYTY0X2FjY2Vzc19yc2VfcmVnICh1bndfYWRk cl9zcGFjZV90IGFzLCB1bndfcmVnbnVtX3QgdXdfcmVnbnVtLA0KICAgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVn Y2FjaGUpOw0KICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJh cmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOw0KICAgbG9uZyBuZXdfc29mLCBv bGRfc29mOw0KLSAgZ2RiX2J5dGUgYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsN Ci0NCisgIGdkYl9ieXRlICpidWYgPSAoZ2RiX2J5dGUgKikgYWxsb2NhICht YXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkpOw0KKw0KICAgLyogV2UgbmV2 ZXIgY2FsbCBhbnkgbGlidW53aW5kIHJvdXRpbmVzIHRoYXQgbmVlZCB0byB3 cml0ZSByZWdpc3RlcnMuICAqLw0KICAgZ2RiX2Fzc2VydCAoIXdyaXRlKTsN Cg0KQEAgLTI5ODIsNyArMjk4Miw4IEBAIGlhNjRfbGlidW53aW5kX2ZyYW1l X3ByZXZfcmVnaXN0ZXIgKHN0cnVjdCBmcmFtZV9pbmZvICp0aGlzX2ZyYW1l LA0KIAl7DQogCSAgaW50IHJyYl9wciA9IDA7DQogCSAgVUxPTkdFU1QgY2Zt Ow0KLQkgIGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQorCSAg Z2RiX2J5dGUgKmJ1Zg0KKwkgICAgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChy ZWdpc3Rlcl9zaXplIChnZGJhcmNoLCBJQTY0X0NGTV9SRUdOVU0pKTsNCg0K IAkgIC8qIEZldGNoIHByZWRpY2F0ZSByZWdpc3RlciByZW5hbWUgYmFzZSBm cm9tIGN1cnJlbnQgZnJhbWUNCiAJICAgICBtYXJrZXIgZm9yIHRoaXMgZnJh bWUuICAqLw0KQEAgLTMyMjksOSArMzIzMCw5IEBAIGlhNjRfZXh0cmFjdF9y ZXR1cm5fdmFsdWUgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgcmVnY2Fj aGUgKnJlZ2NhY2hlLA0KICAgZmxvYXRfZWx0X3R5cGUgPSBpc19mbG9hdF9v cl9oZmFfdHlwZSAodHlwZSk7DQogICBpZiAoZmxvYXRfZWx0X3R5cGUgIT0g TlVMTCkNCiAgICAgew0KLSAgICAgIGdkYl9ieXRlIGZyb21bTUFYX1JFR0lT VEVSX1NJWkVdOw0KICAgICAgIGludCBvZmZzZXQgPSAwOw0KICAgICAgIGlu dCByZWdudW0gPSBJQTY0X0ZSOF9SRUdOVU07DQorICAgICAgZ2RiX2J5dGUg KmZyb20gPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChyZWdpc3Rlcl9zaXplIChn ZGJhcmNoLCByZWdudW0pKTsNCiAgICAgICBpbnQgbiA9IFRZUEVfTEVOR1RI ICh0eXBlKSAvIFRZUEVfTEVOR1RIIChmbG9hdF9lbHRfdHlwZSk7DQoNCiAg ICAgICB3aGlsZSAobi0tID4gMCkNCkBAIC0zMjk0LDkgKzMyOTUsOSBAQCBp YTY0X3N0b3JlX3JldHVybl92YWx1ZSAoc3RydWN0IHR5cGUgKnR5cGUsIHN0 cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQogICBmbG9hdF9lbHRfdHlwZSA9 IGlzX2Zsb2F0X29yX2hmYV90eXBlICh0eXBlKTsNCiAgIGlmIChmbG9hdF9l bHRfdHlwZSAhPSBOVUxMKQ0KICAgICB7DQotICAgICAgZ2RiX2J5dGUgdG9b TUFYX1JFR0lTVEVSX1NJWkVdOw0KICAgICAgIGludCBvZmZzZXQgPSAwOw0K ICAgICAgIGludCByZWdudW0gPSBJQTY0X0ZSOF9SRUdOVU07DQorICAgICAg Z2RiX2J5dGUgKnRvID0gKGdkYl9ieXRlICopIGFsbG9jYSAocmVnaXN0ZXJf c2l6ZSAoZ2RiYXJjaCwgcmVnbnVtKSk7DQogICAgICAgaW50IG4gPSBUWVBF X0xFTkdUSCAodHlwZSkgLyBUWVBFX0xFTkdUSCAoZmxvYXRfZWx0X3R5cGUp Ow0KDQogICAgICAgd2hpbGUgKG4tLSA+IDApDQpAQCAtMzg1NCw5ICszODU1 LDkgQEAgaWE2NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLA0KIAl7DQogCSAgYXJn b2Zmc2V0ID0gMDsNCiAJICBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7DQor CSAgZ2RiX2J5dGUgKnRvID0gKGdkYl9ieXRlICopIGFsbG9jYSAobWF4X3Jl Z2lzdGVyX3NpemUgKGdkYmFyY2gpKTsNCiAJICB3aGlsZSAobGVuID4gMCAm JiBmbG9hdHJlZyA8IElBNjRfRlIxNl9SRUdOVU0pDQogCSAgICB7DQotCSAg ICAgIGdkYl9ieXRlIHRvW01BWF9SRUdJU1RFUl9TSVpFXTsNCiAJICAgICAg Y29udmVydF90eXBlZF9mbG9hdGluZyAodmFsdWVfY29udGVudHMgKGFyZykg KyBhcmdvZmZzZXQsDQogCQkJCSAgICAgIGZsb2F0X2VsdF90eXBlLCB0bywN CiAJCQkJICAgICAgaWE2NF9leHRfdHlwZSAoZ2RiYXJjaCkpOw0KZGlmZiAt LWdpdCBhL2dkYi9tMzJyLXRkZXAuYyBiL2dkYi9tMzJyLXRkZXAuYw0KaW5k ZXggNDBmMjlkMzQzYjkxZjI1NGNjZTJkZDc4MzU1Mzc5NWM5Yzk5MGVmZi4u MTA4ZDY3ZGRmYWUwYjQ0NWU0MWM2ZTBhZTBhMTQzZGE4ZjNiMTVhYyAxMDA2 NDQNCi0tLSBhL2dkYi9tMzJyLXRkZXAuYw0KKysrIGIvZ2RiL20zMnItdGRl cC5jDQpAQCAtNjc3LDcgKzY3Nyw3IEBAIG0zMnJfcHVzaF9kdW1teV9jYWxs IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5j dGlvbiwNCiAgIGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlOw0KICAgQ09SRV9B RERSIHJlZ3ZhbDsNCiAgIGdkYl9ieXRlICp2YWw7DQotICBnZGJfYnl0ZSB2 YWxidWZbTUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAgZ2RiX2J5dGUgKnZhbGJ1 ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKG1heF9yZWdpc3Rlcl9zaXplIChn ZGJhcmNoKSk7DQogICBpbnQgbGVuOw0KDQogICAvKiBGaXJzdCBmb3JjZSBz cCB0byBhIDQtYnl0ZSBhbGlnbm1lbnQuICAqLw0KQEAgLTcwNyw3ICs3MDcs NyBAQCBtMzJyX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sDQogICAgICAgdHlwZWNv ZGUgPSBUWVBFX0NPREUgKHR5cGUpOw0KICAgICAgIGxlbiA9IFRZUEVfTEVO R1RIICh0eXBlKTsNCg0KLSAgICAgIG1lbXNldCAodmFsYnVmLCAwLCBzaXpl b2YgKHZhbGJ1ZikpOw0KKyAgICAgIG1lbXNldCAodmFsYnVmLCAwLCBtYXhf cmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkpOw0KDQogICAgICAgLyogUGFzc2Vz IHN0cnVjdHVyZXMgdGhhdCBkbyBub3QgZml0IGluIDIgcmVnaXN0ZXJzIGJ5 IHJlZmVyZW5jZS4gICovDQogICAgICAgaWYgKGxlbiA+IDgNCmRpZmYgLS1n aXQgYS9nZGIvbTY4ay1saW51eC1uYXQuYyBiL2dkYi9tNjhrLWxpbnV4LW5h dC5jDQppbmRleCA2OTQ0Yzc0ZWIxOTgzODExMzVmZGEzZGRmMDFiOWRhM2E2 M2U2MmQ1Li4wOWJmYWFhOTk3MjA1NGI5OTgyZWVkMjAyMzVjMjE0Njc3MDli MjVkIDEwMDY0NA0KLS0tIGEvZ2RiL202OGstbGludXgtbmF0LmMNCisrKyBi L2dkYi9tNjhrLWxpbnV4LW5hdC5jDQpAQCAtMTA1LDcgKzEwNSw3IEBAIGZl dGNoX3JlZ2lzdGVyIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQg cmVnbm8pDQogICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9yZWdj YWNoZV9hcmNoIChyZWdjYWNoZSk7DQogICBsb25nIHJlZ2FkZHIsIHZhbDsN CiAgIGludCBpOw0KLSAgZ2RiX2J5dGUgYnVmW01BWF9SRUdJU1RFUl9TSVpF XTsNCisgIGdkYl9ieXRlICpidWYgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChy ZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdubykpOw0KICAgaW50IHRpZDsN Cg0KICAgLyogT3ZlcmxvYWQgdGhyZWFkIGlkIG9udG8gcHJvY2VzcyBpZC4g ICovDQpAQCAtMTYwLDcgKzE2MCw3IEBAIHN0b3JlX3JlZ2lzdGVyIChjb25z dCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbm8pDQogICBs b25nIHJlZ2FkZHIsIHZhbDsNCiAgIGludCBpOw0KICAgaW50IHRpZDsNCi0g IGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQorICBnZGJfYnl0 ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAocmVnaXN0ZXJfc2l6ZSAo Z2RiYXJjaCwgcmVnbm8pKTsNCg0KICAgLyogT3ZlcmxvYWQgdGhyZWFkIGlk IG9udG8gcHJvY2VzcyBpZC4gICovDQogICB0aWQgPSBwdGlkX2dldF9sd3Ag KGluZmVyaW9yX3B0aWQpOw0KZGlmZiAtLWdpdCBhL2dkYi9taS9taS1tYWlu LmMgYi9nZGIvbWkvbWktbWFpbi5jDQppbmRleCA1N2MyM2ViZjVkNmIyZDNi Mzk4YWE0MGViZDliM2NiNzBjNTYxMjVjLi4yZjYzZDQzMTBlNmZkYTg3MmVh MzVhMGUzNjYxMTFiNTgxOThiNDU5IDEwMDY0NA0KLS0tIGEvZ2RiL21pL21p LW1haW4uYw0KKysrIGIvZ2RiL21pL21pLW1haW4uYw0KQEAgLTExMzUsOCAr MTEzNSw4IEBAIHJlZ2lzdGVyX2NoYW5nZWRfcCAoaW50IHJlZ251bSwgc3Ry dWN0IHJlZ2NhY2hlICpwcmV2X3JlZ3MsDQogCQkgICAgc3RydWN0IHJlZ2Nh Y2hlICp0aGlzX3JlZ3MpDQogew0KICAgc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAodGhpc19yZWdzKTsNCi0gIGdkYl9i eXRlIHByZXZfYnVmZmVyW01BWF9SRUdJU1RFUl9TSVpFXTsNCi0gIGdkYl9i eXRlIHRoaXNfYnVmZmVyW01BWF9SRUdJU1RFUl9TSVpFXTsNCisgIGdkYl9i eXRlICpwcmV2X2J1ZmZlciA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKG1heF9y ZWdpc3Rlcl9zaXplIChnZGJhcmNoKSk7DQorICBnZGJfYnl0ZSAqdGhpc19i dWZmZXIgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChtYXhfcmVnaXN0ZXJfc2l6 ZSAoZ2RiYXJjaCkpOw0KICAgZW51bSByZWdpc3Rlcl9zdGF0dXMgcHJldl9z dGF0dXM7DQogICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyB0aGlzX3N0YXR1czsN Cg0KZGlmZiAtLWdpdCBhL2dkYi9taXBzLWZic2QtdGRlcC5jIGIvZ2RiL21p cHMtZmJzZC10ZGVwLmMNCmluZGV4IDAwZmFlMGVjNjBkZGM5ZTY0NWQzMjM2 ZWZlMjlmMmY5ZTljZWFiNWMuLjNlYzlhNTAzYWE1MmQ0YWEzNTQ2Y2QzMmFm MzkxM2VhZGM2MmQ5MTkgMTAwNjQ0DQotLS0gYS9nZGIvbWlwcy1mYnNkLXRk ZXAuYw0KKysrIGIvZ2RiL21pcHMtZmJzZC10ZGVwLmMNCkBAIC02Myw3ICs2 Myw3IEBAIG1pcHNfZmJzZF9zdXBwbHlfcmVnIChzdHJ1Y3QgcmVnY2FjaGUg KnJlZ2NhY2hlLCBpbnQgcmVnbnVtLCBjb25zdCB2b2lkICphZGRyLA0KICAg ZWxzZQ0KICAgICB7DQogICAgICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3Jk ZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOw0KLSAgICAgIGdk Yl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQorICAgICAgZ2RiX2J5 dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKHJlZ2lzdGVyX3NpemUg KGdkYmFyY2gsIHJlZ251bSkpOw0KICAgICAgIExPTkdFU1QgdmFsOw0KDQog ICAgICAgdmFsID0gZXh0cmFjdF9zaWduZWRfaW50ZWdlciAoKGNvbnN0IGdk Yl9ieXRlICopIGFkZHIsIGxlbiwgYnl0ZV9vcmRlcik7DQpAQCAtOTAsNyAr OTAsNyBAQCBtaXBzX2Zic2RfY29sbGVjdF9yZWcgKGNvbnN0IHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sIHZvaWQgKmFkZHIsDQog ICBlbHNlDQogICAgIHsNCiAgICAgICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9v cmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7DQotICAgICAg Z2RiX2J5dGUgYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsNCisgICAgICBnZGJf Ynl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAocmVnaXN0ZXJfc2l6 ZSAoZ2RiYXJjaCwgcmVnbnVtKSk7DQogICAgICAgTE9OR0VTVCB2YWw7DQoN CiAgICAgICByZWdjYWNoZV9yYXdfY29sbGVjdCAocmVnY2FjaGUsIHJlZ251 bSwgYnVmKTsNCmRpZmYgLS1naXQgYS9nZGIvbWlwcy1saW51eC10ZGVwLmMg Yi9nZGIvbWlwcy1saW51eC10ZGVwLmMNCmluZGV4IDU3ZTc1YjUzNDNlMWI5 MjdlOWZlMjhkZWExNjc1OWY3NjljZjQ1MDYuLjA3ZGEzNzQxOTNiZjdjODNk MWU3MmEwZjllOGViZGYwMjVkYzBhMmUgMTAwNjQ0DQotLS0gYS9nZGIvbWlw cy1saW51eC10ZGVwLmMNCisrKyBiL2dkYi9taXBzLWxpbnV4LXRkZXAuYw0K QEAgLTExOCw3ICsxMTgsOCBAQCBzdXBwbHlfMzJiaXRfcmVnIChzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLCBjb25zdCB2b2lkICph ZGRyKQ0KIHsNCiAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3Jl Z2NhY2hlX2FyY2ggKHJlZ2NhY2hlKTsNCiAgIGVudW0gYmZkX2VuZGlhbiBi eXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsNCi0g IGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQorICBnZGJfYnl0 ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAocmVnaXN0ZXJfc2l6ZSAo Z2RiYXJjaCwgcmVnbnVtKSk7DQorDQogICBzdG9yZV9zaWduZWRfaW50ZWdl ciAoYnVmLCByZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdudW0pLCBieXRl X29yZGVyLA0KIAkJCWV4dHJhY3Rfc2lnbmVkX2ludGVnZXIgKChjb25zdCBn ZGJfYnl0ZSAqKSBhZGRyLCA0LA0KIAkJCQkJCWJ5dGVfb3JkZXIpKTsNCkBA IC0xMzEsMTIgKzEzMiwxMiBAQCB2b2lkDQogbWlwc19zdXBwbHlfZ3JlZ3Nl dCAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCiAJCSAgICAgY29uc3Qg bWlwc19lbGZfZ3JlZ3NldF90ICpncmVnc2V0cCkNCiB7DQorICBzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9yZWdjYWNoZV9hcmNoIChyZWdjYWNo ZSk7DQogICBpbnQgcmVnaTsNCiAgIGNvbnN0IG1pcHNfZWxmX2dyZWdfdCAq cmVncCA9ICpncmVnc2V0cDsNCi0gIGNoYXIgemVyb2J1ZltNQVhfUkVHSVNU RVJfU0laRV07DQotICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9y ZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7DQorICBjaGFyICp6ZXJvYnVmID0g KGNoYXIgKikgYWxsb2NhIChtYXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkp Ow0KDQotICBtZW1zZXQgKHplcm9idWYsIDAsIE1BWF9SRUdJU1RFUl9TSVpF KTsNCisgIG1lbXNldCAoemVyb2J1ZiwgMCwgbWF4X3JlZ2lzdGVyX3NpemUg KGdkYmFyY2gpKTsNCg0KICAgZm9yIChyZWdpID0gRUZfUkVHMCArIDE7IHJl Z2kgPD0gRUZfUkVHMzE7IHJlZ2krKykNCiAgICAgc3VwcGx5XzMyYml0X3Jl ZyAocmVnY2FjaGUsIHJlZ2kgLSBFRl9SRUcwLCByZWdwICsgcmVnaSk7DQpA QCAtMjQ1LDkgKzI0Niw5IEBAIG1pcHNfc3VwcGx5X2ZwcmVnc2V0IChzdHJ1 Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLA0KIHsNCiAgIHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2FyY2ggKHJlZ2NhY2hlKTsNCiAg IGludCByZWdpOw0KLSAgY2hhciB6ZXJvYnVmW01BWF9SRUdJU1RFUl9TSVpF XTsNCisgIGNoYXIgKnplcm9idWYgPSAoY2hhciAqKSBhbGxvY2EgKG1heF9y ZWdpc3Rlcl9zaXplIChnZGJhcmNoKSk7DQoNCi0gIG1lbXNldCAoemVyb2J1 ZiwgMCwgTUFYX1JFR0lTVEVSX1NJWkUpOw0KKyAgbWVtc2V0ICh6ZXJvYnVm LCAwLCBtYXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkpOw0KDQogICBmb3Ig KHJlZ2kgPSAwOyByZWdpIDwgMzI7IHJlZ2krKykNCiAgICAgcmVnY2FjaGVf cmF3X3N1cHBseSAocmVnY2FjaGUsDQpAQCAtMzc3LDEyICszNzgsMTIgQEAg dm9pZA0KIG1pcHM2NF9zdXBwbHlfZ3JlZ3NldCAoc3RydWN0IHJlZ2NhY2hl ICpyZWdjYWNoZSwNCiAJCSAgICAgICBjb25zdCBtaXBzNjRfZWxmX2dyZWdz ZXRfdCAqZ3JlZ3NldHApDQogew0KKyAgc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOw0KICAgaW50IHJl Z2k7DQogICBjb25zdCBtaXBzNjRfZWxmX2dyZWdfdCAqcmVncCA9ICpncmVn c2V0cDsNCi0gIGdkYl9ieXRlIHplcm9idWZbTUFYX1JFR0lTVEVSX1NJWkVd Ow0KLSAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVf YXJjaCAocmVnY2FjaGUpOw0KKyAgZ2RiX2J5dGUgKnplcm9idWYgPSAoZ2Ri X2J5dGUgKikgYWxsb2NhIChtYXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkp Ow0KDQotICBtZW1zZXQgKHplcm9idWYsIDAsIE1BWF9SRUdJU1RFUl9TSVpF KTsNCisgIG1lbXNldCAoemVyb2J1ZiwgMCwgbWF4X3JlZ2lzdGVyX3NpemUg KGdkYmFyY2gpKTsNCg0KICAgZm9yIChyZWdpID0gTUlQUzY0X0VGX1JFRzAg KyAxOyByZWdpIDw9IE1JUFM2NF9FRl9SRUczMTsgcmVnaSsrKQ0KICAgICBz dXBwbHlfNjRiaXRfcmVnIChyZWdjYWNoZSwgcmVnaSAtIE1JUFM2NF9FRl9S RUcwLA0KQEAgLTQ3MCw3ICs0NzEsNyBAQCBtaXBzNjRfZmlsbF9ncmVnc2V0 IChjb25zdCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLA0KDQogICBpZiAo cmVnYWRkciAhPSAtMSkNCiAgICAgew0KLSAgICAgIGdkYl9ieXRlIGJ1ZltN QVhfUkVHSVNURVJfU0laRV07DQorICAgICAgZ2RiX2J5dGUgKmJ1ZiA9IChn ZGJfYnl0ZSAqKSBhbGxvY2EgKHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gsIHJl Z25vKSk7DQogICAgICAgTE9OR0VTVCB2YWw7DQoNCiAgICAgICByZWdjYWNo ZV9yYXdfY29sbGVjdCAocmVnY2FjaGUsIHJlZ25vLCBidWYpOw0KQEAgLTU3 NCw3ICs1NzUsNyBAQCBtaXBzNjRfZmlsbF9mcHJlZ3NldCAoY29uc3Qgc3Ry dWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCiAgICAgfQ0KICAgZWxzZSBpZiAo cmVnbm8gPT0gbWlwc19yZWdudW0gKGdkYmFyY2gpLT5mcF9jb250cm9sX3N0 YXR1cykNCiAgICAgew0KLSAgICAgIGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNU RVJfU0laRV07DQorICAgICAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAq KSBhbGxvY2EgKHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gsIHJlZ25vKSk7DQog ICAgICAgTE9OR0VTVCB2YWw7DQoNCiAgICAgICByZWdjYWNoZV9yYXdfY29s bGVjdCAocmVnY2FjaGUsIHJlZ25vLCBidWYpOw0KQEAgLTU4NSw3ICs1ODYs NyBAQCBtaXBzNjRfZmlsbF9mcHJlZ3NldCAoY29uc3Qgc3RydWN0IHJlZ2Nh Y2hlICpyZWdjYWNoZSwNCiAgICAgfQ0KICAgZWxzZSBpZiAocmVnbm8gPT0g bWlwc19yZWdudW0gKGdkYmFyY2gpLT5mcF9pbXBsZW1lbnRhdGlvbl9yZXZp c2lvbikNCiAgICAgew0KLSAgICAgIGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNU RVJfU0laRV07DQorICAgICAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAq KSBhbGxvY2EgKHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gsIHJlZ25vKSk7DQog ICAgICAgTE9OR0VTVCB2YWw7DQoNCiAgICAgICByZWdjYWNoZV9yYXdfY29s bGVjdCAocmVnY2FjaGUsIHJlZ25vLCBidWYpOw0KZGlmZiAtLWdpdCBhL2dk Yi9taXBzLXRkZXAuYyBiL2dkYi9taXBzLXRkZXAuYw0KaW5kZXggNjM3YjM0 ZWRkN2MyY2Y1Njc2YjVjMzU5Y2ExYWNmZTU5ZjBhZDZjOC4uMWE0Mjc0NDll MDUzYmQ5ZjVhNjE5NjBiYjBlZWQxYjE4M2NhM2EyYSAxMDA2NDQNCi0tLSBh L2dkYi9taXBzLXRkZXAuYw0KKysrIGIvZ2RiL21pcHMtdGRlcC5jDQpAQCAt NDUyMywxMCArNDUyMywxMCBAQCBtaXBzX2VhYmlfcHVzaF9kdW1teV9jYWxs IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5j dGlvbiwNCiAgIC8qIE5vdyBsb2FkIGFzIG1hbnkgYXMgcG9zc2libGUgb2Yg dGhlIGZpcnN0IGFyZ3VtZW50cyBpbnRvDQogICAgICByZWdpc3RlcnMsIGFu ZCBwdXNoIHRoZSByZXN0IG9udG8gdGhlIHN0YWNrLiAgTG9vcCB0aHJ1IGFy Z3MNCiAgICAgIGZyb20gZmlyc3QgdG8gbGFzdC4gICovDQorICBnZGJfYnl0 ZSAqdmFsYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAobWF4X3JlZ2lzdGVy X3NpemUgKGdkYmFyY2gpKTsNCiAgIGZvciAoYXJnbnVtID0gMDsgYXJnbnVt IDwgbmFyZ3M7IGFyZ251bSsrKQ0KICAgICB7DQogICAgICAgY29uc3QgZ2Ri X2J5dGUgKnZhbDsNCi0gICAgICBnZGJfYnl0ZSB2YWxidWZbTUFYX1JFR0lT VEVSX1NJWkVdOw0KICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1th cmdudW1dOw0KICAgICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZSA9IGNoZWNr X3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOw0KICAgICAgIGludCBsZW4g PSBUWVBFX0xFTkdUSCAoYXJnX3R5cGUpOw0KQEAgLTU3NTcsNyArNTc1Nyw3 IEBAIG1pcHNfbzMyX3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sDQogICAgICAgLyogQSBz dHJ1Y3QgdGhhdCBjb250YWlucyBvbmUgb3IgdHdvIGZsb2F0cy4gIEVhY2gg dmFsdWUgaXMgcGFydA0KICAgICAgICAgIGluIHRoZSBsZWFzdCBzaWduaWZp Y2FudCBwYXJ0IG9mIHRoZWlyIGZsb2F0aW5nIHBvaW50DQogICAgICAgICAg cmVnaXN0ZXIuLiAgKi8NCi0gICAgICBnZGJfYnl0ZSByZWdbTUFYX1JFR0lT VEVSX1NJWkVdOw0KKyAgICAgIGdkYl9ieXRlICpyZWcgPSAoZ2RiX2J5dGUg KikgYWxsb2NhIChtYXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkpOw0KICAg ICAgIGludCByZWdudW07DQogICAgICAgaW50IGZpZWxkOw0KICAgICAgIGZv ciAoZmllbGQgPSAwLCByZWdudW0gPSBtaXBzX3JlZ251bSAoZ2RiYXJjaCkt PmZwMDsNCkBAIC02NDcyLDcgKzY0NzIsNyBAQCBwcmludF9ncF9yZWdpc3Rl cl9yb3cgKHN0cnVjdCB1aV9maWxlICpmaWxlLCBzdHJ1Y3QgZnJhbWVfaW5m byAqZnJhbWUsDQogew0KICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBn ZXRfZnJhbWVfYXJjaCAoZnJhbWUpOw0KICAgLyogRG8gdmFsdWVzIGZvciBH UCAoaW50KSByZWdzLiAgKi8NCi0gIGdkYl9ieXRlIHJhd19idWZmZXJbTUFY X1JFR0lTVEVSX1NJWkVdOw0KKyAgZ2RiX2J5dGUgKnJhd19idWZmZXIgPSAo Z2RiX2J5dGUgKikgYWxsb2NhIChtYXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJj aCkpOw0KICAgaW50IG5jb2xzID0gKG1pcHNfYWJpX3JlZ3NpemUgKGdkYmFy Y2gpID09IDggPyA0IDogOCk7ICAgIC8qIGRpc3BsYXkgY29scw0KIAkJCQkJ CQkgICAgICAgcGVyIHJvdy4gICovDQogICBpbnQgY29sLCBieXRlOw0KZGlm ZiAtLWdpdCBhL2dkYi9tbjEwMzAwLWxpbnV4LXRkZXAuYyBiL2dkYi9tbjEw MzAwLWxpbnV4LXRkZXAuYw0KaW5kZXggOGMyM2YwMmIyYjU4YjI5YjEwYTY1 ZGY1YWUwYjRiY2RjZTI5MjVjZC4uODEyNGQ3NzA0OWIxZWRmZTMwMDNiMDdj Yjg3YjA2YTRiYmViM2M3OSAxMDA2NDQNCi0tLSBhL2dkYi9tbjEwMzAwLWxp bnV4LXRkZXAuYw0KKysrIGIvZ2RiL21uMTAzMDAtbGludXgtdGRlcC5jDQpA QCAtODYsNyArODYsOSBAQCBhbTMzX3N1cHBseV9ncmVnc2V0X21ldGhvZCAo Y29uc3Qgc3RydWN0IHJlZ3NldCAqcmVnc2V0LA0KIAkJCSAgICBzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLA0KIAkJCSAgICBpbnQgcmVnbnVtLCBjb25z dCB2b2lkICpncmVncywgc2l6ZV90IGxlbikNCiB7DQotICBjaGFyIHplcm9i dWZbTUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOw0KKyAgaW50 IHJlZ3NpemUgPSByZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdudW0pOw0K KyAgY2hhciAqemVyb2J1ZiA9IChjaGFyICopIGFsbG9jYSAocmVnc2l6ZSk7 DQogICBjb25zdCBtbjEwMzAwX2VsZl9ncmVnX3QgKnJlZ3AgPSAoY29uc3Qg bW4xMDMwMF9lbGZfZ3JlZ190ICopIGdyZWdzOw0KICAgaW50IGk7DQoNCkBA IC0xODgsMTUgKzE5MCwxNSBAQCBhbTMzX3N1cHBseV9ncmVnc2V0X21ldGhv ZCAoY29uc3Qgc3RydWN0IHJlZ3NldCAqcmVnc2V0LA0KDQogICAgIC8qIHNz cCwgbXNwLCBhbmQgdXNwIGFyZSBpbmFjY2Vzc2libGUuICAqLw0KICAgY2Fz ZSBFX0U4X1JFR05VTToNCi0gICAgbWVtc2V0ICh6ZXJvYnVmLCAwLCBNQVhf UkVHSVNURVJfU0laRSk7DQorICAgIG1lbXNldCAoemVyb2J1ZiwgMCwgcmVn c2l6ZSk7DQogICAgIHJlZ2NhY2hlX3Jhd19zdXBwbHkgKHJlZ2NhY2hlLCBF X0U4X1JFR05VTSwgemVyb2J1Zik7DQogICAgIGJyZWFrOw0KICAgY2FzZSBF X0U5X1JFR05VTToNCi0gICAgbWVtc2V0ICh6ZXJvYnVmLCAwLCBNQVhfUkVH SVNURVJfU0laRSk7DQorICAgIG1lbXNldCAoemVyb2J1ZiwgMCwgcmVnc2l6 ZSk7DQogICAgIHJlZ2NhY2hlX3Jhd19zdXBwbHkgKHJlZ2NhY2hlLCBFX0U5 X1JFR05VTSwgemVyb2J1Zik7DQogICAgIGJyZWFrOw0KICAgY2FzZSBFX0Ux MF9SRUdOVU06DQotICAgIG1lbXNldCAoemVyb2J1ZiwgMCwgTUFYX1JFR0lT VEVSX1NJWkUpOw0KKyAgICBtZW1zZXQgKHplcm9idWYsIDAsIHJlZ3NpemUp Ow0KICAgICByZWdjYWNoZV9yYXdfc3VwcGx5IChyZWdjYWNoZSwgRV9FMTBf UkVHTlVNLCB6ZXJvYnVmKTsNCg0KICAgICBicmVhazsNCkBAIC0yMTgsMTEg KzIyMCwxMSBAQCBhbTMzX3N1cHBseV9ncmVnc2V0X21ldGhvZCAoY29uc3Qg c3RydWN0IHJlZ3NldCAqcmVnc2V0LA0KICAgICBicmVhazsNCiAgIGNhc2Ug RV9GUENSX1JFR05VTSArIDE6DQogICAgIC8qIFRoZSB0d28gdW51c2VkIHJl Z2lzdGVycyBiZXlvbmQgZnBjciBhcmUgaW5hY2Nlc3NpYmxlLiAgKi8NCi0g ICAgbWVtc2V0ICh6ZXJvYnVmLCAwLCBNQVhfUkVHSVNURVJfU0laRSk7DQor ICAgIG1lbXNldCAoemVyb2J1ZiwgMCwgcmVnc2l6ZSk7DQogICAgIHJlZ2Nh Y2hlX3Jhd19zdXBwbHkgKHJlZ2NhY2hlLCBFX0ZQQ1JfUkVHTlVNICsgMSwg emVyb2J1Zik7DQogICAgIGJyZWFrOw0KICAgY2FzZSBFX0ZQQ1JfUkVHTlVN ICsgMjoNCi0gICAgbWVtc2V0ICh6ZXJvYnVmLCAwLCBNQVhfUkVHSVNURVJf U0laRSk7DQorICAgIG1lbXNldCAoemVyb2J1ZiwgMCwgcmVnc2l6ZSk7DQog ICAgIHJlZ2NhY2hlX3Jhd19zdXBwbHkgKHJlZ2NhY2hlLCBFX0ZQQ1JfUkVH TlVNICsgMiwgemVyb2J1Zik7DQogICAgIGJyZWFrOw0KICAgZGVmYXVsdDoJ LyogQW4gZXJyb3IsIG9idmlvdXNseSwgYnV0IHNob3VsZCB3ZSBlcnJvciBv dXQ/ICAqLw0KZGlmZiAtLWdpdCBhL2dkYi9tbjEwMzAwLXRkZXAuYyBiL2dk Yi9tbjEwMzAwLXRkZXAuYw0KaW5kZXggNWY1ZDVjYTg3YjgxMWQ2NmRhMjcy MDM2YTUxNTIxMGNmMmYxNzEzNC4uYmNlOGQ4MzlmMTAwYjBmZTg1MWE4ZjUy NmU1MjFjM2IyZGRhOTVmMyAxMDA2NDQNCi0tLSBhL2dkYi9tbjEwMzAwLXRk ZXAuYw0KKysrIGIvZ2RiL21uMTAzMDAtdGRlcC5jDQpAQCAtMTk1LDcgKzE5 NSw3IEBAIHN0YXRpYyB2b2lkDQogbW4xMDMwMF9leHRyYWN0X3JldHVybl92 YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp0 eXBlLA0KIAkJCSAgICAgIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHZv aWQgKnZhbGJ1ZikNCiB7DQotICBnZGJfYnl0ZSBidWZbTUFYX1JFR0lTVEVS X1NJWkVdOw0KKyAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxv Y2EgKG1heF9yZWdpc3Rlcl9zaXplIChnZGJhcmNoKSk7DQogICBpbnQgbGVu ID0gVFlQRV9MRU5HVEggKHR5cGUpOw0KICAgaW50IHJlZywgcmVnc3o7DQoN CkBAIC0xMjIzLDcgKzEyMjMsNyBAQCBtbjEwMzAwX3B1c2hfZHVtbXlfY2Fs bCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsDQogICBpbnQgc3RhY2tfb2Zm c2V0ID0gMDsNCiAgIGludCBhcmdudW07DQogICBjb25zdCBnZGJfYnl0ZSAq dmFsOw0KLSAgZ2RiX2J5dGUgdmFsYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsN CisgIGdkYl9ieXRlICp2YWxidWYgPSAoZ2RiX2J5dGUgKikgYWxsb2NhICht YXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkpOw0KDQogICAvKiBUaGlzIHNo b3VsZCBiZSBhIG5vcCwgYnV0IGFsaWduIHRoZSBzdGFjayBqdXN0IGluIGNh c2Ugc29tZXRoaW5nDQogICAgICB3ZW50IHdyb25nLiAgU3RhY2tzIGFyZSBm b3VyIGJ5dGUgYWxpZ25lZCBvbiB0aGUgbW4xMDMwMC4gICovDQpkaWZmIC0t Z2l0IGEvZ2RiL3BwYy1saW51eC1uYXQuYyBiL2dkYi9wcGMtbGludXgtbmF0 LmMNCmluZGV4IGE1NmQxNTRkMzEyNmM2OTQzMWVmZjA3MTdkNmI0YmNiZTE1 ZjlkOTYuLmQ5ZDBhZDU2MWYxYjZiNDkzMjRjOWY1MTZhZjFiNzMyZWZhZDEw YjcgMTAwNjQ0DQotLS0gYS9nZGIvcHBjLWxpbnV4LW5hdC5jDQorKysgYi9n ZGIvcHBjLWxpbnV4LW5hdC5jDQpAQCAtNDk2LDcgKzQ5Niw3IEBAIGZldGNo X3JlZ2lzdGVyIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgdGlk LCBpbnQgcmVnbm8pDQogICBDT1JFX0FERFIgcmVnYWRkciA9IHBwY19yZWdp c3Rlcl91X2FkZHIgKGdkYmFyY2gsIHJlZ25vKTsNCiAgIGludCBieXRlc190 cmFuc2ZlcnJlZDsNCiAgIHVuc2lnbmVkIGludCBvZmZzZXQ7ICAgICAgICAg LyogT2Zmc2V0IG9mIHJlZ2lzdGVycyB3aXRoaW4gdGhlIHUgYXJlYS4gICov DQotICBnZGJfYnl0ZSBidWZbTUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAgZ2Ri X2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKHJlZ2lzdGVyX3Np emUgKGdkYmFyY2gsIHJlZ25vKSk7DQoNCiAgIGlmIChhbHRpdmVjX3JlZ2lz dGVyX3AgKGdkYmFyY2gsIHJlZ25vKSkNCiAgICAgew0KQEAgLTk4Myw3ICs5 ODMsNyBAQCBzdG9yZV9yZWdpc3RlciAoY29uc3Qgc3RydWN0IHJlZ2NhY2hl ICpyZWdjYWNoZSwgaW50IHRpZCwgaW50IHJlZ25vKQ0KICAgQ09SRV9BRERS IHJlZ2FkZHIgPSBwcGNfcmVnaXN0ZXJfdV9hZGRyIChnZGJhcmNoLCByZWdu byk7DQogICBpbnQgaTsNCiAgIHNpemVfdCBieXRlc190b190cmFuc2ZlcjsN Ci0gIGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQorICBnZGJf Ynl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAocmVnaXN0ZXJfc2l6 ZSAoZ2RiYXJjaCwgcmVnbm8pKTsNCg0KICAgaWYgKGFsdGl2ZWNfcmVnaXN0 ZXJfcCAoZ2RiYXJjaCwgcmVnbm8pKQ0KICAgICB7DQpkaWZmIC0tZ2l0IGEv Z2RiL3BwYy1zeXN2LXRkZXAuYyBiL2dkYi9wcGMtc3lzdi10ZGVwLmMNCmlu ZGV4IGVjYWU2MzYzZTNhZTBhMzg4YmM1Mjk0YWFkZTU1OTBjNGI0MzJkMTgu LjY5NDAxZWE1MzljYjNiOTc5MTRlYjlkYzc0NGI2ZDczYjBjNDY5MTMgMTAw NjQ0DQotLS0gYS9nZGIvcHBjLXN5c3YtdGRlcC5jDQorKysgYi9nZGIvcHBj LXN5c3YtdGRlcC5jDQpAQCAtNjksNiArNjksNyBAQCBwcGNfc3lzdl9hYmlf cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3Ry dWN0IHZhbHVlICpmdW5jdGlvbiwNCiAgIFVMT05HRVNUIHNhdmVkX3NwOw0K ICAgaW50IGFyZ3NwYWNlID0gMDsJCS8qIDAgaXMgYW4gaW5pdGlhbCB3cm9u ZyBndWVzcy4gICovDQogICBpbnQgd3JpdGVfcGFzczsNCisgIGdkYl9ieXRl ICpyZWd2YWwgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChtYXhfcmVnaXN0ZXJf c2l6ZSAoZ2RiYXJjaCkpOw0KDQogICBnZGJfYXNzZXJ0ICh0ZGVwLT53b3Jk c2l6ZSA9PSA0KTsNCg0KQEAgLTEzNCw3ICsxMzUsNiBAQCBwcGNfc3lzdl9h YmlfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHZhbHVlICpmdW5jdGlvbiwNCiAJCSAgICB7DQogCQkgICAgICAv KiBBbHdheXMgc3RvcmUgdGhlIGZsb2F0aW5nIHBvaW50IHZhbHVlIHVzaW5n DQogCQkgICAgICAgICB0aGUgcmVnaXN0ZXIncyBmbG9hdGluZy1wb2ludCBm b3JtYXQuICAqLw0KLQkJICAgICAgZ2RiX2J5dGUgcmVndmFsW01BWF9SRUdJ U1RFUl9TSVpFXTsNCiAJCSAgICAgIHN0cnVjdCB0eXBlICpyZWd0eXBlDQog CQkJPSByZWdpc3Rlcl90eXBlIChnZGJhcmNoLCB0ZGVwLT5wcGNfZnAwX3Jl Z251bSArIGZyZWcpOw0KIAkJICAgICAgY29udmVydF90eXBlZF9mbG9hdGlu ZyAodmFsLCB0eXBlLCByZWd2YWwsIHJlZ3R5cGUpOw0KQEAgLTI3OCw3ICsy NzgsNiBAQCBwcGNfc3lzdl9hYmlfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwNCiAJ CXsNCiAJCSAgaWYgKHdyaXRlX3Bhc3MpDQogCQkgICAgew0KLQkJICAgICAg Z2RiX2J5dGUgcmVndmFsW01BWF9SRUdJU1RFUl9TSVpFXTsNCiAJCSAgICAg IGNvbnN0IGdkYl9ieXRlICpwOw0KDQogCQkgICAgICAvKiAzMi1iaXQgZGVj aW1hbCBmbG9hdHMgYXJlIHJpZ2h0IGFsaWduZWQgaW4gdGhlDQpAQCAtMzY0 LDcgKzM2Myw2IEBAIHBwY19zeXN2X2FiaV9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9u LA0KIAkJCSAgaWYgKHdyaXRlX3Bhc3MpDQogCQkJICAgIHsNCiAJCQkgICAg ICBpbnQgcmVnbnVtID0gdGRlcC0+cHBjX2ZwMF9yZWdudW0gKyBmcmVnOw0K LQkJCSAgICAgIGdkYl9ieXRlIHJlZ3ZhbFtNQVhfUkVHSVNURVJfU0laRV07 DQogCQkJICAgICAgc3RydWN0IHR5cGUgKnJlZ3R5cGUNCiAJCQkJPSByZWdp c3Rlcl90eXBlIChnZGJhcmNoLCByZWdudW0pOw0KIAkJCSAgICAgIGNvbnZl cnRfdHlwZWRfZmxvYXRpbmcgKGVsdmFsLCBlbHR5cGUsDQpAQCAtNDExLDgg KzQwOSw3IEBAIHBwY19zeXN2X2FiaV9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLA0K IAkJICAgIH0NCiAJCSAgZWxzZQ0KIAkJICAgIHsNCi0JCSAgICAgIGdkYl9i eXRlIHdvcmRbTUFYX1JFR0lTVEVSX1NJWkVdOw0KLQkJICAgICAgc3RvcmVf dW5zaWduZWRfaW50ZWdlciAod29yZCwgdGRlcC0+d29yZHNpemUsIGJ5dGVf b3JkZXIsDQorCQkgICAgICBzdG9yZV91bnNpZ25lZF9pbnRlZ2VyIChyZWd2 YWwsIHRkZXAtPndvcmRzaXplLCBieXRlX29yZGVyLA0KIAkJCQkJICAgICAg dW5wYWNrX2xvbmcgKGVsdHlwZSwgZWx2YWwpKTsNCg0KIAkJICAgICAgaWYg KGdyZWcgPD0gMTApDQpAQCAtNDIwLDE0ICs0MTcsMTQgQEAgcHBjX3N5c3Zf YWJpX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sDQogCQkJICBpZiAod3JpdGVfcGFz cykNCiAJCQkgICAgcmVnY2FjaGVfY29va2VkX3dyaXRlIChyZWdjYWNoZSwN CiAJCQkJCQkgICB0ZGVwLT5wcGNfZ3AwX3JlZ251bSArIGdyZWcsDQotCQkJ CQkJICAgd29yZCk7DQorCQkJCQkJICAgcmVndmFsKTsNCiAJCQkgIGdyZWcr KzsNCiAJCQl9DQogCQkgICAgICBlbHNlDQogCQkJew0KIAkJCSAgYXJnb2Zm c2V0ID0gYWxpZ25fdXAgKGFyZ29mZnNldCwgdGRlcC0+d29yZHNpemUpOw0K IAkJCSAgaWYgKHdyaXRlX3Bhc3MpDQotCQkJICAgIHdyaXRlX21lbW9yeSAo c3AgKyBhcmdvZmZzZXQsIHdvcmQsIHRkZXAtPndvcmRzaXplKTsNCisJCQkg ICAgd3JpdGVfbWVtb3J5IChzcCArIGFyZ29mZnNldCwgcmVndmFsLCB0ZGVw LT53b3Jkc2l6ZSk7DQogCQkJICBhcmdvZmZzZXQgKz0gdGRlcC0+d29yZHNp emU7DQogCQkJfQ0KIAkJICAgIH0NCkBAIC01MTYsOCArNTEzLDcgQEAgcHBj X3N5c3ZfYWJpX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sDQogCSAgICB7DQogCSAg ICAgIC8qIFJlZHVjZSB0aGUgcGFyYW1ldGVyIGRvd24gdG8gc29tZXRoaW5n IHRoYXQgZml0cyBpbiBhDQogCSAgICAgICAgICJ3b3JkIi4gICovDQotCSAg ICAgIGdkYl9ieXRlIHdvcmRbTUFYX1JFR0lTVEVSX1NJWkVdOw0KLQkgICAg ICBtZW1zZXQgKHdvcmQsIDAsIE1BWF9SRUdJU1RFUl9TSVpFKTsNCisJICAg ICAgbWVtc2V0IChyZWd2YWwsIDAsIG1heF9yZWdpc3Rlcl9zaXplIChnZGJh cmNoKSk7DQogCSAgICAgIGlmIChsZW4gPiB0ZGVwLT53b3Jkc2l6ZQ0KIAkJ ICB8fCBUWVBFX0NPREUgKHR5cGUpID09IFRZUEVfQ09ERV9TVFJVQ1QNCiAJ CSAgfHwgVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfVU5JT04pDQpA QCAtNTM1LDMxICs1MzEsMzEgQEAgcHBjX3N5c3ZfYWJpX3B1c2hfZHVtbXlf Y2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAq ZnVuY3Rpb24sDQogCQkgICAgd3JpdGVfbWVtb3J5IChzcCArIHN0cnVjdG9m ZnNldCwgdmFsLCBsZW4pOw0KIAkJICAvKiAuLi4gYW5kIHRoZW4gYSAid29y ZCIgcG9pbnRpbmcgdG8gdGhhdCBhZGRyZXNzIGlzDQogCQkgICAgIHBhc3Nl ZCBhcyB0aGUgcGFyYW1ldGVyLiAgKi8NCi0JCSAgc3RvcmVfdW5zaWduZWRf aW50ZWdlciAod29yZCwgdGRlcC0+d29yZHNpemUsIGJ5dGVfb3JkZXIsDQor CQkgIHN0b3JlX3Vuc2lnbmVkX2ludGVnZXIgKHJlZ3ZhbCwgdGRlcC0+d29y ZHNpemUsIGJ5dGVfb3JkZXIsDQogCQkJCQkgIHNwICsgc3RydWN0b2Zmc2V0 KTsNCiAJCSAgc3RydWN0b2Zmc2V0ICs9IGxlbjsNCiAJCX0NCiAJICAgICAg ZWxzZSBpZiAoVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfSU5UKQ0K IAkJLyogU2lnbiBvciB6ZXJvIGV4dGVuZCB0aGUgImludCIgaW50byBhICJ3 b3JkIi4gICovDQotCQlzdG9yZV91bnNpZ25lZF9pbnRlZ2VyICh3b3JkLCB0 ZGVwLT53b3Jkc2l6ZSwgYnl0ZV9vcmRlciwNCisJCXN0b3JlX3Vuc2lnbmVk X2ludGVnZXIgKHJlZ3ZhbCwgdGRlcC0+d29yZHNpemUsIGJ5dGVfb3JkZXIs DQogCQkJCQl1bnBhY2tfbG9uZyAodHlwZSwgdmFsKSk7DQogCSAgICAgIGVs c2UNCiAJCS8qIEFsd2F5cyBnb2VzIGluIHRoZSBsb3cgYWRkcmVzcy4gICov DQotCQltZW1jcHkgKHdvcmQsIHZhbCwgbGVuKTsNCisJCW1lbWNweSAocmVn dmFsLCB2YWwsIGxlbik7DQogCSAgICAgIC8qIFN0b3JlIHRoYXQgIndvcmQi IGluIGEgcmVnaXN0ZXIsIG9yIG9uIHRoZSBzdGFjay4NCiAJICAgICAgICAg VGhlIHdvcmRzIGhhdmUgIjQiIGJ5dGUgYWxpZ25tZW50LiAgKi8NCiAJICAg ICAgaWYgKGdyZWcgPD0gMTApDQogCQl7DQogCQkgIGlmICh3cml0ZV9wYXNz KQ0KIAkJICAgIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZSAocmVnY2FjaGUsDQot CQkJCQkgICB0ZGVwLT5wcGNfZ3AwX3JlZ251bSArIGdyZWcsIHdvcmQpOw0K KwkJCQkJICAgdGRlcC0+cHBjX2dwMF9yZWdudW0gKyBncmVnLCByZWd2YWwp Ow0KIAkJICBncmVnKys7DQogCQl9DQogCSAgICAgIGVsc2UNCiAJCXsNCiAJ CSAgYXJnb2Zmc2V0ID0gYWxpZ25fdXAgKGFyZ29mZnNldCwgdGRlcC0+d29y ZHNpemUpOw0KIAkJICBpZiAod3JpdGVfcGFzcykNCi0JCSAgICB3cml0ZV9t ZW1vcnkgKHNwICsgYXJnb2Zmc2V0LCB3b3JkLCB0ZGVwLT53b3Jkc2l6ZSk7 DQorCQkgICAgd3JpdGVfbWVtb3J5IChzcCArIGFyZ29mZnNldCwgcmVndmFs LCB0ZGVwLT53b3Jkc2l6ZSk7DQogCQkgIGFyZ29mZnNldCArPSB0ZGVwLT53 b3Jkc2l6ZTsNCiAJCX0NCiAJICAgIH0NCkBAIC02MjEsOSArNjE3LDExIEBA IGdldF9kZWNpbWFsX2Zsb2F0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp2YWx0eXBlLA0KICAgLyogMzIt Yml0IGFuZCA2NC1iaXQgZGVjaW1hbCBmbG9hdHMgaW4gZjEuICAqLw0KICAg aWYgKFRZUEVfTEVOR1RIICh2YWx0eXBlKSA8PSA4KQ0KICAgICB7DQorICAg ICAgaW50IHJlZ251bSA9IHRkZXAtPnBwY19mcDBfcmVnbnVtICsgMTsNCiAg ICAgICBpZiAod3JpdGVidWYgIT0gTlVMTCkNCiAJew0KLQkgIGdkYl9ieXRl IHJlZ3ZhbFtNQVhfUkVHSVNURVJfU0laRV07DQorCSAgZ2RiX2J5dGUgKnJl Z3ZhbCA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKHJlZ2lzdGVyX3NpemUgKGdk YmFyY2gsDQorCQkJCQkJCQkgcmVnbnVtKSk7DQogCSAgY29uc3QgZ2RiX2J5 dGUgKnA7DQoNCiAJICAvKiAzMi1iaXQgZGVjaW1hbCBmbG9hdCBpcyByaWdo dCBhbGlnbmVkIGluIHRoZSBkb3VibGV3b3JkLiAgKi8NCkBAIC02MzUsMTEg KzYzMywxMSBAQCBnZXRfZGVjaW1hbF9mbG9hdF9yZXR1cm5fdmFsdWUgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqdmFsdHlwZSwN CiAJICBlbHNlDQogCSAgICBwID0gd3JpdGVidWY7DQoNCi0JICByZWdjYWNo ZV9jb29rZWRfd3JpdGUgKHJlZ2NhY2hlLCB0ZGVwLT5wcGNfZnAwX3JlZ251 bSArIDEsIHApOw0KKwkgIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZSAocmVnY2Fj aGUsIHJlZ251bSwgcCk7DQogCX0NCiAgICAgICBpZiAocmVhZGJ1ZiAhPSBO VUxMKQ0KIAl7DQotCSAgcmVnY2FjaGVfY29va2VkX3JlYWQgKHJlZ2NhY2hl LCB0ZGVwLT5wcGNfZnAwX3JlZ251bSArIDEsIHJlYWRidWYpOw0KKwkgIHJl Z2NhY2hlX2Nvb2tlZF9yZWFkIChyZWdjYWNoZSwgcmVnbnVtLCByZWFkYnVm KTsNCg0KIAkgIC8qIExlZnQgYWxpZ24gMzItYml0IGRlY2ltYWwgZmxvYXQu ICAqLw0KIAkgIGlmIChUWVBFX0xFTkdUSCAodmFsdHlwZSkgPT0gNCkNCkBA IC02OTUsNiArNjkzLDcgQEAgZG9fcHBjX3N5c3ZfcmV0dXJuX3ZhbHVlIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKmZ1bmNfdHlw ZSwNCiAgIHN0cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3Rk ZXAgKGdkYmFyY2gpOw0KICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIg PSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOw0KICAgaW50IG9wZW5j bF9hYmkgPSBmdW5jX3R5cGU/IHBwY19zeXN2X3VzZV9vcGVuY2xfYWJpIChm dW5jX3R5cGUpIDogMDsNCisgIGdkYl9ieXRlICpyZWd2YWwgPSAoZ2RiX2J5 dGUgKikgYWxsb2NhIChtYXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkpOw0K DQogICBnZGJfYXNzZXJ0ICh0ZGVwLT53b3Jkc2l6ZSA9PSA0KTsNCg0KQEAg LTcwNiw3ICs3MDUsNiBAQCBkb19wcGNfc3lzdl9yZXR1cm5fdmFsdWUgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqZnVuY190eXBl LA0KIAl7DQogCSAgLyogRmxvYXRzIGFuZCBkb3VibGVzIHN0b3JlZCBpbiAi ZjEiLiAgQ29udmVydCB0aGUgdmFsdWUgdG8NCiAJICAgICB0aGUgcmVxdWly ZWQgdHlwZS4gICovDQotCSAgZ2RiX2J5dGUgcmVndmFsW01BWF9SRUdJU1RF Ul9TSVpFXTsNCiAJICBzdHJ1Y3QgdHlwZSAqcmVndHlwZSA9IHJlZ2lzdGVy X3R5cGUgKGdkYmFyY2gsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGRlcC0+cHBjX2ZwMF9yZWdudW0gKyAx KTsNCiAJICByZWdjYWNoZV9jb29rZWRfcmVhZCAocmVnY2FjaGUsIHRkZXAt PnBwY19mcDBfcmVnbnVtICsgMSwgcmVndmFsKTsNCkBAIC03MTYsNyArNzE0 LDYgQEAgZG9fcHBjX3N5c3ZfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKmZ1bmNfdHlwZSwNCiAJew0KIAkg IC8qIEZsb2F0cyBhbmQgZG91YmxlcyBzdG9yZWQgaW4gImYxIi4gIENvbnZl cnQgdGhlIHZhbHVlIHRvDQogCSAgICAgdGhlIHJlZ2lzdGVyJ3MgImRvdWJs ZSIgdHlwZS4gICovDQotCSAgZ2RiX2J5dGUgcmVndmFsW01BWF9SRUdJU1RF Ul9TSVpFXTsNCiAJICBzdHJ1Y3QgdHlwZSAqcmVndHlwZSA9IHJlZ2lzdGVy X3R5cGUgKGdkYmFyY2gsIHRkZXAtPnBwY19mcDBfcmVnbnVtKTsNCiAJICBj b252ZXJ0X3R5cGVkX2Zsb2F0aW5nICh3cml0ZWJ1ZiwgdHlwZSwgcmVndmFs LCByZWd0eXBlKTsNCiAJICByZWdjYWNoZV9jb29rZWRfd3JpdGUgKHJlZ2Nh Y2hlLCB0ZGVwLT5wcGNfZnAwX3JlZ251bSArIDEsIHJlZ3ZhbCk7DQpAQCAt ODQ3LDcgKzg0NCw2IEBAIGRvX3BwY19zeXN2X3JldHVybl92YWx1ZSAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICpmdW5jX3R5cGUs DQogCSAgaWYgKFRZUEVfQ09ERSAoZWx0eXBlKSA9PSBUWVBFX0NPREVfRkxU KQ0KIAkgICAgew0KIAkgICAgICBpbnQgcmVnbnVtID0gdGRlcC0+cHBjX2Zw MF9yZWdudW0gKyAxICsgaTsNCi0JICAgICAgZ2RiX2J5dGUgcmVndmFsW01B WF9SRUdJU1RFUl9TSVpFXTsNCiAJICAgICAgc3RydWN0IHR5cGUgKnJlZ3R5 cGUgPSByZWdpc3Rlcl90eXBlIChnZGJhcmNoLCByZWdudW0pOw0KDQogCSAg ICAgIGlmICh3cml0ZWJ1ZiAhPSBOVUxMKQ0KQEAgLTk3MiwxMiArOTY4LDE0 IEBAIGRvX3BwY19zeXN2X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIHN0cnVjdCB0eXBlICpmdW5jX3R5cGUsDQogCXJlZ2NhY2hl X2Nvb2tlZF93cml0ZSAocmVnY2FjaGUsIHRkZXAtPnBwY19ldjBfcmVnbnVt ICsgMywgd3JpdGVidWYpOw0KICAgICAgIHJldHVybiBSRVRVUk5fVkFMVUVf UkVHSVNURVJfQ09OVkVOVElPTjsNCiAgICAgfQ0KKw0KKyAgZ2RiX2J5dGUg KnJlZ3ZhbHMgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChtYXhfcmVnaXN0ZXJf c2l6ZSAoZ2RiYXJjaCkgKiAyKTsNCisNCiAgIGlmIChicm9rZW5fZ2NjICYm IFRZUEVfTEVOR1RIICh0eXBlKSA8PSA4KQ0KICAgICB7DQogICAgICAgLyog R0NDIHNjcmV3ZWQgdXAgZm9yIHN0cnVjdHVyZXMgb3IgdW5pb25zIHdob3Nl IHNpemUgaXMgbGVzcw0KIAkgdGhhbiBvciBlcXVhbCB0byA4IGJ5dGVzLi4g IEluc3RlYWQgb2YgbGVmdC1hbGlnbmluZywgaXQNCiAJIHJpZ2h0LWFsaWdu cyB0aGUgZGF0YSBpbnRvIHRoZSBidWZmZXIgZm9ybWVkIGJ5IHIzLCByNC4g ICovDQotICAgICAgZ2RiX2J5dGUgcmVndmFsc1tNQVhfUkVHSVNURVJfU0la RSAqIDJdOw0KICAgICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7 DQogICAgICAgaW50IG9mZnNldCA9ICgyICogdGRlcC0+d29yZHNpemUgLSBs ZW4pICUgdGRlcC0+d29yZHNpemU7DQoNCkBAIC05OTIsNyArOTkwLDcgQEAg ZG9fcHBjX3N5c3ZfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgc3RydWN0IHR5cGUgKmZ1bmNfdHlwZSwNCiAJfQ0KICAgICAgIGlm ICh3cml0ZWJ1ZikNCiAJew0KLQkgIG1lbXNldCAocmVndmFscywgMCwgc2l6 ZW9mIHJlZ3ZhbHMpOw0KKwkgIG1lbXNldCAocmVndmFscywgMCwgbWF4X3Jl Z2lzdGVyX3NpemUgKGdkYmFyY2gpICogMik7DQogCSAgbWVtY3B5IChyZWd2 YWxzICsgb2Zmc2V0LCB3cml0ZWJ1ZiwgbGVuKTsNCiAJICByZWdjYWNoZV9j b29rZWRfd3JpdGUgKHJlZ2NhY2hlLCB0ZGVwLT5wcGNfZ3AwX3JlZ251bSAr IDMsDQogCQkJCSByZWd2YWxzICsgMCAqIHRkZXAtPndvcmRzaXplKTsNCkBA IC0xMDEwLDcgKzEwMDgsNiBAQCBkb19wcGNfc3lzdl9yZXR1cm5fdmFsdWUg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqZnVuY190 eXBlLA0KIAkgIC8qIFRoaXMgbWF0Y2hlcyBTVnI0IFBQQywgaXQgZG9lcyBu b3QgbWF0Y2ggR0NDLiAgKi8NCiAJICAvKiBUaGUgdmFsdWUgaXMgcmlnaHQt cGFkZGVkIHRvIDggYnl0ZXMgYW5kIHRoZW4gbG9hZGVkLCBhcw0KIAkgICAg IHR3byAid29yZHMiLCBpbnRvIHIzL3I0LiAgKi8NCi0JICBnZGJfYnl0ZSBy ZWd2YWxzW01BWF9SRUdJU1RFUl9TSVpFICogMl07DQogCSAgcmVnY2FjaGVf Y29va2VkX3JlYWQgKHJlZ2NhY2hlLCB0ZGVwLT5wcGNfZ3AwX3JlZ251bSAr IDMsDQogCQkJCXJlZ3ZhbHMgKyAwICogdGRlcC0+d29yZHNpemUpOw0KIAkg IGlmIChUWVBFX0xFTkdUSCAodHlwZSkgPiB0ZGVwLT53b3Jkc2l6ZSkNCkBA IC0xMDIzLDggKzEwMjAsNyBAQCBkb19wcGNfc3lzdl9yZXR1cm5fdmFsdWUg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqZnVuY190 eXBlLA0KIAkgIC8qIFRoaXMgbWF0Y2hlcyBTVnI0IFBQQywgaXQgZG9lcyBu b3QgbWF0Y2ggR0NDLiAgKi8NCiAJICAvKiBUaGUgdmFsdWUgaXMgcGFkZGVk IG91dCB0byA4IGJ5dGVzIGFuZCB0aGVuIGxvYWRlZCwgYXMNCiAJICAgICB0 d28gIndvcmRzIiBpbnRvIHIzL3I0LiAgKi8NCi0JICBnZGJfYnl0ZSByZWd2 YWxzW01BWF9SRUdJU1RFUl9TSVpFICogMl07DQotCSAgbWVtc2V0IChyZWd2 YWxzLCAwLCBzaXplb2YgcmVndmFscyk7DQorCSAgbWVtc2V0IChyZWd2YWxz LCAwLCBtYXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkgKiAyKTsNCiAJICBt ZW1jcHkgKHJlZ3ZhbHMsIHdyaXRlYnVmLCBUWVBFX0xFTkdUSCAodHlwZSkp Ow0KIAkgIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZSAocmVnY2FjaGUsIHRkZXAt PnBwY19ncDBfcmVnbnVtICsgMywNCiAJCQkJIHJlZ3ZhbHMgKyAwICogdGRl cC0+d29yZHNpemUpOw0KQEAgLTEzNDAsNyArMTMzNiw3IEBAIHBwYzY0X3N5 c3ZfYWJpX3B1c2hfaW50ZWdlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IFVMT05HRVNUIHZhbCwNCiB7DQogICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0 ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsNCiAgIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNo KTsNCi0gIGdkYl9ieXRlIGJ1ZltNQVhfUkVHSVNURVJfU0laRV07DQorICBn ZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAobWF4X3JlZ2lz dGVyX3NpemUgKGdkYmFyY2gpKTsNCg0KICAgaWYgKGFyZ3Bvcy0+cmVnY2Fj aGUpDQogICAgIHN0b3JlX3Vuc2lnbmVkX2ludGVnZXIgKGJ1ZiwgdGRlcC0+ d29yZHNpemUsIGJ5dGVfb3JkZXIsIHZhbCk7DQpAQCAtMTM2OSw3ICsxMzY1 LDggQEAgcHBjNjRfc3lzdl9hYmlfcHVzaF9mcmVnIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwNCiAJew0KIAkgIGludCByZWdudW0gPSB0ZGVwLT5wcGNf ZnAwX3JlZ251bSArIGFyZ3Bvcy0+ZnJlZzsNCiAJICBzdHJ1Y3QgdHlwZSAq cmVndHlwZSA9IHJlZ2lzdGVyX3R5cGUgKGdkYmFyY2gsIHJlZ251bSk7DQot CSAgZ2RiX2J5dGUgcmVndmFsW01BWF9SRUdJU1RFUl9TSVpFXTsNCisJICBn ZGJfYnl0ZSAqcmVndmFsID0gKGdkYl9ieXRlICopIGFsbG9jYSAocmVnaXN0 ZXJfc2l6ZSAoZ2RiYXJjaCwNCisJCQkJCQkJCSByZWdudW0pKTsNCg0KIAkg IGNvbnZlcnRfdHlwZWRfZmxvYXRpbmcgKHZhbCwgdHlwZSwgcmVndmFsLCBy ZWd0eXBlKTsNCiAJICByZWdjYWNoZV9jb29rZWRfd3JpdGUgKGFyZ3Bvcy0+ cmVnY2FjaGUsIHJlZ251bSwgcmVndmFsKTsNCkBAIC0xODE0LDcgKzE4MTEs NyBAQCBwcGM2NF9zeXN2X2FiaV9yZXR1cm5fdmFsdWVfYmFzZSAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp2YWx0eXBlLA0KICAg ICB7DQogICAgICAgaW50IHJlZ251bSA9IHRkZXAtPnBwY19mcDBfcmVnbnVt ICsgMSArIGluZGV4Ow0KICAgICAgIHN0cnVjdCB0eXBlICpyZWd0eXBlID0g cmVnaXN0ZXJfdHlwZSAoZ2RiYXJjaCwgcmVnbnVtKTsNCi0gICAgICBnZGJf Ynl0ZSByZWd2YWxbTUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAgICAgIGdkYl9i eXRlICpyZWd2YWwgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChyZWdpc3Rlcl9z aXplIChnZGJhcmNoLCByZWdudW0pKTsNCg0KICAgICAgIGlmICh3cml0ZWJ1 ZiAhPSBOVUxMKQ0KIAl7DQpAQCAtMjA2OSwxMCArMjA2NiwxMCBAQCBwcGM2 NF9zeXN2X2FiaV9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLA0KICAgICAgIGludCBuX3Jl Z3MgPSAoKFRZUEVfTEVOR1RIICh2YWx0eXBlKSArIHRkZXAtPndvcmRzaXpl IC0gMSkNCiAJCSAgICAvIHRkZXAtPndvcmRzaXplKTsNCiAgICAgICBpbnQg aTsNCisgICAgICBnZGJfYnl0ZSAqcmVndmFsID0gKGdkYl9ieXRlICopIGFs bG9jYSAobWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpKTsNCg0KICAgICAg IGZvciAoaSA9IDA7IGkgPCBuX3JlZ3M7IGkrKykNCiAJew0KLQkgIGdkYl9i eXRlIHJlZ3ZhbFtNQVhfUkVHSVNURVJfU0laRV07DQogCSAgaW50IHJlZ251 bSA9IHRkZXAtPnBwY19ncDBfcmVnbnVtICsgMyArIGk7DQogCSAgaW50IG9m ZnNldCA9IGkgKiB0ZGVwLT53b3Jkc2l6ZTsNCiAJICBpbnQgbGVuID0gVFlQ RV9MRU5HVEggKHZhbHR5cGUpIC0gb2Zmc2V0Ow0KQEAgLTIwODIsNyArMjA3 OSw3IEBAIHBwYzY0X3N5c3ZfYWJpX3JldHVybl92YWx1ZSAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sDQoNCiAJ ICBpZiAod3JpdGVidWYgIT0gTlVMTCkNCiAJICAgIHsNCi0JICAgICAgbWVt c2V0IChyZWd2YWwsIDAsIHNpemVvZiByZWd2YWwpOw0KKwkgICAgICBtZW1z ZXQgKHJlZ3ZhbCwgMCwgcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbnVt KSk7DQogCSAgICAgIGlmIChnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gp ID09IEJGRF9FTkRJQU5fQklHDQogCQkgICYmIG9mZnNldCA9PSAwKQ0KIAkJ bWVtY3B5IChyZWd2YWwgKyB0ZGVwLT53b3Jkc2l6ZSAtIGxlbiwgd3JpdGVi dWYsIGxlbik7DQpkaWZmIC0tZ2l0IGEvZ2RiL3JlY29yZC1mdWxsLmMgYi9n ZGIvcmVjb3JkLWZ1bGwuYw0KaW5kZXggZmRkNjEzYjZlNDFiYmZjZDg2NDRi MDJjY2ZlYjk4YjUzYjUxOGJmZi4uYzYzNGRlNWVkYzczNTcyYWVlNTI1MTdj MTNlMjA1MDM5ZTFmOWRkMCAxMDA2NDQNCi0tLSBhL2dkYi9yZWNvcmQtZnVs bC5jDQorKysgYi9nZGIvcmVjb3JkLWZ1bGwuYw0KQEAgLTY5OCw3ICs2OTgs OCBAQCByZWNvcmRfZnVsbF9leGVjX2luc24gKHN0cnVjdCByZWdjYWNoZSAq cmVnY2FjaGUsDQogICAgIHsNCiAgICAgY2FzZSByZWNvcmRfZnVsbF9yZWc6 IC8qIHJlZyAqLw0KICAgICAgIHsNCi0gICAgICAgIGdkYl9ieXRlIHJlZ1tN QVhfUkVHSVNURVJfU0laRV07DQorCWdkYl9ieXRlICpyZWcgPSAoZ2RiX2J5 dGUgKikgYWxsb2NhIChyZWdpc3Rlcl9zaXplIChnZGJhcmNoLA0KKwkJCQkJ CQkgICAgZW50cnktPnUucmVnLm51bSkpOw0KDQogICAgICAgICBpZiAocmVj b3JkX2RlYnVnID4gMSkNCiAgICAgICAgICAgZnByaW50Zl91bmZpbHRlcmVk IChnZGJfc3RkbG9nLA0KQEAgLTc5MiwxNSArNzkzLDE3IEBAIHN0YXRpYyB2 b2lkDQogcmVjb3JkX2Z1bGxfY29yZV9vcGVuXzEgKGNvbnN0IGNoYXIgKm5h bWUsIGludCBmcm9tX3R0eSkNCiB7DQogICBzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlID0gZ2V0X2N1cnJlbnRfcmVnY2FjaGUgKCk7DQotICBpbnQgcmVn bnVtID0gZ2RiYXJjaF9udW1fcmVncyAoZ2V0X3JlZ2NhY2hlX2FyY2ggKHJl Z2NhY2hlKSk7DQorICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9y ZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7DQorICBpbnQgcmVnbnVtID0gZ2Ri YXJjaF9udW1fcmVncyAoZ2RiYXJjaCk7DQorICBpbnQgcmVnbWF4c2l6ZSA9 IG1heF9yZWdpc3Rlcl9zaXplIChnZGJhcmNoKTsNCiAgIGludCBpOw0KDQog ICAvKiBHZXQgcmVjb3JkX2Z1bGxfY29yZV9yZWdidWYuICAqLw0KICAgdGFy Z2V0X2ZldGNoX3JlZ2lzdGVycyAocmVnY2FjaGUsIC0xKTsNCi0gIHJlY29y ZF9mdWxsX2NvcmVfcmVnYnVmID0gKGdkYl9ieXRlICopIHhtYWxsb2MgKE1B WF9SRUdJU1RFUl9TSVpFICogcmVnbnVtKTsNCisgIHJlY29yZF9mdWxsX2Nv cmVfcmVnYnVmID0gKGdkYl9ieXRlICopIHhtYWxsb2MgKHJlZ21heHNpemUg KiByZWdudW0pOw0KICAgZm9yIChpID0gMDsgaSA8IHJlZ251bTsgaSArKykN CiAgICAgcmVnY2FjaGVfcmF3X2NvbGxlY3QgKHJlZ2NhY2hlLCBpLA0KLQkJ CSAgcmVjb3JkX2Z1bGxfY29yZV9yZWdidWYgKyBNQVhfUkVHSVNURVJfU0la RSAqIGkpOw0KKwkJCSAgcmVjb3JkX2Z1bGxfY29yZV9yZWdidWYgKyByZWdt YXhzaXplICogaSk7DQoNCiAgIC8qIEdldCByZWNvcmRfZnVsbF9jb3JlX3N0 YXJ0IGFuZCByZWNvcmRfZnVsbF9jb3JlX2VuZC4gICovDQogICBpZiAoYnVp bGRfc2VjdGlvbl90YWJsZSAoY29yZV9iZmQsICZyZWNvcmRfZnVsbF9jb3Jl X3N0YXJ0LA0KQEAgLTIwMzgsNiArMjA0MSw5IEBAIHJlY29yZF9mdWxsX2Nv cmVfZmV0Y2hfcmVnaXN0ZXJzIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLA0K IAkJCQkgIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQogCQkJCSAgaW50 IHJlZ25vKQ0KIHsNCisgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0 X3JlZ2NhY2hlX2FyY2ggKHJlZ2NhY2hlKTsNCisgIGludCByZWdtYXhzaXpl ID0gbWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpOw0KKw0KICAgaWYgKHJl Z25vIDwgMCkNCiAgICAgew0KICAgICAgIGludCBudW0gPSBnZGJhcmNoX251 bV9yZWdzIChnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpKTsNCkBAIC0y MDQ1LDExICsyMDUxLDExIEBAIHJlY29yZF9mdWxsX2NvcmVfZmV0Y2hfcmVn aXN0ZXJzIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLA0KDQogICAgICAgZm9y IChpID0gMDsgaSA8IG51bTsgaSArKykNCiAgICAgICAgIHJlZ2NhY2hlX3Jh d19zdXBwbHkgKHJlZ2NhY2hlLCBpLA0KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmVjb3JkX2Z1bGxfY29yZV9yZWdidWYgKyBNQVhfUkVHSVNU RVJfU0laRSAqIGkpOw0KKwkJCSAgICAgcmVjb3JkX2Z1bGxfY29yZV9yZWdi dWYgKyByZWdtYXhzaXplICogaSk7DQogICAgIH0NCiAgIGVsc2UNCiAgICAg cmVnY2FjaGVfcmF3X3N1cHBseSAocmVnY2FjaGUsIHJlZ25vLA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICByZWNvcmRfZnVsbF9jb3JlX3JlZ2J1ZiAr IE1BWF9SRUdJU1RFUl9TSVpFICogcmVnbm8pOw0KKwkJCSByZWNvcmRfZnVs bF9jb3JlX3JlZ2J1ZiArIHJlZ21heHNpemUgKiByZWdubyk7DQogfQ0KDQog LyogInRvX3ByZXBhcmVfdG9fc3RvcmUiIG1ldGhvZCBmb3IgcHJlYyBvdmVy IGNvcmVmaWxlLiAgKi8NCkBAIC0yMDY3LDkgKzIwNzMsMTIgQEAgcmVjb3Jk X2Z1bGxfY29yZV9zdG9yZV9yZWdpc3RlcnMgKHN0cnVjdCB0YXJnZXRfb3Bz ICpvcHMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IHJlZ25vKQ0KIHsNCisgIHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoID0gZ2V0X3JlZ2NhY2hlX2FyY2ggKHJlZ2NhY2hlKTsNCisgIGludCBy ZWdtYXhzaXplID0gbWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpOw0KKw0K ICAgaWYgKHJlY29yZF9mdWxsX2dkYl9vcGVyYXRpb25fZGlzYWJsZSkNCiAg ICAgcmVnY2FjaGVfcmF3X2NvbGxlY3QgKHJlZ2NhY2hlLCByZWdubywNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZF9mdWxsX2NvcmVfcmVn YnVmICsgTUFYX1JFR0lTVEVSX1NJWkUgKiByZWdubyk7DQorCQkJICByZWNv cmRfZnVsbF9jb3JlX3JlZ2J1ZiArIHJlZ21heHNpemUgKiByZWdubyk7DQog ICBlbHNlDQogICAgIGVycm9yIChfKCJZb3UgY2FuJ3QgZG8gdGhhdCB3aXRo b3V0IGEgcHJvY2VzcyB0byBkZWJ1Zy4iKSk7DQogfQ0KQEAgLTIyNjUsNyAr MjI3NCw3IEBAIGluaXRfcmVjb3JkX2Z1bGxfY29yZV9vcHMgKHZvaWQpDQog ICAgICByZWNvcmRfZnVsbF9yZWc6DQogICAgICAgIDEgYnl0ZTogIHJlY29y ZCB0eXBlIChyZWNvcmRfZnVsbF9yZWcsIHNlZSBlbnVtIHJlY29yZF9mdWxs X3R5cGUpLg0KICAgICAgICA4IGJ5dGVzOiByZWdpc3RlciBpZCAobmV0d29y ayBieXRlIG9yZGVyKS4NCi0gICAgICAgTUFYX1JFR0lTVEVSX1NJWkUgYnl0 ZXM6IHJlZ2lzdGVyIHZhbHVlLg0KKyAgICAgICBtYXhfcmVnaXN0ZXJfc2l6 ZSBieXRlczogcmVnaXN0ZXIgdmFsdWUuDQogICAgICByZWNvcmRfZnVsbF9t ZW06DQogICAgICAgIDEgYnl0ZTogIHJlY29yZCB0eXBlIChyZWNvcmRfZnVs bF9tZW0sIHNlZSBlbnVtIHJlY29yZF9mdWxsX3R5cGUpLg0KICAgICAgICA4 IGJ5dGVzOiBtZW1vcnkgbGVuZ3RoIChuZXR3b3JrIGJ5dGUgb3JkZXIpLg0K ZGlmZiAtLWdpdCBhL2dkYi9yZW1vdGUtc2ltLmMgYi9nZGIvcmVtb3RlLXNp bS5jDQppbmRleCBiMGM2OGM2MTdlMzY1YzBlYTE4YWMyZWNhNTI1NTk4YjY4 OGZmYmI1Li43NDAyZjNiMTFhYjEzZWExYWRhNTFiNjYxMjVkNWM1NzUwMjA5 YzYyIDEwMDY0NA0KLS0tIGEvZ2RiL3JlbW90ZS1zaW0uYw0KKysrIGIvZ2Ri L3JlbW90ZS1zaW0uYw0KQEAgLTQzOSw2ICs0MzksOSBAQCBnZGJzaW1fZmV0 Y2hfcmVnaXN0ZXIgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsDQogICAgICAg cmV0dXJuOw0KICAgICB9DQoNCisgIGludCByZWdzaXplID0gcmVnaXN0ZXJf c2l6ZSAoZ2RiYXJjaCwgcmVnbm8pOw0KKyAgZ2RiX2J5dGUgKmJ1ZiA9IChn ZGJfYnl0ZSAqKSBhbGxvY2EgKHJlZ3NpemUpOw0KKw0KICAgc3dpdGNoIChn ZGJhcmNoX3JlZ2lzdGVyX3NpbV9yZWdubyAoZ2RiYXJjaCwgcmVnbm8pKQ0K ICAgICB7DQogICAgIGNhc2UgTEVHQUNZX1NJTV9SRUdOT19JR05PUkU6DQpA QCAtNDQ3LDEwICs0NTAsOSBAQCBnZGJzaW1fZmV0Y2hfcmVnaXN0ZXIgKHN0 cnVjdCB0YXJnZXRfb3BzICpvcHMsDQogICAgICAgew0KIAkvKiBGb3IgbW9t ZW50IHRyZWF0IGEgYGRvZXMgbm90IGV4aXN0JyByZWdpc3RlciB0aGUgc2Ft ZSB3YXkNCiAJICAgYXMgYW4gYGB1bmF2YWlsYWJsZScnIHJlZ2lzdGVyLiAg Ki8NCi0JZ2RiX2J5dGUgYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsNCiAJaW50 IG5yX2J5dGVzOw0KDQotCW1lbXNldCAoYnVmLCAwLCBNQVhfUkVHSVNURVJf U0laRSk7DQorCW1lbXNldCAoYnVmLCAwLCByZWdzaXplKTsNCiAJcmVnY2Fj aGVfcmF3X3N1cHBseSAocmVnY2FjaGUsIHJlZ25vLCBidWYpOw0KIAlicmVh azsNCiAgICAgICB9DQpAQCAtNDU4LDE4ICs0NjAsMTcgQEAgZ2Ric2ltX2Zl dGNoX3JlZ2lzdGVyIChzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzLA0KICAgICBk ZWZhdWx0Og0KICAgICAgIHsNCiAJc3RhdGljIGludCB3YXJuX3VzZXIgPSAx Ow0KLQlnZGJfYnl0ZSBidWZbTUFYX1JFR0lTVEVSX1NJWkVdOw0KIAlpbnQg bnJfYnl0ZXM7DQoNCiAJZ2RiX2Fzc2VydCAocmVnbm8gPj0gMCAmJiByZWdu byA8IGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpKTsNCi0JbWVtc2V0IChi dWYsIDAsIE1BWF9SRUdJU1RFUl9TSVpFKTsNCisJbWVtc2V0IChidWYsIDAs IHJlZ3NpemUpOw0KIAlucl9ieXRlcyA9IHNpbV9mZXRjaF9yZWdpc3RlciAo c2ltX2RhdGEtPmdkYnNpbV9kZXNjLA0KIAkJCQkgICAgICAgZ2RiYXJjaF9y ZWdpc3Rlcl9zaW1fcmVnbm8NCiAJCQkJCSAoZ2RiYXJjaCwgcmVnbm8pLA0K IAkJCQkgICAgICAgYnVmLA0KLQkJCQkgICAgICAgcmVnaXN0ZXJfc2l6ZSAo Z2RiYXJjaCwgcmVnbm8pKTsNCisJCQkJICAgICAgIHJlZ3NpemUpOw0KIAlp ZiAobnJfYnl0ZXMgPiAwDQotCSAgICAmJiBucl9ieXRlcyAhPSByZWdpc3Rl cl9zaXplIChnZGJhcmNoLCByZWdubykgJiYgd2Fybl91c2VyKQ0KKwkgICAg JiYgbnJfYnl0ZXMgIT0gcmVnc2l6ZSAmJiB3YXJuX3VzZXIpDQogCSAgew0K IAkgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkZXJyLA0KIAkJCQki U2l6ZSBvZiByZWdpc3RlciAlcyAoJWQvJWQpICINCkBAIC00NzgsNyArNDc5 LDcgQEAgZ2Ric2ltX2ZldGNoX3JlZ2lzdGVyIChzdHJ1Y3QgdGFyZ2V0X29w cyAqb3BzLA0KIAkJCQlyZWdubywNCiAJCQkJZ2RiYXJjaF9yZWdpc3Rlcl9z aW1fcmVnbm8NCiAJCQkJICAoZ2RiYXJjaCwgcmVnbm8pLA0KLQkJCQlucl9i eXRlcywgcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbm8pKTsNCisJCQkJ bnJfYnl0ZXMsIHJlZ3NpemUpOw0KIAkgICAgd2Fybl91c2VyID0gMDsNCiAJ ICB9DQogCS8qIEZJWE1FOiBjYWduZXkvMjAwMi0wNS0yNzogU2hvdWxkIGNo ZWNrIGBucl9ieXRlcyA9PSAwJw0KQEAgLTQ5Miw3ICs0OTMsNyBAQCBnZGJz aW1fZmV0Y2hfcmVnaXN0ZXIgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsDQog CSAgICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csDQogCQkJCSJn ZGJzaW1fZmV0Y2hfcmVnaXN0ZXI6ICVkIiwgcmVnbm8pOw0KIAkgICAgLyog RklYTUU6IFdlIGNvdWxkIHByaW50IHNvbWV0aGluZyBtb3JlIGludGVsbGln aWJsZS4gICovDQotCSAgICBkdW1wX21lbSAoYnVmLCByZWdpc3Rlcl9zaXpl IChnZGJhcmNoLCByZWdubykpOw0KKwkgICAgZHVtcF9tZW0gKGJ1ZiwgcmVn c2l6ZSk7DQogCSAgfQ0KIAlicmVhazsNCiAgICAgICB9DQpAQCAtNTE2LDE1 ICs1MTcsMTYgQEAgZ2Ric2ltX3N0b3JlX3JlZ2lzdGVyIChzdHJ1Y3QgdGFy Z2V0X29wcyAqb3BzLA0KICAgICB9DQogICBlbHNlIGlmIChnZGJhcmNoX3Jl Z2lzdGVyX3NpbV9yZWdubyAoZ2RiYXJjaCwgcmVnbm8pID49IDApDQogICAg IHsNCi0gICAgICBnZGJfYnl0ZSB0bXBbTUFYX1JFR0lTVEVSX1NJWkVdOw0K KyAgICAgIGludCByZWdzaXplID0gcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwg cmVnbm8pOw0KKyAgICAgIGdkYl9ieXRlICp0bXAgPSAoZ2RiX2J5dGUgKikg YWxsb2NhIChyZWdzaXplKTsNCiAgICAgICBpbnQgbnJfYnl0ZXM7DQoNCiAg ICAgICByZWdjYWNoZV9jb29rZWRfcmVhZCAocmVnY2FjaGUsIHJlZ25vLCB0 bXApOw0KICAgICAgIG5yX2J5dGVzID0gc2ltX3N0b3JlX3JlZ2lzdGVyIChz aW1fZGF0YS0+Z2Ric2ltX2Rlc2MsDQogCQkJCSAgICAgZ2RiYXJjaF9yZWdp c3Rlcl9zaW1fcmVnbm8NCiAJCQkJICAgICAgIChnZGJhcmNoLCByZWdubyks DQotCQkJCSAgICAgdG1wLCByZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdu bykpOw0KLSAgICAgIGlmIChucl9ieXRlcyA+IDAgJiYgbnJfYnl0ZXMgIT0g cmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbm8pKQ0KKwkJCQkgICAgIHRt cCwgcmVnc2l6ZSk7DQorICAgICAgaWYgKG5yX2J5dGVzID4gMCAmJiBucl9i eXRlcyAhPSByZWdzaXplKQ0KIAlpbnRlcm5hbF9lcnJvciAoX19GSUxFX18s IF9fTElORV9fLA0KIAkJCV8oIlJlZ2lzdGVyIHNpemUgZGlmZmVyZW50IHRv IGV4cGVjdGVkIikpOw0KICAgICAgIGlmIChucl9ieXRlcyA8IDApDQpAQCAt NTM4LDcgKzU0MCw3IEBAIGdkYnNpbV9zdG9yZV9yZWdpc3RlciAoc3RydWN0 IHRhcmdldF9vcHMgKm9wcywNCiAJew0KIAkgIGZwcmludGZfdW5maWx0ZXJl ZCAoZ2RiX3N0ZGxvZywgImdkYnNpbV9zdG9yZV9yZWdpc3RlcjogJWQiLCBy ZWdubyk7DQogCSAgLyogRklYTUU6IFdlIGNvdWxkIHByaW50IHNvbWV0aGlu ZyBtb3JlIGludGVsbGlnaWJsZS4gICovDQotCSAgZHVtcF9tZW0gKHRtcCwg cmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgcmVnbm8pKTsNCisJICBkdW1wX21l bSAodG1wLCByZWdzaXplKTsNCiAJfQ0KICAgICB9DQogfQ0KZGlmZiAtLWdp dCBhL2dkYi9yczYwMDAtYWl4LXRkZXAuYyBiL2dkYi9yczYwMDAtYWl4LXRk ZXAuYw0KaW5kZXggOTg0MWE2MGVhZmIwMzgxY2QyMzQzZGQzYThkNTc0NTU3 MWY1NDYwZS4uZWVmZDBkNmExNWY3YTY0ZWFhNGJmMTBhNzJiZGU4MGEzNTY0 NmFjOSAxMDA2NDQNCi0tLSBhL2dkYi9yczYwMDAtYWl4LXRkZXAuYw0KKysr IGIvZ2RiL3JzNjAwMC1haXgtdGRlcC5jDQpAQCAtMjM2LDYgKzIzNiw3IEBA IHJzNjAwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLA0KICAgIFVzZXIgbWF5IGhh dmUgdG8gY2FzdFxhcmdzIHRvIGhhbmRsZSBwcm9tb3Rpb24gY29ycmVjdGx5 DQogICAgc2luY2UgZ2RiIHdvbid0IGtub3cgaWYgcHJvdG90eXBlIHN1cHBs aWVkIG9yIG5vdC4gICovDQoNCisgIGdkYl9ieXRlICp3b3JkID0gKGdkYl9i eXRlICopIGFsbG9jYSAobWF4X3JlZ2lzdGVyX3NpemUgKGdkYmFyY2gpKTsN CiAgIGZvciAoYXJnbm8gPSAwLCBhcmdieXRlcyA9IDA7IGFyZ25vIDwgbmFy Z3MgJiYgaWkgPCA4OyArK2lpKQ0KICAgICB7DQogICAgICAgaW50IHJlZ19z aXplID0gcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgaWkgKyAzKTsNCkBAIC0y NTMsMTQgKzI1NCwxMiBAQCByczYwMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwN CiAJICAgICBBbHdheXMgc3RvcmUgdGhlIGZsb2F0aW5nIHBvaW50IHZhbHVl IHVzaW5nIHRoZSByZWdpc3RlcidzDQogCSAgICAgZmxvYXRpbmctcG9pbnQg Zm9ybWF0LiAgKi8NCiAJICBjb25zdCBpbnQgZnBfcmVnbnVtID0gdGRlcC0+ cHBjX2ZwMF9yZWdudW0gKyAxICsgZl9hcmdubzsNCi0JICBnZGJfYnl0ZSBy ZWdfdmFsW01BWF9SRUdJU1RFUl9TSVpFXTsNCiAJICBzdHJ1Y3QgdHlwZSAq cmVnX3R5cGUgPSByZWdpc3Rlcl90eXBlIChnZGJhcmNoLCBmcF9yZWdudW0p Ow0KDQogCSAgZ2RiX2Fzc2VydCAobGVuIDw9IDgpOw0KDQotCSAgY29udmVy dF90eXBlZF9mbG9hdGluZyAodmFsdWVfY29udGVudHMgKGFyZyksIHR5cGUs DQotCQkJCSAgcmVnX3ZhbCwgcmVnX3R5cGUpOw0KLQkgIHJlZ2NhY2hlX2Nv b2tlZF93cml0ZSAocmVnY2FjaGUsIGZwX3JlZ251bSwgcmVnX3ZhbCk7DQor CSAgY29udmVydF90eXBlZF9mbG9hdGluZyAodmFsdWVfY29udGVudHMgKGFy ZyksIHR5cGUsIHdvcmQsIHJlZ190eXBlKTsNCisJICByZWdjYWNoZV9jb29r ZWRfd3JpdGUgKHJlZ2NhY2hlLCBmcF9yZWdudW0sIHdvcmQpOw0KIAkgICsr Zl9hcmdubzsNCiAJfQ0KDQpAQCAtMjcwLDcgKzI2OSw2IEBAIHJzNjAwMF9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdmFsdWUgKmZ1bmN0aW9uLA0KIAkgIC8qIEFyZ3VtZW50IHRha2VzIG1v cmUgdGhhbiBvbmUgcmVnaXN0ZXIuICAqLw0KIAkgIHdoaWxlIChhcmdieXRl cyA8IGxlbikNCiAJICAgIHsNCi0JICAgICAgZ2RiX2J5dGUgd29yZFtNQVhf UkVHSVNURVJfU0laRV07DQogCSAgICAgIG1lbXNldCAod29yZCwgMCwgcmVn X3NpemUpOw0KIAkgICAgICBtZW1jcHkgKHdvcmQsDQogCQkgICAgICAoKGNo YXIgKikgdmFsdWVfY29udGVudHMgKGFyZykpICsgYXJnYnl0ZXMsDQpAQCAt MjkwLDggKzI4OCw2IEBAIHJzNjAwMF9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLA0K ICAgICAgIGVsc2UNCiAJew0KIAkgIC8qIEFyZ3VtZW50IGNhbiBmaXQgaW4g b25lIHJlZ2lzdGVyLiAgTm8gcHJvYmxlbS4gICovDQotCSAgZ2RiX2J5dGUg d29yZFtNQVhfUkVHSVNURVJfU0laRV07DQotDQogCSAgbWVtc2V0ICh3b3Jk LCAwLCByZWdfc2l6ZSk7DQogCSAgbWVtY3B5ICh3b3JkLCB2YWx1ZV9jb250 ZW50cyAoYXJnKSwgbGVuKTsNCiAJICByZWdjYWNoZV9jb29rZWRfd3JpdGUg KHJlZ2NhY2hlLCB0ZGVwLT5wcGNfZ3AwX3JlZ251bSArIDMgK2lpLCB3b3Jk KTsNCmRpZmYgLS1naXQgYS9nZGIvcnM2MDAwLWx5bngxNzgtdGRlcC5jIGIv Z2RiL3JzNjAwMC1seW54MTc4LXRkZXAuYw0KaW5kZXggZjJhYTFmODQ0OGNm NDg3YjE1MjJkZjg5ZWY0MmEzOTM3Nzk5ZDk1Zi4uM2M4NTU3YTI4OTNlNDAz ZDgwMjgwOTIyM2VhNDBhNWVhYzUxYWZhOSAxMDA2NDQNCi0tLSBhL2dkYi9y czYwMDAtbHlueDE3OC10ZGVwLmMNCisrKyBiL2dkYi9yczYwMDAtbHlueDE3 OC10ZGVwLmMNCkBAIC04Nyw2ICs4Nyw3IEBAIHJzNjAwMF9seW54MTc4X3B1 c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsDQogICAg ICBVc2VyIG1heSBoYXZlIHRvIGNhc3RcYXJncyB0byBoYW5kbGUgcHJvbW90 aW9uIGNvcnJlY3RseQ0KICAgICAgc2luY2UgZ2RiIHdvbid0IGtub3cgaWYg cHJvdG90eXBlIHN1cHBsaWVkIG9yIG5vdC4gICovDQoNCisgIGdkYl9ieXRl ICp3b3JkID0gKGdkYl9ieXRlICopIGFsbG9jYSAobWF4X3JlZ2lzdGVyX3Np emUgKGdkYmFyY2gpKTsNCiAgIGZvciAoYXJnbm8gPSAwLCBhcmdieXRlcyA9 IDA7IGFyZ25vIDwgbmFyZ3MgJiYgaWkgPCA4OyArK2lpKQ0KICAgICB7DQog ICAgICAgaW50IHJlZ19zaXplID0gcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwg aWkgKyAzKTsNCkBAIC0xMDUsMjQgKzEwNiwyMCBAQCByczYwMDBfbHlueDE3 OF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLA0K IAkgICAgIEFsd2F5cyBzdG9yZSB0aGUgZmxvYXRpbmcgcG9pbnQgdmFsdWUg dXNpbmcgdGhlIHJlZ2lzdGVyJ3MNCiAJICAgICBmbG9hdGluZy1wb2ludCBm b3JtYXQuICAqLw0KIAkgIGNvbnN0IGludCBmcF9yZWdudW0gPSB0ZGVwLT5w cGNfZnAwX3JlZ251bSArIDEgKyBmX2FyZ25vOw0KLQkgIGdkYl9ieXRlIHJl Z192YWxbTUFYX1JFR0lTVEVSX1NJWkVdOw0KIAkgIHN0cnVjdCB0eXBlICpy ZWdfdHlwZSA9IHJlZ2lzdGVyX3R5cGUgKGdkYmFyY2gsIGZwX3JlZ251bSk7 DQoNCiAJICBnZGJfYXNzZXJ0IChsZW4gPD0gOCk7DQoNCi0JICBjb252ZXJ0 X3R5cGVkX2Zsb2F0aW5nICh2YWx1ZV9jb250ZW50cyAoYXJnKSwgdHlwZSwN Ci0JCQkJICByZWdfdmFsLCByZWdfdHlwZSk7DQotCSAgcmVnY2FjaGVfY29v a2VkX3dyaXRlIChyZWdjYWNoZSwgZnBfcmVnbnVtLCByZWdfdmFsKTsNCisJ ICBjb252ZXJ0X3R5cGVkX2Zsb2F0aW5nICh2YWx1ZV9jb250ZW50cyAoYXJn KSwgdHlwZSwgd29yZCwgcmVnX3R5cGUpOw0KKwkgIHJlZ2NhY2hlX2Nvb2tl ZF93cml0ZSAocmVnY2FjaGUsIGZwX3JlZ251bSwgd29yZCk7DQogCSAgKytm X2FyZ25vOw0KIAl9DQoNCiAgICAgICBpZiAobGVuID4gcmVnX3NpemUpDQog CXsNCi0NCiAJICAvKiBBcmd1bWVudCB0YWtlcyBtb3JlIHRoYW4gb25lIHJl Z2lzdGVyLiAgKi8NCiAJICB3aGlsZSAoYXJnYnl0ZXMgPCBsZW4pDQogCSAg ICB7DQotCSAgICAgIGdkYl9ieXRlIHdvcmRbTUFYX1JFR0lTVEVSX1NJWkVd Ow0KIAkgICAgICBtZW1zZXQgKHdvcmQsIDAsIHJlZ19zaXplKTsNCiAJICAg ICAgbWVtY3B5ICh3b3JkLA0KIAkJICAgICAgKChjaGFyICopIHZhbHVlX2Nv bnRlbnRzIChhcmcpKSArIGFyZ2J5dGVzLA0KQEAgLTE0Miw4ICsxMzksNiBA QCByczYwMDBfbHlueDE3OF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLA0KICAgICAgIGVsc2UNCiAJew0KIAkgIC8qIEFyZ3Vt ZW50IGNhbiBmaXQgaW4gb25lIHJlZ2lzdGVyLiAgTm8gcHJvYmxlbS4gICov DQotCSAgZ2RiX2J5dGUgd29yZFtNQVhfUkVHSVNURVJfU0laRV07DQotDQog CSAgbWVtc2V0ICh3b3JkLCAwLCByZWdfc2l6ZSk7DQogCSAgbWVtY3B5ICh3 b3JkLCB2YWx1ZV9jb250ZW50cyAoYXJnKSwgbGVuKTsNCiAJICByZWdjYWNo ZV9jb29rZWRfd3JpdGUgKHJlZ2NhY2hlLCB0ZGVwLT5wcGNfZ3AwX3JlZ251 bSArIDMgK2lpLCB3b3JkKTsNCmRpZmYgLS1naXQgYS9nZGIvcnM2MDAwLW5h dC5jIGIvZ2RiL3JzNjAwMC1uYXQuYw0KaW5kZXggZjQyODQ3YmZlYWI4YWQ2 ZDAzYzk2YTE2MTIzODI4M2EyNjJmOThkMS4uNmYzMjJlZDQ2NWVlNDBmMDZm ZTM1OTY3MTA0ZmMwYzkwZmI4ODY2MSAxMDA2NDQNCi0tLSBhL2dkYi9yczYw MDAtbmF0LmMNCisrKyBiL2dkYi9yczYwMDAtbmF0LmMNCkBAIC0xNjIsNyAr MTYyLDcgQEAgc3RhdGljIHZvaWQNCiBmZXRjaF9yZWdpc3RlciAoc3RydWN0 IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IHJlZ25vKQ0KIHsNCiAgIHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2FyY2ggKHJlZ2Nh Y2hlKTsNCi0gIGludCBhZGRyW01BWF9SRUdJU1RFUl9TSVpFXTsNCisgIGlu dCAqYWRkciA9IChpbnQgKikgYWxsb2NhIChyZWdpc3Rlcl9zaXplIChnZGJh cmNoLCByZWdubykgKiBzaXplb2YgKGludCkpOw0KICAgaW50IG5yLCBpc2Zs b2F0Ow0KDQogICAvKiBSZXRyaWV2ZWQgdmFsdWVzIG1heSBiZSAtMSwgc28g aW5mZXIgZXJyb3JzIGZyb20gZXJybm8uICAqLw0KQEAgLTIyMiw3ICsyMjIs NyBAQCBzdGF0aWMgdm9pZA0KIHN0b3JlX3JlZ2lzdGVyIChzdHJ1Y3QgcmVn Y2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbm8pDQogew0KICAgc3RydWN0IGdk YmFyY2ggKmdkYmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUp Ow0KLSAgaW50IGFkZHJbTUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAgaW50ICph ZGRyID0gKGludCAqKSBhbGxvY2EgKHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gs IHJlZ25vKSAqIHNpemVvZiAoaW50KSk7DQogICBpbnQgbnIsIGlzZmxvYXQ7 DQoNCiAgIC8qIEZldGNoIHRoZSByZWdpc3RlcidzIHZhbHVlIGZyb20gdGhl IHJlZ2lzdGVyIGNhY2hlLiAgKi8NCmRpZmYgLS1naXQgYS9nZGIvcnM2MDAw LXRkZXAuYyBiL2dkYi9yczYwMDAtdGRlcC5jDQppbmRleCA1MjdmNjQzYjdi ZTgzM2I0YmY3YTIzODY5NDBmOTc2NGY4YjgxNTE0Li41MmJmOTU3ZGQ0MjJk ZWI0MTI0OGRkOGJiNjk2ZGQwYWFlNzRjMTQyIDEwMDY0NA0KLS0tIGEvZ2Ri L3JzNjAwMC10ZGVwLmMNCisrKyBiL2dkYi9yczYwMDAtdGRlcC5jDQpAQCAt MjU5MCw4ICsyNTkwLDcgQEAgcnM2MDAwX3JlZ2lzdGVyX3RvX3ZhbHVlIChz dHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsDQogCQkJICBpbnQgKm9wdGltaXpl ZHAsIGludCAqdW5hdmFpbGFibGVwKQ0KIHsNCiAgIHN0cnVjdCBnZGJhcmNo ICpnZGJhcmNoID0gZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKTsNCi0gIGdkYl9i eXRlIGZyb21bTUFYX1JFR0lTVEVSX1NJWkVdOw0KLQ0KKyAgZ2RiX2J5dGUg KmZyb20gPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChyZWdpc3Rlcl9zaXplIChn ZGJhcmNoLCByZWdudW0pKTsNCiAgIGdkYl9hc3NlcnQgKFRZUEVfQ09ERSAo dHlwZSkgPT0gVFlQRV9DT0RFX0ZMVCk7DQoNCiAgIGlmICghZ2V0X2ZyYW1l X3JlZ2lzdGVyX2J5dGVzIChmcmFtZSwgcmVnbnVtLCAwLA0KQEAgLTI2MTIs NyArMjYxMSw3IEBAIHJzNjAwMF92YWx1ZV90b19yZWdpc3RlciAoc3RydWN0 IGZyYW1lX2luZm8gKmZyYW1lLA0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgZ2RiX2J5dGUgKmZyb20pDQogew0KICAgc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOw0KLSAgZ2Ri X2J5dGUgdG9bTUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAgZ2RiX2J5dGUgKnRv ID0gKGdkYl9ieXRlICopIGFsbG9jYSAocmVnaXN0ZXJfc2l6ZSAoZ2RiYXJj aCwgcmVnbnVtKSk7DQoNCiAgIGdkYl9hc3NlcnQgKFRZUEVfQ09ERSAodHlw ZSkgPT0gVFlQRV9DT0RFX0ZMVCk7DQoNCmRpZmYgLS1naXQgYS9nZGIvc2gt dGRlcC5jIGIvZ2RiL3NoLXRkZXAuYw0KaW5kZXggOWIzNjkyZGMwYzMyZmZj YjUzZDk5ZjBmYzA5NTMwM2QyYzIyMWZjYi4uYWM1OWJkYzA1MWM1Y2U1MjRi NzBhZjZkNWQzYjI5NDJkZmZjMmYxYyAxMDA2NDQNCi0tLSBhL2dkYi9zaC10 ZGVwLmMNCisrKyBiL2dkYi9zaC10ZGVwLmMNCkBAIC0xNjQ4LDcgKzE2NDgs NiBAQCBzaF9wc2V1ZG9fcmVnaXN0ZXJfcmVhZCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQogCQkJIGlu dCByZWdfbnIsIGdkYl9ieXRlICpidWZmZXIpDQogew0KICAgaW50IGJhc2Vf cmVnbnVtOw0KLSAgZ2RiX2J5dGUgdGVtcF9idWZmZXJbTUFYX1JFR0lTVEVS X1NJWkVdOw0KICAgZW51bSByZWdpc3Rlcl9zdGF0dXMgc3RhdHVzOw0KDQog ICBpZiAocmVnX25yID09IFBTRVVET19CQU5LX1JFR05VTSkNCkBAIC0xNjU2 LDYgKzE2NTUsOCBAQCBzaF9wc2V1ZG9fcmVnaXN0ZXJfcmVhZCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUs DQogICBlbHNlIGlmIChyZWdfbnIgPj0gRFIwX1JFR05VTSAmJiByZWdfbnIg PD0gRFJfTEFTVF9SRUdOVU0pDQogICAgIHsNCiAgICAgICBiYXNlX3JlZ251 bSA9IGRyX3JlZ19iYXNlX251bSAoZ2RiYXJjaCwgcmVnX25yKTsNCisgICAg ICBnZGJfYnl0ZSAqdGVtcF9idWZmZXINCisJPSAoZ2RiX2J5dGUgKikgYWxs b2NhIChyZWdpc3Rlcl9zaXplIChnZGJhcmNoLCBiYXNlX3JlZ251bSkpOw0K DQogICAgICAgLyogQnVpbGQgdGhlIHZhbHVlIGluIHRoZSBwcm92aWRlZCBi dWZmZXIuICAqLw0KICAgICAgIC8qIFJlYWQgdGhlIHJlYWwgcmVncyBmb3Ig d2hpY2ggdGhpcyBvbmUgaXMgYW4gYWxpYXMuICAqLw0KQEAgLTE2ODcsNyAr MTY4OCw2IEBAIHNoX3BzZXVkb19yZWdpc3Rlcl93cml0ZSAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsDQog CQkJICBpbnQgcmVnX25yLCBjb25zdCBnZGJfYnl0ZSAqYnVmZmVyKQ0KIHsN CiAgIGludCBiYXNlX3JlZ251bSwgcG9ydGlvbjsNCi0gIGdkYl9ieXRlIHRl bXBfYnVmZmVyW01BWF9SRUdJU1RFUl9TSVpFXTsNCg0KICAgaWYgKHJlZ19u ciA9PSBQU0VVRE9fQkFOS19SRUdOVU0pDQogICAgIHsNCkBAIC0xNzA0LDYg KzE3MDQsOCBAQCBzaF9wc2V1ZG9fcmVnaXN0ZXJfd3JpdGUgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLA0K ICAgZWxzZSBpZiAocmVnX25yID49IERSMF9SRUdOVU0gJiYgcmVnX25yIDw9 IERSX0xBU1RfUkVHTlVNKQ0KICAgICB7DQogICAgICAgYmFzZV9yZWdudW0g PSBkcl9yZWdfYmFzZV9udW0gKGdkYmFyY2gsIHJlZ19ucik7DQorICAgICAg Z2RiX2J5dGUgKnRlbXBfYnVmZmVyDQorCT0gKGdkYl9ieXRlICopIGFsbG9j YSAocmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgYmFzZV9yZWdudW0pKTsNCg0K ICAgICAgIC8qIFdlIG11c3QgcGF5IGF0dGVudGlvbiB0byB0aGUgZW5kaWFu bmVzLiAgKi8NCiAgICAgICBzaF9yZWdpc3Rlcl9jb252ZXJ0X3RvX3JhdyAo Z2RiYXJjaCwgcmVnaXN0ZXJfdHlwZSAoZ2RiYXJjaCwgcmVnX25yKSwNCmRp ZmYgLS1naXQgYS9nZGIvc2g2NC10ZGVwLmMgYi9nZGIvc2g2NC10ZGVwLmMN CmluZGV4IDIzZjVhZGUzYjJlNjMxZWViNTBjYjkxOGE0ZjM2YmI4Y2ZiZTYx MzEuLjllNzdiYjk1OTczNTQ1NDFhN2ZjNWY3YzkyMTQ5MDc0ZjVkY2U3MTkg MTAwNjQ0DQotLS0gYS9nZGIvc2g2NC10ZGVwLmMNCisrKyBiL2dkYi9zaDY0 LXRkZXAuYw0KQEAgLTE1MjgsNyArMTUyOCw4IEBAIHNoNjRfcHNldWRvX3Jl Z2lzdGVyX3JlYWQgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3Qg cmVnY2FjaGUgKnJlZ2NhY2hlLA0KICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVf b3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOw0KICAgaW50 IGJhc2VfcmVnbnVtOw0KICAgaW50IG9mZnNldCA9IDA7DQotICBnZGJfYnl0 ZSB0ZW1wX2J1ZmZlcltNQVhfUkVHSVNURVJfU0laRV07DQorICBnZGJfYnl0 ZSAqdGVtcF9idWZmZXIgPSAoZ2RiX2J5dGUgKikgYWxsb2NhIChtYXhfcmVn aXN0ZXJfc2l6ZSAoZ2RiYXJjaCkpOw0KKw0KICAgZW51bSByZWdpc3Rlcl9z dGF0dXMgc3RhdHVzOw0KDQogICBpZiAocmVnX25yID49IERSMF9SRUdOVU0N CkBAIC0xNzA0LDcgKzE3MDUsNyBAQCBzaDY0X3BzZXVkb19yZWdpc3Rlcl93 cml0ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCByZWdjYWNo ZSAqcmVnY2FjaGUsDQogICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9 IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7DQogICBpbnQgYmFzZV9y ZWdudW0sIHBvcnRpb247DQogICBpbnQgb2Zmc2V0Ow0KLSAgZ2RiX2J5dGUg dGVtcF9idWZmZXJbTUFYX1JFR0lTVEVSX1NJWkVdOw0KKyAgZ2RiX2J5dGUg KnRlbXBfYnVmZmVyID0gKGdkYl9ieXRlICopIGFsbG9jYSAobWF4X3JlZ2lz dGVyX3NpemUgKGdkYmFyY2gpKTsNCg0KICAgaWYgKHJlZ19uciA+PSBEUjBf UkVHTlVNDQogICAgICAgJiYgcmVnX25yIDw9IERSX0xBU1RfUkVHTlVNKQ0K ZGlmZiAtLWdpdCBhL2dkYi9zb2wtdGhyZWFkLmMgYi9nZGIvc29sLXRocmVh ZC5jDQppbmRleCBhMDlhM2FiOWE4YmM1NmYzNjdlM2JhMTUzN2Y1Njc0ZjBh N2Y0OTFmLi40YWM5NWFkNWY3MjZlNTdlNWQ3YTlkMjY5NmZlZjMzYmJjNTI0 NzNkIDEwMDY0NA0KLS0tIGEvZ2RiL3NvbC10aHJlYWQuYw0KKysrIGIvZ2Ri L3NvbC10aHJlYWQuYw0KQEAgLTUxNCw2ICs1MTQsNyBAQCBzb2xfdGhyZWFk X3N0b3JlX3JlZ2lzdGVycyAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywNCiAg IHRkX2Vycl9lIHZhbDsNCiAgIHByZ3JlZ3NldF90IGdyZWdzZXQ7DQogICBw cmZwcmVnc2V0X3QgZnByZWdzZXQ7DQorICBzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCA9IGdldF9yZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7DQoNCiAgIGlm ICghcHRpZF90aWRfcCAoaW5mZXJpb3JfcHRpZCkpDQogICAgIHsNCkBAIC01 MzUsNyArNTM2LDcgQEAgc29sX3RocmVhZF9zdG9yZV9yZWdpc3RlcnMgKHN0 cnVjdCB0YXJnZXRfb3BzICpvcHMsDQogICBpZiAocmVnbnVtICE9IC0xKQ0K ICAgICB7DQogICAgICAgLyogTm90IHdyaXRpbmcgYWxsIHRoZSByZWdpc3Rl cnMuICAqLw0KLSAgICAgIGNoYXIgb2xkX3ZhbHVlW01BWF9SRUdJU1RFUl9T SVpFXTsNCisgICAgICBjaGFyICpvbGRfdmFsdWUgPSAoY2hhciAqKSBhbGxv Y2EgKHJlZ2lzdGVyX3NpemUgKGdkYmFyY2gsIHJlZ251bSkpOw0KDQogICAg ICAgLyogU2F2ZSBuZXcgcmVnaXN0ZXIgdmFsdWUuICAqLw0KICAgICAgIHJl Z2NhY2hlX3Jhd19jb2xsZWN0IChyZWdjYWNoZSwgcmVnbnVtLCBvbGRfdmFs dWUpOw0KZGlmZiAtLWdpdCBhL2dkYi9zdGFjay5jIGIvZ2RiL3N0YWNrLmMN CmluZGV4IGUwMGUyOTcyY2YyMGJjNjM5MTdhZjE5Zjg2YmY1N2YxYzZiMGI1 YjAuLmI3NmIyZjU0MGRlM2RjZTIzZGNiMjlhNTYyODAyOTU3OTBhN2E1MzMg MTAwNjQ0DQotLS0gYS9nZGIvc3RhY2suYw0KKysrIGIvZ2RiL3N0YWNrLmMN CkBAIC0xNjY3LDcgKzE2NjcsNyBAQCBmcmFtZV9pbmZvIChjaGFyICphZGRy X2V4cCwgaW50IGZyb21fdHR5KQ0KIAkgIHsNCiAJICAgIGVudW0gYmZkX2Vu ZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNo KTsNCiAJICAgIGludCBzcF9zaXplID0gcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJj aCwgZ2RiYXJjaF9zcF9yZWdudW0gKGdkYmFyY2gpKTsNCi0JICAgIGdkYl9i eXRlIHZhbHVlW01BWF9SRUdJU1RFUl9TSVpFXTsNCisJICAgIGdkYl9ieXRl ICp2YWx1ZSA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKHNwX3NpemUpOw0KIAkg ICAgQ09SRV9BRERSIHNwOw0KDQogCSAgICBmcmFtZV9yZWdpc3Rlcl91bndp bmQgKGZpLCBnZGJhcmNoX3NwX3JlZ251bSAoZ2RiYXJjaCksDQpkaWZmIC0t Z2l0IGEvZ2RiL3RhcmdldC5jIGIvZ2RiL3RhcmdldC5jDQppbmRleCAzYzQw OWYwZjYxOTE0MTIwNWRmZGNiYmY4ZTQ2YTI3NzU4NWVkNjgzLi4wYzdhZjk5 NDg2NjcyNDJiM2VmNjFjMWM0NjIwZDg5MjliMjdhMzM2IDEwMDY0NA0KLS0t IGEvZ2RiL3RhcmdldC5jDQorKysgYi9nZGIvdGFyZ2V0LmMNCkBAIC0zNTY1 LDcgKzM1NjUsNyBAQCBkZWJ1Z19wcmludF9yZWdpc3RlciAoY29uc3QgY2hh ciAqIGZ1bmMsDQogICAgIHsNCiAgICAgICBlbnVtIGJmZF9lbmRpYW4gYnl0 ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7DQogICAg ICAgaW50IGksIHNpemUgPSByZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdu byk7DQotICAgICAgZ2RiX2J5dGUgYnVmW01BWF9SRUdJU1RFUl9TSVpFXTsN CisgICAgICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFsbG9jYSAo c2l6ZSk7DQoNCiAgICAgICByZWdjYWNoZV9yYXdfY29sbGVjdCAocmVnY2Fj aGUsIHJlZ25vLCBidWYpOw0KICAgICAgIGZwcmludGZfdW5maWx0ZXJlZCAo Z2RiX3N0ZGxvZywgIiA9ICIpOw0KZGlmZiAtLWdpdCBhL2dkYi94dGVuc2Et dGRlcC5jIGIvZ2RiL3h0ZW5zYS10ZGVwLmMNCmluZGV4IDk3OGIxM2FiYzU3 YTQwNDk3NGZjMDJkZmQ4Njg5NzdiM2RhYjAyOTAuLmQyZTk3Zjg2NzA1ZDEz OTc1ZTVkYjhkOTgxYWNhYjEwMDJjZmQ1NjcgMTAwNjQ0DQotLS0gYS9nZGIv eHRlbnNhLXRkZXAuYw0KKysrIGIvZ2RiL3h0ZW5zYS10ZGVwLmMNCkBAIC0z NzAsNyArMzcwLDEwIEBAIHN0YXRpYyB2b2lkDQogeHRlbnNhX3JlZ2lzdGVy X3dyaXRlX21hc2tlZCAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwNCiAJ CQkgICAgICB4dGVuc2FfcmVnaXN0ZXJfdCAqcmVnLCBjb25zdCBnZGJfYnl0 ZSAqYnVmZmVyKQ0KIHsNCi0gIHVuc2lnbmVkIGludCB2YWx1ZVsoTUFYX1JF R0lTVEVSX1NJWkUgKyAzKSAvIDRdOw0KKyAgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2ggPSBnZXRfcmVnY2FjaGVfYXJjaCAocmVnY2FjaGUpOw0KKyAgdW5z aWduZWQgaW50ICp2YWx1ZSA9ICh1bnNpZ25lZCBpbnQgKikgYWxsb2NhICht YXhfcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCkNCisJCQkJCQkgKyAxKTsNCisN CiAgIGNvbnN0IHh0ZW5zYV9tYXNrX3QgKm1hc2sgPSByZWctPm1hc2s7DQoN CiAgIGludCBzaGlmdCA9IDA7CQkvKiBTaGlmdCBmb3IgbmV4dCBtYXNrICht b2QgMzIpLiAgKi8NCkBAIC00NTQsNyArNDU3LDkgQEAgc3RhdGljIGVudW0g cmVnaXN0ZXJfc3RhdHVzDQogeHRlbnNhX3JlZ2lzdGVyX3JlYWRfbWFza2Vk IChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLA0KIAkJCSAgICAgeHRlbnNh X3JlZ2lzdGVyX3QgKnJlZywgZ2RiX2J5dGUgKmJ1ZmZlcikNCiB7DQotICB1 bnNpZ25lZCBpbnQgdmFsdWVbKE1BWF9SRUdJU1RFUl9TSVpFICsgMykgLyA0 XTsNCisgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hl X2FyY2ggKHJlZ2NhY2hlKTsNCisgIHVuc2lnbmVkIGludCAqdmFsdWUgPSAo dW5zaWduZWQgaW50ICopIGFsbG9jYSAobWF4X3JlZ2lzdGVyX3NpemUgKGdk YmFyY2gpDQorCQkJCQkJICsgMSk7DQogICBjb25zdCB4dGVuc2FfbWFza190 ICptYXNrID0gcmVnLT5tYXNrOw0KDQogICBpbnQgc2hpZnQgPSAwOw0KQEAg LTU1OSwxMiArNTY0LDExIEBAIHh0ZW5zYV9wc2V1ZG9fcmVnaXN0ZXJfcmVh ZCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsDQogICAgICAgJiYgKHJlZ251 bSA+PSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpLT5hMF9iYXNlKQ0KICAgICAg ICYmIChyZWdudW0gPD0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKS0+YTBfYmFz ZSArIDE1KSkNCiAgICAgew0KLSAgICAgIGdkYl9ieXRlICpidWYgPSAoZ2Ri X2J5dGUgKikgYWxsb2NhIChNQVhfUkVHSVNURVJfU0laRSk7DQorICAgICAg aW50IHdiX3JlZ251bSA9IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCktPndiX3Jl Z251bTsNCisgICAgICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRlICopIGFs bG9jYSAocmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgd2JfcmVnbnVtKSk7DQog ICAgICAgZW51bSByZWdpc3Rlcl9zdGF0dXMgc3RhdHVzOw0KDQotICAgICAg c3RhdHVzID0gcmVnY2FjaGVfcmF3X3JlYWQgKHJlZ2NhY2hlLA0KLQkJCQkg IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCktPndiX3JlZ251bSwNCi0JCQkJICBi dWYpOw0KKyAgICAgIHN0YXR1cyA9IHJlZ2NhY2hlX3Jhd19yZWFkIChyZWdj YWNoZSwgd2JfcmVnbnVtLCBidWYpOw0KICAgICAgIGlmIChzdGF0dXMgIT0g UkVHX1ZBTElEKQ0KIAlyZXR1cm4gc3RhdHVzOw0KICAgICAgIHJlZ251bSA9 IGFycmVnX251bWJlciAoZ2RiYXJjaCwgcmVnbnVtLA0KQEAgLTY1NSwxMCAr NjU5LDEwIEBAIHh0ZW5zYV9wc2V1ZG9fcmVnaXN0ZXJfd3JpdGUgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLA0KICAgICAgICYmIChyZWdudW0gPj0gZ2Ri YXJjaF90ZGVwIChnZGJhcmNoKS0+YTBfYmFzZSkNCiAgICAgICAmJiAocmVn bnVtIDw9IGdkYmFyY2hfdGRlcCAoZ2RiYXJjaCktPmEwX2Jhc2UgKyAxNSkp DQogICAgIHsNCi0gICAgICBnZGJfYnl0ZSAqYnVmID0gKGdkYl9ieXRlICop IGFsbG9jYSAoTUFYX1JFR0lTVEVSX1NJWkUpOw0KKyAgICAgIGludCB3Yl9y ZWdudW0gPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpLT53Yl9yZWdudW07DQor ICAgICAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKHJl Z2lzdGVyX3NpemUgKGdkYmFyY2gsIHdiX3JlZ251bSkpOw0KDQotICAgICAg cmVnY2FjaGVfcmF3X3JlYWQgKHJlZ2NhY2hlLA0KLQkJCSBnZGJhcmNoX3Rk ZXAgKGdkYmFyY2gpLT53Yl9yZWdudW0sIGJ1Zik7DQorICAgICAgcmVnY2Fj aGVfcmF3X3JlYWQgKHJlZ2NhY2hlLCB3Yl9yZWdudW0sIGJ1Zik7DQogICAg ICAgcmVnbnVtID0gYXJyZWdfbnVtYmVyIChnZGJhcmNoLCByZWdudW0sDQog CQkJICAgICBleHRyYWN0X3Vuc2lnbmVkX2ludGVnZXIgKGJ1ZiwgNCwgYnl0 ZV9vcmRlcikpOw0KICAgICB9DQoNCg0KDQo= >From gdb-patches-return-136575-listarch-gdb-patches=sources.redhat.com@sourceware.org Fri Jan 27 17:01:11 2017 Return-Path: Delivered-To: listarch-gdb-patches@sources.redhat.com Received: (qmail 55134 invoked by alias); 27 Jan 2017 17:01:11 -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 Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 54411 invoked by uid 89); 27 Jan 2017 17:01:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy=H*i:sk:wwokwpd, H*f:sk:wwokwpd X-HELO: mail-qt0-f196.google.com Received: from mail-qt0-f196.google.com (HELO mail-qt0-f196.google.com) (209.85.216.196) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 27 Jan 2017 17:01:00 +0000 Received: by mail-qt0-f196.google.com with SMTP id n13so47123355qtc.0 for ; Fri, 27 Jan 2017 09:00:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=GQsJKp5FTVR35gdBhtpovr+PeoebIuRkDMmFdF64YqQ=; b=E0ChYDfZlz0t50irzelKrcgbqohGJz7KWNchrSsDla72HSWLnBcayekk/1+eZGuawj mkuI/h/VOpgDjYLDkvEm6G3JQVxsIJrV6S2nuLbUhJg+fUHmnU4Cw1BOabU/Wf1x/Ose MG+IWf4d1EU1Yh7iTdxBvZbZdRtep293gY/u4kftkF/0FAcQLgD40ye9PmhTyz0uPi/T jRgINx4i/nvem96vvD6iUoprHFjxhaBgn5MibkQeeymV+FFVOww1NpBcLRaNV3gs4Cu+ CKstC6ocYWO1tsXLyTg9yiSQnvqS3ZCf6r3EdFGZsOMeuJT0B99cLie/Ts7NlpxGvPJ7 NFtg== X-Gm-Message-State: AIkVDXKCwHTssjQ1xy0FHqU7Ep2PUJVIsYXEbCg3G+uB6hj0HG2+Aih8N39bhZNId3dwtasTeVj+G4UChYkoUQ== X-Received: by 10.55.157.17 with SMTP id g17mr9654377qke.122.1485536458069; Fri, 27 Jan 2017 09:00:58 -0800 (PST) MIME-Version: 1.0 Received: by 10.12.140.194 with HTTP; Fri, 27 Jan 2017 09:00:57 -0800 (PST) In-Reply-To: References: <20161129120702.9490-1-antoine.tremblay@ericsson.com> <20170127150139.GB24676@E107787-LIN> From: Yao Qi Date: Fri, 27 Jan 2017 17:01:00 -0000 Message-ID: Subject: Re: [PATCH 1/2] This patch fixes GDBServer's run control for single stepping To: Antoine Tremblay Cc: "gdb-patches@sourceware.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2017-01/txt/msg00631.txt.bz2 Content-length: 1319 On Fri, Jan 27, 2017 at 4:06 PM, Antoine Tremblay wrote: >> GDB/GDBserver has to emulate the instruction on how does it affect the >> flag, and only insert the breakpoint on the "true" branch. Since the >> target instruction will be definitely executed, we can safely use >> 16-bit breakpoint instruction. > > Ouch, reading the kernel thread it looks like this emulation would be > complex to say the least. > There are some other ideas discussed in the kernel threads, but I didn't go through them. They may work. If emulation is complex, probably we can partially fix this problem by "always using 16-bit thumb instruction if program is out of IT block". > I think it would be better to get the current single stepping working > with the stop all threads logic since GDBServer was working like that > when GDB was doing the single stepping anyway. This would fix the current > regression. > > Then work could be done to improve GDBServer to be better at > non-stopping. > > WDYT ? > Sounds like we are applying the ARM linux limitation to a general place. Other software single step targets may write breakpoint in atomic way, so we don't need to stop all threads. Even in -marm mode, we don't have to stop all threads on inserting breakpoints. --=20 Yao (=E9=BD=90=E5=B0=A7)