From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BA41AC433EF for ; Thu, 19 May 2022 06:54:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=y5hL2w+S12hakeZeELbFvDrrQAgBVBOig3OgSE8fvQM=; b=u+ye2jWBko0axG 5GsJx5mhL4XXtyd2eX6A1aca/v7qRFpKlwJfpQSHuAm0iLy8+7gf9useZC4FLXZRcVHGQpjTh0wWB vHRBrPdJ38nW9WsYeFmzGYB+oAZgdCDImijoAp5KHfZCTufYMRG7mMB5HDDqFMJplzzM8PJycMBLl wBv4JLah/xTUN5xyA2uvdMuv26ypmuutHD9wd9a6dTcpExqK5tRltGqJVtzbHXk55K8YQtz9NL9jy OTeYxJFORXR4Uv5oLyIZGIGHv3BQM7mg7/RZCMRWztawUX0YJoTnvF+AQmt8Wv0y94hN16Ev7SJq1 k7iQHkdZSRIU41u9TqSQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nra2J-005NWQ-Hh; Thu, 19 May 2022 06:53:27 +0000 Received: from szxga02-in.huawei.com ([45.249.212.188]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nra2F-005NT7-7t for linux-arm-kernel@lists.infradead.org; Thu, 19 May 2022 06:53:26 +0000 Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4L3gXB3kSbzhYlT; Thu, 19 May 2022 14:52:26 +0800 (CST) Received: from kwepemm600017.china.huawei.com (7.193.23.234) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 19 May 2022 14:53:17 +0800 Received: from [10.174.179.234] (10.174.179.234) by kwepemm600017.china.huawei.com (7.193.23.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 19 May 2022 14:53:15 +0800 Message-ID: Date: Thu, 19 May 2022 14:53:14 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: [PATCH -next v4 4/7] arm64: add copy_{to, from}_user to machine check safe To: Mark Rutland CC: James Morse , Andrew Morton , Thomas Gleixner , "Ingo Molnar" , Borislav Petkov , Robin Murphy , Dave Hansen , "Catalin Marinas" , Will Deacon , "Alexander Viro" , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , , "H . Peter Anvin" , , , , , Kefeng Wang , Xie XiuQi , Guohanjun References: <20220420030418.3189040-1-tongtiangen@huawei.com> <20220420030418.3189040-5-tongtiangen@huawei.com> From: Tong Tiangen In-Reply-To: X-Originating-IP: [10.174.179.234] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemm600017.china.huawei.com (7.193.23.234) X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220518_235323_674285_C94B44B2 X-CRM114-Status: GOOD ( 26.57 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgrlnKggMjAyMi81LzEzIDIzOjMxLCBNYXJrIFJ1dGxhbmQg5YaZ6YGTOgo+IE9uIFdlZCwgQXBy IDIwLCAyMDIyIGF0IDAzOjA0OjE1QU0gKzAwMDAsIFRvbmcgVGlhbmdlbiB3cm90ZToKPj4gQWRk IGNvcHlfe3RvLCBmcm9tfV91c2VyKCkgdG8gbWFjaGluZSBjaGVjayBzYWZlLgo+Pgo+PiBJZiBj b3B5IGZhaWwgZHVlIHRvIGhhcmR3YXJlIG1lbW9yeSBlcnJvciwgb25seSB0aGUgcmVsZXZhbnQg cHJvY2Vzc2VzIGFyZQo+PiBhZmZlY3RlZCwgc28ga2lsbGluZyB0aGUgdXNlciBwcm9jZXNzIGFu ZCBpc29sYXRlIHRoZSB1c2VyIHBhZ2Ugd2l0aAo+PiBoYXJkd2FyZSBtZW1vcnkgZXJyb3JzIGlz IGEgbW9yZSByZWFzb25hYmxlIGNob2ljZSB0aGFuIGtlcm5lbCBwYW5pYy4KPj4KPj4gQWRkIG5l dyBleHRhYmxlIHR5cGUgRVhfVFlQRV9VQUNDRVNTX01DIHdoaWNoIGNhbiBiZSB1c2VkIGZvciB1 YWNjZXNzIHRoYXQKPj4gY2FuIGJlIHJlY292ZXJlZCBmcm9tIGhhcmR3YXJlIG1lbW9yeSBlcnJv cnMuCj4gCj4gSSBkb24ndCB1bmRlcnN0YW5kIHdoeSB3ZSBuZWVkIHRoaXMuCj4gCj4gSWYgd2Ug YXBwbHkgRVhfVFlQRV9VQUNDRVNTIGNvbnNpc3RlbnRseSB0byAqYWxsKiB1c2VyIGFjY2Vzc2Vz LCBhbmQKPiAqb25seSogdG8gdXNlciBhY2Nlc3NlcywgdGhhdCB3b3VsZCAqYWx3YXlzKiBpbmRp Y2F0ZSB0aGF0IHdlIGNhbgo+IHJlY292ZXIsIGFuZCB0aGF0IHNlZW1zIG11Y2ggc2ltcGxlciB0 byBkZWFsIHdpdGguCj4gCj4gVG9kYXkgd2UgdXNlIEVYX1RZUEVfVUFDQ0VTU19FUlJfWkVSTyBm b3Iga2VybmVsIGFjY2Vzc2VzIGluIGEgY291cGxlIG9mCj4gY2FzZXMsIHdoaWNoIHdlIHNob3Vs ZCBjbGVhbiB1cCwgYW5kIHdlIHVzZXIgRVhfVFlQRV9GSVhVUCBmb3IgYSBjb3VwbGUKPiBvZiB1 c2VyIGFjY2Vzc2VzLCBidXQgdGhvc2UgY291bGQgZWFzaWx5IGJlIGNvbnZlcnRlZCBvdmVyLgo+ IAo+PiBUaGUgeDE2IHJlZ2lzdGVyIGlzIHVzZWQgdG8gc2F2ZSB0aGUgZml4dXAgdHlwZSBpbiBj b3B5X3h4eF91c2VyIHdoaWNoCj4+IHVzZWQgZXh0YWJsZSB0eXBlIEVYX1RZUEVfVUFDQ0VTU19N Qy4KClRoaXMgaXMgZGljdXNzZWQgb24gcGF0Y2ggcGF0Y2ggMy83LgoKPiAKPiBXaHkgeDE2Pwo+ IAo+IEhvdyBpcyB0aGlzIGludGVuZGVkIHRvIGJlIGNvbnN1bWVkLCBhbmQgd2h5IGlzIHRoYXQg YmVoYXZpb3VyIGRpZmZlcmVudAo+IGZyb20gYW55ICpvdGhlciogZmF1bHQ/Cj4gCj4gTWFyay4K ClRoaXMgaXMgdG8gZGlzdGluZ3Vpc2ggRVhfVFlQRV9GSVhVUCwgaWYgdGhpcyBleGNlcHRpb24g aXMgdHJpZ2dlcmVkLCAKaW4gZml4dXAgcHJvY2Vzc2luZywgaXQgaXMgbmVlZGVkIHRvIGNvcHkg YnkgYnl0ZSwgYnV0IGlmIGV4Y2VwdGlvbiBpcyAKdHJpZ2dlcmVkIGJ5IG1hY2hpbmUgY2hlY2ss IHRoZSBkYXRhIGRvZXMgbm90IG5lZWQgdG8gYmUgY29waWVkIGFnYWluLgoKU28gd2UgbmVlZCBv bmUgcGxhY2UgdG8gc3RvcmUgZXhjZXB0aW9uIHR5cGUsIFRoZXJlZm9yZSwgWDE2IHRoYXQgaXMg bm90IApjdXJyZW50bHkgdXNlZCBpbiBjb3B5X2Zyb20vdG9fdXNlciBpcyBzZWxlY3RlZC4KCk1h eWJlIGJldHRlciB0byB1c2UgZXhjZXB0aW9uX3RhYmxlX2VudHJ5LT5kYXRhIHRvIHBhc3MgdGhl IHJlZ2lzdGVyIAp0aGF0IG5lZWRzIHRvIGJlIHNldD8KClRoYW5rcywKVG9uZy4KCgo+IAo+PiBT aWduZWQtb2ZmLWJ5OiBUb25nIFRpYW5nZW4gPHRvbmd0aWFuZ2VuQGh1YXdlaS5jb20+Cj4+IC0t LQo+PiAgIGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vYXNtLWV4dGFibGUuaCB8IDE0ICsrKysrKysr KysrKysrCj4+ICAgYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9hc20tdWFjY2Vzcy5oIHwgMTUgKysr KysrKysrKy0tLS0tCj4+ICAgYXJjaC9hcm02NC9saWIvY29weV9mcm9tX3VzZXIuUyAgICAgIHwg MTggKysrKysrKysrKystLS0tLS0tCj4+ICAgYXJjaC9hcm02NC9saWIvY29weV90b191c2VyLlMg ICAgICAgIHwgMTggKysrKysrKysrKystLS0tLS0tCj4+ICAgYXJjaC9hcm02NC9tbS9leHRhYmxl LmMgICAgICAgICAgICAgIHwgMTggKysrKysrKysrKysrKystLS0tCj4+ICAgNSBmaWxlcyBjaGFu Z2VkLCA2MCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBh L2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYXNtLWV4dGFibGUuaCBiL2FyY2gvYXJtNjQvaW5jbHVk ZS9hc20vYXNtLWV4dGFibGUuaAo+PiBpbmRleCBjMzlmMjQzN2UwOGUuLjc1YjJjMDBlOTUyMyAx MDA2NDQKPj4gLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9hc20tZXh0YWJsZS5oCj4+ICsr KyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYXNtLWV4dGFibGUuaAo+PiBAQCAtMiwxMiArMiwx OCBAQAo+PiAgICNpZm5kZWYgX19BU01fQVNNX0VYVEFCTEVfSAo+PiAgICNkZWZpbmUgX19BU01f QVNNX0VYVEFCTEVfSAo+PiAgIAo+PiArI2RlZmluZSBGSVhVUF9UWVBFX05PUk1BTAkJMAo+PiAr I2RlZmluZSBGSVhVUF9UWVBFX01DCQkJMQo+PiArCj4+ICAgI2RlZmluZSBFWF9UWVBFX05PTkUJ CQkwCj4+ICAgI2RlZmluZSBFWF9UWVBFX0ZJWFVQCQkJMQo+PiAgICNkZWZpbmUgRVhfVFlQRV9C UEYJCQkyCj4+ICAgI2RlZmluZSBFWF9UWVBFX1VBQ0NFU1NfRVJSX1pFUk8JMwo+PiAgICNkZWZp bmUgRVhfVFlQRV9MT0FEX1VOQUxJR05FRF9aRVJPUEFECTQKPj4gICAKPj4gKy8qIF9NQyBpbmRp Y2F0ZXMgdGhhdCBjYW4gZml4dXAgZnJvbSBtYWNoaW5lIGNoZWNrIGVycm9ycyAqLwo+PiArI2Rl ZmluZSBFWF9UWVBFX1VBQ0NFU1NfTUMJCTUKPj4gKwo+PiAgICNpZmRlZiBfX0FTU0VNQkxZX18K Pj4gICAKPj4gICAjZGVmaW5lIF9fQVNNX0VYVEFCTEVfUkFXKGluc24sIGZpeHVwLCB0eXBlLCBk YXRhKQlcCj4+IEBAIC0yNyw2ICszMywxNCBAQAo+PiAgIAlfX0FTTV9FWFRBQkxFX1JBVyhcaW5z biwgXGZpeHVwLCBFWF9UWVBFX0ZJWFVQLCAwKQo+PiAgIAkuZW5kbQo+PiAgIAo+PiArLyoKPj4g KyAqIENyZWF0ZSBhbiBleGNlcHRpb24gdGFibGUgZW50cnkgZm9yIGBpbnNuYCwgd2hpY2ggd2ls bCBicmFuY2ggdG8gYGZpeHVwYAo+PiArICogd2hlbiBhbiB1bmhhbmRsZWQgZmF1bHQoaW5jbHVk ZSBzZWEgZmF1bHQpIGlzIHRha2VuLgo+PiArICovCj4+ICsJLm1hY3JvICAgICAgICAgIF9hc21f ZXh0YWJsZV91YWNjZXNzX21jLCBpbnNuLCBmaXh1cAo+PiArCV9fQVNNX0VYVEFCTEVfUkFXKFxp bnNuLCBcZml4dXAsIEVYX1RZUEVfVUFDQ0VTU19NQywgMCkKPj4gKwkuZW5kbQo+PiArCj4+ICAg LyoKPj4gICAgKiBDcmVhdGUgYW4gZXhjZXB0aW9uIHRhYmxlIGVudHJ5IGZvciBgaW5zbmAgaWYg YGZpeHVwYCBpcyBwcm92aWRlZC4gT3RoZXJ3aXNlCj4+ICAgICogZG8gbm90aGluZy4KPj4gZGlm ZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYXNtLXVhY2Nlc3MuaCBiL2FyY2gvYXJt NjQvaW5jbHVkZS9hc20vYXNtLXVhY2Nlc3MuaAo+PiBpbmRleCAwNTU3YWY4MzRlMDMuLjZjMjNj MTM4ZTFmYyAxMDA2NDQKPj4gLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9hc20tdWFjY2Vz cy5oCj4+ICsrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYXNtLXVhY2Nlc3MuaAo+PiBAQCAt NjMsNiArNjMsMTEgQEAgYWx0ZXJuYXRpdmVfZWxzZV9ub3BfZW5kaWYKPj4gICA5OTk5Ogl4OwkJ CQkJXAo+PiAgIAlfYXNtX2V4dGFibGUJOTk5OWIsIGwKPj4gICAKPj4gKwo+PiArI2RlZmluZSBV U0VSX01DKGwsIHguLi4pCQkJXAo+PiArOTk5OToJeDsJCQkJCVwKPj4gKwlfYXNtX2V4dGFibGVf dWFjY2Vzc19tYwk5OTk5YiwgbAo+PiArCj4+ICAgLyoKPj4gICAgKiBHZW5lcmF0ZSB0aGUgYXNz ZW1ibHkgZm9yIExEVFIvU1RUUiB3aXRoIGV4Y2VwdGlvbiB0YWJsZSBlbnRyaWVzLgo+PiAgICAq IFRoaXMgaXMgY29tcGxpY2F0ZWQgYXMgdGhlcmUgaXMgbm8gcG9zdC1pbmNyZW1lbnQgb3IgcGFp ciB2ZXJzaW9ucyBvZiB0aGUKPj4gQEAgLTczLDggKzc4LDggQEAgYWx0ZXJuYXRpdmVfZWxzZV9u b3BfZW5kaWYKPj4gICA4ODg5OgkJbGR0cglccmVnMiwgW1xhZGRyLCAjOF07Cj4+ICAgCQlhZGQJ XGFkZHIsIFxhZGRyLCBccG9zdF9pbmM7Cj4+ICAgCj4+IC0JCV9hc21fZXh0YWJsZQk4ODg4Yixc bDsKPj4gLQkJX2FzbV9leHRhYmxlCTg4ODliLFxsOwo+PiArCQlfYXNtX2V4dGFibGVfdWFjY2Vz c19tYwk4ODg4YiwgXGw7Cj4+ICsJCV9hc21fZXh0YWJsZV91YWNjZXNzX21jCTg4ODliLCBcbDsK Pj4gICAJLmVuZG0KPj4gICAKPj4gICAJLm1hY3JvIHVzZXJfc3RwIGwsIHJlZzEsIHJlZzIsIGFk ZHIsIHBvc3RfaW5jCj4+IEBAIC04MiwxNCArODcsMTQgQEAgYWx0ZXJuYXRpdmVfZWxzZV9ub3Bf ZW5kaWYKPj4gICA4ODg5OgkJc3R0cglccmVnMiwgW1xhZGRyLCAjOF07Cj4+ICAgCQlhZGQJXGFk ZHIsIFxhZGRyLCBccG9zdF9pbmM7Cj4+ICAgCj4+IC0JCV9hc21fZXh0YWJsZQk4ODg4YixcbDsK Pj4gLQkJX2FzbV9leHRhYmxlCTg4ODliLFxsOwo+PiArCQlfYXNtX2V4dGFibGVfdWFjY2Vzc19t Ywk4ODg4YixcbDsKPj4gKwkJX2FzbV9leHRhYmxlX3VhY2Nlc3NfbWMJODg4OWIsXGw7Cj4+ICAg CS5lbmRtCj4+ICAgCj4+ICAgCS5tYWNybyB1c2VyX2xkc3QgbCwgaW5zdCwgcmVnLCBhZGRyLCBw b3N0X2luYwo+PiAgIDg4ODg6CQlcaW5zdAkJXHJlZywgW1xhZGRyXTsKPj4gICAJCWFkZAkJXGFk ZHIsIFxhZGRyLCBccG9zdF9pbmM7Cj4+ICAgCj4+IC0JCV9hc21fZXh0YWJsZQk4ODg4YixcbDsK Pj4gKwkJX2FzbV9leHRhYmxlX3VhY2Nlc3NfbWMJODg4OGIsIFxsOwo+PiAgIAkuZW5kbQo+PiAg ICNlbmRpZgo+PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9saWIvY29weV9mcm9tX3VzZXIuUyBi L2FyY2gvYXJtNjQvbGliL2NvcHlfZnJvbV91c2VyLlMKPj4gaW5kZXggMzRlMzE3OTA3NTI0Li40 ODBjYzVhYzBhOGQgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gvYXJtNjQvbGliL2NvcHlfZnJvbV91c2Vy LlMKPj4gKysrIGIvYXJjaC9hcm02NC9saWIvY29weV9mcm9tX3VzZXIuUwo+PiBAQCAtMjUsNyAr MjUsNyBAQAo+PiAgIAkuZW5kbQo+PiAgIAo+PiAgIAkubWFjcm8gc3RyYjEgcmVnLCBwdHIsIHZh bAo+PiAtCXN0cmIgXHJlZywgW1xwdHJdLCBcdmFsCj4+ICsJVVNFUl9NQyg5OTk4Ziwgc3RyYiBc cmVnLCBbXHB0cl0sIFx2YWwpCj4+ICAgCS5lbmRtCj4+ICAgCj4+ICAgCS5tYWNybyBsZHJoMSBy ZWcsIHB0ciwgdmFsCj4+IEBAIC0zMyw3ICszMyw3IEBACj4+ICAgCS5lbmRtCj4+ICAgCj4+ICAg CS5tYWNybyBzdHJoMSByZWcsIHB0ciwgdmFsCj4+IC0Jc3RyaCBccmVnLCBbXHB0cl0sIFx2YWwK Pj4gKwlVU0VSX01DKDk5OThmLCBzdHJoIFxyZWcsIFtccHRyXSwgXHZhbCkKPj4gICAJLmVuZG0K Pj4gICAKPj4gICAJLm1hY3JvIGxkcjEgcmVnLCBwdHIsIHZhbAo+PiBAQCAtNDEsNyArNDEsNyBA QAo+PiAgIAkuZW5kbQo+PiAgIAo+PiAgIAkubWFjcm8gc3RyMSByZWcsIHB0ciwgdmFsCj4+IC0J c3RyIFxyZWcsIFtccHRyXSwgXHZhbAo+PiArCVVTRVJfTUMoOTk5OGYsIHN0ciBccmVnLCBbXHB0 cl0sIFx2YWwpCj4+ICAgCS5lbmRtCj4+ICAgCj4+ICAgCS5tYWNybyBsZHAxIHJlZzEsIHJlZzIs IHB0ciwgdmFsCj4+IEBAIC00OSwxMSArNDksMTIgQEAKPj4gICAJLmVuZG0KPj4gICAKPj4gICAJ Lm1hY3JvIHN0cDEgcmVnMSwgcmVnMiwgcHRyLCB2YWwKPj4gLQlzdHAgXHJlZzEsIFxyZWcyLCBb XHB0cl0sIFx2YWwKPj4gKwlVU0VSX01DKDk5OThmLCBzdHAgXHJlZzEsIFxyZWcyLCBbXHB0cl0s IFx2YWwpCj4+ICAgCS5lbmRtCj4+ICAgCj4+IC1lbmQJLnJlcQl4NQo+PiAtc3JjaW4JLnJlcQl4 MTUKPj4gK2VuZAkJLnJlcQl4NQo+PiArc3JjaW4JCS5yZXEJeDE1Cj4+ICtmaXh1cF90eXBlCS5y ZXEJeDE2Cj4+ICAgU1lNX0ZVTkNfU1RBUlQoX19hcmNoX2NvcHlfZnJvbV91c2VyKQo+PiAgIAlh ZGQJZW5kLCB4MCwgeDIKPj4gICAJbW92CXNyY2luLCB4MQo+PiBAQCAtNjIsNyArNjMsMTAgQEAg U1lNX0ZVTkNfU1RBUlQoX19hcmNoX2NvcHlfZnJvbV91c2VyKQo+PiAgIAlyZXQKPj4gICAKPj4g ICAJLy8gRXhjZXB0aW9uIGZpeHVwcwo+PiAtOTk5NzoJY21wCWRzdCwgZHN0aW4KPj4gKwkvLyB4 MTY6IGZpeHVwIHR5cGUgd3JpdHRlbiBieSBleF9oYW5kbGVyX3VhY2Nlc3NfbWMKPj4gKzk5OTc6 CWNtcCAJZml4dXBfdHlwZSwgI0ZJWFVQX1RZUEVfTUMKPj4gKwliLmVxCTk5OThmCj4+ICsJY21w CWRzdCwgZHN0aW4KPj4gICAJYi5uZQk5OTk4Zgo+PiAgIAkvLyBCZWZvcmUgYmVpbmcgYWJzb2x1 dGVseSBzdXJlIHdlIGNvdWxkbid0IGNvcHkgYW55dGhpbmcsIHRyeSBoYXJkZXIKPj4gICBVU0VS KDk5OThmLCBsZHRyYiB0bXAxdywgW3NyY2luXSkKPj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQv bGliL2NvcHlfdG9fdXNlci5TIGIvYXJjaC9hcm02NC9saWIvY29weV90b191c2VyLlMKPj4gaW5k ZXggODAyMjMxNzcyNjA4Li4wMjFhN2QyN2IzYTQgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gvYXJtNjQv bGliL2NvcHlfdG9fdXNlci5TCj4+ICsrKyBiL2FyY2gvYXJtNjQvbGliL2NvcHlfdG9fdXNlci5T Cj4+IEBAIC0yMCw3ICsyMCw3IEBACj4+ICAgICoJeDAgLSBieXRlcyBub3QgY29waWVkCj4+ICAg ICovCj4+ICAgCS5tYWNybyBsZHJiMSByZWcsIHB0ciwgdmFsCj4+IC0JbGRyYiAgXHJlZywgW1xw dHJdLCBcdmFsCj4+ICsJVVNFUl9NQyg5OTk4ZiwgbGRyYiAgXHJlZywgW1xwdHJdLCBcdmFsKQo+ PiAgIAkuZW5kbQo+PiAgIAo+PiAgIAkubWFjcm8gc3RyYjEgcmVnLCBwdHIsIHZhbAo+PiBAQCAt MjgsNyArMjgsNyBAQAo+PiAgIAkuZW5kbQo+PiAgIAo+PiAgIAkubWFjcm8gbGRyaDEgcmVnLCBw dHIsIHZhbAo+PiAtCWxkcmggIFxyZWcsIFtccHRyXSwgXHZhbAo+PiArCVVTRVJfTUMoOTk5OGYs IGxkcmggIFxyZWcsIFtccHRyXSwgXHZhbCkKPj4gICAJLmVuZG0KPj4gICAKPj4gICAJLm1hY3Jv IHN0cmgxIHJlZywgcHRyLCB2YWwKPj4gQEAgLTM2LDcgKzM2LDcgQEAKPj4gICAJLmVuZG0KPj4g ICAKPj4gICAJLm1hY3JvIGxkcjEgcmVnLCBwdHIsIHZhbAo+PiAtCWxkciBccmVnLCBbXHB0cl0s IFx2YWwKPj4gKwlVU0VSX01DKDk5OThmLCBsZHIgXHJlZywgW1xwdHJdLCBcdmFsKQo+PiAgIAku ZW5kbQo+PiAgIAo+PiAgIAkubWFjcm8gc3RyMSByZWcsIHB0ciwgdmFsCj4+IEBAIC00NCwxNSAr NDQsMTYgQEAKPj4gICAJLmVuZG0KPj4gICAKPj4gICAJLm1hY3JvIGxkcDEgcmVnMSwgcmVnMiwg cHRyLCB2YWwKPj4gLQlsZHAgXHJlZzEsIFxyZWcyLCBbXHB0cl0sIFx2YWwKPj4gKwlVU0VSX01D KDk5OThmLCBsZHAgXHJlZzEsIFxyZWcyLCBbXHB0cl0sIFx2YWwpCj4+ICAgCS5lbmRtCj4+ICAg Cj4+ICAgCS5tYWNybyBzdHAxIHJlZzEsIHJlZzIsIHB0ciwgdmFsCj4+ICAgCXVzZXJfc3RwIDk5 OTdmLCBccmVnMSwgXHJlZzIsIFxwdHIsIFx2YWwKPj4gICAJLmVuZG0KPj4gICAKPj4gLWVuZAku cmVxCXg1Cj4+IC1zcmNpbgkucmVxCXgxNQo+PiArZW5kCQkucmVxCXg1Cj4+ICtzcmNpbgkJLnJl cQl4MTUKPj4gK2ZpeHVwX3R5cGUJLnJlcQl4MTYKPj4gICBTWU1fRlVOQ19TVEFSVChfX2FyY2hf Y29weV90b191c2VyKQo+PiAgIAlhZGQJZW5kLCB4MCwgeDIKPj4gICAJbW92CXNyY2luLCB4MQo+ PiBAQCAtNjEsNyArNjIsMTAgQEAgU1lNX0ZVTkNfU1RBUlQoX19hcmNoX2NvcHlfdG9fdXNlcikK Pj4gICAJcmV0Cj4+ICAgCj4+ICAgCS8vIEV4Y2VwdGlvbiBmaXh1cHMKPj4gLTk5OTc6CWNtcAlk c3QsIGRzdGluCj4+ICsJLy8geDE2OiBmaXh1cCB0eXBlIHdyaXR0ZW4gYnkgZXhfaGFuZGxlcl91 YWNjZXNzX21jCj4+ICs5OTk3OgljbXAgCWZpeHVwX3R5cGUsICNGSVhVUF9UWVBFX01DCj4+ICsJ Yi5lcQk5OTk4Zgo+PiArCWNtcAlkc3QsIGRzdGluCj4+ICAgCWIubmUJOTk5OGYKPj4gICAJLy8g QmVmb3JlIGJlaW5nIGFic29sdXRlbHkgc3VyZSB3ZSBjb3VsZG4ndCBjb3B5IGFueXRoaW5nLCB0 cnkgaGFyZGVyCj4+ICAgCWxkcmIJdG1wMXcsIFtzcmNpbl0KPj4gZGlmZiAtLWdpdCBhL2FyY2gv YXJtNjQvbW0vZXh0YWJsZS5jIGIvYXJjaC9hcm02NC9tbS9leHRhYmxlLmMKPj4gaW5kZXggNGYw MDgzYTU1MGQ0Li41MjU4NzZjM2ViZjQgMTAwNjQ0Cj4+IC0tLSBhL2FyY2gvYXJtNjQvbW0vZXh0 YWJsZS5jCj4+ICsrKyBiL2FyY2gvYXJtNjQvbW0vZXh0YWJsZS5jCj4+IEBAIC0yNCw2ICsyNCwx NCBAQCBzdGF0aWMgYm9vbCBleF9oYW5kbGVyX2ZpeHVwKGNvbnN0IHN0cnVjdCBleGNlcHRpb25f dGFibGVfZW50cnkgKmV4LAo+PiAgIAlyZXR1cm4gdHJ1ZTsKPj4gICB9Cj4+ICAgCj4+ICtzdGF0 aWMgYm9vbCBleF9oYW5kbGVyX3VhY2Nlc3NfdHlwZShjb25zdCBzdHJ1Y3QgZXhjZXB0aW9uX3Rh YmxlX2VudHJ5ICpleCwKPj4gKwkJCSAgICAgc3RydWN0IHB0X3JlZ3MgKnJlZ3MsCj4+ICsJCQkg ICAgIHVuc2lnbmVkIGxvbmcgZml4dXBfdHlwZSkKPj4gK3sKPj4gKwlyZWdzLT5yZWdzWzE2XSA9 IGZpeHVwX3R5cGU7Cj4+ICsJcmV0dXJuIGV4X2hhbmRsZXJfZml4dXAoZXgsIHJlZ3MpOwo+PiAr fQo+PiArCj4+ICAgc3RhdGljIGJvb2wgZXhfaGFuZGxlcl91YWNjZXNzX2Vycl96ZXJvKGNvbnN0 IHN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKmV4LAo+PiAgIAkJCQkJc3RydWN0IHB0X3Jl Z3MgKnJlZ3MpCj4+ICAgewo+PiBAQCAtNzUsNiArODMsOCBAQCBib29sIGZpeHVwX2V4Y2VwdGlv bihzdHJ1Y3QgcHRfcmVncyAqcmVncykKPj4gICAJc3dpdGNoIChleC0+dHlwZSkgewo+PiAgIAlj YXNlIEVYX1RZUEVfRklYVVA6Cj4+ICAgCQlyZXR1cm4gZXhfaGFuZGxlcl9maXh1cChleCwgcmVn cyk7Cj4+ICsJY2FzZSBFWF9UWVBFX1VBQ0NFU1NfTUM6Cj4+ICsJCXJldHVybiBleF9oYW5kbGVy X3VhY2Nlc3NfdHlwZShleCwgcmVncywgRklYVVBfVFlQRV9OT1JNQUwpOwo+PiAgIAljYXNlIEVY X1RZUEVfQlBGOgo+PiAgIAkJcmV0dXJuIGV4X2hhbmRsZXJfYnBmKGV4LCByZWdzKTsKPj4gICAJ Y2FzZSBFWF9UWVBFX1VBQ0NFU1NfRVJSX1pFUk86Cj4+IEBAIC05NCwxMCArMTA0LDEwIEBAIGJv b2wgZml4dXBfZXhjZXB0aW9uX21jKHN0cnVjdCBwdF9yZWdzICpyZWdzKQo+PiAgIAlpZiAoIWV4 KQo+PiAgIAkJcmV0dXJuIGZhbHNlOwo+PiAgIAo+PiAtCS8qCj4+IC0JICogVGhpcyBpcyBub3Qg Y29tcGxldGUsIE1vcmUgTWFjaGluZSBjaGVjayBzYWZlIGV4dGFibGUgdHlwZSBjYW4KPj4gLQkg KiBiZSBwcm9jZXNzZWQgaGVyZS4KPj4gLQkgKi8KPj4gKwlzd2l0Y2ggKGV4LT50eXBlKSB7Cj4+ ICsJY2FzZSBFWF9UWVBFX1VBQ0NFU1NfTUM6Cj4+ICsJCXJldHVybiBleF9oYW5kbGVyX3VhY2Nl c3NfdHlwZShleCwgcmVncywgRklYVVBfVFlQRV9NQyk7Cj4+ICsJfQo+PiAgIAo+PiAgIAlyZXR1 cm4gZmFsc2U7Cj4+ICAgfQo+PiAtLSAKPj4gMi4yNS4xCj4+Cj4gLgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5n IGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=