From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id E8A066E83E for ; Fri, 3 Sep 2021 05:05:07 +0000 (UTC) From: "Modem, Bhanuprakash" Date: Fri, 3 Sep 2021 05:05:03 +0000 Message-ID: References: <20210514132643.30709-1-ville.syrjala@linux.intel.com> <20210514132643.30709-5-ville.syrjala@linux.intel.com> In-Reply-To: <20210514132643.30709-5-ville.syrjala@linux.intel.com> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 4/4] tests/kms_color: Add GAMMA_LUT_3D tests List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Ville Syrjala , "igt-dev@lists.freedesktop.org" List-ID: PiBGcm9tOiBpZ3QtZGV2IDxpZ3QtZGV2LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPiBP biBCZWhhbGYgT2YgVmlsbGUNCj4gU3lyamFsYQ0KPiBTZW50OiBGcmlkYXksIE1heSAxNCwgMjAy MSA2OjU3IFBNDQo+IFRvOiBpZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBTdWJqZWN0 OiBbaWd0LWRldl0gW1BBVENIIGktZy10IDQvNF0gdGVzdHMva21zX2NvbG9yOiBBZGQgR0FNTUFf TFVUXzNEIHRlc3RzDQo+IA0KPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFA bGludXguaW50ZWwuY29tPg0KPiANCj4gQWRkIHNvbWUgYmFzaWMgdGVzdHMgZm9yIDNEIExVVHMu DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPg0KPiAtLS0NCj4gIHRlc3RzL2ttc19jb2xvci5jICAgICAgICB8IDk1ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIHRlc3RzL2ttc19jb2xv cl9oZWxwZXIuYyB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrLQ0KPiAgdGVzdHMva21zX2Nv bG9yX2hlbHBlci5oIHwgMTggKysrKysrKysNCj4gIDMgZmlsZXMgY2hhbmdlZCwgMTcwIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gDQo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY29s b3IuYyBiL3Rlc3RzL2ttc19jb2xvci5jDQo+IGluZGV4IDNhNDI1MzJhNWMyNy4uZTIzZTVmNWZj YzI2IDEwMDY0NA0KPiAtLS0gYS90ZXN0cy9rbXNfY29sb3IuYw0KPiArKysgYi90ZXN0cy9rbXNf Y29sb3IuYw0KPiBAQCAtMTk4LDYgKzE5OCw4OCBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BpcGVfZ2Ft bWEoZGF0YV90ICpkYXRhLA0KPiAgCWZyZWVfbHV0KGdhbW1hX2Z1bGwpOw0KPiAgfQ0KPiANCj4g K3N0YXRpYyB2b2lkIHRlc3RfcGlwZV9nYW1tYV9sdXRfM2QoZGF0YV90ICpkYXRhLA0KPiArCQkJ CSAgIGlndF9wbGFuZV90ICpwcmltYXJ5KQ0KPiArew0KPiArCWlndF9vdXRwdXRfdCAqb3V0cHV0 Ow0KPiArCWlndF9kaXNwbGF5X3QgKmRpc3BsYXkgPSAmZGF0YS0+ZGlzcGxheTsNCj4gKwlnYW1t YV9sdXRfdCAqZ2FtbWFfbHV0XzNkX2xpbmVhciwgKmdhbW1hX2x1dF8zZF9mdWxsOw0KPiArCWNv bG9yX3QgcmVkX2dyZWVuX2JsdWVbXSA9IHsNCj4gKwkJeyAxLjAsIDAuMCwgMC4wIH0sDQo+ICsJ CXsgMC4wLCAxLjAsIDAuMCB9LA0KPiArCQl7IDAuMCwgMC4wLCAxLjAgfQ0KPiArCX07DQo+ICsN Cj4gKwlpZ3RfcmVxdWlyZShpZ3RfcGlwZV9vYmpfaGFzX3Byb3AocHJpbWFyeS0+cGlwZSwNCj4g SUdUX0NSVENfR0FNTUFfTFVUXzNEKSk7DQo+ICsNCj4gKwlnYW1tYV9sdXRfM2RfbGluZWFyID0g Z2VuZXJhdGVfbHV0XzNkKGRhdGEtPmdhbW1hX2x1dF8zZF9zaXplLCAxLjApOw0KPiArCWdhbW1h X2x1dF8zZF9mdWxsID0gZ2VuZXJhdGVfbHV0XzNkX21heChkYXRhLT5nYW1tYV9sdXRfM2Rfc2l6 ZSk7DQo+ICsNCj4gKwlmb3JfZWFjaF92YWxpZF9vdXRwdXRfb25fcGlwZSgmZGF0YS0+ZGlzcGxh eSwgcHJpbWFyeS0+cGlwZS0+cGlwZSwNCj4gb3V0cHV0KSB7DQoNCkluc3RlYWQgb2YgcnVubmlu ZyB0aGUgdGVzdCBvbiBhbGwgcG9zc2libGUgInBpcGUtY29ubmVjdG9yIiBjb21iaW5hdGlvbnMs DQpJIHRoaW5rIGl0IGlzIHN1ZmZpY2llbnQgdG8gcnVuIG9uIHNpbmdsZSBjb25uZWN0b3IsIHNp bmNlIHdlIGFyZSB0cnlpbmcgdG8NCnZhbGlkYXRlIFBJUEUgcHJvcGVydGllcy4gQWxzbyB3ZSBj YW4gc2F2ZSBzb21lIENJIHRpbWUuDQoNCkkgYW0gYWxzbyB0aGlua2luZyB0byByZXZhbXAgYWxs IGNvbG9yIHRlc3RzIHRvIHJ1biBvbiBzaW5nbGUgY29ubmVjdG9yLiANCg0KPiArCQlkcm1Nb2Rl TW9kZUluZm8gKm1vZGU7DQo+ICsJCXN0cnVjdCBpZ3RfZmIgZmJfbW9kZXNldCwgZmI7DQo+ICsJ CWlndF9jcmNfdCBjcmNfZnVsbGx1dDNkLCBjcmNfZnVsbGNvbG9yczsNCj4gKwkJaW50IGZiX2lk LCBmYl9tb2Rlc2V0X2lkOw0KPiArDQo+ICsJCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBw cmltYXJ5LT5waXBlLT5waXBlKTsNCj4gKwkJbW9kZSA9IGlndF9vdXRwdXRfZ2V0X21vZGUob3V0 cHV0KTsNCj4gKw0KPiArCQkvKiBDcmVhdGUgYSBmcmFtZWJ1ZmZlciBhdCB0aGUgc2l6ZSBvZiB0 aGUgb3V0cHV0LiAqLw0KPiArCQlmYl9pZCA9IGlndF9jcmVhdGVfZmIoZGF0YS0+ZHJtX2ZkLA0K PiArCQkJCSAgICAgIG1vZGUtPmhkaXNwbGF5LA0KPiArCQkJCSAgICAgIG1vZGUtPnZkaXNwbGF5 LA0KPiArCQkJCSAgICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsDQo+ICsJCQkJICAgICAgTE9DQUxf RFJNX0ZPUk1BVF9NT0RfTk9ORSwNCj4gKwkJCQkgICAgICAmZmIpOw0KPiArCQlpZ3RfYXNzZXJ0 KGZiX2lkKTsNCj4gKw0KPiArCQlmYl9tb2Rlc2V0X2lkID0gaWd0X2NyZWF0ZV9mYihkYXRhLT5k cm1fZmQsDQo+ICsJCQkJCSAgICAgIG1vZGUtPmhkaXNwbGF5LA0KPiArCQkJCQkgICAgICBtb2Rl LT52ZGlzcGxheSwNCj4gKwkJCQkJICAgICAgRFJNX0ZPUk1BVF9YUkdCODg4OCwNCj4gKwkJCQkJ ICAgICAgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSwNCj4gKwkJCQkJICAgICAgJmZiX21vZGVz ZXQpOw0KPiArCQlpZ3RfYXNzZXJ0KGZiX21vZGVzZXRfaWQpOw0KPiArDQo+ICsJCWlndF9wbGFu ZV9zZXRfZmIocHJpbWFyeSwgJmZiX21vZGVzZXQpOw0KPiArCQlkaXNhYmxlX2N0bShwcmltYXJ5 LT5waXBlKTsNCj4gKwkJZGlzYWJsZV9kZWdhbW1hKHByaW1hcnktPnBpcGUpOw0KPiArCQlkaXNh YmxlX2dhbW1hKHByaW1hcnktPnBpcGUpOw0KPiArCQlzZXRfZ2FtbWFfbHV0XzNkKGRhdGEsIHBy aW1hcnktPnBpcGUsIGdhbW1hX2x1dF8zZF9saW5lYXIpOw0KPiArCQlpZ3RfZGlzcGxheV9jb21t aXQoJmRhdGEtPmRpc3BsYXkpOw0KPiArDQo+ICsJCS8qIERyYXcgc29saWQgY29sb3JzIHdpdGgg bm8gZGVnYW1tYSB0cmFuc2Zvcm1hdGlvbi4gKi8NCiANClR5cG86IHMvZGVnYW1tYS8zZGx1dC8N Cg0KPiArCQlwYWludF9yZWN0YW5nbGVzKGRhdGEsIG1vZGUsIHJlZF9ncmVlbl9ibHVlLCAmZmIp Ow0KPiArCQlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksICZmYik7DQo+ICsJCWlndF9kaXNwbGF5 X2NvbW1pdCgmZGF0YS0+ZGlzcGxheSk7DQo+ICsJCWlndF93YWl0X2Zvcl92YmxhbmsoZGF0YS0+ ZHJtX2ZkLA0KPiArCQkJCSAgICBkaXNwbGF5LT5waXBlc1twcmltYXJ5LT5waXBlLT5waXBlXS5j cnRjX29mZnNldCk7DQo+ICsJCWlndF9waXBlX2NyY19jb2xsZWN0X2NyYyhkYXRhLT5waXBlX2Ny YywgJmNyY19mdWxsY29sb3JzKTsNCj4gKw0KPiArCQkvKiBEcmF3IGEgZ3JhZGllbnQgd2l0aCAz RCBMVVQgdG8gcmVtYXAgYWxsDQo+ICsJCSAqIHZhbHVlcyB0byBtYXggcmVkL2dyZWVuL2JsdWUu DQo+ICsJCSAqLw0KPiArCQlwYWludF9ncmFkaWVudF9yZWN0YW5nbGVzKGRhdGEsIG1vZGUsIHJl ZF9ncmVlbl9ibHVlLCAmZmIpOw0KPiArCQlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksICZmYik7 DQo+ICsJCXNldF9nYW1tYV9sdXRfM2QoZGF0YSwgcHJpbWFyeS0+cGlwZSwgZ2FtbWFfbHV0XzNk X2Z1bGwpOw0KPiArCQlpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3BsYXkpOw0KPiArCQlp Z3Rfd2FpdF9mb3JfdmJsYW5rKGRhdGEtPmRybV9mZCwNCj4gKwkJCQkgICAgZGlzcGxheS0+cGlw ZXNbcHJpbWFyeS0+cGlwZS0+cGlwZV0uY3J0Y19vZmZzZXQpOw0KPiArCQlpZ3RfcGlwZV9jcmNf Y29sbGVjdF9jcmMoZGF0YS0+cGlwZV9jcmMsICZjcmNfZnVsbGx1dDNkKTsNCj4gKw0KPiArCQkv KiBWZXJpZnkgdGhhdCB0aGUgQ1JDIG9mIHRoZSBzb2Z0d2FyZSBjb21wdXRlZCBvdXRwdXQgaXMN Cj4gKwkJICogZXF1YWwgdG8gdGhlIENSQyBvZiB0aGUgZGVnYW1tYSBMVVQgdHJhbnNmb3JtYXRp b24gb3V0cHV0Lg0KIA0KVHlwbzogcy9kZWdhbW1hLzNkbHV0Lw0KDQpTbywgaXMgdGhpcyB0aGUg ZXhwZWN0YXRpb24/DQooKFNvbGlkIGNvbG9ycyArIG5vIDNkbHV0KSA9PSAoZ3JhZGllbnQgY29s b3JzICsgM2RsdXQpKSA/IFBBU1MgOiBGQUlMOw0KDQo+ICsJCSAqLw0KPiArCQlpZ3RfYXNzZXJ0 X2NyY19lcXVhbCgmY3JjX2Z1bGxsdXQzZCwgJmNyY19mdWxsY29sb3JzKTsNCj4gKw0KPiArCQlp Z3RfcGxhbmVfc2V0X2ZiKHByaW1hcnksIE5VTEwpOw0KPiArCQlpZ3Rfb3V0cHV0X3NldF9waXBl KG91dHB1dCwgUElQRV9OT05FKTsNCj4gKwl9DQo+ICsNCj4gKwlmcmVlX2x1dChnYW1tYV9sdXRf M2RfbGluZWFyKTsNCj4gKwlmcmVlX2x1dChnYW1tYV9sdXRfM2RfZnVsbCk7DQo+ICt9DQo+ICsN Cj4gIC8qDQo+ICAgKiBEcmF3IDMgZ3JhZGllbnQgcmVjdGFuZ2xlcyBpbiByZWQsIGdyZWVuIGFu ZCBibHVlLCB3aXRoIGEgbWF4ZWQgb3V0IGxlZ2FjeQ0KPiAgICogZ2FtbWEgTFVUIGFuZCB2ZXJp Znkgd2UgaGF2ZSB0aGUgc2FtZSBDUkMgYXMgZHJhd2luZyBzb2xpZCBjb2xvcg0KPiByZWN0YW5n bGVzDQo+IEBAIC02NzksNiArNzYxLDEzIEBAIHJ1bl90ZXN0c19mb3JfcGlwZShkYXRhX3QgKmRh dGEsIGVudW0gcGlwZSBwKQ0KPiAgCQkJaWd0X2Fzc2VydF9sdCgwLCBkYXRhLT5nYW1tYV9sdXRf c2l6ZSk7DQo+ICAJCX0NCj4gDQo+ICsJCWlmIChpZ3RfcGlwZV9vYmpfaGFzX3Byb3AoJmRhdGEt PmRpc3BsYXkucGlwZXNbcF0sDQo+IElHVF9DUlRDX0dBTU1BX0xVVF8zRF9TSVpFKSkgew0KPiAr CQkJZGF0YS0+Z2FtbWFfbHV0XzNkX3NpemUgPQ0KPiArCQkJCWlndF9waXBlX29ial9nZXRfcHJv cCgmZGF0YS0+ZGlzcGxheS5waXBlc1twXSwNCj4gKwkJCQkJCSAgICAgIElHVF9DUlRDX0dBTU1B X0xVVF8zRF9TSVpFKTsNCj4gKwkJCWlndF9hc3NlcnRfbHQoMCwgZGF0YS0+Z2FtbWFfbHV0XzNk X3NpemUpOw0KPiArCQl9DQo+ICsNCj4gIAkJaWd0X2Rpc3BsYXlfcmVxdWlyZV9vdXRwdXRfb25f cGlwZSgmZGF0YS0+ZGlzcGxheSwgcCk7DQo+ICAJfQ0KPiANCj4gQEAgLTg1NCw2ICs5NDMsOSBA QCBydW5fdGVzdHNfZm9yX3BpcGUoZGF0YV90ICpkYXRhLCBlbnVtIHBpcGUgcCkNCj4gIAlpZ3Rf c3VidGVzdF9mKCJwaXBlLSVzLWxlZ2FjeS1nYW1tYS1yZXNldCIsIGttc3Rlc3RfcGlwZV9uYW1l KHApKQ0KPiAgCQl0ZXN0X3BpcGVfbGVnYWN5X2dhbW1hX3Jlc2V0KGRhdGEsIHByaW1hcnkpOw0K PiANCg0KaWd0X2Rlc2NyaWJlKCkgaXMgbWFuZGF0b3J5Lg0KDQo+ICsJaWd0X3N1YnRlc3RfZigi cGlwZS0lcy1nYW1tYS1sdXQtM2QiLCBrbXN0ZXN0X3BpcGVfbmFtZShwKSkNCj4gKwkJdGVzdF9w aXBlX2dhbW1hX2x1dF8zZChkYXRhLCBwcmltYXJ5KTsNCj4gKw0KPiAgCWlndF9maXh0dXJlIHsN Cj4gIAkJZGlzYWJsZV9kZWdhbW1hKHByaW1hcnktPnBpcGUpOw0KPiAgCQlkaXNhYmxlX2dhbW1h KHByaW1hcnktPnBpcGUpOw0KPiBAQCAtODk1LDYgKzk4Nyw5IEBAIGlndF9tYWluDQo+ICAJaWd0 X3N1YnRlc3RfZigicGlwZS1pbnZhbGlkLWN0bS1tYXRyaXgtc2l6ZXMiKQ0KPiAgCQlpbnZhbGlk X2N0bV9tYXRyaXhfc2l6ZXMoJmRhdGEpOw0KPiANCiANCmlndF9kZXNjcmliZSgpIGlzIG1hbmRh dG9yeS4NCg0KPiArCWlndF9zdWJ0ZXN0X2YoInBpcGUtaW52YWxpZC1nYW1tYS1sdXQtM2Qtc2l6 ZXMiKQ0KPiArCQlpbnZhbGlkX2dhbW1hX2x1dF8zZF9zaXplcygmZGF0YSk7DQo+ICsNCj4gIAlp Z3RfZml4dHVyZSB7DQo+ICAJCWlndF9kaXNwbGF5X2ZpbmkoJmRhdGEuZGlzcGxheSk7DQo+ICAJ fQ0KPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2NvbG9yX2hlbHBlci5jIGIvdGVzdHMva21zX2Nv bG9yX2hlbHBlci5jDQo+IGluZGV4IDdmOWEzMGU2MjViNi4uMjYxZWM3ODM2NjZkIDEwMDY0NA0K PiAtLS0gYS90ZXN0cy9rbXNfY29sb3JfaGVscGVyLmMNCj4gKysrIGIvdGVzdHMva21zX2NvbG9y X2hlbHBlci5jDQo+IEBAIC0xNDMsNiArMTQzLDQ0IEBAIGdhbW1hX2x1dF90ICpnZW5lcmF0ZV90 YWJsZV96ZXJvKGludCBsdXRfc2l6ZSkNCj4gIAlyZXR1cm4gZ2FtbWE7DQo+ICB9DQo+IA0KPiAr Z2FtbWFfbHV0X3QgKmdlbmVyYXRlX2x1dF8zZChpbnQgbHV0X3NpemUsIGRvdWJsZSBleHApDQo+ ICt7DQo+ICsJZ2FtbWFfbHV0X3QgKmdhbW1hID0gYWxsb2NfbHV0KGx1dF8zZF9zaXplKGx1dF9z aXplKSk7DQo+ICsNCj4gKwlmb3IgKGludCByID0gMDsgciA8IGx1dF9zaXplOyByKyspIHsNCj4g KwkJZm9yIChpbnQgZyA9IDA7IGcgPCBsdXRfc2l6ZTsgZysrKSB7DQo+ICsJCQlmb3IgKGludCBi ID0gMDsgYiA8IGx1dF9zaXplOyBiKyspIHsNCj4gKwkJCQlpbnQgaSA9IGx1dF8zZF9pbmRleChy LCBnLCBiLCBsdXRfc2l6ZSk7DQo+ICsNCj4gKwkJCQlnYW1tYS0+Y29lZmZzW2ldLnIgPSBwb3co ciAqIDEuMCAvIChsdXRfc2l6ZSAtIDEpLCBleHApOw0KPiArCQkJCWdhbW1hLT5jb2VmZnNbaV0u ZyA9IHBvdyhnICogMS4wIC8gKGx1dF9zaXplIC0gMSksIGV4cCk7DQo+ICsJCQkJZ2FtbWEtPmNv ZWZmc1tpXS5iID0gcG93KGIgKiAxLjAgLyAobHV0X3NpemUgLSAxKSwgZXhwKTsNCj4gKwkJCX0N Cj4gKwkJfQ0KPiArCX0NCj4gKw0KPiArCXJldHVybiBnYW1tYTsNCj4gK30NCj4gKw0KPiArZ2Ft bWFfbHV0X3QgKmdlbmVyYXRlX2x1dF8zZF9tYXgoaW50IGx1dF9zaXplKQ0KPiArew0KPiArCWdh bW1hX2x1dF90ICpnYW1tYSA9IGFsbG9jX2x1dChsdXRfM2Rfc2l6ZShsdXRfc2l6ZSkpOw0KPiAr DQo+ICsJZm9yIChpbnQgciA9IDA7IHIgPCBsdXRfc2l6ZTsgcisrKSB7DQo+ICsJCWZvciAoaW50 IGcgPSAwOyBnIDwgbHV0X3NpemU7IGcrKykgew0KPiArCQkJZm9yIChpbnQgYiA9IDA7IGIgPCBs dXRfc2l6ZTsgYisrKSB7DQo+ICsJCQkJaW50IGkgPSBsdXRfM2RfaW5kZXgociwgZywgYiwgbHV0 X3NpemUpOw0KPiArDQo+ICsJCQkJZ2FtbWEtPmNvZWZmc1tpXS5yID0gciA9PSAwID8gMC4wIDog MS4wOw0KPiArCQkJCWdhbW1hLT5jb2VmZnNbaV0uZyA9IGcgPT0gMCA/IDAuMCA6IDEuMDsNCj4g KwkJCQlnYW1tYS0+Y29lZmZzW2ldLmIgPSBiID09IDAgPyAwLjAgOiAxLjA7DQo+ICsJCQl9DQo+ ICsJCX0NCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gZ2FtbWE7DQo+ICt9DQo+ICsNCj4gIHN0cnVj dCBkcm1fY29sb3JfbHV0ICpjb2VmZnNfdG9fbHV0KGRhdGFfdCAqZGF0YSwNCj4gIAkJCQkgICAg Y29uc3QgZ2FtbWFfbHV0X3QgKmdhbW1hLA0KPiAgCQkJCSAgICB1aW50MzJfdCBjb2xvcl9kZXB0 aCwNCj4gQEAgLTIxNSw2ICsyNTMsMTkgQEAgdm9pZCBzZXRfZ2FtbWEoZGF0YV90ICpkYXRhLA0K PiAgCWZyZWUobHV0KTsNCj4gIH0NCj4gDQo+ICt2b2lkIHNldF9nYW1tYV9sdXRfM2QoZGF0YV90 ICpkYXRhLA0KPiArCQkgICAgICBpZ3RfcGlwZV90ICpwaXBlLA0KPiArCQkgICAgICBjb25zdCBn YW1tYV9sdXRfdCAqZ2FtbWFfbHV0XzNkKQ0KPiArew0KPiArCXNpemVfdCBzaXplID0gc2l6ZW9m KHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqIGdhbW1hX2x1dF8zZC0+c2l6ZTsNCj4gKwlzdHJ1Y3Qg ZHJtX2NvbG9yX2x1dCAqbHV0ID0gY29lZmZzX3RvX2x1dChkYXRhLCBnYW1tYV9sdXRfM2QsDQo+ ICsJCQkJCQkgIGRhdGEtPmNvbG9yX2RlcHRoLCAwKTsNCj4gKw0KPiArCWlndF9waXBlX29ial9y ZXBsYWNlX3Byb3BfYmxvYihwaXBlLCBJR1RfQ1JUQ19HQU1NQV9MVVRfM0QsIGx1dCwgc2l6ZSk7 DQo+ICsNCj4gKwlmcmVlKGx1dCk7DQo+ICt9DQo+ICsNCj4gIHZvaWQgc2V0X2N0bShpZ3RfcGlw ZV90ICpwaXBlLCBjb25zdCBkb3VibGUgKmNvZWZmaWNpZW50cykNCj4gIHsNCj4gIAlzdHJ1Y3Qg ZHJtX2NvbG9yX2N0bSBjdG07DQo+IEBAIC0zMzAsNiArMzgxLDEyIEBAIGludmFsaWRfZGVnYW1t YV9sdXRfc2l6ZXMoZGF0YV90ICpkYXRhKQ0KPiAgCXJldHVybiBpbnZhbGlkX2x1dF9zaXplcyhk YXRhLCBJR1RfQ1JUQ19ERUdBTU1BX0xVVCwgZGF0YS0NCj4gPmRlZ2FtbWFfbHV0X3NpemUpOw0K PiAgfQ0KPiANCj4gK3ZvaWQNCj4gK2ludmFsaWRfZ2FtbWFfbHV0XzNkX3NpemVzKGRhdGFfdCAq ZGF0YSkNCj4gK3sNCj4gKwlpbnZhbGlkX2x1dF9zaXplcyhkYXRhLCBJR1RfQ1JUQ19HQU1NQV9M VVRfM0QsIGx1dF8zZF9zaXplKGRhdGEtDQo+ID5nYW1tYV9sdXRfM2Rfc2l6ZSkpOw0KPiArfQ0K PiArDQo+ICB2b2lkIGludmFsaWRfY3RtX21hdHJpeF9zaXplcyhkYXRhX3QgKmRhdGEpDQo+ICB7 DQo+ICAJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZkYXRhLT5kaXNwbGF5Ow0KPiBAQCAtMzU4 LDQgKzQxNSwzIEBAIHZvaWQgaW52YWxpZF9jdG1fbWF0cml4X3NpemVzKGRhdGFfdCAqZGF0YSkN Cj4gDQo+ICAJZnJlZShwdHIpOw0KPiAgfQ0KPiAtDQo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNf Y29sb3JfaGVscGVyLmggYi90ZXN0cy9rbXNfY29sb3JfaGVscGVyLmgNCj4gaW5kZXggM2Y0OWU3 Y2FlNGMwLi5lMjFhZGFhMjI4ZmYgMTAwNjQ0DQo+IC0tLSBhL3Rlc3RzL2ttc19jb2xvcl9oZWxw ZXIuaA0KPiArKysgYi90ZXN0cy9rbXNfY29sb3JfaGVscGVyLmgNCj4gQEAgLTUyLDYgKzUyLDcg QEAgdHlwZWRlZiBzdHJ1Y3Qgew0KPiAgCXVpbnQzMl90IGNvbG9yX2RlcHRoOw0KPiAgCXVpbnQ2 NF90IGRlZ2FtbWFfbHV0X3NpemU7DQo+ICAJdWludDY0X3QgZ2FtbWFfbHV0X3NpemU7DQo+ICsJ dWludDY0X3QgZ2FtbWFfbHV0XzNkX3NpemU7DQoNCk1heWJlIHJlbmFtZSB0byBnYW1tYV8zZF9s dXRfc2l6ZT8NCg0KPiAgCSNpZmRlZiBIQVZFX0NIQU1FTElVTQ0KPiAgCXN0cnVjdCBjaGFtZWxp dW0gKmNoYW1lbGl1bTsNCj4gIAlzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKipwb3J0czsNCj4gQEAg LTc3LDYgKzc4LDggQEAgdm9pZCBmcmVlX2x1dChnYW1tYV9sdXRfdCAqZ2FtbWEpOw0KPiAgZ2Ft bWFfbHV0X3QgKmdlbmVyYXRlX3RhYmxlKGludCBsdXRfc2l6ZSwgZG91YmxlIGV4cCk7DQo+ICBn YW1tYV9sdXRfdCAqZ2VuZXJhdGVfdGFibGVfbWF4KGludCBsdXRfc2l6ZSk7DQo+ICBnYW1tYV9s dXRfdCAqZ2VuZXJhdGVfdGFibGVfemVybyhpbnQgbHV0X3NpemUpOw0KPiArZ2FtbWFfbHV0X3Qg KmdlbmVyYXRlX2x1dF8zZChpbnQgbHV0X3NpemUsIGRvdWJsZSBleHApOw0KPiArZ2FtbWFfbHV0 X3QgKmdlbmVyYXRlX2x1dF8zZF9tYXgoaW50IGx1dF9zaXplKTsNCj4gIHN0cnVjdCBkcm1fY29s b3JfbHV0ICpjb2VmZnNfdG9fbHV0KGRhdGFfdCAqZGF0YSwNCj4gIAkJCQkgICAgY29uc3QgZ2Ft bWFfbHV0X3QgKmdhbW1hLA0KPiAgCQkJCSAgICB1aW50MzJfdCBjb2xvcl9kZXB0aCwNCj4gQEAg LTg3LDEzICs5MCwyNyBAQCB2b2lkIHNldF9kZWdhbW1hKGRhdGFfdCAqZGF0YSwNCj4gIHZvaWQg c2V0X2dhbW1hKGRhdGFfdCAqZGF0YSwNCj4gIAkgICAgICAgaWd0X3BpcGVfdCAqcGlwZSwNCj4g IAkgICAgICAgY29uc3QgZ2FtbWFfbHV0X3QgKmdhbW1hKTsNCj4gK3ZvaWQgc2V0X2dhbW1hX2x1 dF8zZChkYXRhX3QgKmRhdGEsDQo+ICsJCSAgICAgIGlndF9waXBlX3QgKnBpcGUsDQo+ICsJCSAg ICAgIGNvbnN0IGdhbW1hX2x1dF90ICpnYW1tYSk7DQo+ICB2b2lkIHNldF9jdG0oaWd0X3BpcGVf dCAqcGlwZSwgY29uc3QgZG91YmxlICpjb2VmZmljaWVudHMpOw0KPiAgdm9pZCBkaXNhYmxlX3By b3AoaWd0X3BpcGVfdCAqcGlwZSwgZW51bSBpZ3RfYXRvbWljX2NydGNfcHJvcGVydGllcyBwcm9w KTsNCj4gDQo+ICAjZGVmaW5lIGRpc2FibGVfZGVnYW1tYShwaXBlKSBkaXNhYmxlX3Byb3AocGlw ZSwgSUdUX0NSVENfREVHQU1NQV9MVVQpDQo+ICAjZGVmaW5lIGRpc2FibGVfZ2FtbWEocGlwZSkg ZGlzYWJsZV9wcm9wKHBpcGUsIElHVF9DUlRDX0dBTU1BX0xVVCkNCj4gKyNkZWZpbmUgZGlzYWJs ZV9sdXRfM2QocGlwZSkgZGlzYWJsZV9wcm9wKHBpcGUsIElHVF9DUlRDX0xVVF8zRCkNCj4gICNk ZWZpbmUgZGlzYWJsZV9jdG0ocGlwZSkgZGlzYWJsZV9wcm9wKHBpcGUsIElHVF9DUlRDX0NUTSkN Cj4gDQo+ICtzdGF0aWMgaW5saW5lIGludCBsdXRfM2Rfc2l6ZShpbnQgbHV0X3NpemUpDQo+ICt7 DQo+ICsJcmV0dXJuIGx1dF9zaXplICogbHV0X3NpemUgKiBsdXRfc2l6ZTsNCj4gK30NCj4gKw0K PiArc3RhdGljIGlubGluZSBpbnQgbHV0XzNkX2luZGV4KGludCByLCBpbnQgZywgaW50IGIsIGlu dCBsdXRfc2l6ZSkNCj4gK3sNCj4gKwlyZXR1cm4gciAqIGx1dF9zaXplICogbHV0X3NpemUgKyBn ICogbHV0X3NpemUgKyBiOw0KPiArfQ0KPiArDQo+ICBkcm1Nb2RlUHJvcGVydHlCbG9iUHRyIGdl dF9ibG9iKGRhdGFfdCAqZGF0YSwgaWd0X3BpcGVfdCAqcGlwZSwNCj4gIAkJCQllbnVtIGlndF9h dG9taWNfY3J0Y19wcm9wZXJ0aWVzIHByb3ApOw0KPiAgYm9vbCBjcmNfZXF1YWwoaWd0X2NyY190 ICphLCBpZ3RfY3JjX3QgKmIpOw0KPiBAQCAtMTA1LDYgKzEyMiw3IEBAIGludCBwaXBlX3NldF9w cm9wZXJ0eV9ibG9iKGlndF9waXBlX3QgKnBpcGUsDQo+ICAJCQkgICB2b2lkICpwdHIsIHNpemVf dCBsZW5ndGgpOw0KPiAgdm9pZCBpbnZhbGlkX2dhbW1hX2x1dF9zaXplcyhkYXRhX3QgKmRhdGEp Ow0KPiAgdm9pZCBpbnZhbGlkX2RlZ2FtbWFfbHV0X3NpemVzKGRhdGFfdCAqZGF0YSk7DQo+ICt2 b2lkIGludmFsaWRfZ2FtbWFfbHV0XzNkX3NpemVzKGRhdGFfdCAqZGF0YSk7DQo+ICB2b2lkIGlu dmFsaWRfY3RtX21hdHJpeF9zaXplcyhkYXRhX3QgKmRhdGEpOw0KPiAgI2VuZGlmDQo+IA0KPiAt LQ0KPiAyLjI2LjMNCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQo+IGlndC1kZXYgbWFpbGluZyBsaXN0DQo+IGlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnDQo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaWd0LWRldg0K