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.6 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 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 34734C4321A for ; Tue, 11 Jun 2019 18:47:02 +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 01AC9217F5 for ; Tue, 11 Jun 2019 18:47:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=epam.com header.i=@epam.com header.b="Ph4DNf09" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 01AC9217F5 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 1halnD-0006Pe-Kv; Tue, 11 Jun 2019 18:46:47 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1halnC-0006OO-GV for xen-devel@lists.xenproject.org; Tue, 11 Jun 2019 18:46:46 +0000 X-Inumbo-ID: 422aa475-8c79-11e9-8980-bc764e045a96 Received: from EUR02-AM5-obe.outbound.protection.outlook.com (unknown [40.107.0.77]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 422aa475-8c79-11e9-8980-bc764e045a96; Tue, 11 Jun 2019 18:46:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PgWAXXYnQ4BHt1yxLVQK8k8eYB9iWy5r5Nq6/u6jG00=; b=Ph4DNf09RXjT19Nozbs9ubYG6WefAUEfd1+cglCkZWgpp2NdRqjrwIUARdxKna3bktC6UXc1naJXb4HXZyeD5QdqWub0CBRmAxVx6lZhCLI+Sr2UlaAbMQiLLFnA10TBBeNol6NEvphx5Og+2vDv5lFpWMRX1dOQVmlNZJfUBI5JsTCtk3PnzNobiXGcP+vFWzBOEaLnP09l9f4KoiUtvLauuqcjs0jC5nPwI8sPFIXS7NT1zyP4P40yhomk8QyM5llLIhwGC6cGvwLq7weMWYnJ7BcN4l4fd4FHspbdP3mlQcoZB1r8ls3XEXEOiKFqst7iR/DTrKJYGLLyvhE1Ww== Received: from AM0PR03MB4148.eurprd03.prod.outlook.com (20.176.214.210) by AM0PR03MB4020.eurprd03.prod.outlook.com (52.135.147.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.17; Tue, 11 Jun 2019 18:46:42 +0000 Received: from AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::d09e:ef3:88b6:b1eb]) by AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::d09e:ef3:88b6:b1eb%7]) with mapi id 15.20.1965.011; Tue, 11 Jun 2019 18:46:42 +0000 From: Volodymyr Babchuk To: "xen-devel@lists.xenproject.org" Thread-Topic: [PATCH v6 08/10] xen/arm: optee: add support for RPC commands Thread-Index: AQHVIIYDHyzp7+t5/kehXRZcFAy7qQ== Date: Tue, 11 Jun 2019 18:46:42 +0000 Message-ID: <20190611184541.7281-9-volodymyr_babchuk@epam.com> References: <20190611184541.7281-1-volodymyr_babchuk@epam.com> In-Reply-To: <20190611184541.7281-1-volodymyr_babchuk@epam.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: 2dc7c48b-db6f-44a9-fd99-08d6ee9d2599 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:AM0PR03MB4020; x-ms-traffictypediagnostic: AM0PR03MB4020: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 006546F32A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(376002)(346002)(396003)(366004)(136003)(51234002)(199004)(189003)(2351001)(14444005)(54906003)(86362001)(1076003)(256004)(316002)(71200400001)(11346002)(6916009)(2616005)(476003)(71190400001)(486006)(446003)(30864003)(2501003)(5660300002)(6116002)(80792005)(7736002)(305945005)(99286004)(3846002)(26005)(53936002)(66946007)(4326008)(6436002)(6506007)(76116006)(76176011)(68736007)(8936002)(36756003)(73956011)(72206003)(25786009)(102836004)(186003)(6486002)(6512007)(55236004)(91956017)(8676002)(64756008)(66556008)(66476007)(66066001)(2906002)(14454004)(81156014)(81166006)(478600001)(66446008)(5640700003); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR03MB4020; 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: 60Um1XwX4eoFHLxYUJDiTOYaVr0n4468tyB9rzCnXlDIU8M3XfAXT6Vkqg6SHuXpiNwiaGj7jKDHgS3/P4fTJHe3Znat9r/Ax4Mk6rEmTD4J+X9TIi0rD45BY+XUsPAuBiCO6f/5EPGJBJWyGIZJ8++BmKejToe1hdefkkPSrJI+jDZ8blIEoBKxwPEiUYQkSW/bBVAlSLUawCJja9+84E55l4it9s27p+UxOLi7/RvwCIKx7R2itg8ZhGahoRq/BR9mAf+V5OMYfLs9dAD4WPv83dcwfIQkeCFms8eviA43AyCPpz4jF8pTRMIQj6gfiF0FRdFv8mlJzT2eb8yTk8h1pf7I7941WIlGKBtwsQHMNldVmceihgaoK1iFCV19k5TCCwowClN9MBgJ56qnK0EUWLoliS+pQyuzT9mjCBo= MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2dc7c48b-db6f-44a9-fd99-08d6ee9d2599 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jun 2019 18:46:42.6789 (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: Volodymyr_Babchuk@epam.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB4020 Subject: [Xen-devel] [PATCH v6 08/10] xen/arm: optee: add support for RPC commands 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" , Julien Grall , 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" T1AtVEVFIGNhbiBpc3N1ZSBtdWx0aXBsZSBSUEMgcmVxdWVzdHMuIFdlIGFyZSBpbnRlcmVzdGVk IG1vc3RseSBpbgpyZXF1ZXN0IHRoYXQgYXNrcyBOVyB0byBhbGxvY2F0ZS9mcmVlIHNoYXJlZCBt ZW1vcnkgZm9yIE9QLVRFRQpuZWVkcywgYmVjYXVzZSBtZWRpYXRvciBuZWVkcyB0byBkbyBhZGRy ZXNzIHRyYW5zbGF0aW9uIGluIHRoZSBzYW1lCndheSBhcyBpdCB3YXMgZG9uZSBmb3Igc2hhcmVk IGJ1ZmZlcnMgcmVnaXN0ZXJlZCBieSBOVy4KCk9QLVRFRSBjYW4gYXNrIE5XIHRvIGFsbG9jYXRl IG11bHRpcGxlIGJ1ZmZlcnMgZHVyaW5nIHRoZSBjYWxsLiAgV2UKa25vdyB0aGF0IGlmIE9QLVRF RSBhc2tzIGZvciBhbm90aGVyIGJ1ZmZlciwgd2UgY2FuIGZyZWUgcGdsaXN0IGZvcgp0aGUgcHJl dmlvdXMgb25lLgoKQXMgbWVkaWF0b3Igbm93IGFjY2Vzc2VzIHNoYXJlZCBjb21tYW5kIGJ1ZmZl ciwgd2UgbmVlZCB0byBzaGFkb3cKaXQgaW4gdGhlIHNhbWUgd2F5LCBhcyB3ZSBzaGFkb3cgcmVx dWVzdCBidWZmZXJzIGZvciBTVEQgY2FsbHMuCkVhcmxpZXIsIHdlIGp1c3QgcGFzc2VkIGFkZHJl c3Mgb2YgdGhpcyBidWZmZXIgdG8gT1AtVEVFLCBidXQKbm93IHdlIG5lZWQgdG8gcmVhZCBhbmQg d3JpdGUgdG8gaXQsIHNvIGl0IHNob3VsZCBiZSBzaGFkb3dlZC4KClNpZ25lZC1vZmYtYnk6IFZv bG9keW15ciBCYWJjaHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4KQWNrZWQtYnk6IEp1 bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgotLS0KIEFsbCB0aGUgcGF0Y2hlcyB0 byBvcHRlZS5jIHNob3VsZCBiZSBtZXJnZWQgdG9nZXRoZXIuIFRoZXkgd2VyZQogc3BsaXQgdG8g ZWFzZSB1cCByZXZpZXcuIEJ1dCB0aGV5IGRlcGVuZCBoZWF2aWx5IG9uIGVhY2ggb3RoZXIuCgog Q2hhbmdlcyBmcm9tIHY1OgogLSBUaGVyZSB3YXMgY2hhbmdlIHRvIFJQQyBjb21tYW5kIG5hbWVz LCBiZWNhdXNlIG9mIGRpZmZlcmVudAogICBoZWFkZXIgZmlsZSB3YXMgdXNlZCAoc2VlIGNvbW1l bnRzIHRvIHBhdGNoIDIgInhlbi9hcm06IG9wdGVlOgogICBhZGQgT1AtVEVFIGhlYWRlciBmaWxl cyIpLiBUaGlzIGlzIG5vbi1mdW5jdGlvbmFsIGNoYW5nZS4KCiBDaGFuZ2VzIGZyb20gdjM6CiAt IHJldHVybiB2YWx1ZSBvZiBhY2Nlc3NfZ3Vlc3RfbWVtb3J5X2J5X2lwYSgpIG5vdyBjaGVja2Vk CiAtIGNoYW5nZWQgaG93IGluZm9ybWF0aW9uIGFib3V0IHNoYXJlZCBidWZmZXIgaXMgc3RvcmVk IGluIGNhbGwKICAgY29udGV4dAogLSBkb21oZWFwIG5vdyB1c2VkIGluc3RlYWQgb2YgeGVuaGVh cAogLSB2YXJpb3VzIGNvZGluZyBzdHlsZSBmaXhlcwoKIENoYW5nZXMgZnJvbSB2MjoKIC0gVXNl IGFjY2Vzc19ndWVzdF9tZW1vcnlfYnlfaXBhKCkgaW5zdGVhZCBvZiBkaXJlY3QgbWFwcGluZwot LS0KIHhlbi9hcmNoL2FybS90ZWUvb3B0ZWUuYyB8IDIzMCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMjMgaW5zZXJ0aW9ucygrKSwgNyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL29wdGVlLmMgYi94ZW4v YXJjaC9hcm0vdGVlL29wdGVlLmMKaW5kZXggZDQ4ODhhY2Q4ZC4uMjhkMzQzNjBmYyAxMDA2NDQK LS0tIGEveGVuL2FyY2gvYXJtL3RlZS9vcHRlZS5jCisrKyBiL3hlbi9hcmNoL2FybS90ZWUvb3B0 ZWUuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGFzbS90ZWUvdGVlLmg+CiAjaW5jbHVk ZSA8YXNtL3RlZS9vcHRlZV9tc2cuaD4KICNpbmNsdWRlIDxhc20vdGVlL29wdGVlX3NtYy5oPgor I2luY2x1ZGUgPGFzbS90ZWUvb3B0ZWVfcnBjX2NtZC5oPgogCiAvKiBOdW1iZXIgb2YgU01DcyBr bm93biB0byB0aGUgbWVkaWF0b3IgKi8KICNkZWZpbmUgT1BURUVfTUVESUFUT1JfU01DX0NPVU5U ICAgMTEKQEAgLTQ3LDYgKzQ4LDkgQEAKICAqLwogI2RlZmluZSBURUVDX09SSUdJTl9DT01NUyAw eDAwMDAwMDAyCiAKKy8qICJOb24tc3BlY2lmaWMgY2F1c2UiIGFzIGluIEdQIFRFRSBDbGllbnQg QVBJIFNwZWNpZmljYXRpb24gKi8KKyNkZWZpbmUgVEVFQ19FUlJPUl9HRU5FUklDIDB4RkZGRjAw MDAKKwogLyoKICAqICJJbnB1dCBwYXJhbWV0ZXJzIHdlcmUgaW52YWxpZCIgYXMgZGVzY3JpYmVk CiAgKiBpbiBHUCBURUUgQ2xpZW50IEFQSSBTcGVjaWZpY2F0aW9uLgpAQCAtODksNiArOTMsNyBA QCBzdHJ1Y3Qgb3B0ZWVfc3RkX2NhbGwgewogICAgIHBhZGRyX3QgZ3Vlc3RfYXJnX2lwYTsKICAg ICBpbnQgb3B0ZWVfdGhyZWFkX2lkOwogICAgIGludCBycGNfb3A7CisgICAgdWludDY0X3QgcnBj X2RhdGFfY29va2llOwogICAgIGJvb2wgaW5fZmxpZ2h0OwogICAgIHJlZ2lzdGVyX3QgcnBjX3Bh cmFtc1syXTsKIH07CkBAIC05Nyw2ICsxMDIsOSBAQCBzdHJ1Y3Qgb3B0ZWVfc3RkX2NhbGwgewog c3RydWN0IHNobV9ycGMgewogICAgIHN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKICAgICBzdHJ1Y3Qg cGFnZV9pbmZvICpndWVzdF9wYWdlOworICAgIHN0cnVjdCBwYWdlX2luZm8gKnhlbl9hcmdfcGc7 CisgICAgc3RydWN0IG9wdGVlX21zZ19hcmcgKnhlbl9hcmc7CisgICAgZ2ZuX3QgZ2ZuOwogICAg IHVpbnQ2NF90IGNvb2tpZTsKIH07CiAKQEAgLTM1MCwxMCArMzU4LDE4IEBAIHN0YXRpYyBzdHJ1 Y3Qgc2htX3JwYyAqYWxsb2NhdGVfYW5kX3Bpbl9zaG1fcnBjKHN0cnVjdCBvcHRlZV9kb21haW4g KmN0eCwKICAgICBpZiAoICFzaG1fcnBjICkKICAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVOT01F TSk7CiAKKyAgICBzaG1fcnBjLT54ZW5fYXJnX3BnID0gYWxsb2NfZG9taGVhcF9wYWdlKGN1cnJl bnQtPmRvbWFpbiwgMCk7CisgICAgaWYgKCAhc2htX3JwYy0+eGVuX2FyZ19wZyApCisgICAgewor ICAgICAgICB4ZnJlZShzaG1fcnBjKTsKKyAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7 CisgICAgfQorCiAgICAgLyogVGhpcyBwYWdlIHdpbGwgYmUgc2hhcmVkIHdpdGggT1AtVEVFLCBz byB3ZSBuZWVkIHRvIHBpbiBpdC4gKi8KICAgICBzaG1fcnBjLT5ndWVzdF9wYWdlID0gZ2V0X2Rv bWFpbl9yYW1fcGFnZShnZm4pOwogICAgIGlmICggIXNobV9ycGMtPmd1ZXN0X3BhZ2UgKQogICAg ICAgICBnb3RvIGVycjsKKyAgICBzaG1fcnBjLT5nZm4gPSBnZm47CiAKICAgICBzaG1fcnBjLT5j b29raWUgPSBjb29raWU7CiAKQEAgLTM3Niw2ICszOTIsOCBAQCBzdGF0aWMgc3RydWN0IHNobV9y cGMgKmFsbG9jYXRlX2FuZF9waW5fc2htX3JwYyhzdHJ1Y3Qgb3B0ZWVfZG9tYWluICpjdHgsCiAg ICAgcmV0dXJuIHNobV9ycGM7CiAKIGVycjoKKyAgICBmcmVlX2RvbWhlYXBfcGFnZShzaG1fcnBj LT54ZW5fYXJnX3BnKTsKKwogICAgIGlmICggc2htX3JwYy0+Z3Vlc3RfcGFnZSApCiAgICAgICAg IHB1dF9wYWdlKHNobV9ycGMtPmd1ZXN0X3BhZ2UpOwogICAgIHhmcmVlKHNobV9ycGMpOwpAQCAt NDA0LDEyICs0MjIsMzIgQEAgc3RhdGljIHZvaWQgZnJlZV9zaG1fcnBjKHN0cnVjdCBvcHRlZV9k b21haW4gKmN0eCwgdWludDY0X3QgY29va2llKQogICAgIGlmICggIWZvdW5kICkKICAgICAgICAg cmV0dXJuOwogCisgICAgZnJlZV9kb21oZWFwX3BhZ2Uoc2htX3JwYy0+eGVuX2FyZ19wZyk7CisK ICAgICBBU1NFUlQoc2htX3JwYy0+Z3Vlc3RfcGFnZSk7CiAgICAgcHV0X3BhZ2Uoc2htX3JwYy0+ Z3Vlc3RfcGFnZSk7CiAKICAgICB4ZnJlZShzaG1fcnBjKTsKIH0KIAorc3RhdGljIHN0cnVjdCBz aG1fcnBjICpmaW5kX3NobV9ycGMoc3RydWN0IG9wdGVlX2RvbWFpbiAqY3R4LCB1aW50NjRfdCBj b29raWUpCit7CisgICAgc3RydWN0IHNobV9ycGMgKnNobV9ycGM7CisKKyAgICBzcGluX2xvY2so JmN0eC0+bG9jayk7CisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSggc2htX3JwYywgJmN0eC0+c2ht X3JwY19saXN0LCBsaXN0ICkKKyAgICB7CisgICAgICAgIGlmICggc2htX3JwYy0+Y29va2llID09 IGNvb2tpZSApCisgICAgICAgIHsKKyAgICAgICAgICAgICAgICBzcGluX3VubG9jaygmY3R4LT5s b2NrKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gc2htX3JwYzsKKyAgICAgICAgfQorICAgIH0K KyAgICBzcGluX3VubG9jaygmY3R4LT5sb2NrKTsKKworICAgIHJldHVybiBOVUxMOworfQorCiBz dGF0aWMgc3RydWN0IG9wdGVlX3NobV9idWYgKmFsbG9jYXRlX29wdGVlX3NobV9idWYoc3RydWN0 IG9wdGVlX2RvbWFpbiAqY3R4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNvb2tpZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZXNfY250LApAQCAt OTMxLDEwICs5NjksMTMgQEAgc3RhdGljIHZvaWQgZnJlZV9zaG1fYnVmZmVycyhzdHJ1Y3Qgb3B0 ZWVfZG9tYWluICpjdHgsCiB9CiAKIC8qIEhhbmRsZSBSUEMgcmV0dXJuIGZyb20gT1AtVEVFICov Ci1zdGF0aWMgdm9pZCBoYW5kbGVfcnBjX3JldHVybihzdHJ1Y3QgYXJtX3NtY2NjX3JlcyAqcmVz LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl Z3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3B0ZWVfc3RkX2NhbGwg KmNhbGwpCitzdGF0aWMgaW50IGhhbmRsZV9ycGNfcmV0dXJuKHN0cnVjdCBvcHRlZV9kb21haW4g KmN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFybV9zbWNjY19yZXMg KnJlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNwdV91c2VyX3JlZ3Mg KnJlZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvcHRlZV9zdGRfY2Fs bCAqY2FsbCkKIHsKKyAgICBpbnQgcmV0ID0gMDsKKwogICAgIGNhbGwtPnJwY19vcCA9IE9QVEVF X1NNQ19SRVRVUk5fR0VUX1JQQ19GVU5DKHJlcy0+YTApOwogICAgIGNhbGwtPnJwY19wYXJhbXNb MF0gPSByZXMtPmExOwogICAgIGNhbGwtPnJwY19wYXJhbXNbMV0gPSByZXMtPmEyOwpAQCAtOTQ0 LDYgKzk4NSw1MSBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfcnBjX3JldHVybihzdHJ1Y3QgYXJtX3Nt Y2NjX3JlcyAqcmVzLAogICAgIHNldF91c2VyX3JlZyhyZWdzLCAxLCByZXMtPmExKTsKICAgICBz ZXRfdXNlcl9yZWcocmVncywgMiwgcmVzLT5hMik7CiAgICAgc2V0X3VzZXJfcmVnKHJlZ3MsIDMs IHJlcy0+YTMpOworCisgICAgaWYgKCBjYWxsLT5ycGNfb3AgPT0gT1BURUVfU01DX1JQQ19GVU5D X0NNRCApCisgICAgeworICAgICAgICAvKiBDb3B5IFJQQyByZXF1ZXN0IGZyb20gc2hhZG93ZWQg YnVmZmVyIHRvIGd1ZXN0ICovCisgICAgICAgIHVpbnQ2NF90IGNvb2tpZSA9IHJlZ3BhaXJfdG9f dWludDY0KGdldF91c2VyX3JlZyhyZWdzLCAxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDIpKTsKKyAgICAgICAgc3RydWN0 IHNobV9ycGMgKnNobV9ycGMgPSBmaW5kX3NobV9ycGMoY3R4LCBjb29raWUpOworCisgICAgICAg IGlmICggIXNobV9ycGMgKQorICAgICAgICB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAg ICogVGhpcyBpcyBhIHZlcnkgZXhjZXB0aW9uYWwgc2l0dWF0aW9uOiBPUC1URUUgdXNlZAorICAg ICAgICAgICAgICogY29va2llIGZvciB1bmtub3duIHNoYXJlZCBidWZmZXIuIFNvbWV0aGluZyBp cyB2ZXJ5CisgICAgICAgICAgICAgKiB3cm9uZyB0aGVyZS4gV2UgY2FuJ3QgZXZlbiByZXBvcnQg ZXJyb3IgYmFjayB0byBPUC1URUUsCisgICAgICAgICAgICAgKiBiZWNhdXNlIHRoZXJlIGlzIG5v IGJ1ZmZlciB3aGVyZSB3ZSBjYW4gd3JpdGUgcmV0dXJuCisgICAgICAgICAgICAgKiBjb2RlLiBM dWNraWx5LCBPUC1URUUgc2V0cyBkZWZhdWx0IGVycm9yIGNvZGUgaW50byB0aGF0CisgICAgICAg ICAgICAgKiBidWZmZXIgYmVmb3JlIHRoZSBjYWxsLCBleHBlY3RpbmcgdGhhdCBub3JtYWwgd29y bGQKKyAgICAgICAgICAgICAqIHdpbGwgb3ZlcndyaXRlIGl0IHdpdGggYWN0dWFsIHJlc3VsdC4g U28gd2UgY2FuIGp1c3QKKyAgICAgICAgICAgICAqIGNvbnRpbnVlIHRoZSBjYWxsLgorICAgICAg ICAgICAgICovCisgICAgICAgICAgICBncHJpbnRrKFhFTkxPR19FUlIsICJDYW4ndCBmaW5kIFNI TS1SUEMgd2l0aCBjb29raWUgJWx4XG4iLCBjb29raWUpOworCisgICAgICAgICAgICByZXR1cm4g LUVSRVNUQVJUOworICAgICAgICB9CisKKyAgICAgICAgc2htX3JwYy0+eGVuX2FyZyA9IF9fbWFw X2RvbWFpbl9wYWdlKHNobV9ycGMtPnhlbl9hcmdfcGcpOworCisgICAgICAgIGlmICggYWNjZXNz X2d1ZXN0X21lbW9yeV9ieV9pcGEoY3VycmVudC0+ZG9tYWluLAorICAgICAgICAgICAgICAgICAg ICAgICAgZ2ZuX3RvX2dhZGRyKHNobV9ycGMtPmdmbiksCisgICAgICAgICAgICAgICAgICAgICAg ICBzaG1fcnBjLT54ZW5fYXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgT1BURUVfTVNHX0dF VF9BUkdfU0laRShzaG1fcnBjLT54ZW5fYXJnLT5udW1fcGFyYW1zKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgIHRydWUpICkKKyAgICAgICAgeworICAgICAgICAgICAgLyoKKyAgICAgICAgICAg ICAqIFdlIHdlcmUgdW5hYmxlIHRvIHByb3BhZ2F0ZSByZXF1ZXN0IHRvIGd1ZXN0LCBzbyBsZXQn cyByZXR1cm4KKyAgICAgICAgICAgICAqIGJhY2sgdG8gT1AtVEVFLgorICAgICAgICAgICAgICov CisgICAgICAgICAgICBzaG1fcnBjLT54ZW5fYXJnLT5yZXQgPSBURUVDX0VSUk9SX0dFTkVSSUM7 CisgICAgICAgICAgICByZXQgPSAtRVJFU1RBUlQ7CisgICAgICAgIH0KKworICAgICAgICB1bm1h cF9kb21haW5fcGFnZShzaG1fcnBjLT54ZW5fYXJnKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmV0 OwogfQogCiAvKgpAQCAtOTU2LDYgKzEwNDIsOSBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfcnBjX3Jl dHVybihzdHJ1Y3QgYXJtX3NtY2NjX3JlcyAqcmVzLAogICogSWYgY2FsbCBpcyBjb21wbGV0ZSAt IHdlIG5lZWQgdG8gcmV0dXJuIHJlc3VsdHMgd2l0aCBjb3B5X3N0ZF9yZXF1ZXN0X2JhY2soKQog ICogYW5kIHRoZW4gd2Ugd2lsbCBkZXN0cm95IHRoZSBjYWxsIGNvbnRleHQgYXMgaXQgaXMgbm90 IG5lZWRlZCBhbnltb3JlLgogICoKKyAqIEluIHNvbWUgcmFyZSBjYXNlcyB3ZSBjYW4ndCBwcm9w YWdhdGUgUlBDIHJlcXVlc3QgYmFjayB0byBndWVzdCwgc28gd2Ugd2lsbAorICogcmVzdGFydCB0 aGUgY2FsbCwgdGVsbGluZyBPUC1URUUgdGhhdCByZXF1ZXN0IGhhZCBmYWlsZWQuCisgKgogICog U2hhcmVkIGJ1ZmZlcnMgc2hvdWxkIGJlIGhhbmRsZWQgaW4gYSBzcGVjaWFsIHdheS4KICAqLwog c3RhdGljIHZvaWQgZG9fY2FsbF93aXRoX2FyZyhzdHJ1Y3Qgb3B0ZWVfZG9tYWluICpjdHgsCkBA IC05NzEsNyArMTA2MCwxNiBAQCBzdGF0aWMgdm9pZCBkb19jYWxsX3dpdGhfYXJnKHN0cnVjdCBv cHRlZV9kb21haW4gKmN0eCwKIAogICAgIGlmICggT1BURUVfU01DX1JFVFVSTl9JU19SUEMocmVz LmEwKSApCiAgICAgewotICAgICAgICBoYW5kbGVfcnBjX3JldHVybigmcmVzLCByZWdzLCBjYWxs KTsKKyAgICAgICAgd2hpbGUgKCBoYW5kbGVfcnBjX3JldHVybihjdHgsICZyZXMsIHJlZ3MsIGNh bGwpICA9PSAtRVJFU1RBUlQgKQorICAgICAgICB7CisgICAgICAgICAgICBhcm1fc21jY2Nfc21j KHJlcy5hMCwgcmVzLmExLCByZXMuYTIsIHJlcy5hMywgMCwgMCwgMCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgT1BURUVfQ0xJRU5UX0lEKGN1cnJlbnQtPmRvbWFpbiksICZyZXMpOworCisg ICAgICAgICAgICBpZiAoICFPUFRFRV9TTUNfUkVUVVJOX0lTX1JQQyhyZXMuYTApICkKKyAgICAg ICAgICAgICAgICBicmVhazsKKworICAgICAgICB9CisKICAgICAgICAgcHV0X3N0ZF9jYWxsKGN0 eCwgY2FsbCk7CiAKICAgICAgICAgcmV0dXJuOwpAQCAtMTA5Nyw2ICsxMTk1LDEyNCBAQCBlcnI6 CiAgKiByZXF1ZXN0IGZyb20gT1AtVEVFIGFuZCB3aXNoZWQgdG8gcmVzdW1lIHRoZSBpbnRlcnJ1 cHRlZCBzdGFuZGFyZAogICogY2FsbC4KICAqLworc3RhdGljIHZvaWQgaGFuZGxlX3JwY19jbWRf YWxsb2Moc3RydWN0IG9wdGVlX2RvbWFpbiAqY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3Qgb3B0ZWVfc3RkX2NhbGwgKmNhbGwsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2htX3JwYyAqc2htX3JwYykKK3sKKyAgICBpZiAo IHNobV9ycGMtPnhlbl9hcmctPnJldCB8fCBzaG1fcnBjLT54ZW5fYXJnLT5udW1fcGFyYW1zICE9 IDEgKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIHNobV9ycGMtPnhlbl9hcmctPnBhcmFt c1swXS5hdHRyICE9IChPUFRFRV9NU0dfQVRUUl9UWVBFX1RNRU1fT1VUUFVUIHwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPUFRFRV9NU0dfQVRUUl9OT05D T05USUcpICkKKyAgICB7CisgICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJOSU5HLCAiSW52YWxp ZCBhdHRycyBmb3Igc2hhcmVkIG1lbSBidWZmZXI6ICVseFxuIiwKKyAgICAgICAgICAgICAgICAg c2htX3JwYy0+eGVuX2FyZy0+cGFyYW1zWzBdLmF0dHIpOworICAgICAgICByZXR1cm47CisgICAg fQorCisgICAgLyogRnJlZSBwZyBsaXN0IGZvciBidWZmZXIgKi8KKyAgICBpZiAoIGNhbGwtPnJw Y19kYXRhX2Nvb2tpZSApCisgICAgICAgIGZyZWVfb3B0ZWVfc2htX2J1Zl9wZ19saXN0KGN0eCwg Y2FsbC0+cnBjX2RhdGFfY29va2llKTsKKworICAgIGlmICggIXRyYW5zbGF0ZV9ub25jb250aWco Y3R4LCBjYWxsLCAmc2htX3JwYy0+eGVuX2FyZy0+cGFyYW1zWzBdKSApCisgICAgeworICAgICAg ICBjYWxsLT5ycGNfZGF0YV9jb29raWUgPQorICAgICAgICAgICAgc2htX3JwYy0+eGVuX2FyZy0+ cGFyYW1zWzBdLnUudG1lbS5zaG1fcmVmOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAg ICBjYWxsLT5ycGNfZGF0YV9jb29raWUgPSAwOworICAgICAgICAvKgorICAgICAgICAgKiBPa2F5 LCBzbyB0aGVyZSB3YXMgcHJvYmxlbSB3aXRoIGd1ZXN0J3MgYnVmZmVyIGFuZCB3ZSBuZWVkCisg ICAgICAgICAqIHRvIHRlbGwgYWJvdXQgdGhpcyB0byBPUC1URUUuCisgICAgICAgICAqLworICAg ICAgICBzaG1fcnBjLT54ZW5fYXJnLT5yZXQgPSBURUVDX0VSUk9SX0dFTkVSSUM7CisgICAgICAg IHNobV9ycGMtPnhlbl9hcmctPm51bV9wYXJhbXMgPSAwOworICAgICAgICAvKgorICAgICAgICAg KiBUT0RPOiBXaXRoIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIE9QLVRFRSB3aWxsIG5vdCBpc3N1 ZQorICAgICAgICAgKiBSUEMgdG8gZnJlZSB0aGlzIGJ1ZmZlci4gR3Vlc3QgYW5kIE9QLVRFRSB3 aWxsIGJlIG91dCBvZgorICAgICAgICAgKiBzeW5jOiBndWVzdCBiZWxpZXZlcyB0aGF0IGl0IHBy b3ZpZGVkIGJ1ZmZlciB0byBPUC1URUUsCisgICAgICAgICAqIHdoaWxlIE9QLVRFRSB0aGlua3Mg b2Ygb3Bwb3NpdGUuIElkZWFsbHksIHdlIG5lZWQgdG8KKyAgICAgICAgICogZW11bGF0ZSBSUEMg d2l0aCBPUFRFRV9NU0dfUlBDX0NNRF9TSE1fRlJFRSBjb21tYW5kLgorICAgICAgICAgKi8KKyAg ICAgICAgZ3ByaW50ayhYRU5MT0dfV0FSTklORywKKyAgICAgICAgICAgICAgICAidHJhbnNsYXRl X25vbmNvbnRpZygpIGZhaWxlZCwgT1AtVEVFL2d1ZXN0IHN0YXRlIGlzIG91dCBvZiBzeW5jLlxu Iik7CisgICAgfQorfQorCitzdGF0aWMgdm9pZCBoYW5kbGVfcnBjX2NtZChzdHJ1Y3Qgb3B0ZWVf ZG9tYWluICpjdHgsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IG9wdGVlX3N0ZF9jYWxsICpjYWxsKQoreworICAgIHN0cnVjdCBz aG1fcnBjICpzaG1fcnBjOworICAgIHVpbnQ2NF90IGNvb2tpZTsKKyAgICBzaXplX3QgYXJnX3Np emU7CisKKyAgICBjb29raWUgPSByZWdwYWlyX3RvX3VpbnQ2NChnZXRfdXNlcl9yZWcocmVncywg MSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDIp KTsKKworICAgIHNobV9ycGMgPSBmaW5kX3NobV9ycGMoY3R4LCBjb29raWUpOworCisgICAgaWYg KCAhc2htX3JwYyApCisgICAgeworICAgICAgICBnZHByaW50ayhYRU5MT0dfRVJSLCAiQ2FuJ3Qg ZmluZCBTSE0tUlBDIHdpdGggY29va2llICVseFxuIiwgY29va2llKTsKKyAgICAgICAgcmV0dXJu OworICAgIH0KKworICAgIHNobV9ycGMtPnhlbl9hcmcgPSBfX21hcF9kb21haW5fcGFnZShzaG1f cnBjLT54ZW5fYXJnX3BnKTsKKworICAgIC8qIEZpcnN0LCBjb3B5IG9ubHkgaGVhZGVyIHRvIHJl YWQgbnVtYmVyIG9mIGFyZ3VtZW50cyAqLworICAgIGlmICggYWNjZXNzX2d1ZXN0X21lbW9yeV9i eV9pcGEoY3VycmVudC0+ZG9tYWluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ2ZuX3RvX2dhZGRyKHNobV9ycGMtPmdmbiksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaG1fcnBjLT54ZW5fYXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2l6ZW9mKHN0cnVjdCBvcHRlZV9tc2dfYXJnKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZhbHNlKSApCisgICAgeworICAgICAgICBzaG1fcnBjLT54ZW5f YXJnLT5yZXQgPSBURUVDX0VSUk9SX0dFTkVSSUM7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0K KworICAgIGFyZ19zaXplID0gT1BURUVfTVNHX0dFVF9BUkdfU0laRShzaG1fcnBjLT54ZW5fYXJn LT5udW1fcGFyYW1zKTsKKyAgICBpZiAoIGFyZ19zaXplID4gT1BURUVfTVNHX05PTkNPTlRJR19Q QUdFX1NJWkUgKQorICAgIHsKKyAgICAgICAgc2htX3JwYy0+eGVuX2FyZy0+cmV0ID0gVEVFQ19F UlJPUl9HRU5FUklDOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICAvKiBSZWFkIHRo ZSB3aG9sZSBjb21tYW5kIHN0cnVjdHVyZSAqLworICAgIGlmICggYWNjZXNzX2d1ZXN0X21lbW9y eV9ieV9pcGEoY3VycmVudC0+ZG9tYWluLCBnZm5fdG9fZ2FkZHIoc2htX3JwYy0+Z2ZuKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNobV9ycGMtPnhlbl9hcmcsIGFyZ19z aXplLCBmYWxzZSkgKQorICAgIHsKKyAgICAgICAgc2htX3JwYy0+eGVuX2FyZy0+cmV0ID0gVEVF Q19FUlJPUl9HRU5FUklDOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBzd2l0Y2gg KHNobV9ycGMtPnhlbl9hcmctPmNtZCkKKyAgICB7CisgICAgY2FzZSBPUFRFRV9SUENfQ01EX0dF VF9USU1FOgorICAgIGNhc2UgT1BURUVfUlBDX0NNRF9XQUlUX1FVRVVFOgorICAgIGNhc2UgT1BU RUVfUlBDX0NNRF9TVVNQRU5EOgorICAgICAgICBicmVhazsKKyAgICBjYXNlIE9QVEVFX1JQQ19D TURfU0hNX0FMTE9DOgorICAgICAgICBoYW5kbGVfcnBjX2NtZF9hbGxvYyhjdHgsIHJlZ3MsIGNh bGwsIHNobV9ycGMpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE9QVEVFX1JQQ19DTURfU0hN X0ZSRUU6CisgICAgICAgIGZyZWVfb3B0ZWVfc2htX2J1ZihjdHgsIHNobV9ycGMtPnhlbl9hcmct PnBhcmFtc1swXS51LnZhbHVlLmIpOworICAgICAgICBpZiAoIGNhbGwtPnJwY19kYXRhX2Nvb2tp ZSA9PSBzaG1fcnBjLT54ZW5fYXJnLT5wYXJhbXNbMF0udS52YWx1ZS5iICkKKyAgICAgICAgICAg IGNhbGwtPnJwY19kYXRhX2Nvb2tpZSA9IDA7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6 CisgICAgICAgIGJyZWFrOworICAgIH0KKworb3V0OgorICAgIHVubWFwX2RvbWFpbl9wYWdlKHNo bV9ycGMtPnhlbl9hcmcpOworCisgICAgZG9fY2FsbF93aXRoX2FyZyhjdHgsIGNhbGwsIHJlZ3Ms IE9QVEVFX1NNQ19DQUxMX1JFVFVSTl9GUk9NX1JQQywgMCwgMCwKKyAgICAgICAgICAgICAgICAg ICAgIGdldF91c2VyX3JlZyhyZWdzLCAzKSwgMCwgMCk7CisKK30KKwogc3RhdGljIHZvaWQgaGFu ZGxlX3JwY19mdW5jX2FsbG9jKHN0cnVjdCBvcHRlZV9kb21haW4gKmN0eCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3B0ZWVfc3RkX2NhbGwgKmNhbGwp CkBAIC0xMTI4LDcgKzEzNDQsNyBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfcnBjX2Z1bmNfYWxsb2Mo c3RydWN0IG9wdGVlX2RvbWFpbiAqY3R4LAogICAgICAgICBwdHIgPSAwOwogICAgIH0KICAgICBl bHNlCi0gICAgICAgIHB0ciA9IHBhZ2VfdG9fbWFkZHIoc2htX3JwYy0+Z3Vlc3RfcGFnZSk7Cisg ICAgICAgIHB0ciA9IHBhZ2VfdG9fbWFkZHIoc2htX3JwYy0+eGVuX2FyZ19wZyk7CiAKIG91dDoK ICAgICB1aW50NjRfdG9fcmVncGFpcigmcjEsICZyMiwgcHRyKTsKQEAgLTExNzQsOCArMTM5MCw4 IEBAIHN0YXRpYyB2b2lkIGhhbmRsZV9ycGMoc3RydWN0IG9wdGVlX2RvbWFpbiAqY3R4LCBzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICBjYXNlIE9QVEVFX1NNQ19SUENfRlVOQ19GT1JF SUdOX0lOVFI6CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgT1BURUVfU01DX1JQQ19GVU5DX0NN RDoKLSAgICAgICAgLyogVE9ETzogQWRkIGhhbmRsaW5nICovCi0gICAgICAgIGJyZWFrOworICAg ICAgICBoYW5kbGVfcnBjX2NtZChjdHgsIHJlZ3MsIGNhbGwpOworICAgICAgICByZXR1cm47CiAg ICAgfQogCiAgICAgZG9fY2FsbF93aXRoX2FyZyhjdHgsIGNhbGwsIHJlZ3MsIE9QVEVFX1NNQ19D QUxMX1JFVFVSTl9GUk9NX1JQQywKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==