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 X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27CAAC49ED6 for ; Wed, 11 Sep 2019 18:33:13 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D73142084D for ; Wed, 11 Sep 2019 18:33:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=epam.com header.i=@epam.com header.b="N7XuNi8q" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D73142084D Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=epam.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i87Px-0003l5-FW; Wed, 11 Sep 2019 18:32:37 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i87Pv-0003l0-WE for xen-devel@lists.xenproject.org; Wed, 11 Sep 2019 18:32:36 +0000 X-Inumbo-ID: 85566848-d4c2-11e9-83dc-12813bfff9fa Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown [40.107.8.84]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 85566848-d4c2-11e9-83dc-12813bfff9fa; Wed, 11 Sep 2019 18:32:34 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e+wrkFwM8AuaxsUtYRbYa8odcvD08fjc2JSpY3I4/W8J0sE61kNRoy4hYby3UAurXSmzPnc9izypJBt5EBtAD4lRseRkbw0kdUWNOjCqmEPOGdLQpD6vYGZZ1AxrEzrITRL5X4omlBoZOx8BQUAD5U+JDNj7VjhBJkp3pWlEXG/2r1D0Bdi3aUaUIZDC36pTswi78rxV+Y5JF+VbVPNd3dvCe5jQW3K5WoscH9Cwu79gOD6dQeYzZ3l93nzsOFKAw5hbusNyreMlmfc7jHEyJPMAiuvBD1hiyMW4Og4+9XWBw5j6x9KTOKzv9kzEMsxwqtuh16mcxW5INBrbpbvBag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u9L1wjbjK8ncagFC0sn2H0YzCWDU9DULXWVXCYLPwKU=; b=CgbbbA1Bd/brdPqmf36hdeluBeeFWy6Ci7w8Qsl6RHor997jbFZ+HTK9tWgl7RcZvU7FVpIBt44FlYaJ2Swr3yZOoRbeCt0fLFhAmNfFWIatXGllHj8TouzCwvj5l7UdF+NoBJ0w+n+aVPSIqKlMQGlVfKNCzGaGLSC4ZtP32/UpHs9DxthatyfJT8f4S7AOx5zv/awO1gfLcJx4hXjHORUeMH3QQul5EVUQOw+C6HE1sWr1fxyX5y9ujtLC5ap7dS5s8nyOsQjIGxDBWe4AaaRtz5HX59Z83A8qxBmN0Zd1prXny8A8g/FFJw/Wx67Q4JNAYbawtveyEQWht2FGhw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=u9L1wjbjK8ncagFC0sn2H0YzCWDU9DULXWVXCYLPwKU=; b=N7XuNi8qmP8dGBbJvliuweYoFxoUvJWbBzGFYEwpF98lpPxJY6xNJqg+i1Ksxd4g/Oz6kLEIkerFKwRYbIgodCibIiTTvTT0Ik/DCx9bBDlJ4oef55oUeIcQmT8/ezHDorH23IEyIqGGNBC3E+iNb9irR42NkEuA8p1mDo4NeSQ= Received: from AM0PR03MB4148.eurprd03.prod.outlook.com (20.177.40.10) by AM0PR03MB5988.eurprd03.prod.outlook.com (10.255.29.160) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2241.18; Wed, 11 Sep 2019 18:32:28 +0000 Received: from AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::71e3:834d:5708:5a0a]) by AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::71e3:834d:5708:5a0a%5]) with mapi id 15.20.2199.015; Wed, 11 Sep 2019 18:32:28 +0000 From: Volodymyr Babchuk To: Julien Grall Thread-Topic: [PATCH 4/5] xen/arm: optee: handle share buffer translation error Thread-Index: AQHVWeNnnvmrLONixEqfoDDhmmN88qck3sAAgAIL/4A= Date: Wed, 11 Sep 2019 18:32:28 +0000 Message-ID: <87mufafzus.fsf@epam.com> References: <20190823184826.14525-1-volodymyr_babchuk@epam.com> <20190823184826.14525-5-volodymyr_babchuk@epam.com> <53631114-2bb1-18a8-615d-3768facdcc78@arm.com> In-Reply-To: <53631114-2bb1-18a8-615d-3768facdcc78@arm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Volodymyr_Babchuk@epam.com; x-originating-ip: [85.223.209.22] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 89f9de10-9c92-4545-3155-08d736e66656 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:AM0PR03MB5988; x-ms-traffictypediagnostic: AM0PR03MB5988:|AM0PR03MB5988: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4502; x-forefront-prvs: 0157DEB61B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(39860400002)(396003)(136003)(346002)(376002)(199004)(189003)(256004)(36756003)(7736002)(6512007)(14444005)(186003)(305945005)(76176011)(53936002)(6246003)(6486002)(6436002)(54906003)(4326008)(316002)(53546011)(6506007)(25786009)(229853002)(8936002)(14454004)(99286004)(26005)(6916009)(8676002)(81156014)(81166006)(102836004)(478600001)(80792005)(55236004)(71200400001)(71190400001)(6116002)(86362001)(3846002)(76116006)(91956017)(66446008)(64756008)(66556008)(66476007)(66946007)(5660300002)(2906002)(2616005)(446003)(11346002)(486006)(66066001)(476003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR03MB5988; H:AM0PR03MB4148.eurprd03.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: epam.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: lvR88/dNZcDCRnih21wSkdvO5OTIDAvsXW6sHiA9O/rvDuKd8tnokTaXu+cj0cw+qJYeQDTDYKArVJyCQ0PSC3zgzizL2tpg3/YRNFGReVrf73hoECzGzApx0WZiiLi2Wjg2eh+waO7d4oKiDqi0tdUk8Se8RBwpTcfPHTYZIBMiKxcMP4090qLQ85SkrYP3EVQpaXErLjtaAuVcCierG3XLQzxf8f6ABBP1FA4Pu0tnrxyYunBk04RB9x/AB6EXr1o4KNyzRQ1cg/nnYBQF5gEmZTEJFjtn0vmLOqP/41w7ZY3XsvctuOeva1GHajwzfNZAngSuzSq+8vm+cG0Zgs6/GaBxRfqFrLeOZvK7jUU5ggYS6HYtjYGbO3RacrJrEgl7oMGvPGCR1hxl3FJIHJN0zYE3+Ieu6291SUMER74= MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89f9de10-9c92-4545-3155-08d736e66656 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Sep 2019 18:32:28.2947 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 47g2YcSL+/i4eNtgoixhgOHb70rOHQzq4fEHfVlw/f7KwrWLgn2YVO1NRyiBWMZOnWDoEtgWOkap17uKk+KDAr3ajeDnEWnB/w0/O9aBX9s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB5988 Subject: Re: [Xen-devel] [PATCH 4/5] xen/arm: optee: handle share buffer translation error X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: "tee-dev@lists.linaro.org" , "xen-devel@lists.xenproject.org" , Stefano Stabellini , Volodymyr Babchuk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Ckp1bGllbiBHcmFsbCB3cml0ZXM6Cgo+IEhpIFZvbG9keW15ciwKPgo+IE9uIDgvMjMvMTkgNzo0 OCBQTSwgVm9sb2R5bXlyIEJhYmNodWsgd3JvdGU6Cj4+IFRoZXJlIGlzIGEgY2FzZSBwb3NzaWJs ZSwgd2hlbiBPUC1URUUgYXNrcyBndWVzdCB0byBhbGxvY2F0ZSBzaGFyZWQKPj4gYnVmZmVyLCBi dXQgWGVuIGZvciBzb21lIHJlYXNvbiBjYW4ndCB0cmFuc2xhdGUgYnVmZmVyJ3MgYWRkcmVzc2Vz LiBJbgo+PiB0aGlzIHNpdHVhdGlvbiB3ZSBzaG91bGQgZG8gdHdvIHRoaW5nczoKPj4KPj4gMS4g VGVsbCBndWVzdCB0byBmcmVlIGFsbG9jYXRlZCBidWZmZXIsIHNvIHRoZXJlIHdpbGwgYmUgbm8g bWVtb3J5Cj4+IGxlYWsgZm9yIGd1ZXN0Lgo+Pgo+PiAyLiBUZWxsIE9QLVRFRSB0aGF0IGJ1ZmZl ciBhbGxvY2F0aW9uIGZhaWxlZC4KPj4KPj4gVG8gYXNrIGd1ZXN0IHRvIGZyZWUgYWxsb2NhdGVk IGJ1ZmZlciB3ZSBzaG91bGQgcGVyZm9ybSB0aGUgc2FtZQo+PiB0aGluZywgYXMgT1AtVEVFIGRv ZXMgLSBpc3N1ZSBSUEMgcmVxdWVzdC4gVGhpcyBpcyBkb25lIGJ5IGZpbGxpbmcKPj4gcmVxdWVz dCBidWZmZXIgKGx1Y2tpbHkgd2UgY2FuIHJldXNlIHRoZSBzYW1lIGJ1ZmZlciwgdGhhdCBPUC1U RUUgdXNlZAo+PiB0byBpc3N1ZSBvcmlnaW5hbCByZXF1ZXN0KSBhbmQgdGhlbiByZXR1cm4gdG8g Z3Vlc3Qgd2l0aCBzcGVjaWFsCj4+IHJldHVybiBjb2RlLgo+Pgo+PiBUaGVuIHdlIG5lZWQgdG8g aGFuZGxlIG5leHQgY2FsbCBmcm9tIGd1ZXN0IGluIGEgc3BlY2lhbCB3YXk6IGFzIFJQQwo+PiB3 YXMgaXNzdWVkIGJ5IFhlbiwgbm90IGJ5IE9QLVRFRSwgaXQgc2hvdWxkIGJlIGhhbmRsZWQgYnkg WGVuLgo+PiBCYXNpY2FsbHksIHRoaXMgaXMgdGhlIG1lY2hhbmlzbSB0byBwcmVlbXB0IE9QLVRF RSBtZWRpYXRvci4KPj4KPj4gVGhlIHNhbWUgbWVjaGFuaXNtIGNhbiBiZSB1c2VkIGluIHRoZSBm dXR1cmUgdG8gcHJlZW1wdCBtZWRpYXRvcgo+PiBkdXJpbmcgdHJhbnNsYXRpb24gbGFyZ2UgKD41 MTIgcGFnZXMpIHNoYXJlZCBidWZmZXJzLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBWb2xvZHlteXIg QmFiY2h1ayA8dm9sb2R5bXlyX2JhYmNodWtAZXBhbS5jb20+Cj4+IC0tLQo+PiAgIHhlbi9hcmNo L2FybS90ZWUvb3B0ZWUuYyB8IDE2NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0KPj4gICAxIGZpbGUgY2hhbmdlZCwgMTM2IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9u cygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS9vcHRlZS5jIGIveGVuL2Fy Y2gvYXJtL3RlZS9vcHRlZS5jCj4+IGluZGV4IDNjZTZlN2ZhNTUuLjRlZWJjNjBiNjIgMTAwNjQ0 Cj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvb3B0ZWUuYwo+PiArKysgYi94ZW4vYXJjaC9hcm0v dGVlL29wdGVlLmMKPj4gQEAgLTk2LDYgKzk2LDExIEBACj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT1BURUVfU01DX1NFQ19DQVBfVU5SRUdJU1RFUkVEX1NITSB8IFwKPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPUFRFRV9TTUNfU0VDX0NBUF9EWU5BTUlDX1NI TSkKPj4gICArZW51bSBvcHRlZV9jYWxsX3N0YXRlIHsKPj4gKyAgICBPUFRFRU1fQ0FMTF9OT1JN QUwgPSAwLAo+Cj4gZW51bSBhbHdheXMgc3RhcnQgY291bnRpbmcgYXQgMC4gQWxzbywgbG9va2lu ZyBhdCB0aGUgY29kZSwgaXQgZG9lcwo+IG5vdCBzZWVtIHlvdSBuZWVkIHRvIGtub3cgdGhlIHZh bHVlLiBSaWdodD8KWWVwLiBUaGlzIGlzIGEgYmFkIGhhYml0LiBXaWxsIHJlbW92ZS4KCj4KPj4g KyAgICBPUFRFRU1fQ0FMTF9YRU5fUlBDLAo+Cj4gSSBhbSBhIGJpdCBjb25mdXNlZCwgdGhlIGVu dW0gaXMgY2FsbGVkIG9wdGVlX2NhbGxfc3RhdGUgYnV0IGFsbCB0aGUKPiBlbnVtIGFyZSBwcmVm aXhlZCB3aXRoIE9QVEVFTV9DQUxMXy4gV2h5IHRoZSBkaXNjcmVwYW5jeT8KQmVjYXVzZSBJJ20g YmFkIGF0IG5hbWluZyB0aGluZ3MgOikKCk9QVEVFTV9DQUxMX1NUQVRFX1hFTl9SUEMgbG9va3Mg dG9vIGxvbmcuIEJ1dCB5b3UgYXJlIHJpZ2h0LCBzbyBJJ2xsCnJlbmFtZSB0aGUgZW51bSB2YWx1 ZXMuIFVubGVzcywgeW91IGhhdmUgYSBiZXR0ZXIgaWRlYSBmb3IgdGhpcy4KCj4KPj4gK307Cj4+ ICsKPj4gICBzdGF0aWMgdW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgbWF4X29wdGVlX3RocmVh ZHM7Cj4+ICAgICAvKgo+PiBAQCAtMTEyLDYgKzExNyw5IEBAIHN0cnVjdCBvcHRlZV9zdGRfY2Fs bCB7Cj4+ICAgICAgIHBhZGRyX3QgZ3Vlc3RfYXJnX2lwYTsKPj4gICAgICAgaW50IG9wdGVlX3Ro cmVhZF9pZDsKPj4gICAgICAgaW50IHJwY19vcDsKPj4gKyAgICAvKiBTYXZlZCBidWZmZXIgdHlw ZSBmb3IgdGhlIGxhc3QgYnVmZmVyIGFsbG9jYXRlIHJlcXVlc3QgKi8KPgo+IExvb2tpbmcgYXQg dGhlIGNvZGUsIGl0IGZlZWxzIHRvIG1lIHlvdSBhcmUgc2F2aW5nIHRoZSBidWZmZXIgdHlwZSBm b3IKPiB0aGUgY3VycmVudCBjb21tYW5kIGFuZCBub3QgdGhlIGxhc3QuIERpZCBJIG1pc3MgYW55 dGhpbmc/ClllcywgcmlnaHQuIFdpbGwgcmVuYW1lLgoKPj4gKyAgICB1bnNpZ25lZCBpbnQgcnBj X2J1ZmZlcl90eXBlOwo+PiArICAgIGVudW0gb3B0ZWVfY2FsbF9zdGF0ZSBzdGF0ZTsKPj4gICAg ICAgdWludDY0X3QgcnBjX2RhdGFfY29va2llOwo+PiAgICAgICBib29sIGluX2ZsaWdodDsKPj4g ICAgICAgcmVnaXN0ZXJfdCBycGNfcGFyYW1zWzJdOwo+PiBAQCAtMjk5LDYgKzMwNyw3IEBAIHN0 YXRpYyBzdHJ1Y3Qgb3B0ZWVfc3RkX2NhbGwgKmFsbG9jYXRlX3N0ZF9jYWxsKHN0cnVjdCBvcHRl ZV9kb21haW4gKmN0eCkKPj4gICAgICAgICBjYWxsLT5vcHRlZV90aHJlYWRfaWQgPSAtMTsKPj4g ICAgICAgY2FsbC0+aW5fZmxpZ2h0ID0gdHJ1ZTsKPj4gKyAgICBjYWxsLT5zdGF0ZSA9IE9QVEVF TV9DQUxMX05PUk1BTDsKPj4gICAgICAgICBzcGluX2xvY2soJmN0eC0+bG9jayk7Cj4+ICAgICAg IGxpc3RfYWRkX3RhaWwoJmNhbGwtPmxpc3QsICZjdHgtPmNhbGxfbGlzdCk7Cj4+IEBAIC0xMDc1 LDYgKzEwODQsMTAgQEAgc3RhdGljIGludCBoYW5kbGVfcnBjX3JldHVybihzdHJ1Y3Qgb3B0ZWVf ZG9tYWluICpjdHgsCj4+ICAgICAgICAgICAgICAgcmV0ID0gLUVSRVNUQVJUOwo+PiAgICAgICAg ICAgfQo+PiAgICsgICAgICAgIC8qIFNhdmUgdGhlIGJ1ZmZlciB0eXBlIGluIGNhc2Ugd2Ugd2ls bCB3YW50IHRvIGZyZWUgaXQKPj4gKi8KPj4gKyAgICAgICAgaWYgKCBzaG1fcnBjLT54ZW5fYXJn LT5jbWQgPT0gT1BURUVfUlBDX0NNRF9TSE1fQUxMT0MgKQo+PiArICAgICAgICAgICAgY2FsbC0+ cnBjX2J1ZmZlcl90eXBlID0gc2htX3JwYy0+eGVuX2FyZy0+cGFyYW1zWzBdLnUudmFsdWUuYTsK Pj4gKwo+PiAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2Uoc2htX3JwYy0+eGVuX2FyZyk7Cj4+ ICAgICAgIH0KPj4gICBAQCAtMTIzOSwxOCArMTI1MiwxMDIgQEAgZXJyOgo+PiAgICAgICByZXR1 cm47Cj4+ICAgfQo+PiAgICsvKgo+PiArICogUHJlcGFyZSBSUEMgcmVxdWVzdCB0byBmcmVlIHNo YXJlZCBidWZmZXIgaW4gdGhlIHNhbWUgd2F5LCBhcwo+PiArICogT1AtVEVFIGRvZXMgdGhpcy4K Pj4gKyAqCj4+ICsgKiBSZXR1cm4gdmFsdWVzOgo+PiArICogIHRydWUgIC0gc3VjY2Vzc2Z1bGx5 IHByZXBhcmVkIFJQQyByZXF1ZXN0Cj4+ICsgKiAgZmFsc2UgLSB0aGVyZSB3YXMgYW4gZXJyb3IK Pj4gKyAqLwo+PiArc3RhdGljIGJvb2wgaXNzdWVfcnBjX2NtZF9mcmVlKHN0cnVjdCBvcHRlZV9k b21haW4gKmN0eCwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3Qgb3B0ZWVfc3RkX2NhbGwgKmNhbGwsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHNobV9ycGMgKnNobV9ycGMsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgY29va2llKQo+PiArewo+PiArICAgIHJlZ2lzdGVyX3QgcjEsIHIyOwo+ PiArCj4+ICsgICAgLyogSW4gY2FzZSBpZiBndWVzdCB3aWxsIGZvcmdldCB0byB1cGRhdGUgaXQg d2l0aCBtZWFuaW5nZnVsIHZhbHVlICovCj4+ICsgICAgc2htX3JwYy0+eGVuX2FyZy0+cmV0ID0g VEVFQ19FUlJPUl9HRU5FUklDOwo+PiArICAgIHNobV9ycGMtPnhlbl9hcmctPmNtZCA9IE9QVEVF X1JQQ19DTURfU0hNX0ZSRUU7Cj4+ICsgICAgc2htX3JwYy0+eGVuX2FyZy0+bnVtX3BhcmFtcyA9 IDE7Cj4+ICsgICAgc2htX3JwYy0+eGVuX2FyZy0+cGFyYW1zWzBdLmF0dHIgPSBPUFRFRV9NU0df QVRUUl9UWVBFX1ZBTFVFX0lOUFVUOwo+PiArICAgIHNobV9ycGMtPnhlbl9hcmctPnBhcmFtc1sw XS51LnZhbHVlLmEgPSBjYWxsLT5ycGNfYnVmZmVyX3R5cGU7Cj4+ICsgICAgc2htX3JwYy0+eGVu X2FyZy0+cGFyYW1zWzBdLnUudmFsdWUuYiA9IGNvb2tpZTsKPj4gKwo+PiArICAgIGlmICggYWNj ZXNzX2d1ZXN0X21lbW9yeV9ieV9pcGEoY3VycmVudC0+ZG9tYWluLAo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3RvX2dhZGRyKHNobV9ycGMtPmdmbiksCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG1fcnBjLT54ZW5fYXJnLAo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BURUVfTVNHX0dFVF9BUkdfU0la RSgxKSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUpICkKPj4g KyAgICB7Cj4+ICsgICAgICAgIC8qCj4+ICsgICAgICAgICAqIFdlbGwsIHRoaXMgaXMgcXVpdGUg YmFkLiBXZSBoYXZlIGVycm9yIGluIGVycm9yIHBhdGguCj4+ICsgICAgICAgICAqIFRoaXMgY2Fu IGhhcHBlbiBvbmx5IGlmIGd1ZXN0IGJlaGF2ZXMgYmFkbHksIHNvIGFsbAo+PiArICAgICAgICAg KiB3ZSBjYW4gZG8gaXMgdG8gcmV0dXJuIGVycm9yIHRvIE9QLVRFRSBhbmQgbGVhdmUKPj4gKyAg ICAgICAgICogZ3Vlc3QncyBtZW1vcnkgbGVha2VkLgo+Cj4gQ291bGQgeW91IGV4cGFuZCBhIGJp dCBtb3JlIHdoYXQgeW91IG1lYW4gYnkgImd1ZXN0J3MgbWVtb3J5IGxlYWtlZCI/ClRoZXJlIHdp bGwgYmUgbWVtb3J5IGxlYWsgc29tZXdoZXJlIGluIHRoZSBndWVzdC4gWWVzLCBsb29rcwpsaWtl IGl0IGlzIG1pc2xlYWRpbmcuLi4KCldoYXQgSSBtZWFuLCBpcyB0aGF0IE9QLVRFRSByZXF1ZXN0 cyBndWVzdCB0byBhbGxvY2F0ZSBzb21lCm1lbW9yeS4gR3Vlc3QgZG9lcyBub3Qga25vdywgd2hl biBPUC1URUUgZmluaXNoZXMgdXNpbmcgdGhpcyBtZW1vcnksIHNvCmd1ZXN0IHdpbGwgZnJlZSB0 aGUgbWVtb3J5IG9ubHkgYnkgT1AtVEVFJ3MgcmVxdWVzdC4gV2UgY2FuJ3QgZW11bGF0ZQp0aGlz IHJlcXVlc3QgaW4gY3VycmVudCBjaXJjdW1zdGFuY2VzLCBzbyBndWVzdCB3aWxsIGtlZXAgcGFy dCBvZiBvd24KbWVtb3J5IHJlc2VydmVkIGZvciBPUC1URUUgaW5maW5pdGVseS4KCj4gV2hhdCB0 aGUgc3RhdGUgb2YgdGhlIHBhZ2UgZnJvbSBYZW4gUG9WPwpGcm9tIFhlbiBwb2ludCBvZiB2aWV3 IGFsbCB3aWxsIGJlIHBlcmZlY3RseSBmaW5lLgoKPiBJLmUuIGlzIHRoZXJlIGFueSByZWZlcmVu Y2UKPiB0YWtlbiBieSB0aGUgT1AtVEVFIG1lZGlhdG9yPyBXaWxsIHRoZSBwYWdlIGJlIGZyZWVk IG9uY2UgdGhlIGd1ZXN0IGlzCj4gZGVzdHJveWVkPy4uLgpBcyBJIHNhaWQsIGl0IGhhcyBub3Ro aW5nIHRvIGRvIHdpdGggdGhlIHBhZ2UgYXMgWGVuIGl0IHNlZXMuIE1lZGlhdG9yCndpbGwgY2Fs bCBwdXRfcGFnZSgpIHByaW9yIHRvIGVudGVyaW5nIHRoaXMgZnVuY3Rpb24uIFNvLCBubyBYZW4K cmVzb3VyY2VzIGFyZSB1c2VkLgoKPgo+PiArICAgICAgICAgKi8KPj4gKyAgICAgICAgc2htX3Jw Yy0+eGVuX2FyZy0+cmV0ID0gVEVFQ19FUlJPUl9HRU5FUklDOwo+PiArICAgICAgICBzaG1fcnBj LT54ZW5fYXJnLT5udW1fcGFyYW1zID0gMDsKPj4gKwo+PiArICAgICAgICByZXR1cm4gZmFsc2U7 Cj4+ICsgICAgfQo+PiArCj4+ICsgICAgdWludDY0X3RvX3JlZ3BhaXIoJnIxLCAmcjIsIHNobV9y cGMtPmNvb2tpZSk7Cj4+ICsKPj4gKyAgICBjYWxsLT5zdGF0ZSA9IE9QVEVFTV9DQUxMX1hFTl9S UEM7Cj4+ICsgICAgY2FsbC0+cnBjX29wID0gT1BURUVfU01DX1JQQ19GVU5DX0NNRDsKPj4gKyAg ICBjYWxsLT5ycGNfcGFyYW1zWzBdID0gcjE7Cj4+ICsgICAgY2FsbC0+cnBjX3BhcmFtc1sxXSA9 IHIyOwo+PiArICAgIGNhbGwtPm9wdGVlX3RocmVhZF9pZCA9IGdldF91c2VyX3JlZyhyZWdzLCAz KTsKPj4gKwo+PiArICAgIHNldF91c2VyX3JlZyhyZWdzLCAwLCBPUFRFRV9TTUNfUkVUVVJOX1JQ Q19DTUQpOwo+PiArICAgIHNldF91c2VyX3JlZyhyZWdzLCAxLCByMSk7Cj4+ICsgICAgc2V0X3Vz ZXJfcmVnKHJlZ3MsIDIsIHIyKTsKPj4gKwo+PiArICAgIHJldHVybiB0cnVlOwo+PiArfQo+PiAr Cj4+ICsvKiBIYW5kbGVzIHJldHVybiBmcm9tIFhlbi1pc3N1ZWQgUlBDICovCj4+ICtzdGF0aWMg dm9pZCBoYW5kbGVfeGVuX3JwY19yZXR1cm4oc3RydWN0IG9wdGVlX2RvbWFpbiAqY3R4LAo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy ZWdzLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvcHRlZV9z dGRfY2FsbCAqY2FsbCwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3Qgc2htX3JwYyAqc2htX3JwYykKPj4gK3sKPj4gKyAgICBjYWxsLT5zdGF0ZSA9IE9QVEVFTV9D QUxMX05PUk1BTDsKPj4gKwo+PiArICAgIC8qCj4+ICsgICAgICogUmlnaHQgbm93IHdlIGhhdmUg b25seSBvbmUgcmVhc29uIHRvIGJlIHRoZXJlIC0gd2UgYXNrZWQgZ3Vlc3QKPj4gKyAgICAgKiB0 byBmcmVlIHNoYXJlZCBidWZmZXIgYW5kIGl0IGRpZCBpdC4gTm93IHdlIGNhbiB0ZWxsIE9QLVRF RSB0aGF0Cj4+ICsgICAgICogYnVmZmVyIGFsbG9jYXRpb24gZmFpbGVkLgo+PiArICAgICAqLwo+ Cj4gU2hvdWxkIHdlIGFkZCBhbiBBU1NFUlQgdG8gZW5zdXJlIHRoZSBjb21tYW5kIGlzIHRoZSBv bmUgd2UgZXhwZWN0PwpJdCBpcyBzdHJhbmdlLCB0aGF0IGl0IGlzIG1pc3NpbmcsIGFjdHVhbGx5 LiBMb29rcyBsaWtlIEkgZm9yZ290IHRvIGFkZAppdC4gQnV0LCBsb29raW5nIGF0IHhlbi1lcnJv ci1oYW5kbGluZywgbWF5YmUgQk9HX09OKCkgd291bGQgYmUgYmV0dGVyPwoKPj4gKwo+PiArICAg IC8qCj4+ICsgICAgICogV2UgYXJlIG5vdCBjaGVja2luZyByZXR1cm4gdmFsdWUgZnJvbSBhIGd1 ZXN0IGJlY2F1c2Ugd2UgYXNzdW1lCj4+ICsgICAgICogdGhhdCBPUFRFRV9SUENfQ01EX1NITV9G UkVFIG5ld2VyIGZhaWxzLgo+Cj4gcy9uZXdlci9uZXZlci8KT29wcy4gVGhhbmsgeW91LgoKPj4g KyAgICAgKi8KPj4gKwo+PiArICAgIHNobV9ycGMtPnhlbl9hcmctPnJldCA9IFRFRUNfRVJST1Jf R0VORVJJQzsKPj4gKyAgICBzaG1fcnBjLT54ZW5fYXJnLT5udW1fcGFyYW1zID0gMDsKPj4gK30K Pj4gKwo+PiAgIC8qCj4+ICAgICogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgd2hlbiBndWVzdCBp cyBmaW5pc2hlZCBwcm9jZXNzaW5nIFJQQwo+PiAgICAqIHJlcXVlc3QgZnJvbSBPUC1URUUgYW5k IHdpc2hlZCB0byByZXN1bWUgdGhlIGludGVycnVwdGVkIHN0YW5kYXJkCj4+ICAgICogY2FsbC4K Pj4gKyAqCj4+ICsgKiBSZXR1cm4gdmFsdWVzOgo+PiArICogIGZhbHNlIC0gdGhlcmUgd2FzIGFu IGVycm9yLCBkbyBub3QgY2FsbCBPUC1URUUKPj4gKyAqICB0cnVlICAtIHN1Y2Nlc3MsIHByb2Nl ZWQgYXMgbm9ybWFsCj4+ICAgICovCj4+IC1zdGF0aWMgdm9pZCBoYW5kbGVfcnBjX2NtZF9hbGxv YyhzdHJ1Y3Qgb3B0ZWVfZG9tYWluICpjdHgsCj4+ICtzdGF0aWMgYm9vbCBoYW5kbGVfcnBjX2Nt ZF9hbGxvYyhzdHJ1Y3Qgb3B0ZWVfZG9tYWluICpjdHgsCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG9wdGVlX3N0ZF9jYWxsICpjYWxsLAo+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzaG1fcnBjICpzaG1fcnBj KQo+PiAgIHsKPj4gICAgICAgaWYgKCBzaG1fcnBjLT54ZW5fYXJnLT5yZXQgfHwgc2htX3JwYy0+ eGVuX2FyZy0+bnVtX3BhcmFtcyAhPSAxICkKPj4gLSAgICAgICAgcmV0dXJuOwo+PiArICAgICAg ICByZXR1cm4gdHJ1ZTsKPj4gICAgICAgICBpZiAoIHNobV9ycGMtPnhlbl9hcmctPnBhcmFtc1sw XS5hdHRyICE9Cj4+IChPUFRFRV9NU0dfQVRUUl9UWVBFX1RNRU1fT1VUUFVUIHwKPj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1BURUVfTVNHX0FUVFJf Tk9OQ09OVElHKSApCj4+IEBAIC0xMjU4LDcgKzEzNTUsNyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVf cnBjX2NtZF9hbGxvYyhzdHJ1Y3Qgb3B0ZWVfZG9tYWluICpjdHgsCj4+ICAgICAgICAgICBnZHBy aW50ayhYRU5MT0dfV0FSTklORywKPj4gICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIGF0dHJz IGZvciBzaGFyZWQgbWVtIGJ1ZmZlcjogJSJQUkl4NjQiXG4iLAo+PiAgICAgICAgICAgICAgICAg ICAgc2htX3JwYy0+eGVuX2FyZy0+cGFyYW1zWzBdLmF0dHIpOwo+PiAtICAgICAgICByZXR1cm47 Cj4+ICsgICAgICAgIHJldHVybiB0cnVlOwo+PiAgICAgICB9Cj4+ICAgICAgICAgLyogRnJlZSBw ZyBsaXN0IGZvciBidWZmZXIgKi8KPj4gQEAgLTEyNzQsMjEgKzEzNzEsMTQgQEAgc3RhdGljIHZv aWQgaGFuZGxlX3JwY19jbWRfYWxsb2Moc3RydWN0IG9wdGVlX2RvbWFpbiAqY3R4LAo+PiAgICAg ICB7Cj4+ICAgICAgICAgICBjYWxsLT5ycGNfZGF0YV9jb29raWUgPSAwOwo+PiAgICAgICAgICAg LyoKPj4gLSAgICAgICAgICogT2theSwgc28gdGhlcmUgd2FzIHByb2JsZW0gd2l0aCBndWVzdCdz IGJ1ZmZlciBhbmQgd2UgbmVlZAo+PiAtICAgICAgICAgKiB0byB0ZWxsIGFib3V0IHRoaXMgdG8g T1AtVEVFLgo+PiAtICAgICAgICAgKi8KPj4gLSAgICAgICAgc2htX3JwYy0+eGVuX2FyZy0+cmV0 ID0gVEVFQ19FUlJPUl9HRU5FUklDOwo+PiAtICAgICAgICBzaG1fcnBjLT54ZW5fYXJnLT5udW1f cGFyYW1zID0gMDsKPj4gLSAgICAgICAgLyoKPj4gLSAgICAgICAgICogVE9ETzogV2l0aCBjdXJy ZW50IGltcGxlbWVudGF0aW9uLCBPUC1URUUgd2lsbCBub3QgaXNzdWUKPj4gLSAgICAgICAgICog UlBDIHRvIGZyZWUgdGhpcyBidWZmZXIuIEd1ZXN0IGFuZCBPUC1URUUgd2lsbCBiZSBvdXQgb2YK Pj4gLSAgICAgICAgICogc3luYzogZ3Vlc3QgYmVsaWV2ZXMgdGhhdCBpdCBwcm92aWRlZCBidWZm ZXIgdG8gT1AtVEVFLAo+PiAtICAgICAgICAgKiB3aGlsZSBPUC1URUUgdGhpbmtzIG9mIG9wcG9z aXRlLiBJZGVhbGx5LCB3ZSBuZWVkIHRvCj4+IC0gICAgICAgICAqIGVtdWxhdGUgUlBDIHdpdGgg T1BURUVfTVNHX1JQQ19DTURfU0hNX0ZSRUUgY29tbWFuZC4KPj4gKyAgICAgICAgICogV2UgYXJl IHVuYWJsZSB0byB0cmFuc2xhdGUgZ3Vlc3QncyBidWZmZXIsIHNvIHdlIG5lZWQgdGVsbCBndWVz dAo+PiArICAgICAgICAgKiB0byBmcmVlIGl0LCBiZWZvcmUgcmV0dXJuaW5nIGVycm9yIHRvIE9Q LVRFRS4KPgo+IERvIHlvdSBtZWFuICJyZXBvcnRpbmciIGluc3RlYWQgb2YgInJldHVybmluZyI/ ClllcywgSSBkby4KCj4gQWxzbyBzL2Vycm9yL2FuIGVycm9yLwpTdXJlLiBUaGFuayB5b3UuCgot LQpWb2xvZHlteXIgQmFiY2h1ayBhdCBFUEFNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0 aW5mby94ZW4tZGV2ZWw=