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 64913C48BD5 for ; Tue, 25 Jun 2019 08:04:07 +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 2C3FE20659 for ; Tue, 25 Jun 2019 08:04:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=bitdefender.onmicrosoft.com header.i=@bitdefender.onmicrosoft.com header.b="ywYokQUC" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2C3FE20659 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bitdefender.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 1hfgQi-0003mH-3h; Tue, 25 Jun 2019 08:03:52 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hfgQh-0003mB-Ih for xen-devel@lists.xenproject.org; Tue, 25 Jun 2019 08:03:51 +0000 X-Inumbo-ID: c38f9bbc-971f-11e9-8980-bc764e045a96 Received: from EUR02-AM5-obe.outbound.protection.outlook.com (unknown [40.107.0.121]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id c38f9bbc-971f-11e9-8980-bc764e045a96; Tue, 25 Jun 2019 08:03:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bitdefender.onmicrosoft.com; s=selector1-bitdefender-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yYKQYMmj9F/LHbE8tJ7HtuF1TE9IYvaMedNqFNsWefE=; b=ywYokQUCrmfwepMXrmdtEJXKw8XysJEA3oCCGnXLIHjfc+VZT3SamtLGKg6GxDodJwW3Yq1XizbMW7XxGFw6vRhy6Jvlj4ac0mFNJxfSioqHqJIMe1t4akuFnALFYHOEJiGnoiqZrXkuTkxa+uJJaVzJRCsxt4tYKshRXkV9ZXU= Received: from VI1PR0202MB2928.eurprd02.prod.outlook.com (10.171.106.11) by VI1PR0202MB2656.eurprd02.prod.outlook.com (10.173.81.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.16; Tue, 25 Jun 2019 08:03:47 +0000 Received: from VI1PR0202MB2928.eurprd02.prod.outlook.com ([fe80::647b:2795:a1b:ee09]) by VI1PR0202MB2928.eurprd02.prod.outlook.com ([fe80::647b:2795:a1b:ee09%5]) with mapi id 15.20.2008.014; Tue, 25 Jun 2019 08:03:47 +0000 From: Alexandru Stefan ISAILA To: "xen-devel@lists.xenproject.org" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" Thread-Topic: [PATCH v1] x86/mm: Clean IOMMU flags from p2m-pt code Thread-Index: AQHVJcyNF0rcLAooGkWvUTAvg3olXaasDWqA Date: Tue, 25 Jun 2019 08:03:46 +0000 Message-ID: References: <20190618115401.15044-1-aisaila@bitdefender.com> In-Reply-To: <20190618115401.15044-1-aisaila@bitdefender.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: MR2P264CA0024.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:1::36) To VI1PR0202MB2928.eurprd02.prod.outlook.com (2603:10a6:800:e3::11) authentication-results: spf=none (sender IP is ) smtp.mailfrom=aisaila@bitdefender.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [91.199.104.6] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b00de5e3-4aea-4b3b-59ea-08d6f943a62e x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:VI1PR0202MB2656; x-ms-traffictypediagnostic: VI1PR0202MB2656:|VI1PR0202MB2656: x-ms-exchange-purlcount: 1 x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0079056367 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(366004)(376002)(136003)(346002)(39860400002)(199004)(189003)(478694002)(66066001)(25786009)(5660300002)(71190400001)(446003)(14444005)(486006)(476003)(2616005)(81166006)(99286004)(6116002)(73956011)(81156014)(66476007)(71200400001)(8676002)(3846002)(14454004)(31686004)(110136005)(66556008)(66446008)(316002)(11346002)(36756003)(256004)(66946007)(64756008)(54906003)(2501003)(26005)(7736002)(305945005)(53546011)(2906002)(6486002)(76176011)(6436002)(4326008)(52116002)(6506007)(86362001)(2201001)(478600001)(229853002)(53936002)(386003)(31696002)(6306002)(102836004)(186003)(68736007)(6512007)(8936002)(6246003); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0202MB2656; H:VI1PR0202MB2928.eurprd02.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: bitdefender.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: o/21EGGNd5U1T6ZAR4d/xfgeaQdREkl/Xr6iJFBfGzau1VizAGoh7W0jq9Q3x4odeFHZXJdr45i1BIwYt/uedfWqghoyGU1gRXEMkfGfBZwGEG7Wk9Y6/a2F4n9o0j5FKOyYPmXQue0jum9Dm/lNerOygaXzjsPPRw/yYGhRMtC+U7naD/RG43rGA9owm7TMg1X0J8wMHcdS7HjsgbmMQtzyzPo1fzLTb44dfJIQeH0TIEeskYhao/uNKPz7dSojCw0vZ3izWIadAHMxQVh4A/rYV1szyC1dOwzCmhggSUYtY+vHAtwT/G+tqggvztgA6RnMp5Q82rDiIxBuR0ZMVMaXzsw7mzAZvs3eyEakkwBSckms8Hr2PTMMFvcBQCiKiqJsUauyI5fMQZ4ERmHCyRO7sv/qvjIgUHD6CUhBZ6w= Content-ID: <5E1432F4C876DD46B80E1649CB8A56F7@eurprd02.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: bitdefender.com X-MS-Exchange-CrossTenant-Network-Message-Id: b00de5e3-4aea-4b3b-59ea-08d6f943a62e X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2019 08:03:46.8356 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 487baf29-f1da-469a-9221-243f830c36f3 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: aisaila@bbu.bitdefender.biz X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0202MB2656 Subject: Re: [Xen-devel] [PATCH v1] 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: "wl@xen.org" , "jbeulich@suse.com" , "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" QXJlIHRoZXJlIGFueSB0aG91Z2h0cyBvbiB0aGlzIHBhdGNoPw0KDQpUaGFua3MsDQpBbGV4DQoN Ck9uIDE4LjA2LjIwMTkgMTQ6NTQsIEFsZXhhbmRydSBTdGVmYW4gSVNBSUxBIHdyb3RlOg0KPiBB dCB0aGUgbW9tZW50IHRoZSBJT01NVSBmbGFncyBhcmUgbm90IHVzZWQgaW4gcDJtLXB0IGFuZCBj b3VsZCBiZSB1c2VkDQo+IG9uIG90aGVyIGFwcGxpY2F0aW9uLg0KPiANCj4gVGhpcyBwYXRjaCBh aW1zIHRvIGNsZWFuIHRoZSB1c2Ugb2YgSU9NTVUgZmxhZ3Mgb24gdGhlIEFNRCBwMm0gc2lkZS4N Cj4gDQo+IFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRydSBJc2FpbGEgPGFpc2FpbGFAYml0ZGVmZW5k ZXIuY29tPg0KPiBTdWdnZXN0ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0 cml4LmNvbT4NCj4gLS0tDQo+ICAgeGVuL2FyY2gveDg2L21tL3AybS1wdC5jIHwgODUgKystLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDgyIGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9tbS9wMm0tcHQuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYw0KPiBpbmRleCBj YWZjOWYyOTliLi5jZTZkN2NkZjliIDEwMDY0NA0KPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJt LXB0LmMNCj4gKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1wdC5jDQo+IEBAIC0yNCw3ICsyNCw2 IEBADQo+ICAgICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCj4gICAgKi8NCj4gICANCj4gLSNpbmNsdWRlIDx4ZW4v aW9tbXUuaD4NCj4gICAjaW5jbHVkZSA8eGVuL3ZtX2V2ZW50Lmg+DQo+ICAgI2luY2x1ZGUgPHhl bi9ldmVudC5oPg0KPiAgICNpbmNsdWRlIDx4ZW4vdHJhY2UuaD4NCj4gQEAgLTM2LDEzICszNSwx MiBAQA0KPiAgICNpbmNsdWRlIDxhc20vcDJtLmg+DQo+ICAgI2luY2x1ZGUgPGFzbS9tZW1fc2hh cmluZy5oPg0KPiAgICNpbmNsdWRlIDxhc20vaHZtL25lc3RlZGh2bS5oPg0KPiAtI2luY2x1ZGUg PGFzbS9odm0vc3ZtL2FtZC1pb21tdS1wcm90by5oPg0KPiAgIA0KPiAgICNpbmNsdWRlICJtbS1s b2Nrcy5oIg0KPiAgIA0KPiAgIC8qDQo+ICAgICogV2UgbWF5IHN0b3JlIElOVkFMSURfTUZOIGlu IFBURXMuICBXZSBuZWVkIHRvIGNsaXAgdGhpcyB0byBhdm9pZCB0cmFtcGxpbmcNCj4gLSAqIG92 ZXIgaGlnaGVyLW9yZGVyIGJpdHMgKE5YLCBwMm0gdHlwZSwgSU9NTVUgZmxhZ3MpLiAgV2Ugc2Vl bSB0byBub3QgbmVlZA0KPiArICogb3ZlciBoaWdoZXItb3JkZXIgYml0cyAoTlgsIHAybSB0eXBl KS4gIFdlIHNlZW0gdG8gbm90IG5lZWQNCj4gICAgKiB0byB1bmNsaXAgb24gdGhlIHJlYWQgcGF0 aCwgYXMgY2FsbGVycyBhcmUgY29uY2VybmVkIG9ubHkgd2l0aCBwMm0gdHlwZSBpbg0KPiAgICAq IHN1Y2ggY2FzZXMuDQo+ICAgICovDQo+IEBAIC0xNjUsMTYgKzE2Myw2IEBAIHAybV9mcmVlX2Vu dHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIGwxX3BnZW50cnlfdCAqcDJtX2VudHJ5LCBpbnQg cGFnZV9vcmRlcikNCj4gICAvLyBSZXR1cm5zIDAgb24gZXJyb3IuDQo+ICAgLy8NCj4gICANCj4g LS8qIEFNRCBJT01NVTogQ29udmVydCBuZXh0IGxldmVsIGJpdHMgYW5kIHIvdyBiaXRzIGludG8g MjQgYml0cyBwMm0gZmxhZ3MgKi8NCj4gLSNkZWZpbmUgaW9tbXVfbmxldmVsX3RvX2ZsYWdzKG5s LCBmKSAoKCgobmwpICYgMHg3KSA8PCA5ICl8KCgoZikgJiAweDMpIDw8IDIxKSkNCj4gLQ0KPiAt c3RhdGljIHZvaWQgcDJtX2FkZF9pb21tdV9mbGFncyhsMV9wZ2VudHJ5X3QgKnAybV9lbnRyeSwN Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5sZXZlbCwg dW5zaWduZWQgaW50IGZsYWdzKQ0KPiAtew0KPiAtICAgIGlmICggaW9tbXVfaGFwX3B0X3NoYXJl ICkNCj4gLSAgICAgICAgbDFlX2FkZF9mbGFncygqcDJtX2VudHJ5LCBpb21tdV9ubGV2ZWxfdG9f ZmxhZ3MobmxldmVsLCBmbGFncykpOw0KPiAtfQ0KPiAtDQo+ICAgLyogUmV0dXJuczogMCBmb3Ig c3VjY2VzcywgLWVycm5vIGZvciBmYWlsdXJlICovDQo+ICAgc3RhdGljIGludA0KPiAgIHAybV9u ZXh0X2xldmVsKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHZvaWQgKip0YWJsZSwNCj4gQEAgLTIw Myw3ICsxOTEsNiBAQCBwMm1fbmV4dF9sZXZlbChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB2b2lk ICoqdGFibGUsDQo+ICAgDQo+ICAgICAgICAgICBuZXdfZW50cnkgPSBsMWVfZnJvbV9tZm4obWZu LCBQMk1fQkFTRV9GTEFHUyB8IF9QQUdFX1JXKTsNCj4gICANCj4gLSAgICAgICAgcDJtX2FkZF9p b21tdV9mbGFncygmbmV3X2VudHJ5LCBsZXZlbCwgSU9NTVVGX3JlYWRhYmxlfElPTU1VRl93cml0 YWJsZSk7DQo+ICAgICAgICAgICByYyA9IHAybS0+d3JpdGVfcDJtX2VudHJ5KHAybSwgZ2ZuLCBw Mm1fZW50cnksIG5ld19lbnRyeSwgbGV2ZWwgKyAxKTsNCj4gICAgICAgICAgIGlmICggcmMgKQ0K PiAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7DQo+IEBAIC0yNDIsMTMgKzIyOSw2IEBAIHAybV9u ZXh0X2xldmVsKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHZvaWQgKip0YWJsZSwNCj4gICANCj4g ICAgICAgICAgIGwxX2VudHJ5ID0gbWFwX2RvbWFpbl9wYWdlKG1mbik7DQo+ICAgDQo+IC0gICAg ICAgIC8qIEluaGVyaXQgb3JpZ2luYWwgSU9NTVUgcGVybWlzc2lvbnMsIGJ1dCB1cGRhdGUgTmV4 dCBMZXZlbC4gKi8NCj4gLSAgICAgICAgaWYgKCBpb21tdV9oYXBfcHRfc2hhcmUgKQ0KPiAtICAg ICAgICB7DQo+IC0gICAgICAgICAgICBmbGFncyAmPSB+aW9tbXVfbmxldmVsX3RvX2ZsYWdzKH4w LCAwKTsNCj4gLSAgICAgICAgICAgIGZsYWdzIHw9IGlvbW11X25sZXZlbF90b19mbGFncyhsZXZl bCAtIDEsIDApOw0KPiAtICAgICAgICB9DQo+IC0NCj4gICAgICAgICAgIGZvciAoIGkgPSAwOyBp IDwgKDF1IDw8IFBBR0VUQUJMRV9PUkRFUik7IGkrKyApDQo+ICAgICAgICAgICB7DQo+ICAgICAg ICAgICAgICAgbmV3X2VudHJ5ID0gbDFlX2Zyb21fcGZuKHBmbiB8IChpIDw8ICgobGV2ZWwgLSAx KSAqIFBBR0VUQUJMRV9PUkRFUikpLA0KPiBAQCAtMjY0LDggKzI0NCw2IEBAIHAybV9uZXh0X2xl dmVsKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHZvaWQgKip0YWJsZSwNCj4gICAgICAgICAgIHVu bWFwX2RvbWFpbl9wYWdlKGwxX2VudHJ5KTsNCj4gICANCj4gICAgICAgICAgIG5ld19lbnRyeSA9 IGwxZV9mcm9tX21mbihtZm4sIFAyTV9CQVNFX0ZMQUdTIHwgX1BBR0VfUlcpOw0KPiAtICAgICAg ICBwMm1fYWRkX2lvbW11X2ZsYWdzKCZuZXdfZW50cnksIGxldmVsLA0KPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElPTU1VRl9yZWFkYWJsZXxJT01NVUZfd3JpdGFibGUpOw0KPiAgICAg ICAgICAgcmMgPSBwMm0tPndyaXRlX3AybV9lbnRyeShwMm0sIGdmbiwgcDJtX2VudHJ5LCBuZXdf ZW50cnksDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsICsgMSk7 DQo+ICAgICAgICAgICBpZiAoIHJjICkNCj4gQEAgLTQ3MCw5ICs0NDgsNiBAQCBzdGF0aWMgaW50 IGRvX3JlY2FsYyhzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbikNCj4g ICAgICAgICAgICAgICB9DQo+ICAgDQo+ICAgICAgICAgICAgICAgZSA9IGwxZV9mcm9tX3Bmbiht Zm4sIGZsYWdzKTsNCj4gLSAgICAgICAgICAgIHAybV9hZGRfaW9tbXVfZmxhZ3MoJmUsIGxldmVs LA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobnQgPT0gcDJtX3JhbV9ydykN Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBJT01NVUZfcmVhZGFibGV8SU9N TVVGX3dyaXRhYmxlIDogMCk7DQo+ICAgICAgICAgICAgICAgQVNTRVJUKCFuZWVkc19yZWNhbGMo bDEsIGUpKTsNCj4gICAgICAgICAgIH0NCj4gICAgICAgICAgIGVsc2UNCj4gQEAgLTU0MCwxOCAr NTE1LDcgQEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZm5fdCBn Zm5fLCBtZm5fdCBtZm4sDQo+ICAgICAgIGwyX3BnZW50cnlfdCBsMmVfY29udGVudDsNCj4gICAg ICAgbDNfcGdlbnRyeV90IGwzZV9jb250ZW50Ow0KPiAgICAgICBpbnQgcmM7DQo+IC0gICAgdW5z aWduZWQgaW50IGlvbW11X3B0ZV9mbGFncyA9IHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtdCwgbWZu KTsNCj4gLSAgICAvKg0KPiAtICAgICAqIG9sZF9tZm4gYW5kIGlvbW11X29sZF9mbGFncyBjb250 cm9sIHBvc3NpYmxlIGZsdXNoL3VwZGF0ZSBuZWVkcyBvbiB0aGUNCj4gLSAgICAgKiBJT01NVTog V2UgbmVlZCB0byBmbHVzaCB3aGVuIE1GTiBvciBmbGFncyAoaS5lLiBwZXJtaXNzaW9ucykgY2hh bmdlLg0KPiAtICAgICAqIGlvbW11X29sZF9mbGFncyBiZWluZyBpbml0aWFsaXplZCB0byB6ZXJv IGNvdmVycyB0aGUgY2FzZSBvZiB0aGUgZW50cnkNCj4gLSAgICAgKiBnZXR0aW5nIHJlcGxhY2Vk IGJlaW5nIGEgbm9uLXByZXNlbnQgKGxlYWYgb3IgaW50ZXJtZWRpYXRlKSBvbmUuIEZvcg0KPiAt ICAgICAqIHByZXNlbnQgbGVhZiBlbnRyaWVzIHRoZSByZWFsIHZhbHVlIHdpbGwgZ2V0IGNhbGN1 bGF0ZWQgYmVsb3csIHdoaWxlDQo+IC0gICAgICogZm9yIHByZXNlbnQgaW50ZXJtZWRpYXRlIGVu dHJpZXMgfjAgKGd1YXJhbnRlZWQgIT0gaW9tbXVfcHRlX2ZsYWdzKQ0KPiAtICAgICAqIHdpbGwg YmUgdXNlZCAodG8gY292ZXIgYWxsIGNhc2VzIG9mIHdoYXQgdGhlIGxlYWYgZW50cmllcyB1bmRl cm5lYXRoDQo+IC0gICAgICogdGhlIGludGVybWVkaWF0ZSBvbmUgbWlnaHQgYmUpLg0KPiAtICAg ICAqLw0KPiAtICAgIHVuc2lnbmVkIGludCBmbGFncywgaW9tbXVfb2xkX2ZsYWdzID0gMDsNCj4g KyAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7DQo+ICAgICAgIHVuc2lnbmVkIGxvbmcgb2xkX21mbiA9 IG1mbl94KElOVkFMSURfTUZOKTsNCj4gICANCj4gICAgICAgaWYgKCAhc3ZlICkNCj4gQEAgLTU5 OSwxNyArNTYzLDkgQEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBn Zm5fdCBnZm5fLCBtZm5fdCBtZm4sDQo+ICAgICAgICAgICBpZiAoIGZsYWdzICYgX1BBR0VfUFJF U0VOVCApDQo+ICAgICAgICAgICB7DQo+ICAgICAgICAgICAgICAgaWYgKCBmbGFncyAmIF9QQUdF X1BTRSApDQo+IC0gICAgICAgICAgICB7DQo+ICAgICAgICAgICAgICAgICAgIG9sZF9tZm4gPSBs MWVfZ2V0X3BmbigqcDJtX2VudHJ5KTsNCj4gLSAgICAgICAgICAgICAgICBpb21tdV9vbGRfZmxh Z3MgPQ0KPiAtICAgICAgICAgICAgICAgICAgICBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV9mbGFn c190b190eXBlKGZsYWdzKSwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBfbWZuKG9sZF9tZm4pKTsNCj4gLSAgICAgICAgICAgIH0NCj4gICAgICAgICAgICAgICBl bHNlDQo+IC0gICAgICAgICAgICB7DQo+IC0gICAgICAgICAgICAgICAgaW9tbXVfb2xkX2ZsYWdz ID0gfjA7DQo+ICAgICAgICAgICAgICAgICAgIGludGVybWVkaWF0ZV9lbnRyeSA9ICpwMm1fZW50 cnk7DQo+IC0gICAgICAgICAgICB9DQo+ICAgICAgICAgICB9DQo+ICAgDQo+ICAgICAgICAgICBj aGVja19lbnRyeShtZm4sIHAybXQsIHAybV9mbGFnc190b190eXBlKGZsYWdzKSwgcGFnZV9vcmRl cik7DQo+IEBAIC02MTksOSArNTc1LDYgQEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1Y3QgcDJtX2Rv bWFpbiAqcDJtLCBnZm5fdCBnZm5fLCBtZm5fdCBtZm4sDQo+ICAgICAgICAgICAgICAgOiBsM2Vf ZW1wdHkoKTsNCj4gICAgICAgICAgIGVudHJ5X2NvbnRlbnQubDEgPSBsM2VfY29udGVudC5sMzsN Cj4gICANCj4gLSAgICAgICAgaWYgKCBlbnRyeV9jb250ZW50LmwxICE9IDAgKQ0KPiAtICAgICAg ICAgICAgcDJtX2FkZF9pb21tdV9mbGFncygmZW50cnlfY29udGVudCwgMCwgaW9tbXVfcHRlX2Zs YWdzKTsNCj4gLQ0KPiAgICAgICAgICAgcmMgPSBwMm0tPndyaXRlX3AybV9lbnRyeShwMm0sIGdm biwgcDJtX2VudHJ5LCBlbnRyeV9jb250ZW50LCAzKTsNCj4gICAgICAgICAgIC8qIE5COiBwYWdp bmdfd3JpdGVfcDJtX2VudHJ5KCkgaGFuZGxlcyB0bGIgZmx1c2hlcyBwcm9wZXJseSAqLw0KPiAg ICAgICAgICAgaWYgKCByYyApDQo+IEBAIC02NDgsOSArNjAxLDYgQEAgcDJtX3B0X3NldF9lbnRy eShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZm5fdCBnZm5fLCBtZm5fdCBtZm4sDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBMMV9QQUdFVEFCTEVfRU5UUklFUyk7 DQo+ICAgICAgICAgICBBU1NFUlQocDJtX2VudHJ5KTsNCj4gICAgICAgICAgIG9sZF9tZm4gPSBs MWVfZ2V0X3BmbigqcDJtX2VudHJ5KTsNCj4gLSAgICAgICAgaW9tbXVfb2xkX2ZsYWdzID0NCj4g LSAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtX2ZsYWdzX3RvX3R5cGUobDFlX2dl dF9mbGFncygqcDJtX2VudHJ5KSksDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF9tZm4ob2xkX21mbikpOw0KPiAgIA0KPiAgICAgICAgICAgaWYgKCBtZm5fdmFsaWQobWZuKSB8 fCBwMm1fYWxsb3dzX2ludmFsaWRfbWZuKHAybXQpICkNCj4gICAgICAgICAgICAgICBlbnRyeV9j b250ZW50ID0gcDJtX2wxZV9mcm9tX3BmbihtZm5feChtZm4pLA0KPiBAQCAtNjU4LDkgKzYwOCw2 IEBAIHAybV9wdF9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwgZ2ZuX3QgZ2ZuXywg bWZuX3QgbWZuLA0KPiAgICAgICAgICAgZWxzZQ0KPiAgICAgICAgICAgICAgIGVudHJ5X2NvbnRl bnQgPSBsMWVfZW1wdHkoKTsNCj4gICANCj4gLSAgICAgICAgaWYgKCBlbnRyeV9jb250ZW50Lmwx ICE9IDAgKQ0KPiAtICAgICAgICAgICAgcDJtX2FkZF9pb21tdV9mbGFncygmZW50cnlfY29udGVu dCwgMCwgaW9tbXVfcHRlX2ZsYWdzKTsNCj4gLQ0KPiAgICAgICAgICAgLyogbGV2ZWwgMSBlbnRy eSAqLw0KPiAgICAgICAgICAgcmMgPSBwMm0tPndyaXRlX3AybV9lbnRyeShwMm0sIGdmbiwgcDJt X2VudHJ5LCBlbnRyeV9jb250ZW50LCAxKTsNCj4gICAgICAgICAgIC8qIE5COiBwYWdpbmdfd3Jp dGVfcDJtX2VudHJ5KCkgaGFuZGxlcyB0bGIgZmx1c2hlcyBwcm9wZXJseSAqLw0KPiBAQCAtNjc3 LDE3ICs2MjQsOSBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIGdm bl90IGdmbl8sIG1mbl90IG1mbiwNCj4gICAgICAgICAgIGlmICggZmxhZ3MgJiBfUEFHRV9QUkVT RU5UICkNCj4gICAgICAgICAgIHsNCj4gICAgICAgICAgICAgICBpZiAoIGZsYWdzICYgX1BBR0Vf UFNFICkNCj4gLSAgICAgICAgICAgIHsNCj4gICAgICAgICAgICAgICAgICAgb2xkX21mbiA9IGwx ZV9nZXRfcGZuKCpwMm1fZW50cnkpOw0KPiAtICAgICAgICAgICAgICAgIGlvbW11X29sZF9mbGFn cyA9DQo+IC0gICAgICAgICAgICAgICAgICAgIHAybV9nZXRfaW9tbXVfZmxhZ3MocDJtX2ZsYWdz X3RvX3R5cGUoZmxhZ3MpLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF9tZm4ob2xkX21mbikpOw0KPiAtICAgICAgICAgICAgfQ0KPiAgICAgICAgICAgICAgIGVs c2UNCj4gLSAgICAgICAgICAgIHsNCj4gLSAgICAgICAgICAgICAgICBpb21tdV9vbGRfZmxhZ3Mg PSB+MDsNCj4gICAgICAgICAgICAgICAgICAgaW50ZXJtZWRpYXRlX2VudHJ5ID0gKnAybV9lbnRy eTsNCj4gLSAgICAgICAgICAgIH0NCj4gICAgICAgICAgIH0NCj4gICANCj4gICAgICAgICAgIGNo ZWNrX2VudHJ5KG1mbiwgcDJtdCwgcDJtX2ZsYWdzX3RvX3R5cGUoZmxhZ3MpLCBwYWdlX29yZGVy KTsNCj4gQEAgLTY5Nyw5ICs2MzYsNiBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9t YWluICpwMm0sIGdmbl90IGdmbl8sIG1mbl90IG1mbiwNCj4gICAgICAgICAgICAgICA6IGwyZV9l bXB0eSgpOw0KPiAgICAgICAgICAgZW50cnlfY29udGVudC5sMSA9IGwyZV9jb250ZW50LmwyOw0K PiAgIA0KPiAtICAgICAgICBpZiAoIGVudHJ5X2NvbnRlbnQubDEgIT0gMCApDQo+IC0gICAgICAg ICAgICBwMm1fYWRkX2lvbW11X2ZsYWdzKCZlbnRyeV9jb250ZW50LCAwLCBpb21tdV9wdGVfZmxh Z3MpOw0KPiAtDQo+ICAgICAgICAgICByYyA9IHAybS0+d3JpdGVfcDJtX2VudHJ5KHAybSwgZ2Zu LCBwMm1fZW50cnksIGVudHJ5X2NvbnRlbnQsIDIpOw0KPiAgICAgICAgICAgLyogTkI6IHBhZ2lu Z193cml0ZV9wMm1fZW50cnkoKSBoYW5kbGVzIHRsYiBmbHVzaGVzIHByb3Blcmx5ICovDQo+ICAg ICAgICAgICBpZiAoIHJjICkNCj4gQEAgLTcxMSwyNCArNjQ3LDkgQEAgcDJtX3B0X3NldF9lbnRy eShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZm5fdCBnZm5fLCBtZm5fdCBtZm4sDQo+ICAgICAg ICAgICAgJiYgKGdmbiArICgxVUwgPDwgcGFnZV9vcmRlcikgLSAxID4gcDJtLT5tYXhfbWFwcGVk X3BmbikgKQ0KPiAgICAgICAgICAgcDJtLT5tYXhfbWFwcGVkX3BmbiA9IGdmbiArICgxVUwgPDwg cGFnZV9vcmRlcikgLSAxOw0KPiAgIA0KPiAtICAgIGlmICggaW9tbXVfZW5hYmxlZCAmJiAoaW9t bXVfb2xkX2ZsYWdzICE9IGlvbW11X3B0ZV9mbGFncyB8fA0KPiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgb2xkX21mbiAhPSBtZm5feChtZm4pKSApDQo+IC0gICAgew0KPiAtICAgICAgICBB U1NFUlQocmMgPT0gMCk7DQo+IC0NCj4gLSAgICAgICAgaWYgKCBuZWVkX2lvbW11X3B0X3N5bmMo cDJtLT5kb21haW4pICkNCj4gLSAgICAgICAgICAgIHJjID0gaW9tbXVfcHRlX2ZsYWdzID8NCj4g LSAgICAgICAgICAgICAgICBpb21tdV9sZWdhY3lfbWFwKGQsIF9kZm4oZ2ZuKSwgbWZuLCBwYWdl X29yZGVyLA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW9tbXVfcHRlX2Zs YWdzKSA6DQo+IC0gICAgICAgICAgICAgICAgaW9tbXVfbGVnYWN5X3VubWFwKGQsIF9kZm4oZ2Zu KSwgcGFnZV9vcmRlcik7DQo+IC0gICAgICAgIGVsc2UgaWYgKCBpb21tdV91c2VfaGFwX3B0KGQp ICYmIGlvbW11X29sZF9mbGFncyApDQo+IC0gICAgICAgICAgICBhbWRfaW9tbXVfZmx1c2hfcGFn ZXMocDJtLT5kb21haW4sIGdmbiwgcGFnZV9vcmRlcik7DQo+IC0gICAgfQ0KPiAtDQo+ICAgICAg IC8qDQo+ICAgICAgICAqIEZyZWUgb2xkIGludGVybWVkaWF0ZSB0YWJsZXMgaWYgbmVjZXNzYXJ5 LiAgVGhpcyBoYXMgdG8gYmUgdGhlDQo+IC0gICAgICogbGFzdCB0aGluZyB3ZSBkbywgYWZ0ZXIg cmVtb3ZhbCBmcm9tIHRoZSBJT01NVSB0YWJsZXMsIHNvIGFzIHRvDQo+IC0gICAgICogYXZvaWQg YSBwb3RlbnRpYWwgdXNlLWFmdGVyLWZyZWUuDQo+ICsgICAgICogbGFzdCB0aGluZyB3ZSBkbyBz byBhcyB0byBhdm9pZCBhIHBvdGVudGlhbCB1c2UtYWZ0ZXItZnJlZS4NCj4gICAgICAgICovDQo+ ICAgICAgIGlmICggbDFlX2dldF9mbGFncyhpbnRlcm1lZGlhdGVfZW50cnkpICYgX1BBR0VfUFJF U0VOVCApDQo+ICAgICAgICAgICBwMm1fZnJlZV9lbnRyeShwMm0sICZpbnRlcm1lZGlhdGVfZW50 cnksIHBhZ2Vfb3JkZXIpOw0KPiANCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnBy b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94 ZW4tZGV2ZWw=