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.3 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 457EEC2B9F4 for ; Mon, 28 Jun 2021 15:52:40 +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 101C4619BE for ; Mon, 28 Jun 2021 15:52:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 101C4619BE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=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 281626E4AF; Mon, 28 Jun 2021 15:52:36 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 129366E4A5; Mon, 28 Jun 2021 15:52:34 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10029"; a="271839011" X-IronPort-AV: E=Sophos;i="5.83,306,1616482800"; d="scan'208";a="271839011" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2021 08:51:46 -0700 X-IronPort-AV: E=Sophos;i="5.83,306,1616482800"; d="scan'208";a="419214738" Received: from vipulcha-mobl.ger.corp.intel.com (HELO [10.213.225.54]) ([10.213.225.54]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2021 08:51:44 -0700 To: =?UTF-8?Q?Thomas_Hellstr=c3=b6m?= , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20210628144626.76126-1-thomas.hellstrom@linux.intel.com> <20210628144626.76126-3-thomas.hellstrom@linux.intel.com> From: Matthew Auld Message-ID: Date: Mon, 28 Jun 2021 16:51:42 +0100 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: <20210628144626.76126-3-thomas.hellstrom@linux.intel.com> Content-Language: en-GB Subject: Re: [Intel-gfx] [PATCH v3 2/5] drm/i915/gem: Introduce a selftest for the gem object migrate functionality 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: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gMjgvMDYvMjAyMSAxNTo0NiwgVGhvbWFzIEhlbGxzdHLDtm0gd3JvdGU6Cj4gRnJvbTogTWF0 dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgo+IAo+IEEgc2VsZnRlc3QgZm9yIHRo ZSBnZW0gb2JqZWN0IG1pZ3JhdGUgZnVuY3Rpb25hbGl0eS4gU2xpZ2h0bHkgYWRhcHRlZAo+IGZy b20gdGhlIG9yaWdpbmFsIGJ5IE1hdHRoZXcgdG8gdGhlIG5ldyBpbnRlcmZhY2UgYW5kIG5ldyBm aWxsIGJsaXQKPiBjb2RlLgo+IAo+IENvLWRldmVsb3BlZC1ieTogVGhvbWFzIEhlbGxzdHLDtm0g PHRob21hcy5oZWxsc3Ryb21AbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFRob21h cyBIZWxsc3Ryw7ZtIDx0aG9tYXMuaGVsbHN0cm9tQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQt b2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+Cj4gLS0tCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMgICAgfCAgIDEgKwo+ICAg Li4uL2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fbWlncmF0ZS5jIHwgMjM3ICsrKysr KysrKysrKysrKysrKwo+ICAgLi4uL2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xpdmVfc2VsZnRl c3RzLmggIHwgICAxICsKPiAgIDMgZmlsZXMgY2hhbmdlZCwgMjM5IGluc2VydGlvbnMoKykKPiAg IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5 MTVfZ2VtX21pZ3JhdGUuYwo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f b2JqZWN0LmMKPiBpbmRleCAxYzE4YmUwNjdiNTguLmZmMTQ3ZmQ1OTg3NCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmMKPiBAQCAtNjQ5LDYgKzY0OSw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3RfZnVuY3MgaTkxNV9nZW1fb2Jq ZWN0X2Z1bmNzID0gewo+ICAgI2lmIElTX0VOQUJMRUQoQ09ORklHX0RSTV9JOTE1X1NFTEZURVNU KQo+ICAgI2luY2x1ZGUgInNlbGZ0ZXN0cy9odWdlX2dlbV9vYmplY3QuYyIKPiAgICNpbmNsdWRl ICJzZWxmdGVzdHMvaHVnZV9wYWdlcy5jIgo+ICsjaW5jbHVkZSAic2VsZnRlc3RzL2k5MTVfZ2Vt X21pZ3JhdGUuYyIKPiAgICNpbmNsdWRlICJzZWxmdGVzdHMvaTkxNV9nZW1fb2JqZWN0LmMiCj4g ICAjaW5jbHVkZSAic2VsZnRlc3RzL2k5MTVfZ2VtX2NvaGVyZW5jeS5jIgo+ICAgI2VuZGlmCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1f bWlncmF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9t aWdyYXRlLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uYTQz N2I2NmY2NGQ5Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9zZWxmdGVzdHMvaTkxNV9nZW1fbWlncmF0ZS5jCj4gQEAgLTAsMCArMSwyMzcgQEAKPiArLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQgwqkgMjAy MC0yMDIxIEludGVsIENvcnBvcmF0aW9uCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgImd0L2ludGVs X21pZ3JhdGUuaCIKPiArCj4gK3N0YXRpYyBpbnQgaWd0X3NtZW1fY3JlYXRlX21pZ3JhdGUodm9p ZCAqYXJnKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZ3QgKmd0ID0gYXJnOwo+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndC0+aTkxNTsKPiArCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmo7Cj4gKwlzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4IHd3Owo+ICsJaW50IGVyciA9 IDA7Cj4gKwo+ICsJLyogU3dpdGNoIG9iamVjdCBiYWNraW5nLXN0b3JlIG9uIGNyZWF0ZSAqLwo+ ICsJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9sbWVtKGk5MTUsIFBBR0VfU0laRSwgMCk7 Cj4gKwlpZiAoSVNfRVJSKG9iaikpCj4gKwkJcmV0dXJuIFBUUl9FUlIob2JqKTsKPiArCj4gKwlm b3JfaTkxNV9nZW1fd3coJnd3LCBlcnIsIHRydWUpIHsKPiArCQllcnIgPSBpOTE1X2dlbV9vYmpl Y3RfbG9jayhvYmosICZ3dyk7Cj4gKwkJaWYgKGVycikKPiArCQkJY29udGludWU7Cj4gKwo+ICsJ CWlmICghaTkxNV9nZW1fb2JqZWN0X2Nhbl9taWdyYXRlKG9iaiwgSU5URUxfUkVHSU9OX1NNRU0p KSB7Cj4gKwkJCWVyciA9IC1FSU5WQUw7Cj4gKwkJCWNvbnRpbnVlOwo+ICsJCX0KPiArCj4gKwkJ ZXJyID0gaTkxNV9nZW1fb2JqZWN0X21pZ3JhdGUob2JqLCAmd3csIElOVEVMX1JFR0lPTl9TTUVN KTsKPiArCQlpZiAoZXJyKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJZXJyID0gaTkxNV9nZW1f b2JqZWN0X3Bpbl9wYWdlcyhvYmopOwo+ICsJCWlmIChlcnIpCj4gKwkJCWNvbnRpbnVlOwo+ICsK PiArCQlpZiAoaTkxNV9nZW1fb2JqZWN0X2Nhbl9taWdyYXRlKG9iaiwgSU5URUxfUkVHSU9OX0xN RU0pKQo+ICsJCQllcnIgPSAtRUlOVkFMOwo+ICsKPiArCQlpOTE1X2dlbV9vYmplY3RfdW5waW5f cGFnZXMob2JqKTsKPiArCX0KPiArCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKPiArCj4gKwly ZXR1cm4gZXJyOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGlndF9sbWVtX2NyZWF0ZV9taWdyYXRl KHZvaWQgKmFyZykKPiArewo+ICsJc3RydWN0IGludGVsX2d0ICpndCA9IGFyZzsKPiArCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZ3QtPmk5MTU7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqOwo+ICsJc3RydWN0IGk5MTVfZ2VtX3d3X2N0eCB3dzsKPiArCWludCBl cnIgPSAwOwo+ICsKPiArCS8qIFN3aXRjaCBvYmplY3QgYmFja2luZy1zdG9yZSBvbiBjcmVhdGUg Ki8KPiArCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc2htZW0oaTkxNSwgUEFHRV9TSVpF KTsKPiArCWlmIChJU19FUlIob2JqKSkKPiArCQlyZXR1cm4gUFRSX0VSUihvYmopOwo+ICsKPiAr CWZvcl9pOTE1X2dlbV93dygmd3csIGVyciwgdHJ1ZSkgewo+ICsJCWVyciA9IGk5MTVfZ2VtX29i amVjdF9sb2NrKG9iaiwgJnd3KTsKPiArCQlpZiAoZXJyKQo+ICsJCQljb250aW51ZTsKPiArCj4g KwkJaWYgKCFpOTE1X2dlbV9vYmplY3RfY2FuX21pZ3JhdGUob2JqLCBJTlRFTF9SRUdJT05fTE1F TSkpIHsKPiArCQkJZXJyID0gLUVJTlZBTDsKPiArCQkJY29udGludWU7Cj4gKwkJfQo+ICsKPiAr CQllcnIgPSBpOTE1X2dlbV9vYmplY3RfbWlncmF0ZShvYmosICZ3dywgSU5URUxfUkVHSU9OX0xN RU0pOwo+ICsJCWlmIChlcnIpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQllcnIgPSBpOTE1X2dl bV9vYmplY3RfcGluX3BhZ2VzKG9iaik7Cj4gKwkJaWYgKGVycikKPiArCQkJY29udGludWU7Cj4g Kwo+ICsJCWlmIChpOTE1X2dlbV9vYmplY3RfY2FuX21pZ3JhdGUob2JqLCBJTlRFTF9SRUdJT05f U01FTSkpCj4gKwkJCWVyciA9IC1FSU5WQUw7Cj4gKwo+ICsJCWk5MTVfZ2VtX29iamVjdF91bnBp bl9wYWdlcyhvYmopOwo+ICsJfQo+ICsJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwo+ICsKPiAr CXJldHVybiBlcnI7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgbG1lbV9wYWdlc19taWdyYXRlX29u ZShzdHJ1Y3QgaTkxNV9nZW1fd3dfY3R4ICp3dywKPiArCQkJCSAgc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKPiArewo+ICsJaW50IGVycjsKPiArCj4gKwllcnIgPSBpOTE1X2dlbV9v YmplY3RfbG9jayhvYmosIHd3KTsKPiArCWlmIChlcnIpCj4gKwkJcmV0dXJuIGVycjsKPiArCj4g KwllcnIgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdChvYmosCj4gKwkJCQkgICBJOTE1X1dBSVRfSU5U RVJSVVBUSUJMRSB8Cj4gKwkJCQkgICBJOTE1X1dBSVRfUFJJT1JJVFkgfAo+ICsJCQkJICAgSTkx NV9XQUlUX0FMTCwKPiArCQkJCSAgIE1BWF9TQ0hFRFVMRV9USU1FT1VUKTsKPiArCWlmIChlcnIp Cj4gKwkJcmV0dXJuIGVycjsKPiArCj4gKwlpZiAoaTkxNV9nZW1fb2JqZWN0X2lzX2xtZW0ob2Jq KSkgewo+ICsJCWlmICghaTkxNV9nZW1fb2JqZWN0X2Nhbl9taWdyYXRlKG9iaiwgSU5URUxfUkVH SU9OX1NNRU0pKSB7Cj4gKwkJCXByX2Vycigib2JqZWN0IGNhbid0IG1pZ3JhdGUgdG8gc21lbS5c biIpOwo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiArCQl9Cj4gKwo+ICsJCWVyciA9IGk5MTVfZ2Vt X29iamVjdF9taWdyYXRlKG9iaiwgd3csIElOVEVMX1JFR0lPTl9TTUVNKTsKPiArCQlpZiAoZXJy KSB7Cj4gKwkJCXByX2VycigiT2JqZWN0IGZhaWxlZCBtaWdyYXRpb24gdG8gc21lbVxuIik7Cj4g KwkJCWlmIChlcnIpCj4gKwkJCQlyZXR1cm4gZXJyOwo+ICsJCX0KPiArCj4gKwkJaWYgKGk5MTVf Z2VtX29iamVjdF9pc19sbWVtKG9iaikpIHsKPiArCQkJcHJfZXJyKCJvYmplY3Qgc3RpbGwgYmFj a2VkIGJ5IGxtZW1cbiIpOwo+ICsJCQllcnIgPSAtRUlOVkFMOwo+ICsJCX0KPiArCj4gKwkJaWYg KCFpOTE1X2dlbV9vYmplY3RfaGFzX3N0cnVjdF9wYWdlKG9iaikpIHsKPiArCQkJcHJfZXJyKCJv YmplY3Qgbm90IGJhY2tlZCBieSBzdHJ1Y3QgcGFnZVxuIik7Cj4gKwkJCWVyciA9IC1FSU5WQUw7 Cj4gKwkJfQo+ICsKPiArCX0gZWxzZSB7Cj4gKwkJaWYgKCFpOTE1X2dlbV9vYmplY3RfY2FuX21p Z3JhdGUob2JqLCBJTlRFTF9SRUdJT05fTE1FTSkpIHsKPiArCQkJcHJfZXJyKCJvYmplY3QgY2Fu J3QgbWlncmF0ZSB0byBsbWVtLlxuIik7Cj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KPiAr Cj4gKwkJZXJyID0gaTkxNV9nZW1fb2JqZWN0X21pZ3JhdGUob2JqLCB3dywgSU5URUxfUkVHSU9O X0xNRU0pOwo+ICsJCWlmIChlcnIpIHsKPiArCQkJcHJfZXJyKCJPYmplY3QgZmFpbGVkIG1pZ3Jh dGlvbiB0byBsbWVtXG4iKTsKPiArCQkJaWYgKGVycikKPiArCQkJCXJldHVybiBlcnI7Cj4gKwkJ fQo+ICsKPiArCQlpZiAoaTkxNV9nZW1fb2JqZWN0X2hhc19zdHJ1Y3RfcGFnZShvYmopKSB7Cj4g KwkJCXByX2Vycigib2JqZWN0IHN0aWxsIGJhY2tlZCBieSBzdHJ1Y3QgcGFnZVxuIik7Cj4gKwkJ CWVyciA9IC1FSU5WQUw7Cj4gKwkJfQo+ICsKPiArCQlpZiAoIWk5MTVfZ2VtX29iamVjdF9pc19s bWVtKG9iaikpIHsKPiArCQkJcHJfZXJyKCJvYmplY3Qgbm90IGJhY2tlZCBieSBsbWVtXG4iKTsK PiArCQkJZXJyID0gLUVJTlZBTDsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIGVycjsKPiAr fQo+ICsKPiArc3RhdGljIGludCBpZ3RfbG1lbV9wYWdlc19taWdyYXRlKHZvaWQgKmFyZykKPiAr ewo+ICsJc3RydWN0IGludGVsX2d0ICpndCA9IGFyZzsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gZ3QtPmk5MTU7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq Owo+ICsJc3RydWN0IGk5MTVfZ2VtX3d3X2N0eCB3dzsKPiArCXN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxOwo+ICsJaW50IGVycjsKPiArCWludCBpOwo+ICsKPiArCS8qIEZyb20gTE1FTSB0byBzaG1l bSBhbmQgYmFjayBhZ2FpbiAqLwo+ICsKPiArCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVf bG1lbShpOTE1LCBTWl8yTSwgMCk7Cj4gKwlpZiAoSVNfRVJSKG9iaikpCj4gKwkJcmV0dXJuIFBU Ul9FUlIob2JqKTsKPiArCj4gKwllcnIgPSBpOTE1X2dlbV9vYmplY3RfbG9jayhvYmosIE5VTEwp Owo+ICsJaWYgKGVycikKPiArCQlnb3RvIG91dF9wdXQ7Cj4gKwo+ICsJZXJyID0gX19fX2k5MTVf Z2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKPiArCWlmIChlcnIpIHsKPiArCQlpOTE1X2dlbV9v YmplY3RfdW5sb2NrKG9iaik7Cj4gKwkJZ290byBvdXRfcHV0Owo+ICsJfQo+ICsKPiArCWVyciA9 IGludGVsX2NvbnRleHRfbWlncmF0ZV9jbGVhcihndC0+bWlncmF0ZS5jb250ZXh0LCBOVUxMLAo+ ICsJCQkJCSAgb2JqLT5tbS5wYWdlcy0+c2dsLCBvYmotPmNhY2hlX2xldmVsLAo+ICsJCQkJCSAg aTkxNV9nZW1fb2JqZWN0X2lzX2xtZW0ob2JqKSwKPiArCQkJCQkgIDAsICZycSk7Cj4gKwlpZiAo cnEpIHsKPiArCQlkbWFfcmVzdl9hZGRfZXhjbF9mZW5jZShvYmotPmJhc2UucmVzdiwgJnJxLT5m ZW5jZSk7Cj4gKwkJaTkxNV9yZXF1ZXN0X3B1dChycSk7Cj4gKwl9Cj4gKwlpOTE1X2dlbV9vYmpl Y3RfdW5sb2NrKG9iaik7Cj4gKwlpZiAoZXJyKQo+ICsJCWdvdG8gb3V0X3B1dDsKPiArCj4gKwlm b3IgKGkgPSAxOyBpIDw9IDQ7ICsraSkgewo+ICsJCWZvcl9pOTE1X2dlbV93dygmd3csIGVyciwg dHJ1ZSkgewo+ICsJCQllcnIgPSBsbWVtX3BhZ2VzX21pZ3JhdGVfb25lKCZ3dywgb2JqKTsKPiAr CQkJaWYgKGVycikKPiArCQkJCWNvbnRpbnVlOwo+ICsKPiArCQkJZXJyID0gaTkxNV9nZW1fb2Jq ZWN0X3dhaXRfbWlncmF0aW9uKG9iaiwgdHJ1ZSk7Cj4gKwkJCWlmIChlcnIpCj4gKwkJCQljb250 aW51ZTsKPiArCj4gKwkJCWVyciA9IGludGVsX21pZ3JhdGVfY2xlYXIoJmd0LT5taWdyYXRlLCAm d3csIE5VTEwsCj4gKwkJCQkJCSAgb2JqLT5tbS5wYWdlcy0+c2dsLAo+ICsJCQkJCQkgIG9iai0+ Y2FjaGVfbGV2ZWwsCj4gKwkJCQkJCSAgaTkxNV9nZW1fb2JqZWN0X2lzX2xtZW0ob2JqKSwKPiAr CQkJCQkJICAweGRlYWRiZWFmLCAmcnEpOwo+ICsJCQlpZiAocnEpIHsKPiArCQkJCWRtYV9yZXN2 X2FkZF9leGNsX2ZlbmNlKG9iai0+YmFzZS5yZXN2LAo+ICsJCQkJCQkJJnJxLT5mZW5jZSk7Cj4g KwkJCQlpOTE1X3JlcXVlc3RfcHV0KHJxKTsKPiArCQkJfQo+ICsJCX0KPiArCQlpZiAoZXJyKQo+ ICsJCQlicmVhazsKPiArCX0KPiArb3V0X3B1dDoKPiArCWk5MTVfZ2VtX29iamVjdF9wdXQob2Jq KTsKPiArCj4gKwlyZXR1cm4gZXJyOwo+ICt9Cj4gKwo+ICtpbnQgaTkxNV9nZW1fbWlncmF0ZV9s aXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiArewo+ICsJc3Rh dGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKPiArCQlTVUJURVNUKGln dF9zbWVtX2NyZWF0ZV9taWdyYXRlKSwKPiArCQlTVUJURVNUKGlndF9sbWVtX2NyZWF0ZV9taWdy YXRlKSwKPiArCQlTVUJURVNUKGlndF9sbWVtX3BhZ2VzX21pZ3JhdGUpLAoKTWlnaHQgYmUgZ29v ZCB0byBkaXJ0eSB0aGUgcGFnZXMgYmVmb3JlIHRoZSBtaWdyYXRpb24sIGFuZCB0aGVuIHZlcmlm eSAKdGhleSBzdGlsbCBtYXRjaCBhdCB0aGUgZW5kPwoKPiArCX07Cj4gKwo+ICsJaWYgKCFIQVNf TE1FTShpOTE1KSkKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlyZXR1cm4gaW50ZWxfZ3RfbGl2ZV9z dWJ0ZXN0cyh0ZXN0cywgJmk5MTUtPmd0KTsKPiArfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9saXZlX3NlbGZ0ZXN0cy5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMuaAo+IGluZGV4IGE2ODE5N2Nm MTA0NC4uZTJmZDFiNjFhZjcxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV9saXZlX3NlbGZ0ZXN0cy5oCj4gQEAgLTQwLDYgKzQwLDcgQEAgc2Vs ZnRlc3QoaHVnZXBhZ2VzLCBpOTE1X2dlbV9odWdlX3BhZ2VfbGl2ZV9zZWxmdGVzdHMpCj4gICBz ZWxmdGVzdChnZW1fY29udGV4dHMsIGk5MTVfZ2VtX2NvbnRleHRfbGl2ZV9zZWxmdGVzdHMpCj4g ICBzZWxmdGVzdChnZW1fZXhlY2J1ZiwgaTkxNV9nZW1fZXhlY2J1ZmZlcl9saXZlX3NlbGZ0ZXN0 cykKPiAgIHNlbGZ0ZXN0KGNsaWVudCwgaTkxNV9nZW1fY2xpZW50X2JsdF9saXZlX3NlbGZ0ZXN0 cykKPiArc2VsZnRlc3QoZ2VtX21pZ3JhdGUsIGk5MTVfZ2VtX21pZ3JhdGVfbGl2ZV9zZWxmdGVz dHMpCj4gICBzZWxmdGVzdChyZXNldCwgaW50ZWxfcmVzZXRfbGl2ZV9zZWxmdGVzdHMpCj4gICBz ZWxmdGVzdChtZW1vcnlfcmVnaW9uLCBpbnRlbF9tZW1vcnlfcmVnaW9uX2xpdmVfc2VsZnRlc3Rz KQo+ICAgc2VsZnRlc3QoaGFuZ2NoZWNrLCBpbnRlbF9oYW5nY2hlY2tfbGl2ZV9zZWxmdGVzdHMp Cj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=