From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10802 invoked by alias); 3 Dec 2018 09:55:49 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 10789 invoked by uid 89); 3 Dec 2018 09:55:47 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=intend, storage, sk:x_flag_, Options X-HELO: EUR03-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr30089.outbound.protection.outlook.com (HELO EUR03-AM5-obe.outbound.protection.outlook.com) (40.107.3.89) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 03 Dec 2018 09:55:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IVo8ABGm4uRcMGozVo/PUfCluhUF78y6MRuiVNXmAbA=; b=KN9pbRVjjnKxu07lnlfgAerBiktuODXFBYvSka4aZ3Bw4AWi9yU+LMetayh85OqaRLakgwFpf21+NyjePtAePkMaj4bbwXFFEbj0LmNQvJtXmRwJ+Y9e4ZZ2xFihJu5Jb+KL/YLEJs1bpsQh//d1wQcnhjC7KZHYQsVCFs4C7IY= Received: from AM4PR08MB2788.eurprd08.prod.outlook.com (10.171.191.18) by AM4PR08MB0756.eurprd08.prod.outlook.com (10.164.82.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1382.22; Mon, 3 Dec 2018 09:55:36 +0000 Received: from AM4PR08MB2788.eurprd08.prod.outlook.com ([fe80::8584:2893:f8fe:d054]) by AM4PR08MB2788.eurprd08.prod.outlook.com ([fe80::8584:2893:f8fe:d054%2]) with mapi id 15.20.1382.020; Mon, 3 Dec 2018 09:55:36 +0000 From: Ramana Radhakrishnan To: James Greenhalgh , Richard Earnshaw CC: Marcus Shawcroft , "gcc-patches@gcc.gnu.org" , Ard Biesheuvel , Will Deacon , Mark Rutland , nd Subject: [RFC][AArch64] Add support for system register based stack protector canary access Date: Mon, 03 Dec 2018 09:55:00 -0000 Message-ID: <7a5a57fa-629d-d2ff-6292-e0893647ec8a@arm.com> user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=Ramana.Radhakrishnan@arm.com; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) Content-Type: multipart/mixed; boundary="_002_7a5a57fa629dd2ff6292e0893647ec8aarmcom_" MIME-Version: 1.0 X-SW-Source: 2018-12/txt/msg00062.txt.bz2 --_002_7a5a57fa629dd2ff6292e0893647ec8aarmcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <30D4DE89C8633D47AA81ACB3A2EA0E43@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 4730 Rm9yIHF1aXRlIHNvbWV0aW1lIHRoZSBrZXJuZWwgZ3V5cywgKG1vcmUgc3Bl Y2lmaWNhbGx5IEFyZCkgaGF2ZSBiZWVuIA0KdGFsa2luZyBhYm91dCB1c2lu ZyBhIHN5c3RlbSByZWdpc3RlciAoc3BfZWwwKSBhbmQgYW4gb2Zmc2V0IGZy b20gdGhhdCANCmZvciBhIGNhbmFyeSBiYXNlZCBhY2Nlc3MuIFRoaXMgcGF0 Y2hzZXQgYWRkcyBzdXBwb3J0IGZvciBhIG5ldyBzZXQgb2YNCmNvbW1hbmQg bGluZSBvcHRpb25zIHNpbWlsYXIgdG8gaG93IHBvd2VycGMgaGFzIGRvbmUg dGhpcy4NCg0KSSBkb24ndCBpbnRlbmQgdG8gY2hhbmdlIHRoZSBkZWZhdWx0 cyBpbiB1c2VybGFuZCwgd2UndmUgZGlzY3Vzc2VkIHRoaXMgDQpmb3IgdXNl ci1sYW5kIGluIHRoZSBwYXN0IGFuZCBhcyBmYXIgYXMgZ2xpYmMgYW5kIHVz ZXJsYW5kIGlzIGNvbmNlcm5lZCANCndlIHN0aWNrIHRvIHRoZSBvcHRpb25z IGFzIGN1cnJlbnRseSBleGlzdGluZy4gVGhlIHN5c3RlbSByZWdpc3RlciAN Cm9wdGlvbiBpcyByZWFsbHkgZm9yIHRoZSBrZXJuZWwgdG8gdXNlIGFsb25n IHdpdGggYW4gb2Zmc2V0IGFzIHRoZXkgDQpjb250cm9sIHRoZWlyIEFCSSBh bmQgdGhpcyBpcyBhIGRlY2lzaW9uIGZvciB0aGVtIHRvIG1ha2UuDQoNCkkg ZGlkIGNvbnNpZGVyIHN0aWNraW5nIHRoaXMgYWxsIHVuZGVyIGEgbWNtb2Rl bD1rZXJuZWwtc21hbGwgb3B0aW9uIGJ1dA0KdGhvdWdodCB0aGF0IHdvdWxk IGJlIGEgYml0IHRvbyBhZ2dyZXNzaXZlLiBUaGVyZSBpcyB2ZXJ5IGxpdHRs ZSBlcnJvcg0KY2hlY2tpbmcgSSBjYW4gZG8gaW4gdGVybXMgb2YgdGhlIHN5 c3RlbSByZWdpc3RlciBiZWluZyB1c2VkIGFuZCByZWFsbHkNCnRoZSBhc3Nl bWJsZXIgd291bGQgYmFyZiBxdWl0ZSBxdWlja2x5IGluIGNhc2UgdGhpbmdz IGdvIHdyb25nLiBJJ3ZlDQptYW5hZ2VkIHRvIHJlYnVpbGQgQXJkJ3Mga2Vy bmVsIHRyZWUgd2l0aCBhbiBhZGRpdGlvbmFsIHBhdGNoIHRoYXQNCkkgd2ls bCBzZW5kIHRvIGhpbS4gSSBoYXZlbid0IG1hbmFnZWQgdG8gYm9vdCB0aGlz IGtlcm5lbC4NCg0KVGhlcmUgd2FzIGFuIGFkZGl0aW9uYWwgcXVlc3Rpb24g YXNrZWQgYWJvdXQgdGhlIHBlcmZvcm1hbmNlIA0KY2hhcmFjdGVyaXN0aWNz IG9mIHRoaXMgYnV0IGl0J3MgYSBzZWN1cml0eSBmZWF0dXJlIGFuZCB0aGUg a2VybmVsIA0KZG9lc24ndCBoYXZlIHRoZSBsdXh1cnkgb2YgYSBoaWRkZW4g c3ltYm9sLiBGdXJ0aGVyIHNpbmNlIHRoZSBrZXJuZWwgDQp1c2VzIHNwX2Vs MCBmb3IgYWNjZXNzIGV2ZXJ5d2hlcmUgYW5kIGlmIHRoZXkgY2hvb3NlIHRv IHVzZSB0aGUgc2FtZSANCnJlZ2lzdGVyIEkgZG9uJ3QgdGhpbmsgdGhlIHBl cmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyB3b3VsZCBiZSB0b28gYmFkLCAN CmJ1dCB0aGF0J3MgYSBkZWNpc2lvbiBmb3IgdGhlIGtlcm5lbCBmb2xrcyB0 byBtYWtlIHdoZW4gdGFraW5nIGluIHRoZSANCmZlYXR1cmUgaW50byB0aGUg a2VybmVsLg0KDQpJIHN0aWxsIG5lZWQgdG8gYWRkIHNvbWUgdGVzdHMgYW5k IGRvY3VtZW50YXRpb24gaW4gaW52b2tlLnRleGkgYnV0DQp0aGlzIGlzIGF0 IHRoZSBzdGFnZSB3aGVyZSBpdCB3b3VsZCBiZSBuaWNlIGZvciBzb21lIG90 aGVyIGZvbGtzDQp0byBsb29rIGF0IHRoaXMuDQoNClRoZSBkaWZmZXJlbmNl IGluIGNvZGUgZ2VuZXJhdGVkIGlzIGFzIGJlbG93Lg0KDQpleHRlcm4gdm9p ZCBiYXIgKGNoYXIgKik7DQppbnQgZm9vICh2b2lkKQ0Kew0KICAgY2hhciBh WzEwMF07DQogICBiYXIgKCZhKTsNCn0NCg0KJEdDQyAtTzIgIC1mc3RhY2st cHJvdGVjdG9yLXN0cm9uZyAgdnMgDQotbXN0YWNrLXByb3RlY3Rvci1ndWFy ZC1yZWc9c3BfZWwwIC1tc3RhY2stcHJvdGVjdG9yLWd1YXJkPXN5c3JlZyAN Ci1tc3RhY2stcHJvdGVjdG9yLWd1YXJkLW9mZnNldD0xMDI0IC1mc3RhY2st cHJvdGVjdG9yLXN0cm9uZw0KDQoJDQotLS0gdHN0LnMJMjAxOC0xMi0wMyAw OTo0NjoyMS4xNzQxNjc0NDMgKzAwMDANCisrKyB0c3Qucy4xCTIwMTgtMTIt MDMgMDk6NDY6MDMuNTQ2MjU3MjAzICswMDAwDQpAQCAtMTUsMTUgKzE1LDE0 IEBADQogIAltb3YJeDI5LCBzcA0KICAJc3RyCXgxOSwgW3NwLCAxNl0NCiAg CS5jZmlfb2Zmc2V0IDE5LCAtMTI4DQotCWFkcnAJeDE5LCBfX3N0YWNrX2No a19ndWFyZA0KLQlhZGQJeDE5LCB4MTksIDpsbzEyOl9fc3RhY2tfY2hrX2d1 YXJkDQotCWxkcgl4MCwgW3gxOV0NCi0Jc3RyCXgwLCBbc3AsIDEzNl0NCi0J bW92CXgwLDANCisJbXJzCXgxOSwgc3BfZWwwDQogIAlhZGQJeDAsIHNwLCAz Mg0KKwlsZHIJeDEsIFt4MTksIDEwMjRdDQorCXN0cgl4MSwgW3NwLCAxMzZd DQorCW1vdgl4MSwwDQogIAlibAliYXINCiAgCWxkcgl4MCwgW3NwLCAxMzZd DQotCWxkcgl4MSwgW3gxOV0NCisJbGRyCXgxLCBbeDE5LCAxMDI0XQ0KICAJ ZW9yCXgxLCB4MCwgeDENCiAgCWNibnoJeDEsIC5MNQ0KDQoNCg0KDQpJIHdp bGwgYmUgYWZrIHRvbW9ycm93IGFuZCBkYXkgYWZ0ZXIgYnV0IHRoaXMgaXMg dG8gZWxpY2l0IHNvbWUgY29tbWVudHMgDQphbmQgZm9yIEFyZCB0byB0cnkg dGhpcyBvdXQgd2l0aCBoaXMga2VybmVsIHBhdGNoZXMuDQoNClRob3VnaHRz ID8NCg0KcmVnYXJkcw0KUmFtYW5hDQoNCmdjYy9DaGFuZ2VMb2c6DQoNCjIw MTgtMTEtMjMgIFJhbWFuYSBSYWRoYWtyaXNobmFuICA8cmFtYW5hLnJhZGhh a3Jpc2huYW5AYXJtLmNvbT4NCg0KICAgICAgICAgKiBjb25maWcvYWFyY2g2 NC9hYXJjaDY0LW9wdHMuaCAoZW51bSBzdGFja19wcm90ZWN0b3JfZ3VhcmQp OiBOZXcNCiAgICAgICAgICogY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5jIChh YXJjaDY0X292ZXJyaWRlX29wdGlvbnNfaW50ZXJuYWwpOiANCkhhbmRsZQ0K ICAgICAgICAgYW5kIHB1dCBpbiBlcnJvciBjaGVja3MgZm9yIHN0YWNrIHBy b3RlY3RvciBndWFyZCBvcHRpb25zLg0KICAgICAgICAgKGFhcmNoNjRfc3Rh Y2tfcHJvdGVjdF9ndWFyZCk6IE5ldy4NCiAgICAgICAgIChUQVJHRVRfU1RB Q0tfUFJPVEVDVF9HVUFSRCk6IERlZmluZS4NCiAgICAgICAgICogY29uZmln L2FhcmNoNjQvYWFyY2g2NC5tZCAoVU5TUEVDX1NTUF9TWVNSRUcpOiBOZXcu DQogICAgICAgICAocmVnX3N0YWNrX3Byb3RlY3RfYWRkcmVzczxtb2RlPik6 IE5ldy4NCiAgICAgICAgIChzdGFja19wcm90ZWN0X3NldCk6IEFkanVzdCBm b3IgU1NQX0dMT0JBTC4NCiAgICAgICAgIChzdGFja19wcm90ZWN0X3Rlc3Qp OiBMaWtld2lzZS4NCiAgICAgICAgICogY29uZmlnL2FhcmNoNjQvYWFyY2g2 NC5vcHQgKC1tc3RhY2stcHJvdGVjdG9yLWd1YXJkLXJlZyk6IE5ldy4NCiAg ICAgICAgICgtbXN0YWNrLXByb3RlY3Rvci1ndWFyZCk6IExpa2V3aXNlLg0K ICAgICAgICAgKC1tc3RhY2stcHJvdGVjdG9yLWd1YXJkLW9mZnNldCk6IExp a2V3aXNlLg0KICAgICAgICAgKiBkb2MvaW52b2tlLnRleGk6IERvY3VtZW50 IG5ldyBBQXJjaDY0IG9wdGlvbnMuDQo= --_002_7a5a57fa629dd2ff6292e0893647ec8aarmcom_ Content-Type: text/plain; name="sp_el0-patch.txt" Content-Description: sp_el0-patch.txt Content-Disposition: attachment; filename="sp_el0-patch.txt"; size=9377; creation-date="Mon, 03 Dec 2018 09:55:36 GMT"; modification-date="Mon, 03 Dec 2018 09:55:36 GMT" Content-ID: <7772BDFB19220C40ACE433747A17E2DB@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 Content-length: 12713 Y29tbWl0IDlmZWJhYTIzYzExNGU1OThkZGM5YTI0MDZhZDk2ZDhmYTNlYmUw YzYKQXV0aG9yOiBSYW1hbmEgUmFkaGFrcmlzaG5hbiA8cmFtYW5hLnJhZGhh a3Jpc2huYW5AYXJtLmNvbT4KRGF0ZTogICBNb24gTm92IDE5IDEwOjEyOjEy IDIwMTggKzAwMDAKCgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0 L2FhcmNoNjQtb3B0cy5oIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQt b3B0cy5oCmluZGV4IDdhNWM2ZDc2NjRmLi4yZjA2ZjNlMGU1YSAxMDA2NDQK LS0tIGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQtb3B0cy5oCisrKyBi L2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LW9wdHMuaApAQCAtOTEsNCAr OTEsMTAgQEAgZW51bSBhYXJjaDY0X3N2ZV92ZWN0b3JfYml0c19lbnVtIHsK ICAgU1ZFXzIwNDggPSAyMDQ4CiB9OwogCisvKiBXaGVyZSB0byBnZXQgdGhl IGNhbmFyeSBmb3IgdGhlIHN0YWNrIHByb3RlY3Rvci4gICovCitlbnVtIHN0 YWNrX3Byb3RlY3Rvcl9ndWFyZCB7CisgIFNTUF9TWVNSRUcsCQkJLyogcGVy LXRocmVhZCBjYW5hcnkgaW4gc3BlY2lhbCBzeXN0ZW0gcmVnaXN0ZXIgKi8K KyAgU1NQX0dMT0JBTAkJCS8qIGdsb2JhbCBjYW5hcnkgKi8KK307CisKICNl bmRpZgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQu YyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LmMKaW5kZXggMGQ4OWJh MjdlNGEuLmE1NmIyMTY2NTQyIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2Fh cmNoNjQvYWFyY2g2NC5jCisrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJj aDY0LmMKQEAgLTEwOTU1LDYgKzEwOTU1LDQxIEBAIGFhcmNoNjRfb3ZlcnJp ZGVfb3B0aW9uc19pbnRlcm5hbCAoc3RydWN0IGdjY19vcHRpb25zICpvcHRz KQogICBpZiAob3B0cy0+eF9mbGFnX3N0cmljdF92b2xhdGlsZV9iaXRmaWVs ZHMgPCAwICYmIGFiaV92ZXJzaW9uX2F0X2xlYXN0ICgyKSkKICAgICBvcHRz LT54X2ZsYWdfc3RyaWN0X3ZvbGF0aWxlX2JpdGZpZWxkcyA9IDE7CiAKKyAg aWYgKGFhcmNoNjRfc3RhY2tfcHJvdGVjdG9yX2d1YXJkID09IFNTUF9HTE9C QUwKKyAgICAgICYmIG9wdHMtPnhfYWFyY2g2NF9zdGFja19wcm90ZWN0b3Jf Z3VhcmRfb2Zmc2V0X3N0cikKKyAgICB7CisgICAgICBlcnJvciAoIkluY29t cGF0aWJsZSBvcHRpb25zIC1tc3RhY2stcHJvdGVjdG9yLWd1YXJkPWdsb2Jh bCBhbmQiCisJICAgICAiLW1zdGFjay1wcm90ZWN0b3ItZ3VhcmQtb2Zmc2V0 PSVxcyIsCisJICAgICBhYXJjaDY0X3N0YWNrX3Byb3RlY3Rvcl9ndWFyZF9v ZmZzZXRfc3RyKTsKKyAgICB9CisKKyAgaWYgKGFhcmNoNjRfc3RhY2tfcHJv dGVjdG9yX2d1YXJkID09IFNTUF9TWVNSRUcKKyAgICAgICYmICEob3B0cy0+ eF9hYXJjaDY0X3N0YWNrX3Byb3RlY3Rvcl9ndWFyZF9vZmZzZXRfc3RyCisJ ICAgJiYgb3B0cy0+eF9hYXJjaDY0X3N0YWNrX3Byb3RlY3Rvcl9ndWFyZF9y ZWdfc3RyKSkKKyAgICB7CisgICAgICBlcnJvciAoIkJvdGggLW1zdGFjay1w cm90ZWN0b3ItZ3VhcmQtb2Zmc2V0IGFuZCAiCisJICAgICAiLW1zdGFjay1w cm90ZWN0b3ItZ3VhcmQtcmVnIG11c3QgYmUgdXNlZCAiCisJICAgICAid2l0 aCAtbXN0YWNrLXByb3RlY3Rvci1ndWFyZD1zeXNyZWciKTsKKyAgICB9CisK KyAgaWYgKG9wdHMtPnhfYWFyY2g2NF9zdGFja19wcm90ZWN0b3JfZ3VhcmRf cmVnX3N0cikKKyAgICB7CisgICAgICBpZiAoc3RybGVuIChvcHRzLT54X2Fh cmNoNjRfc3RhY2tfcHJvdGVjdG9yX2d1YXJkX3JlZ19zdHIpID4gMTAwKQor CSAgZXJyb3IgKCJTcGVjaWZ5IGEgc3lzdGVtIHJlZ2lzdGVyIHdpdGggYSBz bWFsbCBzdHJpbmcgbGVuZ3RoLiIpOworICAgIH0KKworICBpZiAob3B0cy0+ eF9hYXJjaDY0X3N0YWNrX3Byb3RlY3Rvcl9ndWFyZF9vZmZzZXRfc3RyKQor ICAgIHsKKyAgICAgIGNoYXIgKmVuZDsKKyAgICAgIGNvbnN0IGNoYXIgKnN0 ciA9IGFhcmNoNjRfc3RhY2tfcHJvdGVjdG9yX2d1YXJkX29mZnNldF9zdHI7 CisgICAgICBlcnJubyA9IDA7CisgICAgICBsb25nIG9mZnMgPSBzdHJ0b2wg KGFhcmNoNjRfc3RhY2tfcHJvdGVjdG9yX2d1YXJkX29mZnNldF9zdHIsICZl bmQsIDApOworICAgICAgaWYgKCEqc3RyIHx8ICplbmQgfHwgZXJybm8pCisJ ZXJyb3IgKCIlcXMgaXMgbm90IGEgdmFsaWQgb2Zmc2V0IGluICVxcyIsIHN0 ciwKKwkgICAgICAgIi1tc3RhY2stcHJvdGVjdG9yLWd1YXJkLW9mZnNldD0i KTsKKyAgICAgIGFhcmNoNjRfc3RhY2tfcHJvdGVjdG9yX2d1YXJkX29mZnNl dCA9IG9mZnM7CisgICAgfQorCiAgIGluaXRpYWxpemVfYWFyY2g2NF9jb2Rl X21vZGVsIChvcHRzKTsKICAgaW5pdGlhbGl6ZV9hYXJjaDY0X3Rsc19zaXpl IChvcHRzKTsKIApAQCAtMTc4NzIsOCArMTc5MDcsMjQgQEAgYWFyY2g2NF9y dW5fc2VsZnRlc3RzICh2b2lkKQogCiB9IC8vIG5hbWVzcGFjZSBzZWxmdGVz dAogCisvKiBJbXBsZW1lbnQgVEFSR0VUX1NUQUNLX1BST1RFQ1RfR1VBUkQu IEluIGNhc2Ugb2YgYQorICAgZ2xvYmFsIHZhcmlhYmxlIGJhc2VkIGd1YXJk IHVzZSB0aGUgZGVmYXVsdCBlbHNlCisgICByZXR1cm4gYSBudWxsIHRyZWUu ICAqLworc3RhdGljIHRyZWUKK2FhcmNoNjRfc3RhY2tfcHJvdGVjdF9ndWFy ZCAodm9pZCkKK3sKKyAgaWYgKGFhcmNoNjRfc3RhY2tfcHJvdGVjdG9yX2d1 YXJkID09IFNTUF9HTE9CQUwpCisgICAgcmV0dXJuIGRlZmF1bHRfc3RhY2tf cHJvdGVjdF9ndWFyZCAoKTsKKworICByZXR1cm4gTlVMTF9UUkVFOworfQor CisKICNlbmRpZiAvKiAjaWYgQ0hFQ0tJTkdfUCAqLwogCisjdW5kZWYgVEFS R0VUX1NUQUNLX1BST1RFQ1RfR1VBUkQKKyNkZWZpbmUgVEFSR0VUX1NUQUNL X1BST1RFQ1RfR1VBUkQgYWFyY2g2NF9zdGFja19wcm90ZWN0X2d1YXJkCisK ICN1bmRlZiBUQVJHRVRfQUREUkVTU19DT1NUCiAjZGVmaW5lIFRBUkdFVF9B RERSRVNTX0NPU1QgYWFyY2g2NF9hZGRyZXNzX2Nvc3QKIApkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQubWQgYi9nY2MvY29uZmln L2FhcmNoNjQvYWFyY2g2NC5tZAppbmRleCA4MmFmNGQ0N2Y3OC4uOGIwZWI5 ZTQzODIgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0 Lm1kCisrKyBiL2djYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0Lm1kCkBAIC0x OTQsNiArMTk0LDcgQEAKICAgICBVTlNQRUNfVUNWVEYKICAgICBVTlNQRUNf VVNITF8yUwogICAgIFVOU1BFQ19WU1RSVUNURFVNTVkKKyAgICBVTlNQRUNf U1NQX1NZU1JFRwogICAgIFVOU1BFQ19TUF9TRVQKICAgICBVTlNQRUNfU1Bf VEVTVAogICAgIFVOU1BFQ19SU1FSVApAQCAtNjU2MSwxMyArNjU2Miw0NiBA QAogICAiIgogewogICBtYWNoaW5lX21vZGUgbW9kZSA9IEdFVF9NT0RFIChv cGVyYW5kc1swXSk7CisgIGlmIChhYXJjaDY0X3N0YWNrX3Byb3RlY3Rvcl9n dWFyZCAhPSBTU1BfR0xPQkFMKQorICB7CisgICAgLyogR2VuZXJhdGUgYWNj ZXNzIHRocm91Z2ggdGhlIHN5c3RlbSByZWdpc3Rlci4gICovCisgICAgcnR4 IHRtcF9yZWcgPSBnZW5fcmVnX3J0eCAobW9kZSk7CisgICAgaWYgKG1vZGUg PT0gREltb2RlKQorICAgIHsKKyAgICAgICAgZW1pdF9pbnNuIChnZW5fcmVn X3N0YWNrX3Byb3RlY3RfYWRkcmVzc19kaSAodG1wX3JlZykpOworICAgICAg ICBlbWl0X2luc24gKGdlbl9hZGRkaTMgKHRtcF9yZWcsIHRtcF9yZWcsCisJ CQkgICAgICAgR0VOX0lOVCAoYWFyY2g2NF9zdGFja19wcm90ZWN0b3JfZ3Vh cmRfb2Zmc2V0KSkpOworICAgIH0KKyAgICBlbHNlCisgICAgeworCWVtaXRf aW5zbiAoZ2VuX3JlZ19zdGFja19wcm90ZWN0X2FkZHJlc3Nfc2kgKHRtcF9y ZWcpKTsKKwllbWl0X2luc24gKGdlbl9hZGRzaTMgKHRtcF9yZWcsIHRtcF9y ZWcsCisJCQkgICAgICAgR0VOX0lOVCAoYWFyY2g2NF9zdGFja19wcm90ZWN0 b3JfZ3VhcmRfb2Zmc2V0KSkpOwogCisgICAgfQorICAgIG9wZXJhbmRzWzFd ID0gZ2VuX3J0eF9NRU0gKG1vZGUsIHRtcF9yZWcpOworICB9CisgIAogICBl bWl0X2luc24gKChtb2RlID09IERJbW9kZQogCSAgICAgID8gZ2VuX3N0YWNr X3Byb3RlY3Rfc2V0X2RpCiAJICAgICAgOiBnZW5fc3RhY2tfcHJvdGVjdF9z ZXRfc2kpIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0pKTsKICAgRE9ORTsK IH0pCiAKKyhkZWZpbmVfaW5zbiAicmVnX3N0YWNrX3Byb3RlY3RfYWRkcmVz c188bW9kZT4iCisgWyhzZXQgKG1hdGNoX29wZXJhbmQ6UFRSIDAgInJlZ2lz dGVyX29wZXJhbmQiICI9ciIpCisgICAgICAgKHVuc3BlYzpQVFIgWyhjb25z dF9pbnQgMCldCisJVU5TUEVDX1NTUF9TWVNSRUcpKV0KKyAiYWFyY2g2NF9z dGFja19wcm90ZWN0b3JfZ3VhcmQgIT0gU1NQX0dMT0JBTCIKKyB7CisgICBj aGFyIGJ1ZlsxNTBdOworICAgc25wcmludGYgKGJ1ZiwgMTUwLCAibXJzXFx0 JSU8dz4wLCAlcyIsCisJICAgIGFhcmNoNjRfc3RhY2tfcHJvdGVjdG9yX2d1 YXJkX3JlZ19zdHIpOworICAgb3V0cHV0X2FzbV9pbnNuIChidWYsIG9wZXJh bmRzKTsKKyAgIHJldHVybiAiIjsKKyB9CisgWyhzZXRfYXR0ciAidHlwZSIg Im1ycyIpXSkKKwogKGRlZmluZV9pbnNuICJzdGFja19wcm90ZWN0X3NldF88 bW9kZT4iCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlBUUiAwICJtZW1vcnlf b3BlcmFuZCIgIj1tIikKIAkodW5zcGVjOlBUUiBbKG1hdGNoX29wZXJhbmQ6 UFRSIDEgIm1lbW9yeV9vcGVyYW5kIiAibSIpXQpAQCAtNjU4OCwxMiArNjYy MiwzNCBAQAogICBtYWNoaW5lX21vZGUgbW9kZSA9IEdFVF9NT0RFIChvcGVy YW5kc1swXSk7CiAKICAgcmVzdWx0ID0gZ2VuX3JlZ19ydHgobW9kZSk7Cisg IGlmIChhYXJjaDY0X3N0YWNrX3Byb3RlY3Rvcl9ndWFyZCAhPSBTU1BfR0xP QkFMKQorICB7CisgICAgLyogR2VuZXJhdGUgYWNjZXNzIHRocm91Z2ggdGhl IHN5c3RlbSByZWdpc3Rlci4gVGhlCisgICAgICAgc2VxdWVuY2Ugd2Ugd2Fu dCBoZXJlIGlzIHRoZSBhY2Nlc3MKKyAgICAgICBvZiB0aGUgc3RhY2sgb2Zm c2V0IHRvIGNvbWUgd2l0aAorICAgICAgIG1ycyBzY3JhdGNoX3JlZywgPHN5 c3RlbV9yZWdpc3Rlcj4KKyAgICAgICBhZGQgc2NyYXRjaF9yZWcsIHNjcmF0 Y2hfcmVnLCA6bG8xMjpvZmZzZXQuICovCisgICAgcnR4IHRtcF9yZWcgPSBn ZW5fcmVnX3J0eCAobW9kZSk7CisgICAgaWYgKG1vZGUgPT0gREltb2RlKQor ICAgIHsKKyAgICAgICBlbWl0X2luc24gKGdlbl9yZWdfc3RhY2tfcHJvdGVj dF9hZGRyZXNzX2RpICh0bXBfcmVnKSk7CisgICAgICAgZW1pdF9pbnNuIChn ZW5fYWRkZGkzICh0bXBfcmVnLCB0bXBfcmVnLAorICAgICAgIAkJICAgICAg ICAgICAgICBHRU5fSU5UIChhYXJjaDY0X3N0YWNrX3Byb3RlY3Rvcl9ndWFy ZF9vZmZzZXQpKSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisJZW1pdF9p bnNuIChnZW5fcmVnX3N0YWNrX3Byb3RlY3RfYWRkcmVzc19zaSAodG1wX3Jl ZykpOworCWVtaXRfaW5zbiAoZ2VuX2FkZHNpMyAodG1wX3JlZywgdG1wX3Jl ZywKKwkJCSAgICAgICBHRU5fSU5UIChhYXJjaDY0X3N0YWNrX3Byb3RlY3Rv cl9ndWFyZF9vZmZzZXQpKSk7CiAKKyAgICB9CisgICAgb3BlcmFuZHNbMV0g PSBnZW5fcnR4X01FTSAobW9kZSwgdG1wX3JlZyk7CisgIH0KICAgZW1pdF9p bnNuICgobW9kZSA9PSBESW1vZGUKLQkgICAgICA/IGdlbl9zdGFja19wcm90 ZWN0X3Rlc3RfZGkKLQkgICAgICA6IGdlbl9zdGFja19wcm90ZWN0X3Rlc3Rf c2kpIChyZXN1bHQsCi0JCQkJCSAgICBvcGVyYW5kc1swXSwKLQkJCQkJICAg IG9wZXJhbmRzWzFdKSk7CisJCSAgPyBnZW5fc3RhY2tfcHJvdGVjdF90ZXN0 X2RpCisJCSAgOiBnZW5fc3RhY2tfcHJvdGVjdF90ZXN0X3NpKSAocmVzdWx0 LAorCQkJCQkgICAgICAgIG9wZXJhbmRzWzBdLAorCQkJCQkgICAgICAgIG9w ZXJhbmRzWzFdKSk7CiAKICAgaWYgKG1vZGUgPT0gREltb2RlKQogICAgIGVt aXRfanVtcF9pbnNuIChnZW5fY2JyYW5jaGRpNCAoZ2VuX3J0eF9FUSAoVk9J RG1vZGUsIHJlc3VsdCwgY29uc3QwX3J0eCksCmRpZmYgLS1naXQgYS9nY2Mv Y29uZmlnL2FhcmNoNjQvYWFyY2g2NC5vcHQgYi9nY2MvY29uZmlnL2FhcmNo NjQvYWFyY2g2NC5vcHQKaW5kZXggYjJlODBjYmY2ZjEuLjFhYWY0YmViMzI5 IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2FhcmNoNjQvYWFyY2g2NC5vcHQK KysrIGIvZ2NjL2NvbmZpZy9hYXJjaDY0L2FhcmNoNjQub3B0CkBAIC0yMTgs MyArMjE4LDMzIEBAIEVuYWJsZXMgdmVyYm9zZSBjb3N0IG1vZGVsIGR1bXBp bmcgaW4gdGhlIGRlYnVnIGR1bXAgZmlsZXMuCiBtdHJhY2stc3BlY3VsYXRp b24KIFRhcmdldCBWYXIoYWFyY2g2NF90cmFja19zcGVjdWxhdGlvbikKIEdl bmVyYXRlIGNvZGUgdG8gdHJhY2sgd2hlbiB0aGUgQ1BVIG1pZ2h0IGJlIHNw ZWN1bGF0aW5nIGluY29ycmVjdGx5LgorCittc3RhY2stcHJvdGVjdG9yLWd1 YXJkPQorVGFyZ2V0IFJlamVjdE5lZ2F0aXZlIEpvaW5lZCBFbnVtKHN0YWNr X3Byb3RlY3Rvcl9ndWFyZCkgVmFyKGFhcmNoNjRfc3RhY2tfcHJvdGVjdG9y X2d1YXJkKSBJbml0KFNTUF9HTE9CQUwpCitVc2UgZ2l2ZW4gc3RhY2stcHJv dGVjdG9yIGd1YXJkLgorCitFbnVtCitOYW1lKHN0YWNrX3Byb3RlY3Rvcl9n dWFyZCkgVHlwZShlbnVtIHN0YWNrX3Byb3RlY3Rvcl9ndWFyZCkKK1ZhbGlk IGFyZ3VtZW50cyB0byAtbXN0YWNrLXByb3RlY3Rvci1ndWFyZD06CisKK0Vu dW1WYWx1ZQorRW51bShzdGFja19wcm90ZWN0b3JfZ3VhcmQpIFN0cmluZyhz eXNyZWcpIFZhbHVlKFNTUF9TWVNSRUcpCisKK0VudW1WYWx1ZQorRW51bShz dGFja19wcm90ZWN0b3JfZ3VhcmQpIFN0cmluZyhnbG9iYWwpIFZhbHVlKFNT UF9HTE9CQUwpCisKK21zdGFjay1wcm90ZWN0b3ItZ3VhcmQtcmVnPQorVGFy Z2V0IEpvaW5lZCBSZWplY3ROZWdhdGl2ZSBTdHJpbmcgVmFyKGFhcmNoNjRf c3RhY2tfcHJvdGVjdG9yX2d1YXJkX3JlZ19zdHIpCitVc2UgdGhlIHN5c3Rl bSByZWdpc3RlciBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZSBhcyB0 aGUgc3RhY2sgcHJvdGVjdG9yCitndWFyZCByZWdpc3Rlci4gVGhpcyBvcHRp b24gaXMgZm9yIHVzZSB3aXRoIGZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIGFu ZAorbm90IGZvciB1c2UgaW4gdXNlci1sYW5kIGNvZGUuCisKK21zdGFjay1w cm90ZWN0b3ItZ3VhcmQtb2Zmc2V0PQorVGFyZ2V0IEpvaW5lZCBSZWplY3RO ZWdhdGl2ZSBTdHJpbmcgVmFyKGFhcmNoNjRfc3RhY2tfcHJvdGVjdG9yX2d1 YXJkX29mZnNldF9zdHIpCitVc2UgYW4gaW1tZWRpYXRlIHRvIG9mZnNldCBm cm9tIHRoZSBzdGFjayBwcm90ZWN0b3IgZ3VhcmQgcmVnaXN0ZXIsIHNwX2Vs MC4KK1RoaXMgb3B0aW9uIGlzIGZvciB1c2Ugd2l0aCBmc3RhY2stcHJvdGVj dG9yLXN0cm9uZyBhbmQgbm90IGZvciB1c2UgaW4KK3VzZXItbGFuZCBjb2Rl LgorCitUYXJnZXRWYXJpYWJsZQorbG9uZyBhYXJjaDY0X3N0YWNrX3Byb3Rl Y3Rvcl9ndWFyZF9vZmZzZXQgPSAwCisKZGlmZiAtLWdpdCBhL2djYy9kb2Mv aW52b2tlLnRleGkgYi9nY2MvZG9jL2ludm9rZS50ZXhpCmluZGV4IGQ0NmVi ZDAyYzRlLi5kYmUxY2E0MmJlNCAxMDA2NDQKLS0tIGEvZ2NjL2RvYy9pbnZv a2UudGV4aQorKysgYi9nY2MvZG9jL2ludm9rZS50ZXhpCkBAIC02MjksNyAr NjI5LDkgQEAgT2JqZWN0aXZlLUMgYW5kIE9iamVjdGl2ZS1DKysgRGlhbGVj dHN9LgogLW1wYy1yZWxhdGl2ZS1saXRlcmFsLWxvYWRzIEBnb2wKIC1tc2ln bi1yZXR1cm4tYWRkcmVzcz1AdmFye3Njb3BlfSBAZ29sCiAtbWFyY2g9QHZh cntuYW1lfSAgLW1jcHU9QHZhcntuYW1lfSAgLW10dW5lPUB2YXJ7bmFtZX0g IEBnb2wKLS1tb3ZlcnJpZGU9QHZhcntzdHJpbmd9ICAtbXZlcmJvc2UtY29z dC1kdW1wICAtbXRyYWNrLXNwZWN1bGF0aW9ufSAKKy1tb3ZlcnJpZGU9QHZh cntzdHJpbmd9ICAtbXZlcmJvc2UtY29zdC1kdW1wIEBnb2wKKy1tc3RhY2st cHJvdGVjdG9yLWd1YXJkPUB2YXJ7Z3VhcmR9IC1tc3RhY2stcHJvdGVjdG9y LWd1YXJkLXJlZz1AdmFye3N5c3JlZ30gQGdvbAorLW1zdGFjay1wcm90ZWN0 b3ItZ3VhcmQtb2Zmc2V0PUB2YXJ7b2Zmc2V0fSAtbXRyYWNrLXNwZWN1bGF0 aW9uIH0KIAogQGVtcGh7QWRhcHRldmEgRXBpcGhhbnkgT3B0aW9uc30KIEBn Y2NvcHRsaXN0ey1taGFsZi1yZWctZmlsZSAgLW1wcmVmZXItc2hvcnQtaW5z bi1yZWdzIEBnb2wKQEAgLTE1NDUwLDYgKzE1NDUyLDI0IEBAIG9iamVjdCBi b3VuZGFyeSBhcyBkZXNjcmliZWQgaW4gdGhlIGFyY2hpdGVjdHVyZSBzcGVj aWZpY2F0aW9uLgogT21pdCBvciBrZWVwIHRoZSBmcmFtZSBwb2ludGVyIGlu IGxlYWYgZnVuY3Rpb25zLiAgVGhlIGZvcm1lciBiZWhhdmlvciBpcyB0aGUK IGRlZmF1bHQuCiAKK0BpdGVtIC1tc3RhY2stcHJvdGVjdG9yLWd1YXJkPUB2 YXJ7Z3VhcmR9CitAaXRlbXggLW1zdGFjay1wcm90ZWN0b3ItZ3VhcmQtcmVn PUB2YXJ7cmVnfQorQGl0ZW14IC1tc3RhY2stcHJvdGVjdG9yLWd1YXJkLW9m ZnNldD1AdmFye29mZnNldH0KK0BvcGluZGV4IG1zdGFjay1wcm90ZWN0b3It Z3VhcmQKK0BvcGluZGV4IG1zdGFjay1wcm90ZWN0b3ItZ3VhcmQtcmVnCitA b3BpbmRleCBtc3RhY2stcHJvdGVjdG9yLWd1YXJkLW9mZnNldAorR2VuZXJh dGUgc3RhY2sgcHJvdGVjdGlvbiBjb2RlIHVzaW5nIGNhbmFyeSBhdCBAdmFy e2d1YXJkfS4gIFN1cHBvcnRlZAorbG9jYXRpb25zIGFyZSBAc2FtcHtnbG9i YWx9IGZvciBhIGdsb2JhbCBjYW5hcnkgb3IgQHNhbXB7c3lzcmVnfSBmb3Ig YQorY2FuYXJ5IGluIGFuIGFwcHJvcHJpYXRlIHN5c3RlbSByZWdpc3Rlci4K KworV2l0aCB0aGUgbGF0dGVyIGNob2ljZSB0aGUgb3B0aW9ucworQG9wdGlv bnstbXN0YWNrLXByb3RlY3Rvci1ndWFyZC1yZWc9QHZhcntyZWd9fSBhbmQK K0BvcHRpb257LW1zdGFjay1wcm90ZWN0b3ItZ3VhcmQtb2Zmc2V0PUB2YXJ7 b2Zmc2V0fX0gZnVydGhlcm1vcmUgc3BlY2lmeQord2hpY2ggc3lzdGVtIHJl Z2lzdGVyIHRvIHVzZSBhcyBiYXNlIHJlZ2lzdGVyIGZvciByZWFkaW5nIHRo ZSBjYW5hcnksCithbmQgZnJvbSB3aGF0IG9mZnNldCBmcm9tIHRoYXQgYmFz ZSByZWdpc3Rlci4gVGhlcmUgaXMgbm8gZGVmYXVsdAorcmVnaXN0ZXIgb3Ig b2Zmc2V0IGFzIHRoaXMgaXMgZW50aXJlbHkgZm9yIHVzZSB3aXRoaW4gdGhl IExpbnV4CitrZXJuZWwuCisKIEBpdGVtIC1tdGxzLWRpYWxlY3Q9ZGVzYwog QG9waW5kZXggbXRscy1kaWFsZWN0PWRlc2MKIFVzZSBUTFMgZGVzY3JpcHRv cnMgYXMgdGhlIHRocmVhZC1sb2NhbCBzdG9yYWdlIG1lY2hhbmlzbSBmb3Ig ZHluYW1pYyBhY2Nlc3Nlcwo= --_002_7a5a57fa629dd2ff6292e0893647ec8aarmcom_--