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=-15.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 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 E4469C2B9F4 for ; Mon, 14 Jun 2021 10:32:09 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 8D667613FB for ; Mon, 14 Jun 2021 10:32:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8D667613FB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3E65C89B18; Mon, 14 Jun 2021 10:32:09 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 771DB89B18; Mon, 14 Jun 2021 10:32:08 +0000 (UTC) IronPort-SDR: c6xt2EFK1fYtFO/Nerbab6xu6aI70aO2GEsvtUcbyusBbVU5Vg8EZsjqS8wppqUX0y+hyp//8P xnPjoeNM21wg== X-IronPort-AV: E=McAfee;i="6200,9189,10014"; a="205607854" X-IronPort-AV: E=Sophos;i="5.83,273,1616482800"; d="scan'208";a="205607854" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jun 2021 03:32:07 -0700 IronPort-SDR: JdAzrst5is3mUIWXyftDBIBaBh53lCsF8n+VT5dC56sv+hIEQwSDBxVehP/Pw97Qc3PoBT4Stv LYXoe2CSfmPg== X-IronPort-AV: E=Sophos;i="5.83,273,1616482800"; d="scan'208";a="403849201" Received: from janlundk-mobl1.ger.corp.intel.com (HELO [10.249.254.32]) ([10.249.254.32]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jun 2021 03:32:05 -0700 To: Matthew Auld References: <20210614095230.126284-1-thomas.hellstrom@linux.intel.com> <20210614095230.126284-3-thomas.hellstrom@linux.intel.com> From: =?UTF-8?Q?Thomas_Hellstr=c3=b6m?= Message-ID: <3bfa6eda-ea69-d331-76c7-f8eb5de1ac20@linux.intel.com> Date: Mon, 14 Jun 2021 12:32:02 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH v3 2/4] drm/i915/ttm: Adjust gem flags and caching settings after a move X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Intel Graphics Development , Matthew Auld , ML dri-devel Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Ck9uIDYvMTQvMjEgMTI6MjAgUE0sIE1hdHRoZXcgQXVsZCB3cm90ZToKPiBPbiBNb24sIDE0IEp1 biAyMDIxIGF0IDEwOjUzLCBUaG9tYXMgSGVsbHN0csO2bQo+IDx0aG9tYXMuaGVsbHN0cm9tQGxp bnV4LmludGVsLmNvbT4gd3JvdGU6Cj4+IEFmdGVyIGEgVFRNIG1vdmUgb3Igb2JqZWN0IGluaXQg d2UgbmVlZCB0byB1cGRhdGUgdGhlIGk5MTUgZ2VtIGZsYWdzIGFuZAo+PiBjYWNoaW5nIHNldHRp bmdzIHRvIHJlZmxlY3QgdGhlIG5ldyBwbGFjZW1lbnQuIEN1cnJlbnRseSBjYWNoaW5nIHNldHRp bmdzCj4+IGFyZSBub3QgY2hhbmdlZCBkdXJpbmcgdGhlIGxpZmV0aW1lIG9mIGFuIG9iamVjdCwg YWx0aG91Z2ggdGhhdCBtaWdodAo+PiBjaGFuZ2UgbW92aW5nIGZvcndhcmQgaWYgd2UgcnVuIGlu dG8gcGVyZm9ybWFuY2UgaXNzdWVzIG9yIGlzc3VlcyB3aXRoCj4+IFdDIHN5c3RlbSBwYWdlIGFs bG9jYXRpb25zLgo+PiBBbHNvIGludHJvZHVjZSBncHVfYmluZHNfaW9tZW0oKSBhbmQgY3B1X21h cHNfaW9tZW0oKSB0byBjbGVhbiB1cCB0aGUKPj4gdmFyaW91cyB3YXlzIHdlIHByZXZpb3VzbHkg dXNlZCB0byBkZXRlY3QgdGhpcy4KPj4gRmluYWxseSwgaW5pdGlhbGl6ZSB0aGUgVFRNIG9iamVj dCByZXNlcnZlZCB0byBiZSBhYmxlIHRvIHVwZGF0ZQo+PiBmbGFncyBhbmQgY2FjaGluZyBiZWZv cmUgYW55b25lIGVsc2UgZ2V0cyBob2xkIG9mIHRoZSBvYmplY3QuCj4+Cj4+IFNpZ25lZC1vZmYt Ynk6IFRob21hcyBIZWxsc3Ryw7ZtIDx0aG9tYXMuaGVsbHN0cm9tQGxpbnV4LmludGVsLmNvbT4K Pj4gLS0tCj4+IHYyOgo+PiAtIFN0eWxlIGZpeGVzIChSZXBvcnRlZCBieSBNYXR0aGV3IEF1bGQp Cj4+IHYzOgo+PiAtIE1vcmUgc3R5bGUgZml4ZXMuIENsYXJpZnkgd2h5IHdlJ3JlIHVwZGF0aW5n IGNhY2hpbmcgc2V0dGluZ3MgYWZ0ZXIgbW92ZS4KPj4gICAgKFN1Z2dlc3RlZCBieSBNYXR0aGV3 IEF1bGQpCj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV90dG0u YyB8IDExMSArKysrKysrKysrKysrKysrKysrLS0tLS0KPj4gICAxIGZpbGUgY2hhbmdlZCwgODkg aW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fdHRtLmMKPj4gaW5kZXggMzNhYjQ3ZjFlMDViLi41MTc2NjgyYTdkMTkgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV90dG0uYwo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fdHRtLmMKPj4gQEAgLTcwLDYg KzcwLDE3IEBAIHN0YXRpYyBzdHJ1Y3QgdHRtX3BsYWNlbWVudCBpOTE1X3N5c19wbGFjZW1lbnQg PSB7Cj4+ICAgICAgICAgIC5idXN5X3BsYWNlbWVudCA9ICZsbWVtMF9zeXNfcGxhY2VtZW50X2Zs YWdzWzFdLAo+PiAgIH07Cj4+Cj4+ICtzdGF0aWMgYm9vbCBncHVfYmluZHNfaW9tZW0oc3RydWN0 IHR0bV9yZXNvdXJjZSAqbWVtKQo+PiArewo+PiArICAgICAgIHJldHVybiBtZW0tPm1lbV90eXBl ICE9IFRUTV9QTF9TWVNURU07Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBib29sIGNwdV9tYXBzX2lv bWVtKHN0cnVjdCB0dG1fcmVzb3VyY2UgKm1lbSkKPj4gK3sKPj4gKyAgICAgICAvKiBPbmNlIC8g aWYgd2Ugc3VwcG9ydCBHR1RULCB0aGlzIGlzIGFsc28gZmFsc2UgZm9yIGNhY2hlZCB0dG1fdHRz ICovCj4+ICsgICAgICAgcmV0dXJuIG1lbS0+bWVtX3R5cGUgIT0gVFRNX1BMX1NZU1RFTTsKPj4g K30KPj4gKwo+PiAgIHN0YXRpYyB2b2lkIGk5MTVfdHRtX2FkanVzdF9scnUoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaik7Cj4+Cj4+ICAgc3RhdGljIHN0cnVjdCB0dG1fdHQgKmk5MTVf dHRtX3R0X2NyZWF0ZShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+PiBAQCAtMTc1LDYg KzE4Niw0MCBAQCBzdGF0aWMgdm9pZCBpOTE1X3R0bV9mcmVlX2NhY2hlZF9pb19zdChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+PiAgICAgICAgICBvYmotPnR0bS5jYWNoZWRfaW9f c3QgPSBOVUxMOwo+PiAgIH0KPj4KPj4gK3N0YXRpYyB2b2lkCj4+ICtpOTE1X3R0bV9hZGp1c3Rf ZG9tYWluc19hZnRlcl9jcHVfbW92ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ PiArewo+PiArICAgICAgIHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8gPSBpOTE1X2dlbV90 b190dG0ob2JqKTsKPj4gKwo+PiArICAgICAgIGlmIChjcHVfbWFwc19pb21lbShiby0+cmVzb3Vy Y2UpIHx8IGJvLT50dG0tPmNhY2hpbmcgIT0gdHRtX2NhY2hlZCkgewo+PiArICAgICAgICAgICAg ICAgb2JqLT53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fV0M7Cj4+ICsgICAgICAgICAg ICAgICBvYmotPnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9XQzsKPj4gKyAgICAgICB9 IGVsc2Ugewo+PiArICAgICAgICAgICAgICAgb2JqLT53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9E T01BSU5fQ1BVOwo+PiArICAgICAgICAgICAgICAgb2JqLT5yZWFkX2RvbWFpbnMgPSBJOTE1X0dF TV9ET01BSU5fQ1BVOwo+PiArICAgICAgIH0KPj4gK30KPj4gKwo+PiArc3RhdGljIHZvaWQgaTkx NV90dG1fYWRqdXN0X2dlbV9hZnRlcl9tb3ZlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmopCj4+ICt7Cj4+ICsgICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19p OTE1KG9iai0+YmFzZS5kZXYpOwo+PiArICAgICAgIHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAq Ym8gPSBpOTE1X2dlbV90b190dG0ob2JqKTsKPj4gKyAgICAgICB1bnNpZ25lZCBpbnQgY2FjaGVf bGV2ZWw7Cj4+ICsKPj4gKyAgICAgICBvYmotPm1lbV9mbGFncyAmPSB+KEk5MTVfQk9fRkxBR19T VFJVQ1RfUEFHRSB8IEk5MTVfQk9fRkxBR19JT01FTSk7Cj4+ICsKPj4gKyAgICAgICBvYmotPm1l bV9mbGFncyB8PSBjcHVfbWFwc19pb21lbShiby0+cmVzb3VyY2UpID8gSTkxNV9CT19GTEFHX0lP TUVNIDoKPj4gKyAgICAgICAgICAgICAgIEk5MTVfQk9fRkxBR19TVFJVQ1RfUEFHRTsKPj4gKwo+ PiArICAgICAgIGlmICgoSEFTX0xMQyhpOTE1KSB8fCBIQVNfU05PT1AoaTkxNSkpICYmICFncHVf YmluZHNfaW9tZW0oYm8tPnJlc291cmNlKSAmJgo+PiArICAgICAgICAgICBiby0+dHRtLT5jYWNo aW5nID09IHR0bV9jYWNoZWQpCj4+ICsgICAgICAgICAgICAgICBjYWNoZV9sZXZlbCA9IEk5MTVf Q0FDSEVfTExDOwo+PiArICAgICAgIGVsc2UKPj4gKyAgICAgICAgICAgICAgIGNhY2hlX2xldmVs ID0gSTkxNV9DQUNIRV9OT05FOwo+PiArCj4+ICsgICAgICAgaTkxNV9nZW1fb2JqZWN0X3NldF9j YWNoZV9jb2hlcmVuY3kob2JqLCBjYWNoZV9sZXZlbCk7Cj4+ICt9Cj4+ICsKPj4gICBzdGF0aWMg dm9pZCBpOTE1X3R0bV9wdXJnZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+PiAg IHsKPj4gICAgICAgICAgc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibyA9IGk5MTVfZ2VtX3Rv X3R0bShvYmopOwo+PiBAQCAtMTkwLDggKzIzNSwxMCBAQCBzdGF0aWMgdm9pZCBpOTE1X3R0bV9w dXJnZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+Pgo+PiAgICAgICAgICAvKiBU VE0ncyBwdXJnZSBpbnRlcmZhY2UuIE5vdGUgdGhhdCB3ZSBtaWdodCBiZSByZWVudGVyaW5nLiAq Lwo+PiAgICAgICAgICByZXQgPSB0dG1fYm9fdmFsaWRhdGUoYm8sICZwbGFjZSwgJmN0eCk7Cj4+ IC0KPj4gICAgICAgICAgaWYgKCFyZXQpIHsKPj4gKyAgICAgICAgICAgICAgIG9iai0+d3JpdGVf ZG9tYWluID0gMDsKPj4gKyAgICAgICAgICAgICAgIG9iai0+cmVhZF9kb21haW5zID0gMDsKPj4g KyAgICAgICAgICAgICAgIGk5MTVfdHRtX2FkanVzdF9nZW1fYWZ0ZXJfbW92ZShvYmopOwo+PiAg ICAgICAgICAgICAgICAgIGk5MTVfdHRtX2ZyZWVfY2FjaGVkX2lvX3N0KG9iaik7Cj4+ICAgICAg ICAgICAgICAgICAgb2JqLT5tbS5tYWR2ID0gX19JOTE1X01BRFZfUFVSR0VEOwo+PiAgICAgICAg ICB9Cj4+IEBAIC0yNzMsMTIgKzMyMCwxNSBAQCBpOTE1X3R0bV9yZXNvdXJjZV9nZXRfc3Qoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPj4gICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgdHRtX3Jlc291cmNlICpyZXMpCj4+ICAgewo+PiAgICAgICAgICBzdHJ1Y3QgdHRt X2J1ZmZlcl9vYmplY3QgKmJvID0gaTkxNV9nZW1fdG9fdHRtKG9iaik7Cj4+IC0gICAgICAgc3Ry dWN0IHR0bV9yZXNvdXJjZV9tYW5hZ2VyICptYW4gPQo+PiAtICAgICAgICAgICAgICAgdHRtX21h bmFnZXJfdHlwZShiby0+YmRldiwgcmVzLT5tZW1fdHlwZSk7Cj4+Cj4+IC0gICAgICAgaWYgKG1h bi0+dXNlX3R0KQo+PiArICAgICAgIGlmICghZ3B1X2JpbmRzX2lvbWVtKHJlcykpCj4+ICAgICAg ICAgICAgICAgICAgcmV0dXJuIGk5MTVfdHRtX3R0X2dldF9zdChiby0+dHRtKTsKPj4KPj4gKyAg ICAgICAvKgo+PiArICAgICAgICAqIElmIENQVSBtYXBwaW5nIGRpZmZlcnMsIHdlIG5lZWQgdG8g YWRkIHRoZSB0dG1fdHQgcGFnZXMgdG8KPj4gKyAgICAgICAgKiB0aGUgcmVzdWx0aW5nIHN0LiBN aWdodCBtYWtlIHNlbnNlIGZvciBHR1RULgo+PiArICAgICAgICAqLwo+PiArICAgICAgIEdFTV9X QVJOX09OKCFjcHVfbWFwc19pb21lbShyZXMpKTsKPj4gICAgICAgICAgcmV0dXJuIGludGVsX3Jl Z2lvbl90dG1fbm9kZV90b19zdChvYmotPm1tLnJlZ2lvbiwgcmVzKTsKPj4gICB9Cj4+Cj4+IEBA IC0yOTAsOCArMzQwLDYgQEAgc3RhdGljIGludCBpOTE1X3R0bV9tb3ZlKHN0cnVjdCB0dG1fYnVm ZmVyX29iamVjdCAqYm8sIGJvb2wgZXZpY3QsCj4+ICAgICAgICAgIHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmogPSBpOTE1X3R0bV90b19nZW0oYm8pOwo+PiAgICAgICAgICBzdHJ1Y3Qg dHRtX3Jlc291cmNlX21hbmFnZXIgKmRzdF9tYW4gPQo+PiAgICAgICAgICAgICAgICAgIHR0bV9t YW5hZ2VyX3R5cGUoYm8tPmJkZXYsIGRzdF9tZW0tPm1lbV90eXBlKTsKPj4gLSAgICAgICBzdHJ1 Y3QgdHRtX3Jlc291cmNlX21hbmFnZXIgKnNyY19tYW4gPQo+PiAtICAgICAgICAgICAgICAgdHRt X21hbmFnZXJfdHlwZShiby0+YmRldiwgYm8tPnJlc291cmNlLT5tZW1fdHlwZSk7Cj4+ICAgICAg ICAgIHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICpkc3RfcmVnLCAqc3JjX3JlZzsKPj4gICAg ICAgICAgdW5pb24gewo+PiAgICAgICAgICAgICAgICAgIHN0cnVjdCB0dG1fa21hcF9pdGVyX3R0 IHR0Owo+PiBAQCAtMzMyLDM0ICszODAsMzYgQEAgc3RhdGljIGludCBpOTE1X3R0bV9tb3ZlKHN0 cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sIGJvb2wgZXZpY3QsCj4+ICAgICAgICAgIGlmIChJ U19FUlIoZHN0X3N0KSkKPj4gICAgICAgICAgICAgICAgICByZXR1cm4gUFRSX0VSUihkc3Rfc3Qp Owo+Pgo+PiAtICAgICAgIC8qIElmIHdlIHN0YXJ0IG1hcHBpbmcgR0dUVCwgd2UgY2FuIG5vIGxv bmdlciB1c2UgbWFuOjp1c2VfdHQgaGVyZS4gKi8KPj4gLSAgICAgICBkc3RfaXRlciA9IGRzdF9t YW4tPnVzZV90dCA/Cj4+ICsgICAgICAgZHN0X2l0ZXIgPSAhY3B1X21hcHNfaW9tZW0oZHN0X21l bSkgPwo+PiAgICAgICAgICAgICAgICAgIHR0bV9rbWFwX2l0ZXJfdHRfaW5pdCgmX2RzdF9pdGVy LnR0LCBiby0+dHRtKSA6Cj4+ICAgICAgICAgICAgICAgICAgdHRtX2ttYXBfaXRlcl9pb21hcF9p bml0KCZfZHN0X2l0ZXIuaW8sICZkc3RfcmVnLT5pb21hcCwKPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZHN0X3N0LCBkc3RfcmVnLT5yZWdpb24uc3RhcnQpOwo+ Pgo+PiAtICAgICAgIHNyY19pdGVyID0gc3JjX21hbi0+dXNlX3R0ID8KPj4gKyAgICAgICBzcmNf aXRlciA9ICFjcHVfbWFwc19pb21lbShiby0+cmVzb3VyY2UpID8KPj4gICAgICAgICAgICAgICAg ICB0dG1fa21hcF9pdGVyX3R0X2luaXQoJl9zcmNfaXRlci50dCwgYm8tPnR0bSkgOgo+PiAgICAg ICAgICAgICAgICAgIHR0bV9rbWFwX2l0ZXJfaW9tYXBfaW5pdCgmX3NyY19pdGVyLmlvLCAmc3Jj X3JlZy0+aW9tYXAsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9iai0+dHRtLmNhY2hlZF9pb19zdCwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3JjX3JlZy0+cmVnaW9uLnN0YXJ0KTsKPj4KPj4gICAgICAgICAgdHRtX21v dmVfbWVtY3B5KGJvLCBkc3RfbWVtLT5udW1fcGFnZXMsIGRzdF9pdGVyLCBzcmNfaXRlcik7Cj4+ ICsgICAgICAgLyogQmVsb3cgZHN0X21lbSBiZWNvbWVzIGJvLT5yZXNvdXJjZS4gKi8KPj4gICAg ICAgICAgdHRtX2JvX21vdmVfc3luY19jbGVhbnVwKGJvLCBkc3RfbWVtKTsKPj4gKyAgICAgICBp OTE1X3R0bV9hZGp1c3RfZG9tYWluc19hZnRlcl9jcHVfbW92ZShvYmopOwo+PiAgICAgICAgICBp OTE1X3R0bV9mcmVlX2NhY2hlZF9pb19zdChvYmopOwo+Pgo+PiAtICAgICAgIGlmICghZHN0X21h bi0+dXNlX3R0KSB7Cj4+ICsgICAgICAgaWYgKGdwdV9iaW5kc19pb21lbShkc3RfbWVtKSB8fCBj cHVfbWFwc19pb21lbShkc3RfbWVtKSkgewo+PiAgICAgICAgICAgICAgICAgIG9iai0+dHRtLmNh Y2hlZF9pb19zdCA9IGRzdF9zdDsKPj4gICAgICAgICAgICAgICAgICBvYmotPnR0bS5nZXRfaW9f cGFnZS5zZ19wb3MgPSBkc3Rfc3QtPnNnbDsKPj4gICAgICAgICAgICAgICAgICBvYmotPnR0bS5n ZXRfaW9fcGFnZS5zZ19pZHggPSAwOwo+PiAgICAgICAgICB9Cj4+Cj4+ICsgICAgICAgaTkxNV90 dG1fYWRqdXN0X2dlbV9hZnRlcl9tb3ZlKG9iaik7Cj4+ICAgICAgICAgIHJldHVybiAwOwo+PiAg IH0KPj4KPj4gICBzdGF0aWMgaW50IGk5MTVfdHRtX2lvX21lbV9yZXNlcnZlKHN0cnVjdCB0dG1f ZGV2aWNlICpiZGV2LCBzdHJ1Y3QgdHRtX3Jlc291cmNlICptZW0pCj4+ICAgewo+PiAtICAgICAg IGlmIChtZW0tPm1lbV90eXBlIDwgSTkxNV9QTF9MTUVNMCkKPj4gKyAgICAgICBpZiAoIWNwdV9t YXBzX2lvbWVtKG1lbSkpCj4+ICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4+Cj4+ICAgICAg ICAgIG1lbS0+YnVzLmNhY2hpbmcgPSB0dG1fd3JpdGVfY29tYmluZWQ7Cj4+IEBAIC00MjEsNiAr NDcxLDE2IEBAIHN0YXRpYyBpbnQgaTkxNV90dG1fZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCj4+ICAgICAgICAgIGlmIChyZXQpCj4+ICAgICAgICAgICAgICAgICAg cmV0dXJuIHJldCA9PSAtRU5PU1BDID8gLUVOWElPIDogcmV0Owo+Pgo+PiArICAgICAgIGk5MTVf dHRtX2FkanVzdF9scnUob2JqKTsKPj4gKyAgICAgICBpZiAoYm8tPnR0bSAmJiAhdHRtX3R0X2lz X3BvcHVsYXRlZChiby0+dHRtKSkgewo+PiArICAgICAgICAgICAgICAgcmV0ID0gdHRtX3R0X3Bv cHVsYXRlKGJvLT5iZGV2LCBiby0+dHRtLCAmY3R4KTsKPj4gKyAgICAgICAgICAgICAgIGlmIChy ZXQpCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+ICsKPj4gKyAgICAg ICAgICAgICAgIGk5MTVfdHRtX2FkanVzdF9kb21haW5zX2FmdGVyX2NwdV9tb3ZlKG9iaik7Cj4+ ICsgICAgICAgICAgICAgICBpOTE1X3R0bV9hZGp1c3RfZ2VtX2FmdGVyX21vdmUob2JqKTsKPj4g KyAgICAgICB9Cj4+ICsKPj4gICAgICAgICAgLyogT2JqZWN0IGVpdGhlciBoYXMgYSBwYWdlIHZl Y3RvciBvciBpcyBhbiBpb21lbSBvYmplY3QgKi8KPj4gICAgICAgICAgc3QgPSBiby0+dHRtID8g aTkxNV90dG1fdHRfZ2V0X3N0KGJvLT50dG0pIDogb2JqLT50dG0uY2FjaGVkX2lvX3N0Owo+PiAg ICAgICAgICBpZiAoSVNfRVJSKHN0KSkKPj4gQEAgLTQyOCw4ICs0ODgsNiBAQCBzdGF0aWMgaW50 IGk5MTVfdHRtX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+Pgo+ PiAgICAgICAgICBfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBzdCwgaTkxNV9zZ19k bWFfc2l6ZXMoc3QtPnNnbCkpOwo+Pgo+PiAtICAgICAgIGk5MTVfdHRtX2FkanVzdF9scnUob2Jq KTsKPj4gLQo+PiAgICAgICAgICByZXR1cm4gcmV0Owo+PiAgIH0KPj4KPj4gQEAgLTU2Myw2ICs2 MjEsNyBAQCBzdGF0aWMgdTY0IGk5MTVfdHRtX21tYXBfb2Zmc2V0KHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCj4+Cj4+ICAgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rf b3BzIGk5MTVfZ2VtX3R0bV9vYmpfb3BzID0gewo+PiAgICAgICAgICAubmFtZSA9ICJpOTE1X2dl bV9vYmplY3RfdHRtIiwKPj4gKyAgICAgICAuZmxhZ3MgPSBJOTE1X0dFTV9PQkpFQ1RfSVNfU0hS SU5LQUJMRSwKPiBXZSBzZXQgaXNfc2hyaW5rYWJsZSBmb3IgYm90aCBsbWVtIGFuZCBzbWVtPyBE b2VzIHRoZSBjdXJyZW50IHNocmlua2VyCj4gd29yayB3aXRoICFzaG1lbT8gSSBhc3N1bWUgdGhl IHB1dF9wYWdlcygpIHdpbGwganVzdCBkaXNjYXJkIHRoZSBwYWdlCj4gY29udGVudHMsIHdoaWNo IGlzIG5vdCB3aGF0IHdlIHdhbnQ/IE1heWJlIGtlZXAgdGhpcyBkaXNhYmxlZCBmb3Igbm93Pwo+ IE9yIGFtIEkgbWlzc2luZyBzb21ldGhpbmc/CgpUaGlzIGlzIHRvIGluZGljYXRlIHRvIHRoZSBn ZW0gc2hyaW5rZXIgdGhhdCB3ZSB3YW50IHRvIGJlIGFibGUgdG8gCmRldGVybWluZSBkeW5hbWlj YWxseSB3aGV0aGVyIHRoZSBvYmplY3QgaXMgc2hyaW5rYWJsZSAoYnkgdGhlIGdlbSAKc2hyaW5r ZXIpIG9yIG5vdC4gKFNlZSBiZWxvdykuIEl0J3MgaW50ZW5kZWQgZm9yIHRoZSBzaXR1YXRpb24g d2hlcmUgd2UgCm1pZ2h0IHdhbnQgdG8gdXNlIHNobWVtIHRvIGJhY2sgY2FjaGVkLW9ubHkgdHRt IG9iamVjdHMsIGFuZCB1c2Ugb3VyIG93biAKc2hyaW5rZXIuCgpCdXQgaWYgeW91IHRoaW5rIGl0 J3MgYmV0dGVyLCB3ZSBjb3VsZCBmbGlwIHRoYXQgb3BzIGZsYWcgb25jZSB3ZSAKYWN0dWFsbHkg aGF2ZSBhbnl0aGluZyBzaHJpbmthYmxlIGluIHBsYWNlLiBMZXQgbWUga25vdyB3aGF0IHlvdSB0 aGluay4gClRoZSBUVE0gc2htZW0gcG9vbCBpZGVhIGJlY29tZXMgYSBiaXQgZG91YnRmdWwgYnkg dGhlIGZhY3QgdGhhdCAKYWxsb2NhdGluZyBzb21lIDhHQiBvZiBzeXN0ZW0gb2JqZWN0cywgcG9w dWxhdGluZyBhbmQgY2xlYXJpbmcgdGhlbSAKYXBwZWFycyB0byBiZSBzb21lIDZYIGZhc3RlciB3 aXRoIGEgc3RyYWlnaHRmb3J3YXJkIGFsbG9jIGFwcHJvYWNoIChsaWtlIApUVE0gb3IgdGhlICJp bnRlcm5hbCIgYmFja2VuZCkgdGhhbiB3aXRoIHNobWVtLi4uCgo+PiAgICAgICAgICAuZ2V0X3Bh Z2VzID0gaTkxNV90dG1fZ2V0X3BhZ2VzLAo+PiAgICAgICAgICAucHV0X3BhZ2VzID0gaTkxNV90 dG1fcHV0X3BhZ2VzLAo+PiBAQCAtNTk5LDYgKzY1OCwxMCBAQCBpbnQgX19pOTE1X2dlbV90dG1f b2JqZWN0X2luaXQoc3RydWN0IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKPj4gICB7Cj4+ICAg ICAgICAgIHN0YXRpYyBzdHJ1Y3QgbG9ja19jbGFzc19rZXkgbG9ja19jbGFzczsKPj4gICAgICAg ICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBtZW0tPmk5MTU7Cj4+ICsgICAgICAg c3RydWN0IHR0bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsKPj4gKyAgICAgICAgICAgICAgIC5pbnRl cnJ1cHRpYmxlID0gdHJ1ZSwKPj4gKyAgICAgICAgICAgICAgIC5ub193YWl0X2dwdSA9IGZhbHNl LAo+PiArICAgICAgIH07Cj4+ICAgICAgICAgIGVudW0gdHRtX2JvX3R5cGUgYm9fdHlwZTsKPj4g ICAgICAgICAgc2l6ZV90IGFsaWdubWVudCA9IDA7Cj4+ICAgICAgICAgIGludCByZXQ7Cj4+IEBA IC02MTgsMTUgKzY4MSwxNCBAQCBpbnQgX19pOTE1X2dlbV90dG1fb2JqZWN0X2luaXQoc3RydWN0 IGludGVsX21lbW9yeV9yZWdpb24gKm1lbSwKPj4gICAgICAgICAgaTkxNV9nZW1fb2JqZWN0X2lu aXQob2JqLCAmaTkxNV9nZW1fdHRtX29ial9vcHMsICZsb2NrX2NsYXNzLCBmbGFncyk7Cj4+ICAg ICAgICAgIGk5MTVfZ2VtX29iamVjdF9pbml0X21lbW9yeV9yZWdpb24ob2JqLCBtZW0pOwo+PiAg ICAgICAgICBpOTE1X2dlbV9vYmplY3RfbWFrZV91bnNocmlua2FibGUob2JqKTsKCkhlcmUgd2Ug c2V0IHRoZSBvYmplY3QgdG8gdW5zaHJpbmthYmxlLgoKL1Rob21hcwoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=