From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9B4F8891EC for ; Tue, 9 Apr 2019 15:17:11 +0000 (UTC) References: <20190409140828.20625-1-stanislav.lisovskiy@intel.com> <20190409140828.20625-3-stanislav.lisovskiy@intel.com> From: Maarten Lankhorst Message-ID: Date: Tue, 9 Apr 2019 17:17:05 +0200 MIME-Version: 1.0 In-Reply-To: <20190409140828.20625-3-stanislav.lisovskiy@intel.com> Content-Language: en-US Subject: Re: [igt-dev] [PATCH i-g-t v7 2/2] igt/tests/kms_atomic_transition: Tolerate if can't have all planes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Stanislav Lisovskiy , igt-dev@lists.freedesktop.org Cc: ville.syrjala@intel.com, martin.peres@intel.com List-ID: T3AgMDktMDQtMjAxOSBvbSAxNjowOCBzY2hyZWVmIFN0YW5pc2xhdiBMaXNvdnNraXk6Cj4gV2l0 aCBzb21lIHVwY29taW5nIGNoYW5nZXMgaTkxNSBtaWdodCBub3QgYWxsb3cKPiBhbGwgc3ByaXRl IHBsYW5lcyBlbmFibGVkLCBkZXBlbmRpbmcgb24gYXZhaWxhYmxlCj4gYmFuZHdpZHRoIGxpbWl0 YXRpb24uIFRodXMgdGhlIHRlc3QgbmVlZCB0byBkZWNyZW1lbnQKPiBhbW91bnQgb2YgcGxhbmVz IGFuZCB0cnkgYWdhaW4sIGluc3RlYWQgb2YgcGFuaWNraW5nLgo+Cj4gdjI6IFJlbW92ZWQgZXhj ZXNzaXZlIG5lc3RlZCBjb25kaXRpb25zLCBtYWtpbmcgY29kZSBhIGJpdAo+ICAgICBtb3JlIHJl YWRhYmxlKGhvcGVmdWxseSkuCj4KPiB2MzogU3RvcHBlZCB1c2luZyBnbG9iYWwgbl9wbGFuZXMg dmFyaWFibGUgYXMgaXQgbWlnaHQgY2F1c2UKPiAgICAgcmVzb3VyY2VzIGJlaW5nIHVucmVsZWFz ZWQuCj4gICAgIFVzaW5nIG5vdyBwYXJtc1tpXS5tYXNrIGFzIGEgd2F5IHRvIGRldGVybWluZSBp ZiBwbGFuZQo+ICAgICBoYXMgdG8gYmUgaW5jbHVkZWQgaW50byBjb21taXQuCj4KPiB2NDogUmVt b3ZlZCB1bm5lZWRlZCBuX292ZXJsYXlzIGluaXRpYWxpemF0aW9uLgo+Cj4gdjU6IFJhbmRvbWl6 ZSB3aGljaCBvZiBzcHJpdGUgcGxhbmVzIHRvIHJlbW92ZSBpZiBoaXR0aW5nCj4gICAgIHJlc291 cmNlIGxpbWl0cy4KPgo+IHY2OiBSZXBsYWNlIGlndF93YXJuIHdpdGggaWd0X2luZm8sIHRvIG1h a2UgSUdUIHRlc3RzIGhhcHBpZXIuCj4KPiB2NzogUmVtb3ZlZCB1bm5lZWRlZCByZXRyeSBsb2dp YywgbWFkZSBwbGFuZSByYW5kb20gcmVtb3ZhbCBzaW1wbGllci4KPiAgICAgR3JlYXQgdGhhbmtz IHRvIE1hYXJ0ZW4gTGFua2hvcnN0IGZvciBzdWdnZXN0aW9ucy4KCldoYXQgSSBtZWFuIGlzIHJl cGxhY2luZyBhbHBoYSwgYXQgdGhpcyBzbmlwcGV0OgoKcGFybXNbaV0uZmIgPSBzcHJpdGVfZmI7 CgpBZGQ6CgphbHBoYSA9IGlndF9wbGFuZV9oYXNfZm9ybWF0X21vZChwbGFuZSwgRFJNX0ZPUk1B VF9BUkdCODg4OCwgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSkpCgpUaGlzIHNob3VsZCBnZXQg cmlkIG9mIHRoZSByZXRyeSBsb2dpYyBmb3IgYWxwaGEsIGFuZCBzaG91bGQgcHJvYmFibHkgYmUg ZG9uZSBhcyBhIHByZXBhcmF0aW9uIHBhdGNoIHRvIHNpbXBsaWZ5IHRoaW5ncy4KCkkgYWxzbyB0 aGluayB3ZSBzaG91bGQgYmUgYWJsZSB0byBlbmFibGUgYXQgbGVhc3QgdGhlIHByaW1hcnksIGN1 cnNvciBhbmQgYSBzaW5nbGUgb3ZlcmxheSBwbGFuZS4gSWYgd2UgY2FuJ3QgZG8gdGhhdCB3ZSBm YWlsIGhhcmQuLgoKQmVjYXVzZSBvZiB0aGlzIEkgZG9uJ3QgdGhpbmsgd2Ugc2hvdWxkIGhhbmRs ZSByZW1vdmluZyBwcmltYXJ5IG9yIGN1cnNvciBwbGFuZSwgd2Ugc2hvdWxkIHByb2JhYmx5IGZh aWwgaW4gdGhhdCBjYXNlLgoKfk1hYXJ0ZW4KCj4gU2lnbmVkLW9mZi1ieTogU3RhbmlzbGF2IExp c292c2tpeSA8c3RhbmlzbGF2Lmxpc292c2tpeUBpbnRlbC5jb20+Cj4gLS0tCj4gIHRlc3RzL2tt c19hdG9taWNfdHJhbnNpdGlvbi5jIHwgMTMzICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDc5IGluc2VydGlvbnMoKyksIDU0IGRlbGV0aW9ucygt KQo+Cj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19hdG9taWNfdHJhbnNpdGlvbi5jIGIvdGVzdHMv a21zX2F0b21pY190cmFuc2l0aW9uLmMKPiBpbmRleCA2MzhmZTE3ZS4uNGI1MzBlNTYgMTAwNjQ0 Cj4gLS0tIGEvdGVzdHMva21zX2F0b21pY190cmFuc2l0aW9uLmMKPiArKysgYi90ZXN0cy9rbXNf YXRvbWljX3RyYW5zaXRpb24uYwo+IEBAIC0xODQsNiArMTg0LDkgQEAgc3RhdGljIHZvaWQgc2V0 X3Nwcml0ZV93aChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIHBpcGUgcGlwZSwKPiAgCQkg ICAgcGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKQo+ICAJCQljb250aW51ZTsK PiAgCj4gKwkJaWYgKCFwYXJtc1tpXS5tYXNrKQo+ICsJCQljb250aW51ZTsKPiArCj4gIAkJcGFy bXNbaV0ud2lkdGggPSB3Owo+ICAJCXBhcm1zW2ldLmhlaWdodCA9IGg7Cj4gIAl9Cj4gQEAgLTIx Miw5ICsyMTUsMTAgQEAgc3RhdGljIHZvaWQgc2V0dXBfcGFybXMoaWd0X2Rpc3BsYXlfdCAqZGlz cGxheSwgZW51bSBwaXBlIHBpcGUsCj4gIAl1bnNpZ25lZCBzcHJpdGVfd2lkdGgsIHNwcml0ZV9o ZWlnaHQsIHByZXZfdywgcHJldl9oOwo+ICAJYm9vbCBtYXhfc3ByaXRlX3dpZHRoLCBtYXhfc3By aXRlX2hlaWdodCwgYWxwaGEgPSB0cnVlOwo+ICAJdWludDMyX3Qgbl9wbGFuZXMgPSBkaXNwbGF5 LT5waXBlc1twaXBlXS5uX3BsYW5lczsKPiAtCXVpbnQzMl90IG5fb3ZlcmxheXMgPSAwLCBvdmVy bGF5c1tuX3BsYW5lc107Cj4gLQlpZ3RfcGxhbmVfdCAqcGxhbmU7Cj4gLQl1aW50MzJfdCBpdGVy X21hc2sgPSAzOwo+ICsJdWludDMyX3Qgbl9vdmVybGF5cywgb3ZlcmxheXNbbl9wbGFuZXNdOwo+ ICsJaWd0X3BsYW5lX3QgKnBsYW5lLCAqcHJpbWFyeSwgKmN1cnNvcjsKPiArCXVpbnQzMl90IGl0 ZXJfbWFzazsKPiArCWludCByZXQgPSAwOwo+ICAKPiAgCWRvX29yX2RpZShkcm1HZXRDYXAoZGlz cGxheS0+ZHJtX2ZkLCBEUk1fQ0FQX0NVUlNPUl9XSURUSCwgJmN1cnNvcl93aWR0aCkpOwo+ICAJ aWYgKGN1cnNvcl93aWR0aCA+PSBtb2RlLT5oZGlzcGxheSkKPiBAQCAtMjI0LDYgKzIyOCw5IEBA IHN0YXRpYyB2b2lkIHNldHVwX3Bhcm1zKGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0gcGlw ZSBwaXBlLAo+ICAJaWYgKGN1cnNvcl9oZWlnaHQgPj0gbW9kZS0+dmRpc3BsYXkpCj4gIAkJY3Vy c29yX2hlaWdodCA9IG1vZGUtPnZkaXNwbGF5Owo+ICAKPiArCW5fb3ZlcmxheXMgPSAwOwo+ICsJ aXRlcl9tYXNrID0gMzsKPiArCj4gIAlmb3JfZWFjaF9wbGFuZV9vbl9waXBlKGRpc3BsYXksIHBp cGUsIHBsYW5lKSB7Cj4gIAkJaW50IGkgPSBwbGFuZS0+aW5kZXg7Cj4gIAo+IEBAIC0yMzIsMTcg KzIzOSwxNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9wYXJtcyhpZ3RfZGlzcGxheV90ICpkaXNwbGF5 LCBlbnVtIHBpcGUgcGlwZSwKPiAgCQkJcGFybXNbaV0ud2lkdGggPSBtb2RlLT5oZGlzcGxheTsK PiAgCQkJcGFybXNbaV0uaGVpZ2h0ID0gbW9kZS0+dmRpc3BsYXk7Cj4gIAkJCXBhcm1zW2ldLm1h c2sgPSAxIDw8IDA7Cj4gKwkJCXByaW1hcnkgPSBwbGFuZTsKPiAgCQl9IGVsc2UgaWYgKHBsYW5l LT50eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUikgewo+ICAJCQlwYXJtc1tpXS5mYiA9IGFy Z2JfZmI7Cj4gIAkJCXBhcm1zW2ldLndpZHRoID0gY3Vyc29yX3dpZHRoOwo+ICAJCQlwYXJtc1tp XS5oZWlnaHQgPSBjdXJzb3JfaGVpZ2h0Owo+ICAJCQlwYXJtc1tpXS5tYXNrID0gMSA8PCAxOwo+ ICsJCQljdXJzb3IgPSBwbGFuZTsKPiAgCQl9IGVsc2Ugewo+ICAJCQlwYXJtc1tpXS5mYiA9IHNw cml0ZV9mYjsKPiAgCQkJcGFybXNbaV0ubWFzayA9IDEgPDwgMjsKPiAtCj4gIAkJCWl0ZXJfbWFz ayB8PSAxIDw8IDI7Cj4gLQo+ICAJCQlvdmVybGF5c1tuX292ZXJsYXlzKytdID0gaTsKPiAgCQl9 Cj4gIAl9Cj4gQEAgLTI3OCwxNiArMjg1LDEzIEBAIHN0YXRpYyB2b2lkIHNldHVwX3Bhcm1zKGln dF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLAo+ICAJICogUHJlIGdlbjkgbm90 IGFsbCBzaXplcyBhcmUgc3VwcG9ydGVkLCBmaW5kIHRoZSBiaWdnZXN0IHBvc3NpYmxlCj4gIAkg KiBzaXplIHRoYXQgY2FuIGJlIGVuYWJsZWQgb24gYWxsIHNwcml0ZSBwbGFuZXMuCj4gIAkgKi8K PiAtcmV0cnk6Cj4gIAlwcmV2X3cgPSBzcHJpdGVfd2lkdGggPSBjdXJzb3Jfd2lkdGg7Cj4gIAlw cmV2X2ggPSBzcHJpdGVfaGVpZ2h0ID0gY3Vyc29yX2hlaWdodDsKPiAgCj4gIAltYXhfc3ByaXRl X3dpZHRoID0gKHNwcml0ZV93aWR0aCA9PSBtb2RlLT5oZGlzcGxheSk7Cj4gIAltYXhfc3ByaXRl X2hlaWdodCA9IChzcHJpdGVfaGVpZ2h0ID09IG1vZGUtPnZkaXNwbGF5KTsKPiAgCj4gLQl3aGls ZSAoMSkgewo+IC0JCWludCByZXQ7Cj4gLQo+ICsJd2hpbGUgKCFtYXhfc3ByaXRlX3dpZHRoICYm ICFtYXhfc3ByaXRlX2hlaWdodCkgewo+ICAJCXNldF9zcHJpdGVfd2goZGlzcGxheSwgcGlwZSwg cGFybXMsIHNwcml0ZV9mYiwKPiAgCQkJICAgICAgYWxwaGEsIHNwcml0ZV93aWR0aCwgc3ByaXRl X2hlaWdodCk7Cj4gIAo+IEBAIC0yOTUsNTYgKzI5OSw3OCBAQCByZXRyeToKPiAgCQlyZXQgPSBp Z3RfZGlzcGxheV90cnlfY29tbWl0X2F0b21pYyhkaXNwbGF5LCBEUk1fTU9ERV9BVE9NSUNfVEVT VF9PTkxZIHwgRFJNX01PREVfQVRPTUlDX0FMTE9XX01PREVTRVQsIE5VTEwpOwo+ICAJCWlndF9h c3NlcnQoIWlzX2F0b21pY19jaGVja19mYWlsdXJlX2Vycm5vKHJldCkpOwo+ICAKPiAtCQlpZiAo aXNfYXRvbWljX2NoZWNrX3BsYW5lX3NpemVfZXJybm8ocmV0KSkgewo+IC0JCQlpZiAoY3Vyc29y X3dpZHRoID09IHNwcml0ZV93aWR0aCAmJgo+IC0JCQkgICAgY3Vyc29yX2hlaWdodCA9PSBzcHJp dGVfaGVpZ2h0KSB7Cj4gLQkJCQlpZ3RfYXNzZXJ0X2YoYWxwaGEsCj4gLQkJCQkJICAgICAgIkNh bm5vdCBjb25maWd1cmUgdGhlIHRlc3Qgd2l0aCBhbGwgc3ByaXRlIHBsYW5lcyBlbmFibGVkXG4i KTsKPiAtCj4gLQkJCQkvKiByZXRyeSBvbmNlIHdpdGggWFJHQiBmb3JtYXQuICovCj4gLQkJCQlh bHBoYSA9IGZhbHNlOwo+IC0JCQkJZ290byByZXRyeTsKPiAtCQkJfQo+IC0KPiAtCQkJc3ByaXRl X3dpZHRoID0gcHJldl93Owo+IC0JCQlzcHJpdGVfaGVpZ2h0ID0gcHJldl9oOwo+IC0KPiAtCQkJ aWYgKG1heF9zcHJpdGVfd2lkdGggJiYgbWF4X3Nwcml0ZV9oZWlnaHQpIHsKPiAtCQkJCXNldF9z cHJpdGVfd2goZGlzcGxheSwgcGlwZSwgcGFybXMsIHNwcml0ZV9mYiwKPiAtCQkJCQkgICAgICBh bHBoYSwgc3ByaXRlX3dpZHRoLCBzcHJpdGVfaGVpZ2h0KTsKPiAtCQkJCWJyZWFrOwo+IC0JCQl9 Cj4gLQo+IC0JCQlpZiAoIW1heF9zcHJpdGVfd2lkdGgpCj4gLQkJCQltYXhfc3ByaXRlX3dpZHRo ID0gdHJ1ZTsKPiAtCQkJZWxzZQo+IC0JCQkJbWF4X3Nwcml0ZV9oZWlnaHQgPSB0cnVlOwo+IC0J CX0gZWxzZSB7Cj4gKwkJaWYgKCFpc19hdG9taWNfY2hlY2tfcGxhbmVfc2l6ZV9lcnJubyhyZXQp KSB7Cj4gIAkJCXByZXZfdyA9IHNwcml0ZV93aWR0aDsKPiAgCQkJcHJldl9oID0gc3ByaXRlX2hl aWdodDsKPiAtCQl9Cj4gLQo+IC0JCWlmICghbWF4X3Nwcml0ZV93aWR0aCkgewo+IC0JCQlzcHJp dGVfd2lkdGggKj0gMjsKPiAtCj4gKyAgICAKPiArCQkJc3ByaXRlX3dpZHRoICo9IG1heF9zcHJp dGVfd2lkdGggPyAxIDogMjsKPiAgCQkJaWYgKHNwcml0ZV93aWR0aCA+PSBtb2RlLT5oZGlzcGxh eSkgewo+ICAJCQkJbWF4X3Nwcml0ZV93aWR0aCA9IHRydWU7Cj4gLQo+ICAJCQkJc3ByaXRlX3dp ZHRoID0gbW9kZS0+aGRpc3BsYXk7Cj4gIAkJCX0KPiAtCQl9IGVsc2UgaWYgKCFtYXhfc3ByaXRl X2hlaWdodCkgewo+IC0JCQlzcHJpdGVfaGVpZ2h0ICo9IDI7Cj4gIAo+ICsJCQlzcHJpdGVfaGVp Z2h0ICo9IG1heF9zcHJpdGVfaGVpZ2h0ID8gMSA6IDI7Cj4gIAkJCWlmIChzcHJpdGVfaGVpZ2h0 ID49IG1vZGUtPnZkaXNwbGF5KSB7Cj4gIAkJCQltYXhfc3ByaXRlX2hlaWdodCA9IHRydWU7Cj4g LQo+ICAJCQkJc3ByaXRlX2hlaWdodCA9IG1vZGUtPnZkaXNwbGF5Owo+ICAJCQl9Cj4gLQkJfSBl bHNlCj4gLQkJCS8qIE1heCBzaXplZCBzcHJpdGVzIGZvciBhbGwhICovCj4gLQkJCWJyZWFrOwo+ ICsJCQljb250aW51ZTsKPiArCQl9Cj4gKwo+ICsJCWlmIChjdXJzb3Jfd2lkdGggPT0gc3ByaXRl X3dpZHRoICYmCj4gKwkJICAgIGN1cnNvcl9oZWlnaHQgPT0gc3ByaXRlX2hlaWdodCkgewo+ICsJ CQkvKiByZXRyeSBvbmNlIHdpdGggWFJHQiBmb3JtYXQuICovCj4gKwkJCWlmIChhbHBoYSkgewo+ ICsJCQkJYWxwaGEgPSBmYWxzZTsKPiArCQkJCWlndF9pbmZvKCJSZW1vdmVkIGFscGhhXG4iKTsK PiArCQkJfQo+ICsJCQllbHNlIHsKPiArCQkJCWlndF9wbGFuZV90ICpyZW1vdmVkX3BsYW5lID0g TlVMTDsKPiArCQkJCWlndF9hc3NlcnRfZihuX3BsYW5lcyA+IDAsICJObyBwbGFuZXMgbGVmdCB0 byBwcm9jZWVkIHdpdGghIik7Cj4gKwkJCQlpZiAobl9vdmVybGF5cyA+IDApIHsKPiArCQkJCQl1 aW50MzJfdCBwbGFuZV90b19yZW1vdmUgPSBoYXJzX3BldHJ1c2thX2Y1NF8xX3JhbmRvbV91bnNh ZmVfbWF4KG5fb3ZlcmxheXMpOwo+ICsJCQkJCXJlbW92ZWRfcGxhbmUgPSAmZGlzcGxheS0+cGlw ZXNbcGlwZV0ucGxhbmVzW292ZXJsYXlzW3BsYW5lX3RvX3JlbW92ZV1dOwo+ICsJCQkJCWlndF9w bGFuZV9zZXRfZmIocmVtb3ZlZF9wbGFuZSwgTlVMTCk7Cj4gKwkJCQkJd2hpbGUgKHBsYW5lX3Rv X3JlbW92ZSA8IChuX292ZXJsYXlzIC0gMSkpIHsKPiArCQkJCQkJb3ZlcmxheXNbcGxhbmVfdG9f cmVtb3ZlXSA9IG92ZXJsYXlzW3BsYW5lX3RvX3JlbW92ZSArIDFdOwo+ICsJCQkJCQlwbGFuZV90 b19yZW1vdmUrKzsKPiArCQkJCQl9Cj4gKwkJCQkJbl9vdmVybGF5cy0tOwo+ICsJCQkJfQo+ICsJ CQkJZWxzZSB7Cj4gKwkJCQkJaWYgKHByaW1hcnkpIHsKPiArCQkJCQkJcmVtb3ZlZF9wbGFuZSA9 IHByaW1hcnk7Cj4gKwkJCQkJCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgTlVMTCk7Cj4gKwkJ CQkJCXByaW1hcnkgPSBOVUxMOwo+ICsJCQkJCX0KPiArCQkJCQllbHNlIGlmIChjdXJzb3IpIHsK PiArCQkJCQkJcmVtb3ZlZF9wbGFuZSA9IGN1cnNvcjsKPiArCQkJCQkJaWd0X3BsYW5lX3NldF9m YihjdXJzb3IsIE5VTEwpOwo+ICsJCQkJCQljdXJzb3IgPSBOVUxMOwo+ICsJCQkJCX0KPiArCQkJ CX0KPiArCQkJCWlmIChyZW1vdmVkX3BsYW5lKSB7Cj4gKwkJCQkJcGFybXNbcmVtb3ZlZF9wbGFu ZS0+aW5kZXhdLm1hc2sgPSAwOwo+ICsJCQkJCWlndF9pbmZvKCJSZW1vdmVkIHBsYW5lICVkXG4i LCByZW1vdmVkX3BsYW5lLT5pbmRleCk7Cj4gKwkJCQl9Cj4gKwkJCQluX3BsYW5lcy0tOwo+ICsJ CQkJaWd0X2luZm8oIlJlZHVjZWQgYXZhaWxhYmxlIHBsYW5lcyB0byAlZFxuIiwgbl9wbGFuZXMp Owo+ICsJCQl9Cj4gKwkJCWNvbnRpbnVlOwo+ICsJCX0KPiArCj4gKwkJc3ByaXRlX3dpZHRoID0g cHJldl93Owo+ICsJCXNwcml0ZV9oZWlnaHQgPSBwcmV2X2g7Cj4gKwo+ICsJCWlmICghbWF4X3Nw cml0ZV93aWR0aCkKPiArCQkJbWF4X3Nwcml0ZV93aWR0aCA9IHRydWU7Cj4gKwkJZWxzZQo+ICsJ CQltYXhfc3ByaXRlX2hlaWdodCA9IHRydWU7Cj4gIAl9Cj4gIAo+ICsJc2V0X3Nwcml0ZV93aChk aXNwbGF5LCBwaXBlLCBwYXJtcywgc3ByaXRlX2ZiLAo+ICsJCQlhbHBoYSwgc3ByaXRlX3dpZHRo LCBzcHJpdGVfaGVpZ2h0KTsKPiArCj4gIAlpZ3RfaW5mbygiUnVubmluZyB0ZXN0IG9uIHBpcGUg JXMgd2l0aCByZXNvbHV0aW9uICVkeCVkIGFuZCBzcHJpdGUgc2l6ZSAlZHglZCBhbHBoYSAlaVxu IiwKPiAgCQkga21zdGVzdF9waXBlX25hbWUocGlwZSksIG1vZGUtPmhkaXNwbGF5LCBtb2RlLT52 ZGlzcGxheSwKPiAgCQkgc3ByaXRlX3dpZHRoLCBzcHJpdGVfaGVpZ2h0LCBhbHBoYSk7Cj4gQEAg LTQzNiw3ICs0NjIsNyBAQCBydW5fdHJhbnNpdGlvbl90ZXN0KGlndF9kaXNwbGF5X3QgKmRpc3Bs YXksIGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dAo+ICAJdWludDMyX3QgaXRl cl9tYXgsIGk7Cj4gIAlzdHJ1Y3QgcGxhbmVfcGFybXMgcGFybXNbcGlwZV9vYmotPm5fcGxhbmVz XTsKPiAgCXVuc2lnbmVkIGZsYWdzID0gMDsKPiAtCWludCByZXQ7Cj4gKwlpbnQgcmV0ID0gMDsK PiAgCj4gIAlpZiAoZmVuY2luZykKPiAgCQlwcmVwYXJlX2ZlbmNpbmcoZGlzcGxheSwgcGlwZSk7 Cj4gQEAgLTQ2Myw3ICs0ODksNiBAQCBydW5fdHJhbnNpdGlvbl90ZXN0KGlndF9kaXNwbGF5X3Qg KmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dAo+ICAKPiAgCWlm IChmbGFncyAmIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VUKSB7Cj4gIAkJaWd0X291dHB1 dF9zZXRfcGlwZShvdXRwdXQsIFBJUEVfTk9ORSk7Cj4gLQo+ICAJCWlndF9kaXNwbGF5X2NvbW1p dDIoZGlzcGxheSwgQ09NTUlUX0FUT01JQyk7Cj4gIAo+ICAJCWlndF9vdXRwdXRfc2V0X3BpcGUo b3V0cHV0LCBwaXBlKTsKPiBAQCAtNDc5LDcgKzUwNCw2IEBAIHJ1bl90cmFuc2l0aW9uX3Rlc3Qo aWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUsIGlndF9vdXRwdXRfdCAqb3V0 cHV0Cj4gIAkgKiBwbGFuZXMgdG8gZml4IHRoaXMKPiAgCSAqLwo+ICAJd2hpbGUgKDEpIHsKPiAt CQl3bV9zZXR1cF9wbGFuZShkaXNwbGF5LCBwaXBlLCBpdGVyX21heCAtIDEsIHBhcm1zLCBmYWxz ZSk7Cj4gIAo+ICAJCWlmIChmZW5jaW5nKQo+ICAJCQlpZ3RfcGlwZV9yZXF1ZXN0X291dF9mZW5j ZShwaXBlX29iaik7Cj4gQEAgLTQ5OCw5ICs1MjIsNiBAQCBydW5fdHJhbnNpdGlvbl90ZXN0KGln dF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0cHV0X3QgKm91dHB1 dAo+ICAJCQkgICAgcGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKQo+ICAJCQkJ Y29udGludWU7Cj4gIAo+IC0JCQlpZiAocGFybXNbaV0ud2lkdGggPD0gNTEyKQo+IC0JCQkJY29u dGludWU7Cj4gLQo+ICAJCQlwYXJtc1tpXS53aWR0aCAvPSAyOwo+ICAJCQlyZXQgPSAxOwo+ICAJ CQlpZ3RfaW5mbygiUmVkdWNpbmcgc3ByaXRlICVpIHRvICV1eCV1XG4iLCBpIC0gMSwgcGFybXNb aV0ud2lkdGgsIHBhcm1zW2ldLmhlaWdodCk7Cj4gQEAgLTUxMSw2ICs1MzIsOCBAQCBydW5fdHJh bnNpdGlvbl90ZXN0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGVudW0gcGlwZSBwaXBlLCBpZ3Rf b3V0cHV0X3QgKm91dHB1dAo+ICAJCQlpZ3Rfc2tpcCgiQ2Fubm90IHJ1biB0ZXN0cyB3aXRob3V0 IHByb3BlciBzaXplIHNwcml0ZSBwbGFuZXNcbiIpOwo+ICAJfQo+ICAKPiArCXdtX3NldHVwX3Bs YW5lKGRpc3BsYXksIHBpcGUsIGl0ZXJfbWF4IC0gMSwgcGFybXMsIGZhbHNlKTsKPiArCj4gIAlp Z3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXksIENPTU1JVF9BVE9NSUMpOwo+ICAKPiAgCWlmICh0 eXBlID09IFRSQU5TSVRJT05fQUZURVJfRlJFRSkgewo+IEBAIC01MjUsOCArNTQ4LDEwIEBAIHJ1 bl90cmFuc2l0aW9uX3Rlc3QoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBpcGUs IGlndF9vdXRwdXRfdCAqb3V0cHV0Cj4gIAkJfQo+ICAKPiAgCQkvKiBmb3JjZSBwbGFuZXMgdG8g YmUgcGFydCBvZiBjb21taXQgKi8KPiAtCQlmb3JfZWFjaF9wbGFuZV9vbl9waXBlKGRpc3BsYXks IHBpcGUsIHBsYW5lKQo+IC0JCQlpZ3RfcGxhbmVfc2V0X3Bvc2l0aW9uKHBsYW5lLCAwLCAwKTsK PiArCQlmb3JfZWFjaF9wbGFuZV9vbl9waXBlKGRpc3BsYXksIHBpcGUsIHBsYW5lKSB7Cj4gKwkJ CWlmIChwYXJtc1twbGFuZS0+aW5kZXhdLm1hc2spCj4gKwkJCQlpZ3RfcGxhbmVfc2V0X3Bvc2l0 aW9uKHBsYW5lLCAwLCAwKTsKPiArCQl9Cj4gIAo+ICAJCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlz cGxheSwgQ09NTUlUX0FUT01JQyk7Cj4gIAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaWd0LWRldg==