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.5 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 301D9C76186 for ; Wed, 24 Jul 2019 19:45:06 +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 E8CF221873 for ; Wed, 24 Jul 2019 19:45:05 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="gPx5GSZE" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E8CF221873 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.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 1hqNBf-0008Id-Qu; Wed, 24 Jul 2019 19:44:31 +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 1hqNBd-0008IY-RD for xen-devel@lists.xenproject.org; Wed, 24 Jul 2019 19:44:29 +0000 X-Inumbo-ID: 712a9c10-ae4b-11e9-b578-1b9a6ed66787 Received: from NAM05-CO1-obe.outbound.protection.outlook.com (unknown [40.107.72.51]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 712a9c10-ae4b-11e9-b578-1b9a6ed66787; Wed, 24 Jul 2019 19:44:26 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gVv/EFeEFKwf+mO968pQ9wqsQEmm59y7xy5/SuXU8G+fWMPmZWi/0gmN9lINbVWucvnrIHp7RDGGPfuW+Sk/TSn1zT/+1j7CJ0hgsHhfBa0EtpLKclEkw8vhwEJrhIYwJawsjn4oakc3yCTxFBijV+lkSCrZyjYBULfSPPfEZ0Tp8buNt5BxKZ0pOsheT5lCtl702pSQyGKYN/trIO3SQQPORJ8Vr/2v5BDQODALaCOejgxEzWNsLwyGNgEx++clF1jTO6gQpfn/DAdK+cDbQlGbzxE5Fuu7a+IQ1ZsQJkHdYMqT3du53rXk5ARnB4GblE2Ar6YSKmB8JxvBckLtLQ== 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=lk6sY8k5XXtQVRqaWHW/dyl0JrXRek+EDWrXSR24PXU=; b=im2hwvuKclj82S2QU/pDodVBFGyOiAkElj6qCu6fhtQM0yY6sBAKsQv0ibgm/mJSZUkgJS2xVDetrNF7pd8Wy3zHg/UBR8Qaimi41coepNOVRNFzb98dJLC/2i3yWucZyQXzN6wyJfFG+KcbI9uMwocEssChbqRhPzwZGmCtoX7fTENiPRx3y8XrxR1yTAulKtCTH92I32nxUUVwAhwibAdaC7kCPVP42ygqqg+u1kSp4FxO6R2ZymLig3ox/5gqZC++kop+JQ5Bgptla9WblAeQmSUtQV5IxvVUupK38E3/yeBrYPumqy/1+IzwyMGnGA5U8ducUnKvv6N0MZQRkg== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=amd.com;dmarc=pass action=none header.from=amd.com;dkim=pass header.d=amd.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lk6sY8k5XXtQVRqaWHW/dyl0JrXRek+EDWrXSR24PXU=; b=gPx5GSZEaGVw0atRH4QjBStv9U4FlIRdttM+0bPIn7ztJfN73k/KGeDozPCpwFQNDAEmqGu7Qg9ktejQfyZTAOXJ6BoSbLOHhFuye10uHk9H0SBq1JGlhyI/stEv6gYULZGtEsKBCnzSNyqrsWOL/A4DlPwFNkJuhX6RHl0bg9k= Received: from DM6PR12MB3515.namprd12.prod.outlook.com (20.179.106.151) by DM6PR12MB3227.namprd12.prod.outlook.com (20.179.105.95) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2094.16; Wed, 24 Jul 2019 19:44:23 +0000 Received: from DM6PR12MB3515.namprd12.prod.outlook.com ([fe80::3576:d8b0:7554:adc]) by DM6PR12MB3515.namprd12.prod.outlook.com ([fe80::3576:d8b0:7554:adc%7]) with mapi id 15.20.2115.005; Wed, 24 Jul 2019 19:44:23 +0000 From: "Woods, Brian" To: Alexandru Stefan ISAILA Thread-Topic: [PATCH v3 1/2] x86/mm: Clean IOMMU flags from p2m-pt code Thread-Index: AQHVO84pz4B9FlJLi0aoJloWZR7W5abaOMIA Date: Wed, 24 Jul 2019 19:44:22 +0000 Message-ID: <20190724194419.GA25253@amd.com> References: <20190716120056.1723-1-aisaila@bitdefender.com> In-Reply-To: <20190716120056.1723-1-aisaila@bitdefender.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN1PR12CA0103.namprd12.prod.outlook.com (2603:10b6:802:21::38) To DM6PR12MB3515.namprd12.prod.outlook.com (2603:10b6:5:18a::23) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Brian.Woods@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cc999f30-bb78-4169-6a62-08d7106f53b5 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020); SRVR:DM6PR12MB3227; x-ms-traffictypediagnostic: DM6PR12MB3227: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-forefront-prvs: 0108A997B2 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(376002)(366004)(346002)(396003)(39860400002)(136003)(199004)(189003)(86362001)(8676002)(7736002)(2906002)(36756003)(26005)(6916009)(11346002)(53936002)(2616005)(6512007)(446003)(6306002)(71200400001)(52116002)(476003)(229853002)(8936002)(5660300002)(6436002)(6506007)(71190400001)(478600001)(14454004)(386003)(305945005)(186003)(6116002)(81166006)(25786009)(102836004)(6486002)(76176011)(3846002)(6246003)(66946007)(68736007)(54906003)(486006)(1076003)(66066001)(14444005)(66446008)(33656002)(316002)(81156014)(4326008)(99286004)(66476007)(64756008)(66556008)(256004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR12MB3227; H:DM6PR12MB3515.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 9Wy7xVggaZ2yoxXKRDPOQzS3xrEpM5qFhEW2aBdyfInOGzNzdEQglPOlbY0iwo5ANzIgbADwM+ougrqgZKcrrRtoIWQFDHEFofiHX4pv/5iLEQPghvXn5keJ4pf1DR98HCScYPYoPzas5ptv/11XHiO91KhQZ3eDxyoseIIJN3jo7NiJhH3ElpXBMM3/K+d+0G9w2yAHAYzKanxBzEpO06vGKu4H/2H/l84yhxvkgWuJ8LkKsgU1NNCXH/ncfkx5j5JDxRsx7qA9se6/70l0fFs5bYfyHM5LGLVMaqJgoykyfpaqUMTUi0nRwhs2ecXgirkEkWANuq1U1btkhy28FQpqJNNm9H/5RJr0OqYCvs00TDldWRu3i5LH/UoDSF+i9pUyliMs/qudyPO1XwdCCaL7sCWib3KFO8xAbb8OCuA= Content-ID: MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc999f30-bb78-4169-6a62-08d7106f53b5 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2019 19:44:23.0075 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: brwoods@amd.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3227 Subject: Re: [Xen-devel] [PATCH v3 1/2] x86/mm: Clean IOMMU flags from p2m-pt code 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: "Suthikulpanit, Suravee" , "wl@xen.org" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , "jbeulich@suse.com" , "xen-devel@lists.xenproject.org" , "Woods, Brian" , "roger.pau@citrix.com" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" T24gVHVlLCBKdWwgMTYsIDIwMTkgYXQgMTI6MDE6MTFQTSArMDAwMCwgQWxleGFuZHJ1IFN0ZWZh biBJU0FJTEEgd3JvdGU6Cj4gQXQgdGhpcyBtb21lbnQgSU9NTVUgcHQgc2hhcmluZyBpcyBkaXNh YmxlZCBieSBjb21taXQgWzFdLgo+IAo+IFRoaXMgcGF0Y2ggYWltcyB0byBjbGVhciB0aGUgSU9N TVUgaGFwIHNoYXJlIHN1cHBvcnQgYXMgaXQgd2lsbCBub3QgYmUKPiB1c2VkIGluIHRoZSBmdXR1 cmUuIEJ5IGRvaW5nIHRoaXMgdGhlIElPTU1VIGJpdHMgdXNlZCBpbiBwdGVbNTI6NThdIGNhbgo+ IGJlIHVzZWQgaW4gb3RoZXIgd2F5cy4KPiAKPiBbMV0gYzJiYTNkYjMxZWYyZDlmMWU0MGU3YjZj MTZjZjNiZTNkNjcxZDU1NQo+IAo+IFN1Z2dlc3RlZC1ieTogR2VvcmdlIER1bmxhcCA8Z2Vvcmdl LmR1bmxhcEBjaXRyaXguY29tPgo+IFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRydSBJc2FpbGEgPGFp c2FpbGFAYml0ZGVmZW5kZXIuY29tPgoKQWNrZWQtYnk6IEJyaWFuIFdvb2RzIDxicmlhbi53b29k c0BhbWQuY29tPgoKPiAtLS0KPiBDaGFuZ2VzIHNpbmNlIFYxOgo+IAktIFJld29yayBjb21taXQg bWVzc2FnZQo+IAktIFJlZmxvdyBjb21tZW50cwo+IAktIE1vdmUgZmxhZ3MgaW5pdCB0byBkZWNs YXJhdGlvbiBpbiBwMm1fdHlwZV90b19mbGFncy4KPiAtLS0KPiAgeGVuL2FyY2gveDg2L21tL3Ay bS1wdC5jIHwgOTYgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAx IGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA5MSBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1wdC5jIGIveGVuL2FyY2gveDg2L21tL3AybS1w dC5jCj4gaW5kZXggY2FmYzlmMjk5Yi4uM2EwYTUwMGQ2NiAxMDA2NDQKPiAtLS0gYS94ZW4vYXJj aC94ODYvbW0vcDJtLXB0LmMKPiArKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKPiBAQCAt MjQsNyArMjQsNiBAQAo+ICAgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgSWYgbm90LCBzZWUg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgo+ICAgKi8KPiAgCj4gLSNpbmNsdWRlIDx4 ZW4vaW9tbXUuaD4KPiAgI2luY2x1ZGUgPHhlbi92bV9ldmVudC5oPgo+ICAjaW5jbHVkZSA8eGVu L2V2ZW50Lmg+Cj4gICNpbmNsdWRlIDx4ZW4vdHJhY2UuaD4KPiBAQCAtMzYsMTUgKzM1LDEzIEBA Cj4gICNpbmNsdWRlIDxhc20vcDJtLmg+Cj4gICNpbmNsdWRlIDxhc20vbWVtX3NoYXJpbmcuaD4K PiAgI2luY2x1ZGUgPGFzbS9odm0vbmVzdGVkaHZtLmg+Cj4gLSNpbmNsdWRlIDxhc20vaHZtL3N2 bS9hbWQtaW9tbXUtcHJvdG8uaD4KPiAgCj4gICNpbmNsdWRlICJtbS1sb2Nrcy5oIgo+ICAKPiAg LyoKPiAgICogV2UgbWF5IHN0b3JlIElOVkFMSURfTUZOIGluIFBURXMuICBXZSBuZWVkIHRvIGNs aXAgdGhpcyB0byBhdm9pZCB0cmFtcGxpbmcKPiAtICogb3ZlciBoaWdoZXItb3JkZXIgYml0cyAo TlgsIHAybSB0eXBlLCBJT01NVSBmbGFncykuICBXZSBzZWVtIHRvIG5vdCBuZWVkCj4gLSAqIHRv IHVuY2xpcCBvbiB0aGUgcmVhZCBwYXRoLCBhcyBjYWxsZXJzIGFyZSBjb25jZXJuZWQgb25seSB3 aXRoIHAybSB0eXBlIGluCj4gLSAqIHN1Y2ggY2FzZXMuCj4gKyAqIG92ZXIgaGlnaGVyLW9yZGVy IGJpdHMgKE5YLCBwMm0gdHlwZSkuIFdlIHNlZW0gdG8gbm90IG5lZWQgdG8gdW5jbGlwIG9uIHRo ZQo+ICsgKiByZWFkIHBhdGgsIGFzIGNhbGxlcnMgYXJlIGNvbmNlcm5lZCBvbmx5IHdpdGggcDJt IHR5cGUgaW4gc3VjaCBjYXNlcy4KPiAgICovCj4gICNkZWZpbmUgcDJtX2wxZV9mcm9tX3Bmbihw Zm4sIGZsYWdzKSAgICBcCj4gICAgICBsMWVfZnJvbV9wZm4oKHBmbikgJiAoUEFERFJfTUFTSyA+ PiBQQUdFX1NISUZUKSwgKGZsYWdzKSkKPiBAQCAtNzEsMTMgKzY4LDcgQEAgc3RhdGljIHVuc2ln bmVkIGxvbmcgcDJtX3R5cGVfdG9fZmxhZ3MoY29uc3Qgc3RydWN0IHAybV9kb21haW4gKnAybSwK PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWZuX3QgbWZuLAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbGV2ZWwp Cj4gIHsKPiAtICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gLSAgICAvKgo+IC0gICAgICogQU1E IElPTU1VOiBXaGVuIHdlIHNoYXJlIHAybSB0YWJsZSB3aXRoIGlvbW11LCBiaXQgOSAtIGJpdCAx MSB3aWxsIGJlCj4gLSAgICAgKiB1c2VkIGZvciBpb21tdSBoYXJkd2FyZSB0byBlbmNvZGUgbmV4 dCBpbyBwYWdlIGxldmVsLiBCaXQgNTkgLSBiaXQgNjIKPiAtICAgICAqIGFyZSB1c2VkIGZvciBp b21tdSBmbGFncywgV2UgY291bGQgbm90IHVzZSB0aGVzZSBiaXRzIHRvIHN0b3JlIHAybSB0eXBl cy4KPiAtICAgICAqLwo+IC0gICAgZmxhZ3MgPSAodW5zaWduZWQgbG9uZykodCAmIDB4N2YpIDw8 IDEyOwo+ICsgICAgdW5zaWduZWQgbG9uZyBmbGFncyA9ICh1bnNpZ25lZCBsb25nKSh0ICYgMHg3 ZikgPDwgMTI7Cj4gIAo+ICAgICAgc3dpdGNoKHQpCj4gICAgICB7Cj4gQEAgLTE2NSwxNiArMTU2 LDYgQEAgcDJtX2ZyZWVfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwgbDFfcGdlbnRyeV90 ICpwMm1fZW50cnksIGludCBwYWdlX29yZGVyKQo+ICAvLyBSZXR1cm5zIDAgb24gZXJyb3IuCj4g IC8vCj4gIAo+IC0vKiBBTUQgSU9NTVU6IENvbnZlcnQgbmV4dCBsZXZlbCBiaXRzIGFuZCByL3cg Yml0cyBpbnRvIDI0IGJpdHMgcDJtIGZsYWdzICovCj4gLSNkZWZpbmUgaW9tbXVfbmxldmVsX3Rv X2ZsYWdzKG5sLCBmKSAoKCgobmwpICYgMHg3KSA8PCA5ICl8KCgoZikgJiAweDMpIDw8IDIxKSkK PiAtCj4gLXN0YXRpYyB2b2lkIHAybV9hZGRfaW9tbXVfZmxhZ3MobDFfcGdlbnRyeV90ICpwMm1f ZW50cnksCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5s ZXZlbCwgdW5zaWduZWQgaW50IGZsYWdzKQo+IC17Cj4gLSAgICBpZiAoIGlvbW11X2hhcF9wdF9z aGFyZSApCj4gLSAgICAgICAgbDFlX2FkZF9mbGFncygqcDJtX2VudHJ5LCBpb21tdV9ubGV2ZWxf dG9fZmxhZ3MobmxldmVsLCBmbGFncykpOwo+IC19Cj4gLQo+ICAvKiBSZXR1cm5zOiAwIGZvciBz dWNjZXNzLCAtZXJybm8gZm9yIGZhaWx1cmUgKi8KPiAgc3RhdGljIGludAo+ICBwMm1fbmV4dF9s ZXZlbChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB2b2lkICoqdGFibGUsCj4gQEAgLTIwMyw3ICsx ODQsNiBAQCBwMm1fbmV4dF9sZXZlbChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB2b2lkICoqdGFi bGUsCj4gIAo+ICAgICAgICAgIG5ld19lbnRyeSA9IGwxZV9mcm9tX21mbihtZm4sIFAyTV9CQVNF X0ZMQUdTIHwgX1BBR0VfUlcpOwo+ICAKPiAtICAgICAgICBwMm1fYWRkX2lvbW11X2ZsYWdzKCZu ZXdfZW50cnksIGxldmVsLCBJT01NVUZfcmVhZGFibGV8SU9NTVVGX3dyaXRhYmxlKTsKPiAgICAg ICAgICByYyA9IHAybS0+d3JpdGVfcDJtX2VudHJ5KHAybSwgZ2ZuLCBwMm1fZW50cnksIG5ld19l bnRyeSwgbGV2ZWwgKyAxKTsKPiAgICAgICAgICBpZiAoIHJjICkKPiAgICAgICAgICAgICAgZ290 byBlcnJvcjsKPiBAQCAtMjQyLDEzICsyMjIsNiBAQCBwMm1fbmV4dF9sZXZlbChzdHJ1Y3QgcDJt X2RvbWFpbiAqcDJtLCB2b2lkICoqdGFibGUsCj4gIAo+ICAgICAgICAgIGwxX2VudHJ5ID0gbWFw X2RvbWFpbl9wYWdlKG1mbik7Cj4gIAo+IC0gICAgICAgIC8qIEluaGVyaXQgb3JpZ2luYWwgSU9N TVUgcGVybWlzc2lvbnMsIGJ1dCB1cGRhdGUgTmV4dCBMZXZlbC4gKi8KPiAtICAgICAgICBpZiAo IGlvbW11X2hhcF9wdF9zaGFyZSApCj4gLSAgICAgICAgewo+IC0gICAgICAgICAgICBmbGFncyAm PSB+aW9tbXVfbmxldmVsX3RvX2ZsYWdzKH4wLCAwKTsKPiAtICAgICAgICAgICAgZmxhZ3MgfD0g aW9tbXVfbmxldmVsX3RvX2ZsYWdzKGxldmVsIC0gMSwgMCk7Cj4gLSAgICAgICAgfQo+IC0KPiAg ICAgICAgICBmb3IgKCBpID0gMDsgaSA8ICgxdSA8PCBQQUdFVEFCTEVfT1JERVIpOyBpKysgKQo+ ICAgICAgICAgIHsKPiAgICAgICAgICAgICAgbmV3X2VudHJ5ID0gbDFlX2Zyb21fcGZuKHBmbiB8 IChpIDw8ICgobGV2ZWwgLSAxKSAqIFBBR0VUQUJMRV9PUkRFUikpLAo+IEBAIC0yNjQsOCArMjM3 LDYgQEAgcDJtX25leHRfbGV2ZWwoc3RydWN0IHAybV9kb21haW4gKnAybSwgdm9pZCAqKnRhYmxl LAo+ICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwxX2VudHJ5KTsKPiAgCj4gICAgICAgICAg bmV3X2VudHJ5ID0gbDFlX2Zyb21fbWZuKG1mbiwgUDJNX0JBU0VfRkxBR1MgfCBfUEFHRV9SVyk7 Cj4gLSAgICAgICAgcDJtX2FkZF9pb21tdV9mbGFncygmbmV3X2VudHJ5LCBsZXZlbCwKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZXxJT01NVUZfd3JpdGFibGUp Owo+ICAgICAgICAgIHJjID0gcDJtLT53cml0ZV9wMm1fZW50cnkocDJtLCBnZm4sIHAybV9lbnRy eSwgbmV3X2VudHJ5LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWwg KyAxKTsKPiAgICAgICAgICBpZiAoIHJjICkKPiBAQCAtNDcwLDkgKzQ0MSw2IEBAIHN0YXRpYyBp bnQgZG9fcmVjYWxjKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuKQo+ ICAgICAgICAgICAgICB9Cj4gIAo+ICAgICAgICAgICAgICBlID0gbDFlX2Zyb21fcGZuKG1mbiwg ZmxhZ3MpOwo+IC0gICAgICAgICAgICBwMm1fYWRkX2lvbW11X2ZsYWdzKCZlLCBsZXZlbCwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobnQgPT0gcDJtX3JhbV9ydykKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IElPTU1VRl9yZWFkYWJsZXxJT01NVUZfd3Jp dGFibGUgOiAwKTsKPiAgICAgICAgICAgICAgQVNTRVJUKCFuZWVkc19yZWNhbGMobDEsIGUpKTsK PiAgICAgICAgICB9Cj4gICAgICAgICAgZWxzZQo+IEBAIC01NDAsMTggKzUwOCw3IEBAIHAybV9w dF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwgZ2ZuX3QgZ2ZuXywgbWZuX3QgbWZu LAo+ICAgICAgbDJfcGdlbnRyeV90IGwyZV9jb250ZW50Owo+ICAgICAgbDNfcGdlbnRyeV90IGwz ZV9jb250ZW50Owo+ICAgICAgaW50IHJjOwo+IC0gICAgdW5zaWduZWQgaW50IGlvbW11X3B0ZV9m bGFncyA9IHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtdCwgbWZuKTsKPiAtICAgIC8qCj4gLSAgICAg KiBvbGRfbWZuIGFuZCBpb21tdV9vbGRfZmxhZ3MgY29udHJvbCBwb3NzaWJsZSBmbHVzaC91cGRh dGUgbmVlZHMgb24gdGhlCj4gLSAgICAgKiBJT01NVTogV2UgbmVlZCB0byBmbHVzaCB3aGVuIE1G TiBvciBmbGFncyAoaS5lLiBwZXJtaXNzaW9ucykgY2hhbmdlLgo+IC0gICAgICogaW9tbXVfb2xk X2ZsYWdzIGJlaW5nIGluaXRpYWxpemVkIHRvIHplcm8gY292ZXJzIHRoZSBjYXNlIG9mIHRoZSBl bnRyeQo+IC0gICAgICogZ2V0dGluZyByZXBsYWNlZCBiZWluZyBhIG5vbi1wcmVzZW50IChsZWFm IG9yIGludGVybWVkaWF0ZSkgb25lLiBGb3IKPiAtICAgICAqIHByZXNlbnQgbGVhZiBlbnRyaWVz IHRoZSByZWFsIHZhbHVlIHdpbGwgZ2V0IGNhbGN1bGF0ZWQgYmVsb3csIHdoaWxlCj4gLSAgICAg KiBmb3IgcHJlc2VudCBpbnRlcm1lZGlhdGUgZW50cmllcyB+MCAoZ3VhcmFudGVlZCAhPSBpb21t dV9wdGVfZmxhZ3MpCj4gLSAgICAgKiB3aWxsIGJlIHVzZWQgKHRvIGNvdmVyIGFsbCBjYXNlcyBv ZiB3aGF0IHRoZSBsZWFmIGVudHJpZXMgdW5kZXJuZWF0aAo+IC0gICAgICogdGhlIGludGVybWVk aWF0ZSBvbmUgbWlnaHQgYmUpLgo+IC0gICAgICovCj4gLSAgICB1bnNpZ25lZCBpbnQgZmxhZ3Ms IGlvbW11X29sZF9mbGFncyA9IDA7Cj4gKyAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7Cj4gICAgICB1 bnNpZ25lZCBsb25nIG9sZF9tZm4gPSBtZm5feChJTlZBTElEX01GTik7Cj4gIAo+ICAgICAgaWYg KCAhc3ZlICkKPiBAQCAtNTk5LDE3ICs1NTYsOSBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBw Mm1fZG9tYWluICpwMm0sIGdmbl90IGdmbl8sIG1mbl90IG1mbiwKPiAgICAgICAgICBpZiAoIGZs YWdzICYgX1BBR0VfUFJFU0VOVCApCj4gICAgICAgICAgewo+ICAgICAgICAgICAgICBpZiAoIGZs YWdzICYgX1BBR0VfUFNFICkKPiAtICAgICAgICAgICAgewo+ICAgICAgICAgICAgICAgICAgb2xk X21mbiA9IGwxZV9nZXRfcGZuKCpwMm1fZW50cnkpOwo+IC0gICAgICAgICAgICAgICAgaW9tbXVf b2xkX2ZsYWdzID0KPiAtICAgICAgICAgICAgICAgICAgICBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAy bV9mbGFnc190b190eXBlKGZsYWdzKSwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF9tZm4ob2xkX21mbikpOwo+IC0gICAgICAgICAgICB9Cj4gICAgICAgICAgICAg IGVsc2UKPiAtICAgICAgICAgICAgewo+IC0gICAgICAgICAgICAgICAgaW9tbXVfb2xkX2ZsYWdz ID0gfjA7Cj4gICAgICAgICAgICAgICAgICBpbnRlcm1lZGlhdGVfZW50cnkgPSAqcDJtX2VudHJ5 Owo+IC0gICAgICAgICAgICB9Cj4gICAgICAgICAgfQo+ICAKPiAgICAgICAgICBjaGVja19lbnRy eShtZm4sIHAybXQsIHAybV9mbGFnc190b190eXBlKGZsYWdzKSwgcGFnZV9vcmRlcik7Cj4gQEAg LTYxOSw5ICs1NjgsNiBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0s IGdmbl90IGdmbl8sIG1mbl90IG1mbiwKPiAgICAgICAgICAgICAgOiBsM2VfZW1wdHkoKTsKPiAg ICAgICAgICBlbnRyeV9jb250ZW50LmwxID0gbDNlX2NvbnRlbnQubDM7Cj4gIAo+IC0gICAgICAg IGlmICggZW50cnlfY29udGVudC5sMSAhPSAwICkKPiAtICAgICAgICAgICAgcDJtX2FkZF9pb21t dV9mbGFncygmZW50cnlfY29udGVudCwgMCwgaW9tbXVfcHRlX2ZsYWdzKTsKPiAtCj4gICAgICAg ICAgcmMgPSBwMm0tPndyaXRlX3AybV9lbnRyeShwMm0sIGdmbiwgcDJtX2VudHJ5LCBlbnRyeV9j b250ZW50LCAzKTsKPiAgICAgICAgICAvKiBOQjogcGFnaW5nX3dyaXRlX3AybV9lbnRyeSgpIGhh bmRsZXMgdGxiIGZsdXNoZXMgcHJvcGVybHkgKi8KPiAgICAgICAgICBpZiAoIHJjICkKPiBAQCAt NjQ4LDkgKzU5NCw2IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwg Z2ZuX3QgZ2ZuXywgbWZuX3QgbWZuLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDAsIEwxX1BBR0VUQUJMRV9FTlRSSUVTKTsKPiAgICAgICAgICBBU1NFUlQocDJtX2VudHJ5 KTsKPiAgICAgICAgICBvbGRfbWZuID0gbDFlX2dldF9wZm4oKnAybV9lbnRyeSk7Cj4gLSAgICAg ICAgaW9tbXVfb2xkX2ZsYWdzID0KPiAtICAgICAgICAgICAgcDJtX2dldF9pb21tdV9mbGFncyhw Mm1fZmxhZ3NfdG9fdHlwZShsMWVfZ2V0X2ZsYWdzKCpwMm1fZW50cnkpKSwKPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBfbWZuKG9sZF9tZm4pKTsKPiAgCj4gICAgICAgICAgaWYg KCBtZm5fdmFsaWQobWZuKSB8fCBwMm1fYWxsb3dzX2ludmFsaWRfbWZuKHAybXQpICkKPiAgICAg ICAgICAgICAgZW50cnlfY29udGVudCA9IHAybV9sMWVfZnJvbV9wZm4obWZuX3gobWZuKSwKPiBA QCAtNjU4LDkgKzYwMSw2IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAy bSwgZ2ZuX3QgZ2ZuXywgbWZuX3QgbWZuLAo+ICAgICAgICAgIGVsc2UKPiAgICAgICAgICAgICAg ZW50cnlfY29udGVudCA9IGwxZV9lbXB0eSgpOwo+ICAKPiAtICAgICAgICBpZiAoIGVudHJ5X2Nv bnRlbnQubDEgIT0gMCApCj4gLSAgICAgICAgICAgIHAybV9hZGRfaW9tbXVfZmxhZ3MoJmVudHJ5 X2NvbnRlbnQsIDAsIGlvbW11X3B0ZV9mbGFncyk7Cj4gLQo+ICAgICAgICAgIC8qIGxldmVsIDEg ZW50cnkgKi8KPiAgICAgICAgICByYyA9IHAybS0+d3JpdGVfcDJtX2VudHJ5KHAybSwgZ2ZuLCBw Mm1fZW50cnksIGVudHJ5X2NvbnRlbnQsIDEpOwo+ICAgICAgICAgIC8qIE5COiBwYWdpbmdfd3Jp dGVfcDJtX2VudHJ5KCkgaGFuZGxlcyB0bGIgZmx1c2hlcyBwcm9wZXJseSAqLwo+IEBAIC02Nzcs MTcgKzYxNyw5IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwgZ2Zu X3QgZ2ZuXywgbWZuX3QgbWZuLAo+ICAgICAgICAgIGlmICggZmxhZ3MgJiBfUEFHRV9QUkVTRU5U ICkKPiAgICAgICAgICB7Cj4gICAgICAgICAgICAgIGlmICggZmxhZ3MgJiBfUEFHRV9QU0UgKQo+ IC0gICAgICAgICAgICB7Cj4gICAgICAgICAgICAgICAgICBvbGRfbWZuID0gbDFlX2dldF9wZm4o KnAybV9lbnRyeSk7Cj4gLSAgICAgICAgICAgICAgICBpb21tdV9vbGRfZmxhZ3MgPQo+IC0gICAg ICAgICAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtX2ZsYWdzX3RvX3R5cGUoZmxh Z3MpLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX21mbihvbGRf bWZuKSk7Cj4gLSAgICAgICAgICAgIH0KPiAgICAgICAgICAgICAgZWxzZQo+IC0gICAgICAgICAg ICB7Cj4gLSAgICAgICAgICAgICAgICBpb21tdV9vbGRfZmxhZ3MgPSB+MDsKPiAgICAgICAgICAg ICAgICAgIGludGVybWVkaWF0ZV9lbnRyeSA9ICpwMm1fZW50cnk7Cj4gLSAgICAgICAgICAgIH0K PiAgICAgICAgICB9Cj4gIAo+ICAgICAgICAgIGNoZWNrX2VudHJ5KG1mbiwgcDJtdCwgcDJtX2Zs YWdzX3RvX3R5cGUoZmxhZ3MpLCBwYWdlX29yZGVyKTsKPiBAQCAtNjk3LDkgKzYyOSw2IEBAIHAy bV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwgZ2ZuX3QgZ2ZuXywgbWZuX3Qg bWZuLAo+ICAgICAgICAgICAgICA6IGwyZV9lbXB0eSgpOwo+ICAgICAgICAgIGVudHJ5X2NvbnRl bnQubDEgPSBsMmVfY29udGVudC5sMjsKPiAgCj4gLSAgICAgICAgaWYgKCBlbnRyeV9jb250ZW50 LmwxICE9IDAgKQo+IC0gICAgICAgICAgICBwMm1fYWRkX2lvbW11X2ZsYWdzKCZlbnRyeV9jb250 ZW50LCAwLCBpb21tdV9wdGVfZmxhZ3MpOwo+IC0KPiAgICAgICAgICByYyA9IHAybS0+d3JpdGVf cDJtX2VudHJ5KHAybSwgZ2ZuLCBwMm1fZW50cnksIGVudHJ5X2NvbnRlbnQsIDIpOwo+ICAgICAg ICAgIC8qIE5COiBwYWdpbmdfd3JpdGVfcDJtX2VudHJ5KCkgaGFuZGxlcyB0bGIgZmx1c2hlcyBw cm9wZXJseSAqLwo+ICAgICAgICAgIGlmICggcmMgKQo+IEBAIC03MTEsMjQgKzY0MCw5IEBAIHAy bV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwgZ2ZuX3QgZ2ZuXywgbWZuX3Qg bWZuLAo+ICAgICAgICAgICAmJiAoZ2ZuICsgKDFVTCA8PCBwYWdlX29yZGVyKSAtIDEgPiBwMm0t Pm1heF9tYXBwZWRfcGZuKSApCj4gICAgICAgICAgcDJtLT5tYXhfbWFwcGVkX3BmbiA9IGdmbiAr ICgxVUwgPDwgcGFnZV9vcmRlcikgLSAxOwo+ICAKPiAtICAgIGlmICggaW9tbXVfZW5hYmxlZCAm JiAoaW9tbXVfb2xkX2ZsYWdzICE9IGlvbW11X3B0ZV9mbGFncyB8fAo+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICBvbGRfbWZuICE9IG1mbl94KG1mbikpICkKPiAtICAgIHsKPiAtICAgICAg ICBBU1NFUlQocmMgPT0gMCk7Cj4gLQo+IC0gICAgICAgIGlmICggbmVlZF9pb21tdV9wdF9zeW5j KHAybS0+ZG9tYWluKSApCj4gLSAgICAgICAgICAgIHJjID0gaW9tbXVfcHRlX2ZsYWdzID8KPiAt ICAgICAgICAgICAgICAgIGlvbW11X2xlZ2FjeV9tYXAoZCwgX2RmbihnZm4pLCBtZm4sIHBhZ2Vf b3JkZXIsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvbW11X3B0ZV9mbGFn cykgOgo+IC0gICAgICAgICAgICAgICAgaW9tbXVfbGVnYWN5X3VubWFwKGQsIF9kZm4oZ2ZuKSwg cGFnZV9vcmRlcik7Cj4gLSAgICAgICAgZWxzZSBpZiAoIGlvbW11X3VzZV9oYXBfcHQoZCkgJiYg aW9tbXVfb2xkX2ZsYWdzICkKPiAtICAgICAgICAgICAgYW1kX2lvbW11X2ZsdXNoX3BhZ2VzKHAy bS0+ZG9tYWluLCBnZm4sIHBhZ2Vfb3JkZXIpOwo+IC0gICAgfQo+IC0KPiAgICAgIC8qCj4gICAg ICAgKiBGcmVlIG9sZCBpbnRlcm1lZGlhdGUgdGFibGVzIGlmIG5lY2Vzc2FyeS4gIFRoaXMgaGFz IHRvIGJlIHRoZQo+IC0gICAgICogbGFzdCB0aGluZyB3ZSBkbywgYWZ0ZXIgcmVtb3ZhbCBmcm9t IHRoZSBJT01NVSB0YWJsZXMsIHNvIGFzIHRvCj4gLSAgICAgKiBhdm9pZCBhIHBvdGVudGlhbCB1 c2UtYWZ0ZXItZnJlZS4KPiArICAgICAqIGxhc3QgdGhpbmcgd2UgZG8gc28gYXMgdG8gYXZvaWQg YSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUuCj4gICAgICAgKi8KPiAgICAgIGlmICggbDFlX2dl dF9mbGFncyhpbnRlcm1lZGlhdGVfZW50cnkpICYgX1BBR0VfUFJFU0VOVCApCj4gICAgICAgICAg cDJtX2ZyZWVfZW50cnkocDJtLCAmaW50ZXJtZWRpYXRlX2VudHJ5LCBwYWdlX29yZGVyKTsKPiAt LSAKPiAyLjE3LjEKPiAKCi0tIApCcmlhbiBXb29kcwoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==