From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 87484 invoked by alias); 6 Sep 2017 16:22:07 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 87384 invoked by uid 89); 6 Sep 2017 16:22:07 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No 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,MIME_BASE64_BLANKS,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=ard, fujitsu, H*r:0900, 62066 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mgwym02.jp.fujitsu.com Received: from mgwym02.jp.fujitsu.com (HELO mgwym02.jp.fujitsu.com) (211.128.242.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 06 Sep 2017 16:22:03 +0000 Received: from yt-mxoi1.gw.nic.fujitsu.com (unknown [192.168.229.67]) by mgwym02.jp.fujitsu.com with smtp id 32ba_994e_1858cb57_0893_4685_9cf0_663d4905b643; Thu, 07 Sep 2017 01:21:54 +0900 Received: from g01jpfmpwkw03.exch.g01.fujitsu.local (g01jpfmpwkw03.exch.g01.fujitsu.local [10.0.193.57]) by yt-mxoi1.gw.nic.fujitsu.com (Postfix) with ESMTP id 0D150AC01C4; Thu, 7 Sep 2017 01:21:54 +0900 (JST) Received: from G01JPEXCHKW17.g01.fujitsu.local (G01JPEXCHKW17.g01.fujitsu.local [10.0.194.56]) by g01jpfmpwkw03.exch.g01.fujitsu.local (Postfix) with ESMTP id 775FABD64ED; Thu, 7 Sep 2017 01:21:52 +0900 (JST) Received: from G01JPEXMBKW02.g01.fujitsu.local ([10.0.194.66]) by g01jpexchkw17 ([10.0.194.56]) with mapi id 14.03.0352.000; Thu, 7 Sep 2017 01:21:50 +0900 From: "Okamoto, Takayuki" To: 'Dave Martin' , "linux-arm-kernel@lists.infradead.org" CC: Catalin Marinas , Will Deacon , Ard Biesheuvel , =?utf-8?B?QWxleCBCZW5uw6ll?= , Szabolcs Nagy , Richard Sandiford , "kvmarm@lists.cs.columbia.edu" , "libc-alpha@sourceware.org" , "linux-arch@vger.kernel.org" , "gdb@sourceware.org" , Alan Hayward , Yao Qi , Oleg Nesterov , Alexander Viro Subject: RE: [PATCH v2 19/28] arm64/sve: ptrace and ELF coredump support Date: Wed, 06 Sep 2017 16:22:00 -0000 Message-ID: <5FA513F682BE7F4EAAB8EE035D5B08E44109DFE8@G01JPEXMBKW02> References: <1504198860-12951-1-git-send-email-Dave.Martin@arm.com> <1504198860-12951-20-git-send-email-Dave.Martin@arm.com> In-Reply-To: <1504198860-12951-20-git-send-email-Dave.Martin@arm.com> x-securitypolicycheck: OK by SHieldMailChecker v2.4.6 x-shieldmailcheckerpolicyversion: FJ-ISEC-20160315 x-shieldmailcheckermailid: 4d1366ccb9ed4978b85333ddc83656de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-SecurityPolicyCheck-GC: OK by FENCE-Mail X-TM-AS-MML: disable X-IsSubscribed: yes X-SW-Source: 2017-09/txt/msg00009.txt.bz2 SGkgRGF2ZSwNCg0KSSBhbSBhbiBlbmdpbmVlciBvZiB0aGUgcG9zdEsgY29t cHV0ZXIgZnJvbSBGdWppdHN1Lg0KDQpXaGVuIEkgdHJpZWQgdG8gcmVhZCAi bWF4X3ZsIiBieSBwdHJhY2Ugd2l0aCB0aGlzIHBhdGNoIG9uIG91ciBsb2Nh bCBTVkUgDQpzaW11bGF0b3IsIGl0IHdhcyByZWFkIGFzIHplcm8uDQpJIHRo aW5rIHRoZSBjYXVzZSBvZiB0aGlzIGluY2lkZW50IGlzIHRoYXQgIm1heF92 bCIgaXMgc2V0IGFzICJoZWFkZXItPnZsIiANCm9ubHkgb24gd2FybmluZyBj YXNlIGluIHN2ZV9pbml0X2hlYWRlcl9mcm9tX3Rhc2soKS4NCiJtYXhfdmwi IHNob3VsZCBiZSBzZXQgdXAgYWxzbyBvbiBub3JtYWwgY2FzZSwgbGlrZSB0 aGUgZm9sbG93aW5nIHBhdGNoLg0KDQoNCi0tLSBhL2FyY2gvYXJtNjQva2Vy bmVsL3B0cmFjZS5jDQorKysgYi9hcmNoL2FybTY0L2tlcm5lbC9wdHJhY2Uu Yw0KQEAgLTc1NSw2ICs3NTUsOCBAQCBzdGF0aWMgdm9pZCBzdmVfaW5pdF9o ZWFkZXJfZnJvbV90YXNrKHN0cnVjdCB1c2VyX3N2ZV9oZWFkZXIgKmhlYWRl ciwNCg0KICAgICAgICBpZiAoV0FSTl9PTighc3ZlX3ZsX3ZhbGlkKHN2ZV9t YXhfdmwpKSkNCiAgICAgICAgICAgICAgICBoZWFkZXItPm1heF92bCA9IGhl YWRlci0+dmw7DQorICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICBoZWFk ZXItPm1heF92bCA9IHN2ZV9tYXhfdmw7DQoNCiAgICAgICAgaGVhZGVyLT5z aXplID0gU1ZFX1BUX1NJWkUodnEsIGhlYWRlci0+ZmxhZ3MpOw0KICAgICAg ICBoZWFkZXItPm1heF9zaXplID0gU1ZFX1BUX1NJWkUoc3ZlX3ZxX2Zyb21f dmwoaGVhZGVyLT5tYXhfdmwpLA0KDQoNCkJlc3QgcmVnYXJkcywNClRha2F5 dWtpIE9rYW1vdG8NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZy b206IGdkYi1vd25lckBzb3VyY2V3YXJlLm9yZyBbbWFpbHRvOmdkYi1vd25l ckBzb3VyY2V3YXJlLm9yZ10gT24gQmVoYWxmIE9mIERhdmUgTWFydGluDQpT ZW50OiBGcmlkYXksIFNlcHRlbWJlciAxLCAyMDE3IDI6MDEgQU0NClRvOiBs aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcNCkNjOiBDYXRh bGluIE1hcmluYXMgPGNhdGFsaW4ubWFyaW5hc0Bhcm0uY29tPjsgV2lsbCBE ZWFjb24gPHdpbGwuZGVhY29uQGFybS5jb20+OyBBcmQgQmllc2hldXZlbCA8 YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz47IEFsZXggQmVubsOpZSA8YWxl eC5iZW5uZWVAbGluYXJvLm9yZz47IFN6YWJvbGNzIE5hZ3kgPHN6YWJvbGNz Lm5hZ3lAYXJtLmNvbT47IFJpY2hhcmQgU2FuZGlmb3JkIDxyaWNoYXJkLnNh bmRpZm9yZEBhcm0uY29tPjsga3ZtYXJtQGxpc3RzLmNzLmNvbHVtYmlhLmVk dTsgbGliYy1hbHBoYUBzb3VyY2V3YXJlLm9yZzsgbGludXgtYXJjaEB2Z2Vy Lmtlcm5lbC5vcmc7IGdkYkBzb3VyY2V3YXJlLm9yZzsgQWxhbiBIYXl3YXJk IDxhbGFuLmhheXdhcmRAYXJtLmNvbT47IFlhbyBRaSA8WWFvLlFpQGFybS5j b20+OyBPbGVnIE5lc3Rlcm92IDxvbGVnQHJlZGhhdC5jb20+OyBBbGV4YW5k ZXIgVmlybyA8dmlyb0B6ZW5pdi5saW51eC5vcmcudWs+DQpTdWJqZWN0OiBb UEFUQ0ggdjIgMTkvMjhdIGFybTY0L3N2ZTogcHRyYWNlIGFuZCBFTEYgY29y ZWR1bXAgc3VwcG9ydA0KDQpUaGlzIHBhdGNoIGRlZmluZXMgYW5kIGltcGxl bWVudHMgYSBuZXcgcmVnc2V0IE5UX0FSTV9TVkUsIHdoaWNoDQpkZXNjcmli ZXMgYSB0aHJlYWQncyBTVkUgcmVnaXN0ZXIgc3RhdGUuICBUaGlzIGFsbG93 cyBhIGRlYnVnZ2VyIHRvDQptYW5pcHVsYXRlIHRoZSBTVkUgc3RhdGUsIGFz IHdlbGwgYXMgYmVpbmcgaW5jbHVkZWQgaW4gRUxGDQpjb3JlZHVtcHMgZm9y IHBvc3QtbW9ydGVtIGRlYnVnZ2luZy4NCg0KQmVjYXVzZSB0aGUgcmVnc2V0 IHNpemUgYW5kIGxheW91dCBhcmUgZGVwZW5kZW50IG9uIHRoZSB0aHJlYWQn cw0KY3VycmVudCB2ZWN0b3IgbGVuZ3RoLCBpdCBpcyBub3QgcG9zc2libGUg dG8gZGVmaW5lIGEgQyBzdHJ1Y3QgdG8NCmRlc2NyaWJlIHRoZSByZWdzZXQg Y29udGVudHMgYXMgaXMgZG9uZSBmb3IgZXhpc3RpbmcgcmVnc2V0cy4NCklu c3RlYWQsIGFuZCBmb3IgdGhlIHNhbWUgcmVhc29ucywgTlRfQVJNX1NWRSBp cyBiYXNlZCBvbiB0aGUNCmZyZWVmb3JtIHZhcmlhYmxlLWxheW91dCBhcHBy b2FjaCB1c2VkIGZvciB0aGUgU1ZFIHNpZ25hbCBmcmFtZS4NCg0KQWRkaXRp b25hbGx5LCB0byByZWR1Y2UgZGVidWcgb3ZlcmhlYWQgd2hlbiBkZWJ1Z2dp bmcgdGhyZWFkcyB0aGF0DQptaWdodCBvciBtaWdodCBub3QgaGF2ZSBsaXZl IFNWRSByZWdpc3RlciBzdGF0ZSwgTlRfQVJNX1NWRSBtYXkgYmUNCnByZXNl bnRlZCBpbiBvbmUgb2YgdHdvIGRpZmZlcmVudCBmb3JtYXRzOiB0aGUgb2xk IHN0cnVjdA0KdXNlcl9mcHNpbWRfc3RhdGUgZm9ybWF0IGlzIGVtYmVkZGVk IGZvciBkZXNjcmliaW5nIHRoZSBzdGF0ZSBvZiBhDQp0aHJlYWQgd2l0aCBu byBsaXZlIFNWRSBzdGF0ZSwgd2hlcmVhcyBhIG5ldyB2YXJpYWJsZS1sYXlv dXQNCnN0cnVjdHVyZSBpcyBlbWJlZGRlZCBmb3IgZGVzY3JpYmluZyBsaXZl IFNWRSBzdGF0ZS4gIFRoaXMgYXZvaWRzIGENCmRlYnVnZ2VyIG5lZWRpbmcg dG8gcG9sbCBOVF9QUkZQUkVHIGluIGFkZGl0aW9uIHRvIE5UX0FSTV9TVkUs IGFuZA0KYWxsb3dzIGV4aXN0aW5nIHVzZXJzcGFjZSBjb2RlIHRvIGhhbmRs ZSB0aGUgbm9uLVNWRSBjYXNlIHdpdGhvdXQNCnRvbyBtdWNoIG1vZGlmaWNh dGlvbi4NCg0KRm9yIHRoaXMgdG8gd29yaywgTlRfQVJNX1NWRSBpcyBkZWZp bmVkIHdpdGggYSBmaXhlZC1mb3JtYXQgaGVhZGVyDQpvZiB0eXBlIHN0cnVj dCB1c2VyX3N2ZV9oZWFkZXIsIHdoaWNoIHRoZSByZWNpcGllbnQgY2FuIHVz ZSB0bw0KZmlndXJlIG91dCB0aGUgY29udGVudCwgc2l6ZSBhbmQgbGF5b3V0 IG9mIHRoZSByZXNldCBvZiB0aGUgcmVnc2V0Lg0KQWNjZXNzb3IgbWFjcm9z IGFyZSBkZWZpbmVkIHRvIGFsbG93IHRoZSB2ZWN0b3ItbGVuZ3RoLWRlcGVu ZGVudA0KcGFydHMgb2YgdGhlIHJlZ3NldCB0byBiZSBtYW5pcHVsYXRlZC4N Cg0KU2lnbmVkLW9mZi1ieTogQWxhbiBIYXl3YXJkIDxhbGFuLmhheXdhcmRA YXJtLmNvbT4NClNpZ25lZC1vZmYtYnk6IERhdmUgTWFydGluIDxEYXZlLk1h cnRpbkBhcm0uY29tPg0KQ2M6IEFsZXggQmVubsOpZSA8YWxleC5iZW5uZWVA bGluYXJvLm9yZz4NCg0KLS0tDQoNCkNoYW5nZXMgc2luY2UgdjENCi0tLS0t LS0tLS0tLS0tLS0NCg0KT3RoZXIgY2hhbmdlcyByZWxhdGVkIHRvIEFsZXgg QmVubsOpZSdzIGNvbW1lbnRzOg0KDQoqIE1pZ3JhdGUgdG8gU1ZFX1ZRX0JZ VEVTIGluc3RlYWQgb2YgbWFnaWMgbnVtYmVycy4NCg0KUmVxdWVzdGVkIGJ5 IEFsZXggQmVubsOpZToNCg0KKiBUaGluIG91dCBCVUdfT04oKXM6DQpSZWR1 bmRhbnQgQlVHX09OKClzIGFuZCBvbmVzIHRoYXQganVzdCBjaGVjayBpbnZh cmlhbnRzIGFyZSByZW1vdmVkLg0KSW1wb3J0YW50IHNhbml0eS1jaGVja3Mg YXJlIG1pZ3JhdGVkIHRvIFdBUk5fT04oKXMsIHdpdGggc29tZQ0KbWluaW1h bCBiZXN0LWVmZm9ydCBwYXRjaC11cCBjb2RlLg0KDQpPdGhlcjoNCg0KKiBb QUJJIGZpeF0gQmFpbCBvdXQgd2l0aCAtRUlPIGlmIGF0dGVtcHRpbmcgdG8g c2V0IHRoZQ0KU1ZFIHJlZ3MgZm9yIGFuIHVuc3VwcG9ydGVkIFZMLCBpbnN0 ZWFkIG9mIG1pc3BhcnNpbmcgdGhlIHJlZ3NldCBkYXRhLg0KDQoqIFJlcGxh Y2Ugc29tZSBpbi1rZXJuZWwgb3Blbi1jb2RlZCBhcml0aG1ldGljIHdpdGgg QUxJR04oKS8NCkRJVl9ST1VORF9VUCgpLg0KLS0tDQogYXJjaC9hcm02NC9p bmNsdWRlL2FzbS9mcHNpbWQuaCAgICAgIHwgIDEzICstDQogYXJjaC9hcm02 NC9pbmNsdWRlL3VhcGkvYXNtL3B0cmFjZS5oIHwgMTM1ICsrKysrKysrKysr KysrKysrKw0KIGFyY2gvYXJtNjQva2VybmVsL2Zwc2ltZC5jICAgICAgICAg ICB8ICA0MCArKysrKy0NCiBhcmNoL2FybTY0L2tlcm5lbC9wdHJhY2UuYyAg ICAgICAgICAgfCAyNzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0NCiBpbmNsdWRlL3VhcGkvbGludXgvZWxmLmggICAgICAgICAgICAg fCAgIDEgKw0KIDUgZmlsZXMgY2hhbmdlZCwgNDQ5IGluc2VydGlvbnMoKyks IDEwIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9p bmNsdWRlL2FzbS9mcHNpbWQuaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20v ZnBzaW1kLmgNCmluZGV4IDZjMjI2MjQuLjI3MjNjY2EgMTAwNjQ0DQotLS0g YS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Zwc2ltZC5oDQorKysgYi9hcmNo L2FybTY0L2luY2x1ZGUvYXNtL2Zwc2ltZC5oDQpAQCAtMzgsMTMgKzM4LDE2 IEBAIHN0cnVjdCBmcHNpbWRfc3RhdGUgew0KIAkJCV9fdWludDEyOF90IHZy ZWdzWzMyXTsNCiAJCQl1MzIgZnBzcjsNCiAJCQl1MzIgZnBjcjsNCisJCQkv Kg0KKwkJCSAqIEZvciBwdHJhY2UgY29tcGF0aWJpbGl0eSwgcGFkIHRvIG5l eHQgMTI4LWJpdA0KKwkJCSAqIGJvdW5kYXJ5IGhlcmUgaWYgZXh0ZW5kaW5n IHRoaXMgc3RydWN0Lg0KKwkJCSAqLw0KIAkJfTsNCiAJfTsNCiAJLyogdGhl IGlkIG9mIHRoZSBsYXN0IGNwdSB0byBoYXZlIHJlc3RvcmVkIHRoaXMgc3Rh dGUgKi8NCiAJdW5zaWduZWQgaW50IGNwdTsNCiB9Ow0KIA0KLQ0KICNpZiBk ZWZpbmVkKF9fS0VSTkVMX18pICYmIGRlZmluZWQoQ09ORklHX0NPTVBBVCkN CiAvKiBNYXNrcyBmb3IgZXh0cmFjdGluZyB0aGUgRlBTUiBhbmQgRlBDUiBm cm9tIHRoZSBGUFNDUiAqLw0KICNkZWZpbmUgVkZQX0ZQU0NSX1NUQVRfTUFT SwkweGY4MDAwMDlmDQpAQCAtODksNiArOTIsMTAgQEAgZXh0ZXJuIHZvaWQg c3ZlX2FsbG9jKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzayk7DQogZXh0ZXJu IHZvaWQgZnBzaW1kX3JlbGVhc2VfdGhyZWFkKHN0cnVjdCB0YXNrX3N0cnVj dCAqdGFzayk7DQogZXh0ZXJuIHZvaWQgZnBzaW1kX2R1cF9zdmUoc3RydWN0 IHRhc2tfc3RydWN0ICpkc3QsDQogCQkJICAgc3RydWN0IHRhc2tfc3RydWN0 IGNvbnN0ICpzcmMpOw0KK2V4dGVybiB2b2lkIGZwc2ltZF9zeW5jX3RvX3N2 ZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spOw0KK2V4dGVybiB2b2lkIHN2 ZV9zeW5jX3RvX2Zwc2ltZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spOw0K K2V4dGVybiB2b2lkIHN2ZV9zeW5jX2Zyb21fZnBzaW1kX3plcm9wYWQoc3Ry dWN0IHRhc2tfc3RydWN0ICp0YXNrKTsNCisNCiBleHRlcm4gaW50IHN2ZV9z ZXRfdmVjdG9yX2xlbmd0aChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssDQog CQkJCSB1bnNpZ25lZCBsb25nIHZsLCB1bnNpZ25lZCBsb25nIGZsYWdzKTsN CiANCkBAIC0xMDMsNiArMTEwLDEwIEBAIHN0YXRpYyB2b2lkIF9fbWF5YmVf dW51c2VkIHN2ZV9hbGxvYyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spIHsg fQ0KIHN0YXRpYyB2b2lkIF9fbWF5YmVfdW51c2VkIGZwc2ltZF9yZWxlYXNl X3RocmVhZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spIHsgfQ0KIHN0YXRp YyB2b2lkIF9fbWF5YmVfdW51c2VkIGZwc2ltZF9kdXBfc3ZlKHN0cnVjdCB0 YXNrX3N0cnVjdCAqZHN0LA0KIAkJCQkJICBzdHJ1Y3QgdGFza19zdHJ1Y3Qg Y29uc3QgKnNyYykgeyB9DQorc3RhdGljIHZvaWQgX19tYXliZV91bnVzZWQg c3ZlX3N5bmNfdG9fZnBzaW1kKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykg eyB9DQorc3RhdGljIHZvaWQgX19tYXliZV91bnVzZWQgc3ZlX3N5bmNfZnJv bV9mcHNpbWRfemVyb3BhZCgNCisJc3RydWN0IHRhc2tfc3RydWN0ICp0YXNr KSB7IH0NCisNCiBzdGF0aWMgdm9pZCBfX21heWJlX3VudXNlZCBzdmVfaW5p dF92cV9tYXAodm9pZCkgeyB9DQogc3RhdGljIHZvaWQgX19tYXliZV91bnVz ZWQgc3ZlX3VwZGF0ZV92cV9tYXAodm9pZCkgeyB9DQogc3RhdGljIGludCBf X21heWJlX3VudXNlZCBzdmVfdmVyaWZ5X3ZxX21hcCh2b2lkKSB7IHJldHVy biAwOyB9DQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL3VhcGkv YXNtL3B0cmFjZS5oIGIvYXJjaC9hcm02NC9pbmNsdWRlL3VhcGkvYXNtL3B0 cmFjZS5oDQppbmRleCBkMWZmODNkLi4xOTE1YWIwIDEwMDY0NA0KLS0tIGEv YXJjaC9hcm02NC9pbmNsdWRlL3VhcGkvYXNtL3B0cmFjZS5oDQorKysgYi9h cmNoL2FybTY0L2luY2x1ZGUvdWFwaS9hc20vcHRyYWNlLmgNCkBAIC0yMiw2 ICsyMiw3IEBADQogI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+DQogDQogI2lu Y2x1ZGUgPGFzbS9od2NhcC5oPg0KKyNpbmNsdWRlIDxhc20vc2lnY29udGV4 dC5oPg0KIA0KIA0KIC8qDQpAQCAtNjMsNiArNjQsOCBAQA0KIA0KICNpZm5k ZWYgX19BU1NFTUJMWV9fDQogDQorI2luY2x1ZGUgPGxpbnV4L3ByY3RsLmg+ DQorDQogLyoNCiAgKiBVc2VyIHN0cnVjdHVyZXMgZm9yIGdlbmVyYWwgcHVy cG9zZSwgZmxvYXRpbmcgcG9pbnQgYW5kIGRlYnVnIHJlZ2lzdGVycy4NCiAg Ki8NCkBAIC05MCw2ICs5MywxMzggQEAgc3RydWN0IHVzZXJfaHdkZWJ1Z19z dGF0ZSB7DQogCX0JCWRiZ19yZWdzWzE2XTsNCiB9Ow0KIA0KKy8qIFNWRS9G UC9TSU1EIHN0YXRlIChOVF9BUk1fU1ZFKSAqLw0KKw0KK3N0cnVjdCB1c2Vy X3N2ZV9oZWFkZXIgew0KKwlfX3UzMiBzaXplOyAvKiB0b3RhbCBtZWFuaW5n ZnVsIHJlZ3NldCBjb250ZW50IGluIGJ5dGVzICovDQorCV9fdTMyIG1heF9z aXplOyAvKiBtYXhtaXVtIHBvc3NpYmxlIHNpemUgZm9yIHRoaXMgdGhyZWFk ICovDQorCV9fdTE2IHZsOyAvKiBjdXJyZW50IHZlY3RvciBsZW5ndGggKi8N CisJX191MTYgbWF4X3ZsOyAvKiBtYXhpbXVtIHBvc3NpYmxlIHZlY3RvciBs ZW5ndGggKi8NCisJX191MTYgZmxhZ3M7DQorCV9fdTE2IF9fcmVzZXJ2ZWQ7 DQorfTsNCisNCisvKiBEZWZpbml0aW9ucyBmb3IgdXNlcl9zdmVfaGVhZGVy LmZsYWdzOiAqLw0KKyNkZWZpbmUgU1ZFX1BUX1JFR1NfTUFTSwkJKDEgPDwg MCkNCisNCisvKiBGbGFnczogbXVzdCBiZSBrZXB0IGluIHN5bmMgd2l0aCBw cmN0bCBpbnRlcmZhY2UgaW4gPGxpbnV4L3B0cmFjZS5oPiAqLw0KKyNkZWZp bmUgU1ZFX1BUX1JFR1NfRlBTSU1ECQkwDQorI2RlZmluZSBTVkVfUFRfUkVH U19TVkUJCQlTVkVfUFRfUkVHU19NQVNLDQorDQorI2RlZmluZSBTVkVfUFRf VkxfSU5IRVJJVAkJKFBSX1NWRV9WTF9JTkhFUklUID4+IDE2KQ0KKyNkZWZp bmUgU1ZFX1BUX1ZMX09ORVhFQwkJKFBSX1NWRV9TRVRfVkxfT05FWEVDID4+ IDE2KQ0KKw0KKw0KKy8qDQorICogVGhlIHJlbWFpbmRlciBvZiB0aGUgU1ZF IHN0YXRlIGZvbGxvd3Mgc3RydWN0IHVzZXJfc3ZlX2hlYWRlci4gIFRoZQ0K KyAqIHRvdGFsIHNpemUgb2YgdGhlIFNWRSBzdGF0ZSAoaW5jbHVkaW5nIGhl YWRlcikgZGVwZW5kcyBvbiB0aGUNCisgKiBtZXRhZGF0YSBpbiB0aGUgaGVh ZGVyOiAgU1ZFX1BUX1NJWkUodnEsIGZsYWdzKSBnaXZlcyB0aGUgdG90YWwg c2l6ZQ0KKyAqIG9mIHRoZSBzdGF0ZSBpbiBieXRlcywgaW5jbHVkaW5nIHRo ZSBoZWFkZXIuDQorICoNCisgKiBSZWZlciB0byA8YXNtL3NpZ2NvbnRleHQu aD4gZm9yIGRldGFpbHMgb2YgaG93IHRvIHBhc3MgdGhlIGNvcnJlY3QNCisg KiAidnEiIGFyZ3VtZW50IHRvIHRoZXNlIG1hY3Jvcy4NCisgKi8NCisNCisv KiBPZmZzZXQgZnJvbSB0aGUgc3RhcnQgb2Ygc3RydWN0IHVzZXJfc3ZlX2hl YWRlciB0byB0aGUgcmVnaXN0ZXIgZGF0YSAqLw0KKyNkZWZpbmUgU1ZFX1BU X1JFR1NfT0ZGU0VUCQkJCQlcDQorCSgoc2l6ZW9mKHN0cnVjdCBzdmVfY29u dGV4dCkgKyAoU1ZFX1ZRX0JZVEVTIC0gMSkpCVwNCisJCS8gU1ZFX1ZRX0JZ VEVTICogU1ZFX1ZRX0JZVEVTKQ0KKw0KKy8qDQorICogVGhlIHJlZ2lzdGVy IGRhdGEgY29udGVudCBhbmQgbGF5b3V0IGRlcGVuZHMgb24gdGhlIHZhbHVl IG9mIHRoZQ0KKyAqIGZsYWdzIGZpZWxkLg0KKyAqLw0KKw0KKy8qDQorICog KGZsYWdzICYgU1ZFX1BUX1JFR1NfTUFTSykgPT0gU1ZFX1BUX1JFR1NfRlBT SU1EIGNhc2U6DQorICoNCisgKiBUaGUgcGF5bG9hZCBzdGFydHMgYXQgb2Zm c2V0IFNWRV9QVF9GUFNJTURfT0ZGU0VULCBhbmQgaXMgb2YgdHlwZQ0KKyAq IHN0cnVjdCB1c2VyX2Zwc2ltZF9zdGF0ZS4gIEFkZGl0aW9uYWwgZGF0YSBt aWdodCBiZSBhcHBlbmRlZCBpbiB0aGUNCisgKiBmdXR1cmU6IHVzZSBTVkVf UFRfRlBTSU1EX1NJWkUodnEsIGZsYWdzKSB0byBjb21wdXRlIHRoZSB0b3Rh bCBzaXplLg0KKyAqIFNWRV9QVF9GUFNJTURfU0laRSh2cSwgZmxhZ3MpIHdp bGwgbmV2ZXIgYmUgbGVzcyB0aGFuDQorICogc2l6ZW9mKHN0cnVjdCB1c2Vy X2Zwc2ltZF9zdGF0ZSkuDQorICovDQorDQorI2RlZmluZSBTVkVfUFRfRlBT SU1EX09GRlNFVAkJU1ZFX1BUX1JFR1NfT0ZGU0VUDQorDQorI2RlZmluZSBT VkVfUFRfRlBTSU1EX1NJWkUodnEsIGZsYWdzKQkoc2l6ZW9mKHN0cnVjdCB1 c2VyX2Zwc2ltZF9zdGF0ZSkpDQorDQorLyoNCisgKiAoZmxhZ3MgJiBTVkVf UFRfUkVHU19NQVNLKSA9PSBTVkVfUFRfUkVHU19TVkUgY2FzZToNCisgKg0K KyAqIFRoZSBwYXlsb2FkIHN0YXJ0cyBhdCBvZmZzZXQgU1ZFX1BUX1NWRV9P RkZTRVQsIGFuZCBpcyBvZiBzaXplDQorICogU1ZFX1BUX1NWRV9TSVpFKHZx LCBmbGFncykuDQorICoNCisgKiBBZGRpdGlvbmFsIG1hY3JvcyBkZXNjcmli ZSB0aGUgY29udGVudHMgYW5kIGxheW91dCBvZiB0aGUgcGF5bG9hZC4NCisg KiBGb3IgZWFjaCwgU1ZFX1BUX1NWRV94X09GRlNFVChhcmdzKSBpcyB0aGUg c3RhcnQgb2Zmc2V0IHJlbGF0aXZlIHRvDQorICogdGhlIHN0YXJ0IG9mIHN0 cnVjdCB1c2VyX3N2ZV9oZWFkZXIsIGFuZCBTVkVfUFRfU1ZFX3hfU0laRShh cmdzKSBpcw0KKyAqIHRoZSBzaXplIGluIGJ5dGVzOg0KKyAqDQorICoJeAl0 eXBlCQkJCWRlc2NyaXB0aW9uDQorICoJLQktLS0tCQkJCS0tLS0tLS0tLS0t DQorICoJWlJFR1MJCVwNCisgKglaUkVHCQl8DQorICoJUFJFR1MJCXwgcmVm ZXIgdG8gPGFzbS9zaWdjb250ZXh0Lmg+DQorICoJUFJFRwkJfA0KKyAqCUZG UgkJLw0KKyAqDQorICoJRlBTUgl1aW50MzJfdAkJCUZQU1INCisgKglGUENS CXVpbnQzMl90CQkJRlBDUg0KKyAqDQorICogQWRkaXRpb25hbCBkYXRhIG1p Z2h0IGJlIGFwcGVuZGVkIGluIHRoZSBmdXR1cmUuDQorICovDQorDQorI2Rl ZmluZSBTVkVfUFRfU1ZFX1pSRUdfU0laRSh2cSkJU1ZFX1NJR19aUkVHX1NJ WkUodnEpDQorI2RlZmluZSBTVkVfUFRfU1ZFX1BSRUdfU0laRSh2cSkJU1ZF X1NJR19QUkVHX1NJWkUodnEpDQorI2RlZmluZSBTVkVfUFRfU1ZFX0ZGUl9T SVpFKHZxKQkJU1ZFX1NJR19GRlJfU0laRSh2cSkNCisjZGVmaW5lIFNWRV9Q VF9TVkVfRlBTUl9TSVpFCQlzaXplb2YoX191MzIpDQorI2RlZmluZSBTVkVf UFRfU1ZFX0ZQQ1JfU0laRQkJc2l6ZW9mKF9fdTMyKQ0KKw0KKyNkZWZpbmUg X19TVkVfU0lHX1RPX1BUKG9mZnNldCkgXA0KKwkoKG9mZnNldCkgLSBTVkVf U0lHX1JFR1NfT0ZGU0VUICsgU1ZFX1BUX1JFR1NfT0ZGU0VUKQ0KKw0KKyNk ZWZpbmUgU1ZFX1BUX1NWRV9PRkZTRVQJCVNWRV9QVF9SRUdTX09GRlNFVA0K Kw0KKyNkZWZpbmUgU1ZFX1BUX1NWRV9aUkVHU19PRkZTRVQgXA0KKwlfX1NW RV9TSUdfVE9fUFQoU1ZFX1NJR19aUkVHU19PRkZTRVQpDQorI2RlZmluZSBT VkVfUFRfU1ZFX1pSRUdfT0ZGU0VUKHZxLCBuKSBcDQorCV9fU1ZFX1NJR19U T19QVChTVkVfU0lHX1pSRUdfT0ZGU0VUKHZxLCBuKSkNCisjZGVmaW5lIFNW RV9QVF9TVkVfWlJFR1NfU0laRSh2cSkgXA0KKwkoU1ZFX1BUX1NWRV9aUkVH X09GRlNFVCh2cSwgU1ZFX05VTV9aUkVHUykgLSBTVkVfUFRfU1ZFX1pSRUdT X09GRlNFVCkNCisNCisjZGVmaW5lIFNWRV9QVF9TVkVfUFJFR1NfT0ZGU0VU KHZxKSBcDQorCV9fU1ZFX1NJR19UT19QVChTVkVfU0lHX1BSRUdTX09GRlNF VCh2cSkpDQorI2RlZmluZSBTVkVfUFRfU1ZFX1BSRUdfT0ZGU0VUKHZxLCBu KSBcDQorCV9fU1ZFX1NJR19UT19QVChTVkVfU0lHX1BSRUdfT0ZGU0VUKHZx LCBuKSkNCisjZGVmaW5lIFNWRV9QVF9TVkVfUFJFR1NfU0laRSh2cSkgXA0K KwkoU1ZFX1BUX1NWRV9QUkVHX09GRlNFVCh2cSwgU1ZFX05VTV9QUkVHUykg LSBcDQorCQlTVkVfUFRfU1ZFX1BSRUdTX09GRlNFVCh2cSkpDQorDQorI2Rl ZmluZSBTVkVfUFRfU1ZFX0ZGUl9PRkZTRVQodnEpIFwNCisJX19TVkVfU0lH X1RPX1BUKFNWRV9TSUdfRkZSX09GRlNFVCh2cSkpDQorDQorI2RlZmluZSBT VkVfUFRfU1ZFX0ZQU1JfT0ZGU0VUKHZxKQkJCQlcDQorCSgoU1ZFX1BUX1NW RV9GRlJfT0ZGU0VUKHZxKSArIFNWRV9QVF9TVkVfRkZSX1NJWkUodnEpICsJ XA0KKwkJCShTVkVfVlFfQllURVMgLSAxKSkJCQlcDQorCQkvIFNWRV9WUV9C WVRFUyAqIFNWRV9WUV9CWVRFUykNCisjZGVmaW5lIFNWRV9QVF9TVkVfRlBD Ul9PRkZTRVQodnEpIFwNCisJKFNWRV9QVF9TVkVfRlBTUl9PRkZTRVQodnEp ICsgU1ZFX1BUX1NWRV9GUFNSX1NJWkUpDQorDQorLyoNCisgKiBBbnkgZnV0 dXJlIGV4dGVuc2lvbiBhcHBlbmRlZCBhZnRlciBGUENSIG11c3QgYmUgYWxp Z25lZCB0byB0aGUgbmV4dA0KKyAqIDEyOC1iaXQgYm91bmRhcnkuDQorICov DQorDQorI2RlZmluZSBTVkVfUFRfU1ZFX1NJWkUodnEsIGZsYWdzKQkJCQkJ XA0KKwkoKFNWRV9QVF9TVkVfRlBDUl9PRkZTRVQodnEpICsgU1ZFX1BUX1NW RV9GUENSX1NJWkUJCVwNCisJCQktIFNWRV9QVF9TVkVfT0ZGU0VUICsgKFNW RV9WUV9CWVRFUyAtIDEpKQlcDQorCQkvIFNWRV9WUV9CWVRFUyAqIFNWRV9W UV9CWVRFUykNCisNCisjZGVmaW5lIFNWRV9QVF9TSVpFKHZxLCBmbGFncykJ CQkJCQlcDQorCSAoKChmbGFncykgJiBTVkVfUFRfUkVHU19NQVNLKSA9PSBT VkVfUFRfUkVHU19TVkUgPwkJXA0KKwkJICBTVkVfUFRfU1ZFX09GRlNFVCAr IFNWRV9QVF9TVkVfU0laRSh2cSwgZmxhZ3MpCVwNCisJCTogU1ZFX1BUX0ZQ U0lNRF9PRkZTRVQgKyBTVkVfUFRfRlBTSU1EX1NJWkUodnEsIGZsYWdzKSkN CisNCiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovDQogDQogI2VuZGlmIC8q IF9VQVBJX19BU01fUFRSQUNFX0ggKi8NCmRpZmYgLS1naXQgYS9hcmNoL2Fy bTY0L2tlcm5lbC9mcHNpbWQuYyBiL2FyY2gvYXJtNjQva2VybmVsL2Zwc2lt ZC5jDQppbmRleCBmZmY5ZmNmLi4zNjFjMDE5IDEwMDY0NA0KLS0tIGEvYXJj aC9hcm02NC9rZXJuZWwvZnBzaW1kLmMNCisrKyBiL2FyY2gvYXJtNjQva2Vy bmVsL2Zwc2ltZC5jDQpAQCAtMzAzLDYgKzMwMywzNyBAQCB2b2lkIHN2ZV9h bGxvYyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spDQogCUJVR19PTighdGFz ay0+dGhyZWFkLnN2ZV9zdGF0ZSk7DQogfQ0KIA0KK3ZvaWQgZnBzaW1kX3N5 bmNfdG9fc3ZlKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykNCit7DQorCWlm ICghdGVzdF90c2tfdGhyZWFkX2ZsYWcodGFzaywgVElGX1NWRSkpDQorCQlm cHNpbWRfdG9fc3ZlKHRhc2spOw0KK30NCisNCit2b2lkIHN2ZV9zeW5jX3Rv X2Zwc2ltZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2spDQorew0KKwlpZiAo dGVzdF90c2tfdGhyZWFkX2ZsYWcodGFzaywgVElGX1NWRSkpDQorCQlzdmVf dG9fZnBzaW1kKHRhc2spOw0KK30NCisNCit2b2lkIHN2ZV9zeW5jX2Zyb21f ZnBzaW1kX3plcm9wYWQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQ0KK3sN CisJdW5zaWduZWQgaW50IHZxOw0KKwl2b2lkICpzc3QgPSB0YXNrLT50aHJl YWQuc3ZlX3N0YXRlOw0KKwlzdHJ1Y3QgZnBzaW1kX3N0YXRlIGNvbnN0ICpm c3QgPSAmdGFzay0+dGhyZWFkLmZwc2ltZF9zdGF0ZTsNCisJdW5zaWduZWQg aW50IGk7DQorDQorCWlmICghdGVzdF90c2tfdGhyZWFkX2ZsYWcodGFzaywg VElGX1NWRSkpDQorCQlyZXR1cm47DQorDQorCXZxID0gc3ZlX3ZxX2Zyb21f dmwodGFzay0+dGhyZWFkLnN2ZV92bCk7DQorDQorCW1lbXNldChzc3QsIDAs IFNWRV9TSUdfUkVHU19TSVpFKHZxKSk7DQorDQorCWZvciAoaSA9IDA7IGkg PCAzMjsgKytpKQ0KKwkJbWVtY3B5KFpSRUcoc3N0LCB2cSwgaSksICZmc3Qt PnZyZWdzW2ldLA0KKwkJICAgICAgIHNpemVvZihmc3QtPnZyZWdzW2ldKSk7 DQorfQ0KKw0KIC8qDQogICogSGFuZGxlIFNWRSBzdGF0ZSBhY3Jvc3MgZm9y aygpOg0KICAqDQpAQCAtNDU5LDEwICs0OTAsMTcgQEAgc3RhdGljIHZvaWQg X19pbml0IHN2ZV9lZmlfc2V0dXAodm9pZCkNCiAJICogVGhpcyBpcyBldmlk ZW5jZSBvZiBhIGNyaXBwbGVkIHN5c3RlbSBhbmQgd2UgYXJlIHJldHVybmlu ZyB2b2lkLA0KIAkgKiBzbyBubyBhdHRlbXB0IGlzIG1hZGUgdG8gaGFuZGxl IHRoaXMgc2l0dWF0aW9uIGhlcmUuDQogCSAqLw0KLQlCVUdfT04oIXN2ZV92 bF92YWxpZChzdmVfbWF4X3ZsKSk7DQorCWlmICghc3ZlX3ZsX3ZhbGlkKHN2 ZV9tYXhfdmwpKQ0KKwkJZ290byBmYWlsOw0KKw0KIAllZmlfc3ZlX3N0YXRl ID0gX19hbGxvY19wZXJjcHUoDQogCQlTVkVfU0lHX1JFR1NfU0laRShzdmVf dnFfZnJvbV92bChzdmVfbWF4X3ZsKSksIFNWRV9WUV9CWVRFUyk7DQogCWlm ICghZWZpX3N2ZV9zdGF0ZSkNCisJCWdvdG8gZmFpbDsNCisNCisJcmV0dXJu Ow0KKw0KK2ZhaWw6DQogCQlwYW5pYygiQ2Fubm90IGFsbG9jYXRlIHBlcmNw dSBtZW1vcnkgZm9yIEVGSSBTVkUgc2F2ZS9yZXN0b3JlIik7DQogfQ0KIA0K ZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva2VybmVsL3B0cmFjZS5jIGIvYXJj aC9hcm02NC9rZXJuZWwvcHRyYWNlLmMNCmluZGV4IDljYmI2MTIuLjVlZjQ3 MzViIDEwMDY0NA0KLS0tIGEvYXJjaC9hcm02NC9rZXJuZWwvcHRyYWNlLmMN CisrKyBiL2FyY2gvYXJtNjQva2VybmVsL3B0cmFjZS5jDQpAQCAtMzIsNiAr MzIsNyBAQA0KICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPg0KICNpbmNs dWRlIDxsaW51eC9pbml0Lmg+DQogI2luY2x1ZGUgPGxpbnV4L3NpZ25hbC5o Pg0KKyNpbmNsdWRlIDxsaW51eC9zdHJpbmcuaD4NCiAjaW5jbHVkZSA8bGlu dXgvdWFjY2Vzcy5oPg0KICNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50Lmg+ DQogI2luY2x1ZGUgPGxpbnV4L2h3X2JyZWFrcG9pbnQuaD4NCkBAIC00MCw2 ICs0MSw3IEBADQogI2luY2x1ZGUgPGxpbnV4L2VsZi5oPg0KIA0KICNpbmNs dWRlIDxhc20vY29tcGF0Lmg+DQorI2luY2x1ZGUgPGFzbS9jcHVmZWF0dXJl Lmg+DQogI2luY2x1ZGUgPGFzbS9kZWJ1Zy1tb25pdG9ycy5oPg0KICNpbmNs dWRlIDxhc20vcGd0YWJsZS5oPg0KICNpbmNsdWRlIDxhc20vc3RhY2t0cmFj ZS5oPg0KQEAgLTYxOCwzMyArNjIwLDY2IEBAIHN0YXRpYyBpbnQgZ3ByX3Nl dChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwgY29uc3Qgc3RydWN0IHVz ZXJfcmVnc2V0ICpyZWdzZXQsDQogLyoNCiAgKiBUT0RPOiB1cGRhdGUgZnAg YWNjZXNzb3JzIGZvciBsYXp5IGNvbnRleHQgc3dpdGNoaW5nIChzeW5jL2Zs dXNoIGh3c3RhdGUpDQogICovDQotc3RhdGljIGludCBmcHJfZ2V0KHN0cnVj dCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdz ZXQgKnJlZ3NldCwNCi0JCSAgIHVuc2lnbmVkIGludCBwb3MsIHVuc2lnbmVk IGludCBjb3VudCwNCi0JCSAgIHZvaWQgKmtidWYsIHZvaWQgX191c2VyICp1 YnVmKQ0KK3N0YXRpYyBpbnQgX19mcHJfZ2V0KHN0cnVjdCB0YXNrX3N0cnVj dCAqdGFyZ2V0LA0KKwkJICAgICBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQg KnJlZ3NldCwNCisJCSAgICAgdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQg aW50IGNvdW50LA0KKwkJICAgICB2b2lkICprYnVmLCB2b2lkIF9fdXNlciAq dWJ1ZiwgdW5zaWduZWQgaW50IHN0YXJ0X3BvcykNCiB7DQogCXN0cnVjdCB1 c2VyX2Zwc2ltZF9zdGF0ZSAqdXJlZ3M7DQorDQorCXN2ZV9zeW5jX3RvX2Zw c2ltZCh0YXJnZXQpOw0KKw0KIAl1cmVncyA9ICZ0YXJnZXQtPnRocmVhZC5m cHNpbWRfc3RhdGUudXNlcl9mcHNpbWQ7DQogDQorCXJldHVybiB1c2VyX3Jl Z3NldF9jb3B5b3V0KCZwb3MsICZjb3VudCwgJmtidWYsICZ1YnVmLCB1cmVn cywNCisJCQkJICAgc3RhcnRfcG9zLCBzdGFydF9wb3MgKyBzaXplb2YoKnVy ZWdzKSk7DQorfQ0KKw0KK3N0YXRpYyBpbnQgZnByX2dldChzdHJ1Y3QgdGFz a19zdHJ1Y3QgKnRhcmdldCwgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpy ZWdzZXQsDQorCQkgICB1bnNpZ25lZCBpbnQgcG9zLCB1bnNpZ25lZCBpbnQg Y291bnQsDQorCQkgICB2b2lkICprYnVmLCB2b2lkIF9fdXNlciAqdWJ1ZikN Cit7DQogCWlmICh0YXJnZXQgPT0gY3VycmVudCkNCiAJCWZwc2ltZF9wcmVz ZXJ2ZV9jdXJyZW50X3N0YXRlKCk7DQogDQotCXJldHVybiB1c2VyX3JlZ3Nl dF9jb3B5b3V0KCZwb3MsICZjb3VudCwgJmtidWYsICZ1YnVmLCB1cmVncywg MCwgLTEpOw0KKwlyZXR1cm4gX19mcHJfZ2V0KHRhcmdldCwgcmVnc2V0LCBw b3MsIGNvdW50LCBrYnVmLCB1YnVmLCAwKTsNCiB9DQogDQotc3RhdGljIGlu dCBmcHJfc2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBjb25zdCBz dHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwNCi0JCSAgIHVuc2lnbmVkIGlu dCBwb3MsIHVuc2lnbmVkIGludCBjb3VudCwNCi0JCSAgIGNvbnN0IHZvaWQg KmtidWYsIGNvbnN0IHZvaWQgX191c2VyICp1YnVmKQ0KK3N0YXRpYyBpbnQg X19mcHJfc2V0KHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LA0KKwkJICAg ICBjb25zdCBzdHJ1Y3QgdXNlcl9yZWdzZXQgKnJlZ3NldCwNCisJCSAgICAg dW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LA0KKwkJICAg ICBjb25zdCB2b2lkICprYnVmLCBjb25zdCB2b2lkIF9fdXNlciAqdWJ1ZiwN CisJCSAgICAgdW5zaWduZWQgaW50IHN0YXJ0X3BvcykNCiB7DQogCWludCBy ZXQ7DQogCXN0cnVjdCB1c2VyX2Zwc2ltZF9zdGF0ZSBuZXdzdGF0ZSA9DQog CQl0YXJnZXQtPnRocmVhZC5mcHNpbWRfc3RhdGUudXNlcl9mcHNpbWQ7DQog DQotCXJldCA9IHVzZXJfcmVnc2V0X2NvcHlpbigmcG9zLCAmY291bnQsICZr YnVmLCAmdWJ1ZiwgJm5ld3N0YXRlLCAwLCAtMSk7DQorCXN2ZV9zeW5jX3Rv X2Zwc2ltZCh0YXJnZXQpOw0KKw0KKwlyZXQgPSB1c2VyX3JlZ3NldF9jb3B5 aW4oJnBvcywgJmNvdW50LCAma2J1ZiwgJnVidWYsICZuZXdzdGF0ZSwNCisJ CQkJIHN0YXJ0X3Bvcywgc3RhcnRfcG9zICsgc2l6ZW9mKG5ld3N0YXRlKSk7 DQogCWlmIChyZXQpDQogCQlyZXR1cm4gcmV0Ow0KIA0KIAl0YXJnZXQtPnRo cmVhZC5mcHNpbWRfc3RhdGUudXNlcl9mcHNpbWQgPSBuZXdzdGF0ZTsNCisN CisJcmV0dXJuIHJldDsNCit9DQorDQorc3RhdGljIGludCBmcHJfc2V0KHN0 cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LCBjb25zdCBzdHJ1Y3QgdXNlcl9y ZWdzZXQgKnJlZ3NldCwNCisJCSAgIHVuc2lnbmVkIGludCBwb3MsIHVuc2ln bmVkIGludCBjb3VudCwNCisJCSAgIGNvbnN0IHZvaWQgKmtidWYsIGNvbnN0 IHZvaWQgX191c2VyICp1YnVmKQ0KK3sNCisJaW50IHJldDsNCisNCisJcmV0 ID0gX19mcHJfc2V0KHRhcmdldCwgcmVnc2V0LCBwb3MsIGNvdW50LCBrYnVm LCB1YnVmLCAwKTsNCisJaWYgKHJldCkNCisJCXJldHVybiByZXQ7DQorDQor CXN2ZV9zeW5jX2Zyb21fZnBzaW1kX3plcm9wYWQodGFyZ2V0KTsNCiAJZnBz aW1kX2ZsdXNoX3Rhc2tfc3RhdGUodGFyZ2V0KTsNCisNCiAJcmV0dXJuIHJl dDsNCiB9DQogDQpAQCAtNzAyLDYgKzczNywyMTAgQEAgc3RhdGljIGludCBz eXN0ZW1fY2FsbF9zZXQoc3RydWN0IHRhc2tfc3RydWN0ICp0YXJnZXQsDQog CXJldHVybiByZXQ7DQogfQ0KIA0KKyNpZmRlZiBDT05GSUdfQVJNNjRfU1ZF DQorDQorc3RhdGljIHZvaWQgc3ZlX2luaXRfaGVhZGVyX2Zyb21fdGFzayhz dHJ1Y3QgdXNlcl9zdmVfaGVhZGVyICpoZWFkZXIsDQorCQkJCSAgICAgIHN0 cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0KQ0KK3sNCisJdW5zaWduZWQgaW50 IHZxOw0KKw0KKwltZW1zZXQoaGVhZGVyLCAwLCBzaXplb2YoKmhlYWRlcikp Ow0KKw0KKwloZWFkZXItPmZsYWdzID0gdGVzdF90c2tfdGhyZWFkX2ZsYWco dGFyZ2V0LCBUSUZfU1ZFKSA/DQorCQlTVkVfUFRfUkVHU19TVkUgOiBTVkVf UFRfUkVHU19GUFNJTUQ7DQorCWlmICh0ZXN0X3Rza190aHJlYWRfZmxhZyh0 YXJnZXQsIFRJRl9TVkVfVkxfSU5IRVJJVCkpDQorCQloZWFkZXItPmZsYWdz IHw9IFNWRV9QVF9WTF9JTkhFUklUOw0KKw0KKwloZWFkZXItPnZsID0gdGFy Z2V0LT50aHJlYWQuc3ZlX3ZsOw0KKwl2cSA9IHN2ZV92cV9mcm9tX3ZsKGhl YWRlci0+dmwpOw0KKw0KKwlpZiAoV0FSTl9PTighc3ZlX3ZsX3ZhbGlkKHN2 ZV9tYXhfdmwpKSkNCisJCWhlYWRlci0+bWF4X3ZsID0gaGVhZGVyLT52bDsN CisNCisJaGVhZGVyLT5zaXplID0gU1ZFX1BUX1NJWkUodnEsIGhlYWRlci0+ ZmxhZ3MpOw0KKwloZWFkZXItPm1heF9zaXplID0gU1ZFX1BUX1NJWkUoc3Zl X3ZxX2Zyb21fdmwoaGVhZGVyLT5tYXhfdmwpLA0KKwkJCQkgICAgICBTVkVf UFRfUkVHU19TVkUpOw0KK30NCisNCitzdGF0aWMgdW5zaWduZWQgaW50IHN2 ZV9zaXplX2Zyb21faGVhZGVyKHN0cnVjdCB1c2VyX3N2ZV9oZWFkZXIgY29u c3QgKmhlYWRlcikNCit7DQorCXJldHVybiBBTElHTihoZWFkZXItPnNpemUs IFNWRV9WUV9CWVRFUyk7DQorfQ0KKw0KK3N0YXRpYyB1bnNpZ25lZCBpbnQg c3ZlX2dldF9zaXplKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFyZ2V0LA0KKwkJ CQkgY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQpDQorew0KKwlz dHJ1Y3QgdXNlcl9zdmVfaGVhZGVyIGhlYWRlcjsNCisNCisJaWYgKCFzeXN0 ZW1fc3VwcG9ydHNfc3ZlKCkpDQorCQlyZXR1cm4gMDsNCisNCisJc3ZlX2lu aXRfaGVhZGVyX2Zyb21fdGFzaygmaGVhZGVyLCB0YXJnZXQpOw0KKwlyZXR1 cm4gc3ZlX3NpemVfZnJvbV9oZWFkZXIoJmhlYWRlcik7DQorfQ0KKw0KK3N0 YXRpYyBpbnQgc3ZlX2dldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdldCwN CisJCSAgIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LA0KKwkJ ICAgdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LA0KKwkJ ICAgdm9pZCAqa2J1Ziwgdm9pZCBfX3VzZXIgKnVidWYpDQorew0KKwlpbnQg cmV0Ow0KKwlzdHJ1Y3QgdXNlcl9zdmVfaGVhZGVyIGhlYWRlcjsNCisJdW5z aWduZWQgaW50IHZxOw0KKwl1bnNpZ25lZCBsb25nIHN0YXJ0LCBlbmQ7DQor DQorCWlmICghc3lzdGVtX3N1cHBvcnRzX3N2ZSgpKQ0KKwkJcmV0dXJuIC1F SU5WQUw7DQorDQorCS8qIEhlYWRlciAqLw0KKwlzdmVfaW5pdF9oZWFkZXJf ZnJvbV90YXNrKCZoZWFkZXIsIHRhcmdldCk7DQorCXZxID0gc3ZlX3ZxX2Zy b21fdmwoaGVhZGVyLnZsKTsNCisNCisJcmV0ID0gdXNlcl9yZWdzZXRfY29w eW91dCgmcG9zLCAmY291bnQsICZrYnVmLCAmdWJ1ZiwgJmhlYWRlciwNCisJ CQkJICAwLCBzaXplb2YoaGVhZGVyKSk7DQorCWlmIChyZXQpDQorCQlyZXR1 cm4gcmV0Ow0KKw0KKwlpZiAodGFyZ2V0ID09IGN1cnJlbnQpDQorCQlmcHNp bWRfcHJlc2VydmVfY3VycmVudF9zdGF0ZSgpOw0KKw0KKwkvKiBSZWdpc3Rl cnM6IEZQU0lNRC1vbmx5IGNhc2UgKi8NCisNCisJQlVJTERfQlVHX09OKFNW RV9QVF9GUFNJTURfT0ZGU0VUICE9IHNpemVvZihoZWFkZXIpKTsNCisJaWYg KChoZWFkZXIuZmxhZ3MgJiBTVkVfUFRfUkVHU19NQVNLKSA9PSBTVkVfUFRf UkVHU19GUFNJTUQpDQorCQlyZXR1cm4gX19mcHJfZ2V0KHRhcmdldCwgcmVn c2V0LCBwb3MsIGNvdW50LCBrYnVmLCB1YnVmLA0KKwkJCQkgU1ZFX1BUX0ZQ U0lNRF9PRkZTRVQpOw0KKw0KKwkvKiBPdGhlcndpc2U6IGZ1bGwgU1ZFIGNh c2UgKi8NCisNCisJQlVJTERfQlVHX09OKFNWRV9QVF9TVkVfT0ZGU0VUICE9 IHNpemVvZihoZWFkZXIpKTsNCisJc3RhcnQgPSBTVkVfUFRfU1ZFX09GRlNF VDsNCisJZW5kID0gU1ZFX1BUX1NWRV9GRlJfT0ZGU0VUKHZxKSArIFNWRV9Q VF9TVkVfRkZSX1NJWkUodnEpOw0KKwlyZXQgPSB1c2VyX3JlZ3NldF9jb3B5 b3V0KCZwb3MsICZjb3VudCwgJmtidWYsICZ1YnVmLA0KKwkJCQkgIHRhcmdl dC0+dGhyZWFkLnN2ZV9zdGF0ZSwNCisJCQkJICBzdGFydCwgZW5kKTsNCisJ aWYgKHJldCkNCisJCXJldHVybiByZXQ7DQorDQorCXN0YXJ0ID0gZW5kOw0K KwllbmQgPSBTVkVfUFRfU1ZFX0ZQU1JfT0ZGU0VUKHZxKTsNCisJcmV0ID0g dXNlcl9yZWdzZXRfY29weW91dF96ZXJvKCZwb3MsICZjb3VudCwgJmtidWYs ICZ1YnVmLA0KKwkJCQkgICAgICAgc3RhcnQsIGVuZCk7DQorCWlmIChyZXQp DQorCQlyZXR1cm4gcmV0Ow0KKw0KKwkvKg0KKwkgKiBDb3B5IGZwc3IsIGFu ZCBmcGNyIHdoaWNoIG11c3QgZm9sbG93IGNvbnRpZ3VvdXNseSBpbg0KKwkg KiBzdHJ1Y3QgZnBzaW1kX3N0YXRlOg0KKwkgKi8NCisJc3RhcnQgPSBlbmQ7 DQorCWVuZCA9IFNWRV9QVF9TVkVfRlBDUl9PRkZTRVQodnEpICsgU1ZFX1BU X1NWRV9GUENSX1NJWkU7DQorCXJldCA9IHVzZXJfcmVnc2V0X2NvcHlvdXQo JnBvcywgJmNvdW50LCAma2J1ZiwgJnVidWYsDQorCQkJCSAgJnRhcmdldC0+ dGhyZWFkLmZwc2ltZF9zdGF0ZS5mcHNyLA0KKwkJCQkgIHN0YXJ0LCBlbmQp Ow0KKwlpZiAocmV0KQ0KKwkJcmV0dXJuIHJldDsNCisNCisJc3RhcnQgPSBl bmQ7DQorCWVuZCA9IHN2ZV9zaXplX2Zyb21faGVhZGVyKCZoZWFkZXIpOw0K KwlyZXR1cm4gdXNlcl9yZWdzZXRfY29weW91dF96ZXJvKCZwb3MsICZjb3Vu dCwgJmtidWYsICZ1YnVmLA0KKwkJCQkJc3RhcnQsIGVuZCk7DQorfQ0KKw0K K3N0YXRpYyBpbnQgc3ZlX3NldChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhcmdl dCwNCisJCSAgIGNvbnN0IHN0cnVjdCB1c2VyX3JlZ3NldCAqcmVnc2V0LA0K KwkJICAgdW5zaWduZWQgaW50IHBvcywgdW5zaWduZWQgaW50IGNvdW50LA0K KwkJICAgY29uc3Qgdm9pZCAqa2J1ZiwgY29uc3Qgdm9pZCBfX3VzZXIgKnVi dWYpDQorew0KKwlpbnQgcmV0Ow0KKwlzdHJ1Y3QgdXNlcl9zdmVfaGVhZGVy IGhlYWRlcjsNCisJdW5zaWduZWQgaW50IHZxOw0KKwl1bnNpZ25lZCBsb25n IHN0YXJ0LCBlbmQ7DQorDQorCWlmICghc3lzdGVtX3N1cHBvcnRzX3N2ZSgp KQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQorDQorCS8qIEhlYWRlciAqLw0KKwlp ZiAoY291bnQgPCBzaXplb2YoaGVhZGVyKSkNCisJCXJldHVybiAtRUlOVkFM Ow0KKwlyZXQgPSB1c2VyX3JlZ3NldF9jb3B5aW4oJnBvcywgJmNvdW50LCAm a2J1ZiwgJnVidWYsICZoZWFkZXIsDQorCQkJCSAwLCBzaXplb2YoaGVhZGVy KSk7DQorCWlmIChyZXQpDQorCQlnb3RvIG91dDsNCisNCisJLyoNCisJICog QXBhcnQgZnJvbSBQVF9TVkVfUkVHU19NQVNLLCBhbGwgUFRfU1ZFXyogZmxh Z3MgYXJlIGNvbnN1bWVkIGJ5DQorCSAqIHN2ZV9zZXRfdmVjdG9yX2xlbmd0 aCgpLCB3aGljaCB3aWxsIGFsc28gdmFsaWRhdGUgdGhlbSBmb3IgdXM6DQor CSAqLw0KKwlyZXQgPSBzdmVfc2V0X3ZlY3Rvcl9sZW5ndGgodGFyZ2V0LCBo ZWFkZXIudmwsDQorCQkJCSAgICBoZWFkZXIuZmxhZ3MgJiB+U1ZFX1BUX1JF R1NfTUFTSyk7DQorCWlmIChyZXQpDQorCQlnb3RvIG91dDsNCisNCisJLyog QWN0dWFsIFZMIHNldCBtYXkgYmUgbGVzcyB0aGFuIHRoZSB1c2VyIGFza2Vk IGZvcjogKi8NCisJdnEgPSBzdmVfdnFfZnJvbV92bCh0YXJnZXQtPnRocmVh ZC5zdmVfdmwpOw0KKw0KKwkvKiBSZWdpc3RlcnM6IEZQU0lNRC1vbmx5IGNh c2UgKi8NCisNCisJQlVJTERfQlVHX09OKFNWRV9QVF9GUFNJTURfT0ZGU0VU ICE9IHNpemVvZihoZWFkZXIpKTsNCisJaWYgKChoZWFkZXIuZmxhZ3MgJiBT VkVfUFRfUkVHU19NQVNLKSA9PSBTVkVfUFRfUkVHU19GUFNJTUQpIHsNCisJ CXN2ZV9zeW5jX3RvX2Zwc2ltZCh0YXJnZXQpOw0KKw0KKwkJcmV0ID0gX19m cHJfc2V0KHRhcmdldCwgcmVnc2V0LCBwb3MsIGNvdW50LCBrYnVmLCB1YnVm LA0KKwkJCQlTVkVfUFRfRlBTSU1EX09GRlNFVCk7DQorCQljbGVhcl90c2tf dGhyZWFkX2ZsYWcodGFyZ2V0LCBUSUZfU1ZFKTsNCisJCWdvdG8gb3V0Ow0K Kwl9DQorDQorCS8qIE90aGVyd2lzZTogZnVsbCBTVkUgY2FzZSAqLw0KKw0K KwkvKg0KKwkgKiBJZiBzZXR0aW5nIGEgZGlmZmVyZW50IFZMIGZyb20gdGhl IHJlcXVlc3RlZCBWTCBhbmQgdGhlcmUgaXMNCisJICogcmVnaXN0ZXIgZGF0 YSwgdGhlIGRhdGEgbGF5b3V0IHdpbGwgYmUgd3Jvbmc6IGRvbid0IGV2ZW4N CisJICogdHJ5IHRvIHNldCB0aGUgcmVnaXN0ZXJzIGluIHRoaXMgY2FzZS4N CisJICovDQorCWlmIChjb3VudCAmJiB2cSAhPSBzdmVfdnFfZnJvbV92bCho ZWFkZXIudmwpKSB7DQorCQlyZXQgPSAtRUlPOw0KKwkJZ290byBvdXQ7DQor CX0NCisNCisJc3ZlX2FsbG9jKHRhcmdldCk7DQorCWZwc2ltZF9zeW5jX3Rv X3N2ZSh0YXJnZXQpOw0KKwlzZXRfdHNrX3RocmVhZF9mbGFnKHRhcmdldCwg VElGX1NWRSk7DQorDQorCUJVSUxEX0JVR19PTihTVkVfUFRfU1ZFX09GRlNF VCAhPSBzaXplb2YoaGVhZGVyKSk7DQorCXN0YXJ0ID0gU1ZFX1BUX1NWRV9P RkZTRVQ7DQorCWVuZCA9IFNWRV9QVF9TVkVfRkZSX09GRlNFVCh2cSkgKyBT VkVfUFRfU1ZFX0ZGUl9TSVpFKHZxKTsNCisJcmV0ID0gdXNlcl9yZWdzZXRf Y29weWluKCZwb3MsICZjb3VudCwgJmtidWYsICZ1YnVmLA0KKwkJCQkgdGFy Z2V0LT50aHJlYWQuc3ZlX3N0YXRlLA0KKwkJCQkgc3RhcnQsIGVuZCk7DQor CWlmIChyZXQpDQorCQlnb3RvIG91dDsNCisNCisJc3RhcnQgPSBlbmQ7DQor CWVuZCA9IFNWRV9QVF9TVkVfRlBTUl9PRkZTRVQodnEpOw0KKwlyZXQgPSB1 c2VyX3JlZ3NldF9jb3B5aW5faWdub3JlKCZwb3MsICZjb3VudCwgJmtidWYs ICZ1YnVmLA0KKwkJCQkJc3RhcnQsIGVuZCk7DQorCWlmIChyZXQpDQorCQln b3RvIG91dDsNCisNCisJLyoNCisJICogQ29weSBmcHNyLCBhbmQgZnBjciB3 aGljaCBtdXN0IGZvbGxvdyBjb250aWd1b3VzbHkgaW4NCisJICogc3RydWN0 IGZwc2ltZF9zdGF0ZToNCisJICovDQorCXN0YXJ0ID0gZW5kOw0KKwllbmQg PSBTVkVfUFRfU1ZFX0ZQQ1JfT0ZGU0VUKHZxKSArIFNWRV9QVF9TVkVfRlBD Ul9TSVpFOw0KKwlyZXQgPSB1c2VyX3JlZ3NldF9jb3B5aW4oJnBvcywgJmNv dW50LCAma2J1ZiwgJnVidWYsDQorCQkJCSAmdGFyZ2V0LT50aHJlYWQuZnBz aW1kX3N0YXRlLmZwc3IsDQorCQkJCSBzdGFydCwgZW5kKTsNCisNCitvdXQ6 DQorCWZwc2ltZF9mbHVzaF90YXNrX3N0YXRlKHRhcmdldCk7DQorCXJldHVy biByZXQ7DQorfQ0KKw0KKyNlbmRpZiAvKiBDT05GSUdfQVJNNjRfU1ZFICov DQorDQogZW51bSBhYXJjaDY0X3JlZ3NldCB7DQogCVJFR1NFVF9HUFIsDQog CVJFR1NFVF9GUFIsDQpAQCAtNzExLDYgKzk1MCw5IEBAIGVudW0gYWFyY2g2 NF9yZWdzZXQgew0KIAlSRUdTRVRfSFdfV0FUQ0gsDQogI2VuZGlmDQogCVJF R1NFVF9TWVNURU1fQ0FMTCwNCisjaWZkZWYgQ09ORklHX0FSTTY0X1NWRQ0K KwlSRUdTRVRfU1ZFLA0KKyNlbmRpZg0KIH07DQogDQogc3RhdGljIGNvbnN0 IHN0cnVjdCB1c2VyX3JlZ3NldCBhYXJjaDY0X3JlZ3NldHNbXSA9IHsNCkBA IC03NjgsNiArMTAxMCwxOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzZXJf cmVnc2V0IGFhcmNoNjRfcmVnc2V0c1tdID0gew0KIAkJLmdldCA9IHN5c3Rl bV9jYWxsX2dldCwNCiAJCS5zZXQgPSBzeXN0ZW1fY2FsbF9zZXQsDQogCX0s DQorI2lmZGVmIENPTkZJR19BUk02NF9TVkUNCisJW1JFR1NFVF9TVkVdID0g eyAvKiBTY2FsYWJsZSBWZWN0b3IgRXh0ZW5zaW9uICovDQorCQkuY29yZV9u b3RlX3R5cGUgPSBOVF9BUk1fU1ZFLA0KKwkJLm4gPSBESVZfUk9VTkRfVVAo U1ZFX1BUX1NJWkUoU1ZFX1ZRX01BWCwgU1ZFX1BUX1JFR1NfU1ZFKSwNCisJ CQkJICBTVkVfVlFfQllURVMpLA0KKwkJLnNpemUgPSBTVkVfVlFfQllURVMs DQorCQkuYWxpZ24gPSBTVkVfVlFfQllURVMsDQorCQkuZ2V0ID0gc3ZlX2dl dCwNCisJCS5zZXQgPSBzdmVfc2V0LA0KKwkJLmdldF9zaXplID0gc3ZlX2dl dF9zaXplLA0KKwl9LA0KKyNlbmRpZg0KIH07DQogDQogc3RhdGljIGNvbnN0 IHN0cnVjdCB1c2VyX3JlZ3NldF92aWV3IHVzZXJfYWFyY2g2NF92aWV3ID0g ew0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC9lbGYuaCBiL2lu Y2x1ZGUvdWFwaS9saW51eC9lbGYuaA0KaW5kZXggYjUyODBkYi4uNzM1Yjhm NCAxMDA2NDQNCi0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC9lbGYuaA0KKysr IGIvaW5jbHVkZS91YXBpL2xpbnV4L2VsZi5oDQpAQCAtNDE2LDYgKzQxNiw3 IEBAIHR5cGVkZWYgc3RydWN0IGVsZjY0X3NoZHIgew0KICNkZWZpbmUgTlRf QVJNX0hXX0JSRUFLCTB4NDAyCQkvKiBBUk0gaGFyZHdhcmUgYnJlYWtwb2lu dCByZWdpc3RlcnMgKi8NCiAjZGVmaW5lIE5UX0FSTV9IV19XQVRDSAkweDQw MwkJLyogQVJNIGhhcmR3YXJlIHdhdGNocG9pbnQgcmVnaXN0ZXJzICovDQog I2RlZmluZSBOVF9BUk1fU1lTVEVNX0NBTEwJMHg0MDQJLyogQVJNIHN5c3Rl bSBjYWxsIG51bWJlciAqLw0KKyNkZWZpbmUgTlRfQVJNX1NWRQkweDQwNQkJ LyogQVJNIFNjYWxhYmxlIFZlY3RvciBFeHRlbnNpb24gcmVnaXN0ZXJzICov DQogI2RlZmluZSBOVF9NRVRBR19DQlVGCTB4NTAwCQkvKiBNZXRhZyBjYXRj aCBidWZmZXIgcmVnaXN0ZXJzICovDQogI2RlZmluZSBOVF9NRVRBR19SUElQ RQkweDUwMQkJLyogTWV0YWcgcmVhZCBwaXBlbGluZSBzdGF0ZSAqLw0KICNk ZWZpbmUgTlRfTUVUQUdfVExTCTB4NTAyCQkvKiBNZXRhZyBUTFMgcG9pbnRl ciAqLw0KLS0gDQoyLjEuNA0KDQoNCg== >From gdb-return-45938-listarch-gdb=sources.redhat.com@sourceware.org Wed Sep 06 18:16:46 2017 Return-Path: Delivered-To: listarch-gdb@sources.redhat.com Received: (qmail 32895 invoked by alias); 6 Sep 2017 18:16:45 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Delivered-To: mailing list gdb@sourceware.org Received: (qmail 32872 invoked by uid 89); 6 Sep 2017 18:16:44 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy= X-Spam-User: qpsmtpd, 2 recipients X-HELO: foss.arm.com Received: from usa-sjc-mx-foss1.foss.arm.com (HELO foss.arm.com) (217.140.101.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 06 Sep 2017 18:16:42 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 41BEC13D5; Wed, 6 Sep 2017 11:16:41 -0700 (PDT) Received: from e103592.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9019A3F540; Wed, 6 Sep 2017 11:16:38 -0700 (PDT) Date: Wed, 06 Sep 2017 18:16:00 -0000 From: Dave Martin To: "Okamoto, Takayuki" Cc: "linux-arm-kernel@lists.infradead.org" , "linux-arch@vger.kernel.org" , "libc-alpha@sourceware.org" , "gdb@sourceware.org" , Ard Biesheuvel , Szabolcs Nagy , Catalin Marinas , Yao Qi , Alan Hayward , Will Deacon , Oleg Nesterov , Alexander Viro , Richard Sandiford , Alex =?iso-8859-1?Q?Benn=E9e?= , "kvmarm@lists.cs.columbia.edu" Subject: Re: [PATCH v2 19/28] arm64/sve: ptrace and ELF coredump support Message-ID: <20170906181634.GF6321@e103592.cambridge.arm.com> References: <1504198860-12951-1-git-send-email-Dave.Martin@arm.com> <1504198860-12951-20-git-send-email-Dave.Martin@arm.com> <5FA513F682BE7F4EAAB8EE035D5B08E44109DFE8@G01JPEXMBKW02> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5FA513F682BE7F4EAAB8EE035D5B08E44109DFE8@G01JPEXMBKW02> User-Agent: Mutt/1.5.23 (2014-03-12) X-SW-Source: 2017-09/txt/msg00010.txt.bz2 Content-length: 2986 On Wed, Sep 06, 2017 at 04:21:50PM +0000, Okamoto, Takayuki wrote: > Hi Dave, > > I am an engineer of the postK computer from Fujitsu. > > When I tried to read "max_vl" by ptrace with this patch on our local SVE > simulator, it was read as zero. > I think the cause of this incident is that "max_vl" is set as "header->vl" > only on warning case in sve_init_header_from_task(). > "max_vl" should be set up also on normal case, like the following patch. > > > --- a/arch/arm64/kernel/ptrace.c > +++ b/arch/arm64/kernel/ptrace.c > @@ -755,6 +755,8 @@ static void sve_init_header_from_task(struct user_sve_header *header, > > if (WARN_ON(!sve_vl_valid(sve_max_vl))) > header->max_vl = header->vl; > + else > + header->max_vl = sve_max_vl; > > header->size = SVE_PT_SIZE(vq, header->flags); > header->max_size = SVE_PT_SIZE(sve_vq_from_vl(header->max_vl), Hi, thanks for reporting this. It looks like a refactoring mistake I made while removing BUG_ON()s, which I missed in my testing. Your fix looks correct and seems to work. For stylistic reasons, I may write it like this instead, but the effect should be the same: header->max_vl = sve_max_vl; if (WARN_ON(!sve_vl_valid(sve_max_vl)) header->max_vl = header->vl; Cheers ---Dave > > > Best regards, > Takayuki Okamoto > > -----Original Message----- > From: gdb-owner@sourceware.org [mailto:gdb-owner@sourceware.org] On Behalf Of Dave Martin > Sent: Friday, September 1, 2017 2:01 AM > To: linux-arm-kernel@lists.infradead.org > Cc: Catalin Marinas ; Will Deacon ; Ard Biesheuvel ; Alex Bennée ; Szabolcs Nagy ; Richard Sandiford ; kvmarm@lists.cs.columbia.edu; libc-alpha@sourceware.org; linux-arch@vger.kernel.org; gdb@sourceware.org; Alan Hayward ; Yao Qi ; Oleg Nesterov ; Alexander Viro > Subject: [PATCH v2 19/28] arm64/sve: ptrace and ELF coredump support > [...] > @@ -702,6 +737,210 @@ static int system_call_set(struct task_struct *target, > return ret; > } > > +#ifdef CONFIG_ARM64_SVE > + > +static void sve_init_header_from_task(struct user_sve_header *header, > + struct task_struct *target) > +{ > + unsigned int vq; > + > + memset(header, 0, sizeof(*header)); > + > + header->flags = test_tsk_thread_flag(target, TIF_SVE) ? > + SVE_PT_REGS_SVE : SVE_PT_REGS_FPSIMD; > + if (test_tsk_thread_flag(target, TIF_SVE_VL_INHERIT)) > + header->flags |= SVE_PT_VL_INHERIT; > + > + header->vl = target->thread.sve_vl; > + vq = sve_vq_from_vl(header->vl); > + > + if (WARN_ON(!sve_vl_valid(sve_max_vl))) > + header->max_vl = header->vl; > + > + header->size = SVE_PT_SIZE(vq, header->flags); > + header->max_size = SVE_PT_SIZE(sve_vq_from_vl(header->max_vl), > + SVE_PT_REGS_SVE); > +} [...]