Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp357992imu; Thu, 3 Jan 2019 22:05:10 -0800 (PST) X-Google-Smtp-Source: AFSGD/V189/JR3OB2YatJN8b+SSYkeXCVboTpVXj25Ip4BA+mOUENPGJKES9xyg1/sC9PajrEPf8 X-Received: by 2002:a62:e0d8:: with SMTP id d85mr50257494pfm.214.1546581910884; Thu, 03 Jan 2019 22:05:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546581910; cv=none; d=google.com; s=arc-20160816; b=ksYfUoGkd8nYkODCeyfIpFB/LT0/CLFmMG7HIqdctSxrMpN1UxzXAutKKUaVH9c1pT +TYFlHXRDDyhJo0b/4zDhHYHOb2gKY2cXgRCBCs24EMLDe6r2wDvDn9VWUAO27sv1opl EFMoPMtVMrZ8nbWQtvJKRkC6SlhjvgenFrEPe9WB1WmOa4e2YPUg5OkoJC7w5z7/DIy9 37k8WKYikeldBAOgkCB/HL1JQRpruFLAMuTMo3H5IIJejQH04ZyUwF+KjqOOY3j+Ez8b W+Du9GuwSG2EseD1wh/3hoecjhfaze5Jlr2qMWV9D/7EvdMYXkGMVrrO+s6G30Mu0DZy PgLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from; bh=peLqvk59BWrHliDWQgp2vHAGG0P2K5jE19NiK9D4w4I=; b=PbBpDbphDhkPxhnWmDH7xV6PBSwgzKzQ0bzMcoopQwrohmjxu+13cB4dYuh+FRgwPX hfhhts51w+TT7wlKqbdcK3/1whbZZcccBDPBj9Xt9XzeaoK1mc8zvW+37ARH/nJZ8N6k 6IddGnGaGJcybqMBtCeVN5HgoFMODfjw5jtEtvLskUyKLhW3heM+WSU/0gbYkn2dHJqU 3dkgn331pvoLeHbVuZhY4KmxnSOxTutQ76JSik1jaTHrMa54M7Ta8/KE29MmWjwZTUjh xOgm9XtdIYq+GYe1WVXmfPFnZwfNtc9acNCMloTB+SVnxYBG6YB5ObTlyCnZHDUKhhe6 55QA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x3si3704852pgj.493.2019.01.03.22.04.41; Thu, 03 Jan 2019 22:05:10 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726176AbfADBm6 (ORCPT + 99 others); Thu, 3 Jan 2019 20:42:58 -0500 Received: from szxga03-in.huawei.com ([45.249.212.189]:6526 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725919AbfADBm6 (ORCPT ); Thu, 3 Jan 2019 20:42:58 -0500 Received: from DGGEMM402-HUB.china.huawei.com (unknown [172.30.72.57]) by Forcepoint Email with ESMTP id 2FC4953BB65CF; Fri, 4 Jan 2019 09:42:53 +0800 (CST) Received: from DGGEMM526-MBX.china.huawei.com ([169.254.8.137]) by DGGEMM402-HUB.china.huawei.com ([10.3.20.210]) with mapi id 14.03.0415.000; Fri, 4 Jan 2019 09:42:51 +0800 From: "Zengtao (B)" To: Laura Abbott , "sumit.semwal@linaro.org" CC: Greg Kroah-Hartman , =?utf-8?B?QXJ2ZSBIasO4bm5ldsOlZw==?= , Todd Kjos , Martijn Coenen , Joel Fernandes , "devel@driverdev.osuosl.org" , "dri-devel@lists.freedesktop.org" , "linaro-mm-sig@lists.linaro.org" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH] staging: android: ion: add buffer flag update ioctl Thread-Topic: [PATCH] staging: android: ion: add buffer flag update ioctl Thread-Index: AQHUl3t2yiOi+mE2D0GoXeOyj1fBg6WF1uUAgAJFc3iAFIp6HIABwMWg Date: Fri, 4 Jan 2019 01:42:51 +0000 Message-ID: <678F3D1BB717D949B966B68EAEB446ED24E31270@dggemm526-mbx.china.huawei.com> References: <1545239943-15414-1-git-send-email-prime.zeng@hisilicon.com> <678F3D1BB717D949B966B68EAEB446ED24E2926A@dggemm526-mbx.china.huawei.com> <786ad55f-4651-56ce-cd5c-ca02f7ac4093@redhat.com> <678F3D1BB717D949B966B68EAEB446ED24E2B495@dggemm526-mbx.china.huawei.com> <58278bab-413c-ef5e-3074-5afbcc1b86de@redhat.com> In-Reply-To: <58278bab-413c-ef5e-3074-5afbcc1b86de@redhat.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.67.222.15] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Pi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogTGF1cmEgQWJib3R0IFttYWlsdG86 bGFiYm90dEByZWRoYXQuY29tXQ0KPlNlbnQ6IFRodXJzZGF5LCBKYW51YXJ5IDAzLCAyMDE5IDY6 MzEgQU0NCj5UbzogWmVuZ3RhbyAoQikgPHByaW1lLnplbmdAaGlzaWxpY29uLmNvbT47IHN1bWl0 LnNlbXdhbEBsaW5hcm8ub3JnDQo+Q2M6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4 Zm91bmRhdGlvbi5vcmc+OyBBcnZlIEhqw7hubmV2w6VnDQo+PGFydmVAYW5kcm9pZC5jb20+OyBU b2RkIEtqb3MgPHRram9zQGFuZHJvaWQuY29tPjsgTWFydGlqbiBDb2VuZW4NCj48bWFjb0BhbmRy b2lkLmNvbT47IEpvZWwgRmVybmFuZGVzIDxqb2VsQGpvZWxmZXJuYW5kZXMub3JnPjsNCj5kZXZl bEBkcml2ZXJkZXYub3N1b3NsLm9yZzsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsN Cj5saW5hcm8tbW0tc2lnQGxpc3RzLmxpbmFyby5vcmc7IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5l bC5vcmcNCj5TdWJqZWN0OiBSZTogW1BBVENIXSBzdGFnaW5nOiBhbmRyb2lkOiBpb246IGFkZCBi dWZmZXIgZmxhZyB1cGRhdGUgaW9jdGwNCj4NCj5PbiAxMi8yMy8xOCA2OjQ3IFBNLCBaZW5ndGFv IChCKSB3cm90ZToNCj4+IEhpIGxhdXJhOg0KPj4NCj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPj4+IEZyb206IExhdXJhIEFiYm90dCBbbWFpbHRvOmxhYmJvdHRAcmVkaGF0LmNvbV0N Cj4+PiBTZW50OiBGcmlkYXksIERlY2VtYmVyIDIxLCAyMDE4IDQ6NTAgQU0NCj4+PiBUbzogWmVu Z3RhbyAoQikgPHByaW1lLnplbmdAaGlzaWxpY29uLmNvbT47DQo+c3VtaXQuc2Vtd2FsQGxpbmFy by5vcmcNCj4+PiBDYzogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hAbGludXhmb3VuZGF0aW9u Lm9yZz47IEFydmUNCj5IasO4bm5ldsOlZw0KPj4+IDxhcnZlQGFuZHJvaWQuY29tPjsgVG9kZCBL am9zIDx0a2pvc0BhbmRyb2lkLmNvbT47IE1hcnRpam4NCj5Db2VuZW4NCj4+PiA8bWFjb0BhbmRy b2lkLmNvbT47IEpvZWwgRmVybmFuZGVzIDxqb2VsQGpvZWxmZXJuYW5kZXMub3JnPjsNCj4+PiBk ZXZlbEBkcml2ZXJkZXYub3N1b3NsLm9yZzsgZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZzsNCj4+PiBsaW5hcm8tbW0tc2lnQGxpc3RzLmxpbmFyby5vcmc7IGxpbnV4LWtlcm5lbEB2Z2Vy Lmtlcm5lbC5vcmcNCj4+PiBTdWJqZWN0OiBSZTogW1BBVENIXSBzdGFnaW5nOiBhbmRyb2lkOiBp b246IGFkZCBidWZmZXIgZmxhZyB1cGRhdGUNCj4+PiBpb2N0bA0KPj4+DQo+Pj4gT24gMTIvMTkv MTggNTozOSBQTSwgWmVuZ3RhbyAoQikgd3JvdGU6DQo+Pj4+IEhpIGxhdXJhOg0KPj4+Pg0KPj4+ Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+Pj4+IEZyb206IExhdXJhIEFiYm90dCBb bWFpbHRvOmxhYmJvdHRAcmVkaGF0LmNvbV0NCj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBEZWNlbWJl ciAyMCwgMjAxOCAyOjEwIEFNDQo+Pj4+PiBUbzogWmVuZ3RhbyAoQikgPHByaW1lLnplbmdAaGlz aWxpY29uLmNvbT47DQo+Pj4gc3VtaXQuc2Vtd2FsQGxpbmFyby5vcmcNCj4+Pj4+IENjOiBHcmVn IEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPjsgQXJ2ZQ0KPj4+IEhq w7hubmV2w6VnDQo+Pj4+PiA8YXJ2ZUBhbmRyb2lkLmNvbT47IFRvZGQgS2pvcyA8dGtqb3NAYW5k cm9pZC5jb20+OyBNYXJ0aWpuDQo+Pj4gQ29lbmVuDQo+Pj4+PiA8bWFjb0BhbmRyb2lkLmNvbT47 IEpvZWwgRmVybmFuZGVzIDxqb2VsQGpvZWxmZXJuYW5kZXMub3JnPjsNCj4+Pj4+IGRldmVsQGRy aXZlcmRldi5vc3Vvc2wub3JnOyBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOw0KPj4+ Pj4gbGluYXJvLW1tLXNpZ0BsaXN0cy5saW5hcm8ub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJu ZWwub3JnDQo+Pj4+PiBTdWJqZWN0OiBSZTogW1BBVENIXSBzdGFnaW5nOiBhbmRyb2lkOiBpb246 IGFkZCBidWZmZXIgZmxhZyB1cGRhdGUNCj4+Pj4+IGlvY3RsDQo+Pj4+Pg0KPj4+Pj4gT24gMTIv MTkvMTggOToxOSBBTSwgWmVuZyBUYW8gd3JvdGU6DQo+Pj4+Pj4gSW4gc29tZSB1c2VjYXNlcywg dGhlIGJ1ZmZlciBjYWNoZWQgYXR0cmlidXRlIGlzIG5vdCBkZXRlcm1pbmVkIGF0DQo+Pj4+Pj4g YWxsb2NhdGlvbiB0aW1lLCBpdCdzIGRldGVybWluZWQganVzdCBiZWZvcmUgdGhlIHJlYWwgY3B1 IG1hcHBpbmcuDQo+Pj4+Pj4gQW5kIGZyb20gdGhlIG1lbW9yeSB2aWV3IG9mIHBvaW50LCBhIGJ1 ZmZlciBzaG91bGQgbm90IGhhdmUgdGhlDQo+Pj4+PiBjYWNoZWQNCj4+Pj4+PiBhdHRyaWJ1dGUg dXRpbCBpcyByZWFsbHkgbWFwcGVkIGJ5IHRoZSBjcHUuIFNvIGluIHRoaXMgcGF0Y2gsIHdlDQo+ Pj4+Pj4gaW50cm9kdWNlZCB0aGUgbmV3IGlvY3RsIGNvbW1hbmQgdG8gdGFyZ2V0IHRoZSByZXF1 aXJlbWVudC4NCj4+Pj4+Pg0KPj4+Pj4NCj4+Pj4+IFRoaXMgaXMgcmFjeSBhbmQgZXJyb3IgcHJv bmUuIENhbiB5b3UgZXhwbGFpbiBtb3JlIHdoYXQgcHJvYmxlbQ0KPnlvdQ0KPj4+Pj4gYXJlIHRy eWluZyB0byBzb2x2ZT8NCj4+Pj4NCj4+Pj4gTXkgdXNlIGNhc2UgaXMgbGlrZSB0aGlzOg0KPj4+ PiAxLiAgVGhlcmUgYXJlIHR3byBwcm9jZXNzIEEgYW5kIEIsIEEgdGFrZXMgY2FzZSBvZiBpb24g YnVmZmVyDQo+Pj4+IGFsbG9jYXRpb24sDQo+Pj4gYW5kDQo+Pj4+ICAgIHBhc3MgdGhlIGJ1ZmZl ciBmZCB0byBCLCB0aGVuIEIgbWFwcyBhbmQgdXNlcyBpdC4NCj4+Pj4gMi4gIFByb2Nlc3MgQiBu ZWVkIHRvIG1hcCB0aGUgYnVmZmVyIHdpdGggZGlmZmVyZW50IGNhY2hlZCBhdHRyaWJ1dGUNCj4+ Pj4gZm9yIGRpZmZlcmVudCB1c2UgY2FzZSwgZm9yIGV4YW1wbGUsIGlmIHRoZSBidWZmZXIgaXMg dXNlZCBmb3IgcHVyZQ0KPj4+PiBzb2Z0d2FyZSBhbGdvcml0aG0sIHRoZW4gd2UgbmVlZCB0byBt YXAgaXQgYXMgY2FjaGVkLCBvdGhlcndpc2UNCj4+Pj4gbm9uLWNhY2hlZCwgYW5kIEIgbmVlZHMg dG8gZGVhbCB3aXRoIGJvdGggY2FzZXMuDQo+Pj4+IEFuZCB1bmZvcnR1bmF0ZWx5IHRoZSBtbWFw IHN5c2NhbGwgdGFrZXMgbm8gY2FjaGVkIGZsYWdzIGFuZCB3ZQ0KPj4+PiBjYW4ndCBkZWNpZGUg dGhlIGNhY2hlIGF0dHJpYnV0ZSB3aGVuIHdlIGFyZSBkb2luZyB0aGUgbW1hcCwgc28gSQ0KPj4+ PiBpbnRyb2R1Y2UgbmV3IHRoZSBpb2N0bCBldmVuIHRob3VnaCBJIHRoaW5rIHRoZSBzb2x1dGlv biBpcyBub3QgYXMNCj5nb29kLg0KPj4+Pg0KPj4+Pg0KPj4+DQo+Pj4gVGhhbmtzIGZvciB0aGUg ZXhwbGFuYXRpb24sIHRoaXMgd2FzIGFib3V0IHRoZSB1c2UgY2FzZSBJIGV4cGVjdGVkLg0KPj4+ IEknbSBwcmV0dHkgc3VyZSBJIGhhZCB0aGlzIGV4YWN0IHByb2JsZW0gb25jZSB1cG9uIGEgdGlt ZSBhbmQgd2UNCj4+PiBkaWRuJ3QgY29tZSB1cCB3aXRoIGEgc29sdXRpb24uIEknZCBzdGlsbCBs aWtlIHRvIGdldCByaWQgb2YgdW5jYWNoZWQNCj4+PiBidWZmZXJzIGluIGdlbmVyYWwgYW5kIGp1 c3QgdXNlIGNhY2hlZCBidWZmZXJzIChzZWUNCj4+PiBodHRwOi8vZHJpdmVyZGV2LmxpbnV4ZHJp dmVycHJvamVjdC5vcmcvcGlwZXJtYWlsL2RyaXZlcmRldi1kZXZlbC8yMDENCj4+PiA4LU4NCj4+ PiBvdmVtYmVyLzEyODg0Mi5odG1sKQ0KPj4+IFdoYXQncyB5b3VyIHVzZWNhc2UgZm9yIHVuY2Fj aGVkIGJ1ZmZlcnM/DQo+Pg0KPj4gU29tZSBidWZmZXJzIGFyZSBvbmx5IHVzZWQgYnkgSFcsIGlu IHRoaXMgY2FzZSwgd2UgdGVuZCB0byB1c2UNCj51bmNhY2hlZCBidWZmZXJzLg0KPj4gQnV0IHNv bWV0aW1lcyB0aGUgU1cgbmVlZCB0byByZWFkIGZldyBidWZmZXIgY29udGVudHMgZm9yIGRlYnVn DQo+PiBwdXJwb3NlIGFuZCBubyBzeW5jaHJvbml6YXRpb24gaXMgbmVlZGVkLg0KPj4NCj4NCj5J ZiB0aGlzIGlzIHByaW1hcmlseSBmb3IgZGVidWcsIHRoYXQncyBub3QgcmVhbGx5IGEgY29tcGVs bGluZyByZWFzb24gdG8NCj5zdXBwb3J0IHVuY2FjaGVkIGJ1ZmZlcnMuIEl0J3MgaW5jcmVkaWJs eSBkaWZmaWN1bHQgdG8gZG8gdW5jYWNoZWQgYnVmZmVycw0KPmNvcnJlY3RseSBJJ2QgcmF0aGVy IHNwZW5kIGVmZm9ydCBvbiBtYWtpbmcgdGhlIGNhY2hlZCB1c2UgY2FzZXMgd29yaw0KPmJldHRl ci4NCj4NCk5vLCBub3Qgb25seSBmb3IgZGVidWcsIEkgbWVhbnQgaWYgdGhlIGJ1ZmZlcnMgYXJl IHVuY2FjaGVkLCB0aGUgU1cgd2lsbCBvbmx5IG1tYXANCnRoZW0gZm9yIGRlYnVnIG9yIGV2ZW4g ZG9uJ3QgbmVlZCB0byBtbWFwIHRoZW0uDQpTbyBmb3IgdGhlIHR3byBraW5kcyBvZiBidWZmZXJz Og0KMS4gIHVuY2FjaGVkOiBvbmx5IHRoZSBIVyBuZWVkIHRvIGFjY2VzcyBpdCwgdGhlIFNXIGRv bid0IG5lZWQgdG8gbW1hcCBpdCBvciBqdXN0IGZvciBkZWJ1Zy4NCjIuICBjYWNoZWQ6IGJvdGgg dGhlIEhXIGFuZCB0aGUgU1cgbmVlZCB0byBhY2Nlc3MgaXQuDQpUaGUgSU9OIGlzIGRlc2lnbmVk IGFzIGEgZ2VuZXJhbGl6ZWQgbWVtb3J5IG1hbmFnZXIsIEkgdGhpbmsgd2Ugc2hvdWxkIGNvdmVy IGFzIG1hbnkgDQpyZXF1aXJlbWVudHMgYXMgd2UgY2FuIGluIHRoZSBJT04gZGVzaWduLCBzbyBJ ICdkIHJhdGhlciB0aGF0IHdlIGtlZXAgdGhlIHVuY2FjaGVkIHN1cHBvcnQuDQpBbmQgSSBkb27i gJl0IHF1aXRlIHVuZGVyc3RhbmQgdGhlIGRpZmZpY3VsdHkgeW91IG1lbnRpb25lZCB0byBzdXBw b3J0IHRoZSB1bmNhY2hlZCBidWZmZXJzLCB3b3VsZA0KeW91IGV4cGxhaW4gYSBsaXR0bGUgbW9y ZSBhYm91dCBpdC4NCg0KVGhhbmtzIA0KWmVuZ3RhbyANCg0KPg0KPj4+DQo+Pj4+Pg0KPj4+Pj4+ IFNpZ25lZC1vZmYtYnk6IFplbmcgVGFvIDxwcmltZS56ZW5nQGhpc2lsaWNvbi5jb20+DQo+Pj4+ Pj4gLS0tDQo+Pj4+Pj4gICAgIGRyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL2lvbi9pb24taW9jdGwu YyB8ICA0ICsrKysNCj4+Pj4+PiAgICAgZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvaW9uL2lvbi5j ICAgICAgIHwgMTcNCj4+PiArKysrKysrKysrKysrKysrKw0KPj4+Pj4+ICAgICBkcml2ZXJzL3N0 YWdpbmcvYW5kcm9pZC9pb24vaW9uLmggICAgICAgfCAgMSArDQo+Pj4+Pj4gICAgIGRyaXZlcnMv c3RhZ2luZy9hbmRyb2lkL3VhcGkvaW9uLmggICAgICB8IDIyDQo+Pj4+PiArKysrKysrKysrKysr KysrKysrKysrDQo+Pj4+Pj4gICAgIDQgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKQ0K Pj4+Pj4+DQo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL2lvbi9p b24taW9jdGwuYw0KPj4+Pj4+IGIvZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvaW9uL2lvbi1pb2N0 bC5jDQo+Pj4+Pj4gaW5kZXggYThkM2NjNC4uNjBiYjcwMiAxMDA2NDQNCj4+Pj4+PiAtLS0gYS9k cml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLWlvY3RsLmMNCj4+Pj4+PiArKysgYi9kcml2 ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLWlvY3RsLmMNCj4+Pj4+PiBAQCAtMTIsNiArMTIs NyBAQA0KPj4+Pj4+DQo+Pj4+Pj4gICAgIHVuaW9uIGlvbl9pb2N0bF9hcmcgew0KPj4+Pj4+ICAg ICAJc3RydWN0IGlvbl9hbGxvY2F0aW9uX2RhdGEgYWxsb2NhdGlvbjsNCj4+Pj4+PiArCXN0cnVj dCBpb25fYnVmZmVyX2ZsYWdfZGF0YSB1cGRhdGU7DQo+Pj4+Pj4gICAgIAlzdHJ1Y3QgaW9uX2hl YXBfcXVlcnkgcXVlcnk7DQo+Pj4+Pj4gICAgIH07DQo+Pj4+Pj4NCj4+Pj4+PiBAQCAtODMsNiAr ODQsOSBAQCBsb25nIGlvbl9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwgdW5zaWduZWQgaW50DQo+ Pj4+Pj4gY21kLCB1bnNpZ25lZCBsb25nIGFyZykNCj4+Pj4+Pg0KPj4+Pj4+ICAgICAJCWJyZWFr Ow0KPj4+Pj4+ICAgICAJfQ0KPj4+Pj4+ICsJY2FzZSBJT05fSU9DX0JVRkZFUl9VUERBVEU6DQo+ Pj4+Pj4gKwkJcmV0ID0gaW9uX2J1ZmZlcl91cGRhdGUoZGF0YS51cGRhdGUuZmQsIGRhdGEudXBk YXRlLmZsYWdzKTsNCj4+Pj4+PiArCQlicmVhazsNCj4+Pj4+PiAgICAgCWNhc2UgSU9OX0lPQ19I RUFQX1FVRVJZOg0KPj4+Pj4+ICAgICAJCXJldCA9IGlvbl9xdWVyeV9oZWFwcygmZGF0YS5xdWVy eSk7DQo+Pj4+Pj4gICAgIAkJYnJlYWs7DQo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3Rh Z2luZy9hbmRyb2lkL2lvbi9pb24uYw0KPj4+Pj4+IGIvZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQv aW9uL2lvbi5jDQo+Pj4+Pj4gaW5kZXggOTkwNzMzMi4uZjE0MDRkYyAxMDA2NDQNCj4+Pj4+PiAt LS0gYS9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLmMNCj4+Pj4+PiArKysgYi9kcml2 ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLmMNCj4+Pj4+PiBAQCAtNDM2LDYgKzQzNiwyMyBA QCBpbnQgaW9uX2FsbG9jKHNpemVfdCBsZW4sIHVuc2lnbmVkIGludA0KPj4+Pj4gaGVhcF9pZF9t YXNrLCB1bnNpZ25lZCBpbnQgZmxhZ3MpDQo+Pj4+Pj4gICAgIAlyZXR1cm4gZmQ7DQo+Pj4+Pj4g ICAgIH0NCj4+Pj4+Pg0KPj4+Pj4+ICtpbnQgaW9uX2J1ZmZlcl91cGRhdGUodW5zaWduZWQgaW50 IGZkLCB1bnNpZ25lZCBpbnQgZmxhZ3MpIHsNCj4+Pj4+PiArCXN0cnVjdCBkbWFfYnVmICpkbWFi dWY7DQo+Pj4+Pj4gKwlzdHJ1Y3QgaW9uX2J1ZmZlciAqYnVmZmVyOw0KPj4+Pj4+ICsNCj4+Pj4+ PiArCWRtYWJ1ZiA9IGRtYV9idWZfZ2V0KGZkKTsNCj4+Pj4+PiArDQo+Pj4+Pj4gKwlpZiAoIWRt YWJ1ZikNCj4+Pj4+PiArCQlyZXR1cm4gLUVJTlZBTDsNCj4+Pj4+PiArDQo+Pj4+Pj4gKwlidWZm ZXIgPSBkbWFidWYtPnByaXY7DQo+Pj4+Pj4gKwlidWZmZXItPmZsYWdzID0gZmxhZ3M7DQo+Pj4+ Pj4gKwlkbWFfYnVmX3B1dChkbWFidWYpOw0KPj4+Pj4+ICsNCj4+Pj4+PiArCXJldHVybiAwOw0K Pj4+Pj4+ICt9DQo+Pj4+Pj4gKw0KPj4+Pj4+ICAgICBpbnQgaW9uX3F1ZXJ5X2hlYXBzKHN0cnVj dCBpb25faGVhcF9xdWVyeSAqcXVlcnkpDQo+Pj4+Pj4gICAgIHsNCj4+Pj4+PiAgICAgCXN0cnVj dCBpb25fZGV2aWNlICpkZXYgPSBpbnRlcm5hbF9kZXY7IGRpZmYgLS1naXQNCj4+Pj4+PiBhL2Ry aXZlcnMvc3RhZ2luZy9hbmRyb2lkL2lvbi9pb24uaA0KPj4+Pj4+IGIvZHJpdmVycy9zdGFnaW5n L2FuZHJvaWQvaW9uL2lvbi5oDQo+Pj4+Pj4gaW5kZXggYzAwNmZjMS4uOTliZjlhYiAxMDA2NDQN Cj4+Pj4+PiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLmgNCj4+Pj4+PiAr KysgYi9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLmgNCj4+Pj4+PiBAQCAtMTk5LDYg KzE5OSw3IEBAIGludCBpb25faGVhcF9wYWdlc196ZXJvKHN0cnVjdCBwYWdlDQo+KnBhZ2UsDQo+ Pj4+PiBzaXplX3Qgc2l6ZSwgcGdwcm90X3QgcGdwcm90KTsNCj4+Pj4+PiAgICAgaW50IGlvbl9h bGxvYyhzaXplX3QgbGVuLA0KPj4+Pj4+ICAgICAJICAgICAgdW5zaWduZWQgaW50IGhlYXBfaWRf bWFzaywNCj4+Pj4+PiAgICAgCSAgICAgIHVuc2lnbmVkIGludCBmbGFncyk7DQo+Pj4+Pj4gK2lu dCBpb25fYnVmZmVyX3VwZGF0ZSh1bnNpZ25lZCBpbnQgZmQsIHVuc2lnbmVkIGludCBmbGFncyk7 DQo+Pj4+Pj4NCj4+Pj4+PiAgICAgLyoqDQo+Pj4+Pj4gICAgICAqIGlvbl9oZWFwX2luaXRfc2hy aW5rZXINCj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvdWFwaS9p b24uaA0KPj4+Pj4+IGIvZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvdWFwaS9pb24uaA0KPj4+Pj4+ IGluZGV4IDVkNzAwOTguLjk5NzUzZmMgMTAwNjQ0DQo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9zdGFn aW5nL2FuZHJvaWQvdWFwaS9pb24uaA0KPj4+Pj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9hbmRy b2lkL3VhcGkvaW9uLmgNCj4+Pj4+PiBAQCAtNzQsNiArNzQsMjAgQEAgc3RydWN0IGlvbl9hbGxv Y2F0aW9uX2RhdGEgew0KPj4+Pj4+ICAgICAJX191MzIgdW51c2VkOw0KPj4+Pj4+ICAgICB9Ow0K Pj4+Pj4+DQo+Pj4+Pj4gKy8qKg0KPj4+Pj4+ICsgKiBzdHJ1Y3QgaW9uX2J1ZmZlcl9mbGFnX2Rh dGEgLSBtZXRhZGF0YSBwYXNzZWQgZnJvbSB1c2Vyc3BhY2UNCj4+Pj4+PiArZm9yIHVwZGF0ZQ0K Pj4+Pj4+ICsgKiBidWZmZXIgZmxhZ3MNCj4+Pj4+PiArICogQGZkOgkJCWZpbGUgZGVzY3JpcHRv ciBvZiB0aGUgYnVmZmVyDQo+Pj4+Pj4gKyAqIEBmbGFnczoJCWZsYWdzIHBhc3NlZCB0byB0aGUg YnVmZmVyDQo+Pj4+Pj4gKyAqDQo+Pj4+Pj4gKyAqIFByb3ZpZGVkIGJ5IHVzZXJzcGFjZSBhcyBh biBhcmd1bWVudCB0byB0aGUgaW9jdGwgICovDQo+Pj4+Pj4gKw0KPj4+Pj4+ICtzdHJ1Y3QgaW9u X2J1ZmZlcl9mbGFnX2RhdGEgew0KPj4+Pj4+ICsJX191MzIgZmQ7DQo+Pj4+Pj4gKwlfX3UzMiBm bGFnczsNCj4+Pj4+PiArfQ0KPj4+Pj4+ICsNCj4+Pj4+PiAgICAgI2RlZmluZSBNQVhfSEVBUF9O QU1FCQkJMzINCj4+Pj4+Pg0KPj4+Pj4+ICAgICAvKioNCj4+Pj4+PiBAQCAtMTE2LDYgKzEzMCwx NCBAQCBzdHJ1Y3QgaW9uX2hlYXBfcXVlcnkgew0KPj4+Pj4+ICAgICAJCQkJICAgICAgc3RydWN0 IGlvbl9hbGxvY2F0aW9uX2RhdGEpDQo+Pj4+Pj4NCj4+Pj4+PiAgICAgLyoqDQo+Pj4+Pj4gKyAq IERPQzogSU9OX0lPQ19CVUZGRVJfVVBEQVRFIC0gdXBkYXRlIHRoZSBzcGVjaWZpZWQgaW9uDQo+ YnVmZmVyDQo+Pj4+PiBmbGFncw0KPj4+Pj4+ICsgKg0KPj4+Pj4+ICsgKiBUYWtlcyBhbiBpb25f YnVmZmVyX2ZsYWdfZGF0YSBzdHJ1Y3R1cmUgYW5kIHJldHVybnMgdGhlIHJlc3VsdA0KPj4+Pj4+ ICtvZiB0aGUNCj4+Pj4+PiArICogYnVmZmVyIGZsYWcgdXBkYXRlIG9wZXJhdGlvbi4NCj4+Pj4+ PiArICovDQo+Pj4+Pj4gKyNkZWZpbmUgSU9OX0lPQ19CVUZGRVJfVVBEQVRFCV9JT1dSKElPTl9J T0NfTUFHSUMsIDEsIFwNCj4+Pj4+PiArCQkJCSAgICAgIHN0cnVjdCBpb25fYnVmZmVyX2ZsYWdf ZGF0YSkNCj4+Pj4+PiArLyoqDQo+Pj4+Pj4gICAgICAqIERPQzogSU9OX0lPQ19IRUFQX1FVRVJZ IC0gaW5mb3JtYXRpb24gYWJvdXQgYXZhaWxhYmxlDQo+Pj4gaGVhcHMNCj4+Pj4+PiAgICAgICoN Cj4+Pj4+PiAgICAgICogVGFrZXMgYW4gaW9uX2hlYXBfcXVlcnkgc3RydWN0dXJlIGFuZCBwb3B1 bGF0ZXMNCj5pbmZvcm1hdGlvbg0KPj4+Pj4gYWJvdXQNCj4+Pj4+Pg0KPj4+Pg0KPj4NCg0K