From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mslow2.mail.gandi.net (mslow2.mail.gandi.net [217.70.178.242]) by gabe.freedesktop.org (Postfix) with ESMTPS id B23E66E05D for ; Fri, 5 Apr 2019 09:01:24 +0000 (UTC) Received: from relay11.mail.gandi.net (unknown [217.70.178.231]) by mslow2.mail.gandi.net (Postfix) with ESMTP id 57B1F3A8699 for ; Fri, 5 Apr 2019 08:39:53 +0000 (UTC) Message-ID: From: Paul Kocialkowski Date: Fri, 05 Apr 2019 10:39:29 +0200 In-Reply-To: <20190405082441.6454-1-maarten.lankhorst@linux.intel.com> References: <20190405082441.6454-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_chamelium: Fix *-cmp-random and *-crc-random tests, v2. 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: Maarten Lankhorst , igt-dev@lists.freedesktop.org List-ID: SGksCgpMZSB2ZW5kcmVkaSAwNSBhdnJpbCAyMDE5IMOgIDEwOjI0ICswMjAwLCBNYWFydGVuIExh bmtob3JzdCBhIMOpY3JpdCA6Cj4gVGhlIHJhbmRvbSB0ZXN0cyBhbGxvd2VkIHBvdGVudGlhbGx5 IGludmFsaWQgdGhpbmdzOgo+IC0gMXgxIGZiJ3MgdG8gYmUgY3JlYXRlZC4gRm9yY2UgYSBtaW5p bXVtIG9mIDMyIG9uIGk5MTUgc28gYSBzY2FsZWQKPiAgIHBsYW5lIHdpbGwgYmUgYXQgbGVhc3Qg MTZ4MTYuIFRoaXMgd2lsbCBmaXggc2NhbGVkL3BsYW5hciBmb3JtYXQKPiAgIHN1cHBvcnQgaW4g aTkxNSBhbmQgYXZvaWQgYSBkaXYgYnkgemVybyB3aGVuIGNhbGN1bGF0aW5nIGEgdmFsdWUKPiAg IG1vZHVsbyBoLzIgYW5kIHcvMi4KPiAtIERvd25zY2FsaW5nIHRvIGFueSBhbW91bnQsIHJlc3Ry aWN0IGl0IHRvIDJ4IHRvIG1ha2UgdGhlIHRlc3QgcGFzcy4KPiAtIFNvbWUgaHcgbWF5IG5vdCBh bGxvdyBzY2FsaW5nLCBpbiB0aG9zZSBjYXNlcyB3ZSBzaG91bGQgZmFsbGJhY2sKPiAgIHRvIG5v IHNjYWxpbmcgYXQgYWxsLgo+IC0gQXR0ZW1wdGluZyB0byBjb25maWd1cmUgYSBtaW5pbXVtIG9m IDQgcGxhbmVzLCBpbnN0ZWFkIG9mIGEgbWF4aW11bS4KPiAgIFRoaXMgZmFpbHMgd2l0aCBhIG51 bGwgcG9pbnRlciBkZXJlZiBpZiB0aGUgaHcgZG9lc24ndCBoYXZlIDQKPiAgIGNvbmZpZ3VyYWJs ZSBvdmVybGF5IHBsYW5lcy4KPiAKPiBDaGFuZ2VzIHNpbmNlIHYxOgo+IC0gRW5mb3JjZSBhIG1p bmltdW0gZGlzcGxheWVkIHNpemUgb2YgMTZ4MTYgZm9yIGludGVsIG9ubHksCj4gICBvdGhlcndp c2UgaXQncyAxeDEuCgpTb3JyeSBmb3IgYmVpbmcgdW5jbGVhciwgSSBhY3R1YWxseSBtZWFudCB0 aGF0IDh4OCAob3IgZXZlbiA0eDQpIHdvdWxkCm1ha2UgbW9yZSBzZW5zZSBhcyBhIG1pbmltdW0g ZHJpdmVyLWFnbm9zdGljIHNpemUsIGJ1dCBub3QgMXgxLgoKU2VlIGEgZmV3IG90aGVyIGNvbW1l bnRzIGJlbG93LgoKQ2hlZXJzIQoKPiAtIEZpeCBjb21tZW50cy4KPiAKPiBDYzogUGF1bCBLb2Np YWxrb3dza2kgPHBhdWwua29jaWFsa293c2tpQGJvb3RsaW4uY29tPgo+IFNpZ25lZC1vZmYtYnk6 IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4g LS0tCj4gIHRlc3RzL2ttc19jaGFtZWxpdW0uYyB8IDE5OSArKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDEzNCBpbnNlcnRpb25zKCsp LCA2NSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2NoYW1lbGl1bS5j IGIvdGVzdHMva21zX2NoYW1lbGl1bS5jCj4gaW5kZXggMmRjMTA0OWQyZGRhLi4wM2Q4NzRjNWEx ODMgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMva21zX2NoYW1lbGl1bS5jCj4gKysrIGIvdGVzdHMva21z X2NoYW1lbGl1bS5jCj4gQEAgLTc5MSwyNyArNzkxLDU2IEBAIHN0YXRpYyB2b2lkIHJhbmRvbWl6 ZV9wbGFuZV9mb3JtYXRfc3RyaWRlKGlndF9wbGFuZV90ICpwbGFuZSwKPiAgCQkqbW9kaWZpZXIg PSBEUk1fRk9STUFUX01PRF9MSU5FQVI7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIHJhbmRvbWl6 ZV9wbGFuZV9kaW1lbnNpb25zKGRybU1vZGVNb2RlSW5mbyAqbW9kZSwKPiAtCQkJCSAgICAgICB1 aW50MzJfdCAqd2lkdGgsIHVpbnQzMl90ICpoZWlnaHQsCj4gLQkJCQkgICAgICAgdWludDMyX3Qg KnNyY193LCB1aW50MzJfdCAqc3JjX2gsCj4gLQkJCQkgICAgICAgdWludDMyX3QgKnNyY194LCB1 aW50MzJfdCAqc3JjX3ksCj4gLQkJCQkgICAgICAgdWludDMyX3QgKmNydGNfdywgdWludDMyX3Qg KmNydGNfaCwKPiAtCQkJCSAgICAgICBpbnQzMl90ICpjcnRjX3gsIGludDMyX3QgKmNydGNfeSwK PiAtCQkJCSAgICAgICBib29sIGFsbG93X3NjYWxpbmcpCj4gK3N0YXRpYyB2b2lkIHJhbmRvbWl6 ZV9wbGFuZV9kaW1lbnNpb25zKGRhdGFfdCAqZGF0YSwgZHJtTW9kZU1vZGVJbmZvICptb2RlLAo+ ICsJCQkJICAgICAgIHVpbnQzMl90ICp3aWR0aCwgdWludDMyX3QgKmhlaWdodCkKPiAgewo+IC0J ZG91YmxlIHJhdGlvOwo+ICsJaW50IG1pbl9kaW0gPSBpc19pOTE1X2RldmljZShkYXRhLT5kcm1f ZmQpID8gMTYgOiAxOwo+Cj4gKwo+ICsJLyoKPiArCSAqIFJhbmRvbWl6ZSB3aWR0aCBhbmQgaGVp Z2h0IGluIHRoZSBtb2RlIGRpbWVuc2lvbnMgcmFuZ2UuCj4gKwkgKgo+ICsJICogUmVzdHJpY3Qg dG8gYSBtaW4gb2YgMiAqIG1pbl9kaW0sIHRoaXMgd2F5IHNyY193L2ggYXJlIGFsd2F5cyBhdAo+ ICsJICogbGVhc3QgbWluX2RpbSwgYmVjYXVzZSBzcmNfdyA9IHdpZHRoIC0gKHJhbmQgJSB3IC8g MikuCj4gKwkgKi8KPiArCSp3aWR0aCA9IG1heCgocmFuZCgpICUgbW9kZS0+aGRpc3BsYXkpICsg MSwgMiAqIG1pbl9kaW0pOwo+ICsJKmhlaWdodCA9IG1heCgocmFuZCgpICUgbW9kZS0+dmRpc3Bs YXkpICsgMSwgMiAqIG1pbl9kaW0pOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBjb25maWd1cmVf cGxhbmUoaWd0X3BsYW5lX3QgKnBsYW5lLCB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gs Cj4gKwkJCSAgICB1aW50MzJfdCBzcmNfeCwgdWludDMyX3Qgc3JjX3ksIHVpbnQzMl90IGNydGNf dywKPiArCQkJICAgIHVpbnQzMl90IGNydGNfaCwgaW50MzJfdCBjcnRjX3gsIGludDMyX3QgY3J0 Y195LAo+ICsJCQkgICAgc3RydWN0IGlndF9mYiAqZmIpCj4gK3sKPiArCWlndF9wbGFuZV9zZXRf ZmIocGxhbmUsIGZiKTsKPiArCj4gKwlpZ3RfcGxhbmVfc2V0X3Bvc2l0aW9uKHBsYW5lLCBjcnRj X3gsIGNydGNfeSk7Cj4gKwlpZ3RfcGxhbmVfc2V0X3NpemUocGxhbmUsIGNydGNfdywgY3J0Y19o KTsKPiArCj4gKwlpZ3RfZmJfc2V0X3Bvc2l0aW9uKGZiLCBwbGFuZSwgc3JjX3gsIHNyY195KTsK PiArCWlndF9mYl9zZXRfc2l6ZShmYiwgcGxhbmUsIHNyY193LCBzcmNfaCk7Cj4gK30KPiAgCj4g LQkvKiBSYW5kb21pemUgd2lkdGggYW5kIGhlaWdodCBpbiB0aGUgbW9kZSBkaW1lbnNpb25zIHJh bmdlLiAqLwo+IC0JKndpZHRoID0gKHJhbmQoKSAlIG1vZGUtPmhkaXNwbGF5KSArIDE7Cj4gLQkq aGVpZ2h0ID0gKHJhbmQoKSAlIG1vZGUtPnZkaXNwbGF5KSArIDE7Cj4gK3N0YXRpYyB2b2lkIHJh bmRvbWl6ZV9wbGFuZV9jb29yZGluYXRlcyhkYXRhX3QgKmRhdGEsIGlndF9wbGFuZV90ICpwbGFu ZSwKPiArCQkJCQlkcm1Nb2RlTW9kZUluZm8gKm1vZGUsCj4gKwkJCQkJc3RydWN0IGlndF9mYiAq ZmIsCj4gKwkJCQkJdWludDMyX3QgKnNyY193LCB1aW50MzJfdCAqc3JjX2gsCj4gKwkJCQkJdWlu dDMyX3QgKnNyY194LCB1aW50MzJfdCAqc3JjX3ksCj4gKwkJCQkJdWludDMyX3QgKmNydGNfdywg dWludDMyX3QgKmNydGNfaCwKPiArCQkJCQlpbnQzMl90ICpjcnRjX3gsIGludDMyX3QgKmNydGNf eSwKPiArCQkJCQlib29sIGFsbG93X3NjYWxpbmcpCj4gK3sKPiArCWJvb2wgaXNfeXV2ID0gaWd0 X2Zvcm1hdF9pc195dXYoZmItPmRybV9mb3JtYXQpOwo+ICsJdWludDMyX3Qgd2lkdGggPSBmYi0+ d2lkdGgsIGhlaWdodCA9IGZiLT5oZWlnaHQ7Cj4gKwlkb3VibGUgcmF0aW87Cj4gKwlpbnQgcmV0 Owo+ICAKPiAgCS8qIFJhbmRvbWl6ZSBzb3VyY2Ugb2Zmc2V0IGluIHRoZSBmaXJzdCBoYWxmIG9m IHRoZSBvcmlnaW5hbCBzaXplLiAqLwo+IC0JKnNyY194ID0gcmFuZCgpICUgKCp3aWR0aCAvIDIp Owo+IC0JKnNyY195ID0gcmFuZCgpICUgKCpoZWlnaHQgLyAyKTsKPiArCSpzcmNfeCA9IHJhbmQo KSAlICh3aWR0aCAvIDIpOwo+ICsJKnNyY195ID0gcmFuZCgpICUgKGhlaWdodCAvIDIpOwo+ICAK PiAgCS8qIFRoZSBzb3VyY2Ugc2l6ZSBvbmx5IGluY2x1ZGVzIHRoZSBhY3RpdmUgc291cmNlIGFy ZWEuICovCj4gLQkqc3JjX3cgPSAqd2lkdGggLSAqc3JjX3g7Cj4gLQkqc3JjX2ggPSAqaGVpZ2h0 IC0gKnNyY195Owo+ICsJKnNyY193ID0gd2lkdGggLSAqc3JjX3g7Cj4gKwkqc3JjX2ggPSBoZWln aHQgLSAqc3JjX3k7Cj4gIAo+ICAJaWYgKGFsbG93X3NjYWxpbmcpIHsKPiAgCQkqY3J0Y193ID0g KHJhbmQoKSAlIG1vZGUtPmhkaXNwbGF5KSArIDE7Cj4gQEAgLTgyMSwxNyArODUwLDIyIEBAIHN0 YXRpYyB2b2lkIHJhbmRvbWl6ZV9wbGFuZV9kaW1lbnNpb25zKGRybU1vZGVNb2RlSW5mbyAqbW9k ZSwKPiAgCQkgKiBEb24ndCBib3RoZXIgd2l0aCBzY2FsaW5nIGlmIGRpbWVuc2lvbnMgYXJlIHF1 aXRlIGNsb3NlIGluCj4gIAkJICogb3JkZXIgdG8gZ2V0IG5vbi1zY2FsaW5nIGNhc2VzIG1vcmUg ZnJlcXVlbnRseS4gQWxzbyBsaW1pdAo+ICAJCSAqIHNjYWxpbmcgdG8gM3ggdG8gYXZvaWQgYWdy ZXNzaXZlIGZpbHRlcmluZyB0aGF0IG1ha2VzCj4gLQkJICogY29tcGFyaXNvbiBsZXNzIHJlbGlh YmxlLgo+ICsJCSAqIGNvbXBhcmlzb24gbGVzcyByZWxpYWJsZSwgYW5kIGRvbid0IGdvIGFib3Zl IDJ4IGRvd25zYW1wbGluZwo+ICsJCSAqIHRvIGF2b2lkIHBvc3NpYmxlIGh3IGxpbWl0YXRpb25z Lgo+ICAJCSAqLwo+ICAKPiAgCQlyYXRpbyA9ICgoZG91YmxlKSAqY3J0Y193IC8gKnNyY193KTsK PiAtCQlpZiAocmF0aW8gPiAwLjggJiYgcmF0aW8gPCAxLjIpCj4gKwkJaWYgKHJhdGlvIDwgMC41 KQo+ICsJCQkqc3JjX3cgPSAqY3J0Y193ICogMjsKPiArCQllbHNlIGlmIChyYXRpbyA+IDAuOCAm JiByYXRpbyA8IDEuMikKPiAgCQkJKmNydGNfdyA9ICpzcmNfdzsKPiAgCQllbHNlIGlmIChyYXRp byA+IDMuMCkKPiAgCQkJKmNydGNfdyA9ICpzcmNfdyAqIDM7Cj4gIAo+ICAJCXJhdGlvID0gKChk b3VibGUpICpjcnRjX2ggLyAqc3JjX2gpOwo+IC0JCWlmIChyYXRpbyA+IDAuOCAmJiByYXRpbyA8 IDEuMikKPiArCQlpZiAocmF0aW8gPCAwLjUpCj4gKwkJCSpzcmNfaCA9ICpjcnRjX2ggKiAyOwo+ ICsJCWVsc2UgaWYgKHJhdGlvID4gMC44ICYmIHJhdGlvIDwgMS4yKQo+ICAJCQkqY3J0Y19oID0g KnNyY19oOwo+ICAJCWVsc2UgaWYgKHJhdGlvID4gMy4wKQo+ICAJCQkqY3J0Y19oID0gKnNyY19o ICogMzsKPiBAQCAtODQ2LDggKzg4MCwxNSBAQCBzdGF0aWMgdm9pZCByYW5kb21pemVfcGxhbmVf ZGltZW5zaW9ucyhkcm1Nb2RlTW9kZUluZm8gKm1vZGUsCj4gIAkJICogc2NhbGVkIGNsaXBwaW5n IG1heSByZXN1bHQgaW4gZGVjaW1hbCBkaW1lbnNpb25zLCB0aGF0IG1vc3QKPiAgCQkgKiBkcml2 ZXJzIGRvbid0IHN1cHBvcnQuCj4gIAkJICovCj4gLQkJKmNydGNfeCA9IHJhbmQoKSAlIChtb2Rl LT5oZGlzcGxheSAtICpjcnRjX3cpOwo+IC0JCSpjcnRjX3kgPSByYW5kKCkgJSAobW9kZS0+dmRp c3BsYXkgLSAqY3J0Y19oKTsKPiArCQlpZiAoKmNydGNfdyA8IG1vZGUtPmhkaXNwbGF5KQo+ICsJ CQkqY3J0Y194ID0gcmFuZCgpICUgKG1vZGUtPmhkaXNwbGF5IC0gKmNydGNfdyk7Cj4gKwkJZWxz ZQo+ICsJCQkqY3J0Y194ID0gMDsKPiArCj4gKwkJaWYgKCpjcnRjX2ggPCBtb2RlLT52ZGlzcGxh eSkKPiArCQkJKmNydGNfeSA9IHJhbmQoKSAlIChtb2RlLT52ZGlzcGxheSAtICpjcnRjX2gpOwo+ ICsJCWVsc2UKPiArCQkJKmNydGNfeSA9IDA7Cj4gIAl9IGVsc2Ugewo+ICAJCS8qCj4gIAkJICog UmFuZG9taXplIHRoZSBvbi1jcnRjIHBvc2l0aW9uIGFuZCBhbGxvdyB0aGUgcGxhbmUgdG8gZ28K PiBAQCAtODU2LDYgKzg5Nyw1MCBAQCBzdGF0aWMgdm9pZCByYW5kb21pemVfcGxhbmVfZGltZW5z aW9ucyhkcm1Nb2RlTW9kZUluZm8gKm1vZGUsCj4gIAkJKmNydGNfeCA9IChyYW5kKCkgJSBtb2Rl LT5oZGlzcGxheSkgLSAqY3J0Y193IC8gMjsKPiAgCQkqY3J0Y195ID0gKHJhbmQoKSAlIG1vZGUt PnZkaXNwbGF5KSAtICpjcnRjX2ggLyAyOwo+ICAJfQo+ICsKPiArCWNvbmZpZ3VyZV9wbGFuZShw bGFuZSwgKnNyY193LCAqc3JjX2gsICpzcmNfeCwgKnNyY195LAo+ICsJCQkqY3J0Y193LCAqY3J0 Y19oLCAqY3J0Y194LCAqY3J0Y195LCBmYik7Cj4gKwlyZXQgPSBpZ3RfZGlzcGxheV90cnlfY29t bWl0X2F0b21pYygmZGF0YS0+ZGlzcGxheSwKPiArCQkJCQkgICAgRFJNX01PREVfQVRPTUlDX1RF U1RfT05MWSB8Cj4gKwkJCQkJICAgIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VULAo+ICsJ CQkJCSAgICBOVUxMKTsKPiArCWlmICghcmV0KQo+ICsJCXJldHVybjsKPiArCj4gKwkvKiBDb29y ZGluYXRlcyBhcmUgbG9nZ2VkIGluIHRoZSBkdW1wZWQgZGVidWcgbG9nLCBzbyBvbmx5IHJlcG9y dCB3L2ggb24gZmFpbHVyZSBoZXJlICovCgpNYXliZSBhZGQgYSB0cmFpbGluZyAiLiIgdG8gdGhh dCBjb21tZW50LgoKPiArCWlndF9hc3NlcnRfZihyZXQgIT0gLUVOT1NQQywgIkZhaWx1cmUgaW4g dGVzdGNhc2UsIGludmFsaWQgY29vcmRpbmF0ZXMgb24gYSAldXgldSBmYlxuIiwgd2lkdGgsIGhl aWdodCk7Cj4gKwo+ICsJLyogTWFrZSBZVVYgY29vcmRpbmF0ZXMgYSBtdWx0aXBsZSBvZiAyIGFu ZCByZXRyeSB0aGUgbWF0aC4gKi8KPiArCWlmIChpc195dXYpIHsKPiArCQkqc3JjX3ggJj0gfjE7 Cj4gKwkJKnNyY195ICY9IH4xOwo+ICsJCSpzcmNfdyAmPSB+MTsKPiArCQkqc3JjX2ggJj0gfjE7 Cj4gKwkJLyogVG8gaGFuZGxlIDE6MSBzY2FsaW5nLCBjbGVhciBjcnRjX3cvaCB0b28uICovCj4g KwkJKmNydGNfdyAmPSB+MTsKPiArCQkqY3J0Y19oICY9IH4xOwo+ICsJCWNvbmZpZ3VyZV9wbGFu ZShwbGFuZSwgKnNyY193LCAqc3JjX2gsICpzcmNfeCwgKnNyY195LCAqY3J0Y193LAo+ICsJCQkJ KmNydGNfaCwgKmNydGNfeCwgKmNydGNfeSwgZmIpOwo+ICsJCXJldCA9IGlndF9kaXNwbGF5X3Ry eV9jb21taXRfYXRvbWljKCZkYXRhLT5kaXNwbGF5LAo+ICsJCQkJCQlEUk1fTU9ERV9BVE9NSUNf VEVTVF9PTkxZIHwKPiArCQkJCQkJRFJNX01PREVfQVRPTUlDX0FMTE9XX01PREVTRVQsCj4gKwkJ CQkJCU5VTEwpOwo+ICsJCWlmICghcmV0KQo+ICsJCQlyZXR1cm47Cj4gKwl9Cj4gKwo+ICsJaWd0 X2Fzc2VydCghcmV0IHx8IGFsbG93X3NjYWxpbmcpOwo+ICsJaWd0X2luZm8oIlNjYWxpbmcgcmF0 aW8gJWcgLyAlZyBmYWlsZWQsIHRyeWluZyB3aXRob3V0IHNjYWxpbmcuXG4iLAo+ICsJCSAgKChk b3VibGUpICpjcnRjX3cgLyAqc3JjX3cpLCAoKGRvdWJsZSkgKmNydGNfaCAvICpzcmNfaCkpOwo+ ICsKPiArCSpjcnRjX3cgPSAqc3JjX3c7Cj4gKwkqY3J0Y19oID0gKnNyY19oOwo+ICsKPiArCWNv bmZpZ3VyZV9wbGFuZShwbGFuZSwgKnNyY193LCAqc3JjX2gsICpzcmNfeCwgKnNyY195LCAqY3J0 Y193LAo+ICsJCQkqY3J0Y19oLCAqY3J0Y194LCAqY3J0Y195LCBmYik7Cj4gKwlpZ3RfZGlzcGxh eV9jb21taXRfYXRvbWljKCZkYXRhLT5kaXNwbGF5LAo+ICsJCQkJICBEUk1fTU9ERV9BVE9NSUNf VEVTVF9PTkxZIHwKPiArCQkJCSAgRFJNX01PREVfQVRPTUlDX0FMTE9XX01PREVTRVQsIE5VTEwp Owo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBibGl0X3BsYW5lX2NhaXJvKGRhdGFfdCAqZGF0YSwg Y2Fpcm9fc3VyZmFjZV90ICpyZXN1bHQsCj4gQEAgLTkxNCwyMCArOTk5LDYgQEAgc3RhdGljIHZv aWQgYmxpdF9wbGFuZV9jYWlybyhkYXRhX3QgKmRhdGEsIGNhaXJvX3N1cmZhY2VfdCAqcmVzdWx0 LAo+ICAJY2Fpcm9fZGVzdHJveShjcik7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIGNvbmZpZ3Vy ZV9wbGFuZShpZ3RfcGxhbmVfdCAqcGxhbmUsIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNf aCwKPiAtCQkJICAgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwgdWludDMyX3QgY3J0 Y193LAo+IC0JCQkgICAgdWludDMyX3QgY3J0Y19oLCBpbnQzMl90IGNydGNfeCwgaW50MzJfdCBj cnRjX3ksCj4gLQkJCSAgICBzdHJ1Y3QgaWd0X2ZiICpmYikKPiAtewo+IC0JaWd0X3BsYW5lX3Nl dF9mYihwbGFuZSwgZmIpOwo+IC0KPiAtCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocGxhbmUsIGNy dGNfeCwgY3J0Y195KTsKPiAtCWlndF9wbGFuZV9zZXRfc2l6ZShwbGFuZSwgY3J0Y193LCBjcnRj X2gpOwo+IC0KPiAtCWlndF9mYl9zZXRfcG9zaXRpb24oZmIsIHBsYW5lLCBzcmNfeCwgc3JjX3kp Owo+IC0JaWd0X2ZiX3NldF9zaXplKGZiLCBwbGFuZSwgc3JjX3csIHNyY19oKTsKPiAtfQo+IC0K PiAgc3RhdGljIHZvaWQgcHJlcGFyZV9yYW5kb21pemVkX3BsYW5lKGRhdGFfdCAqZGF0YSwKPiAg CQkJCSAgICAgZHJtTW9kZU1vZGVJbmZvICptb2RlLAo+ICAJCQkJICAgICBpZ3RfcGxhbmVfdCAq cGxhbmUsCj4gQEAgLTk0NywyNCArMTAxOCwxMiBAQCBzdGF0aWMgdm9pZCBwcmVwYXJlX3JhbmRv bWl6ZWRfcGxhbmUoZGF0YV90ICpkYXRhLAo+ICAJc2l6ZV90IHN0cmlkZTsKPiAgCWJvb2wgdGls ZWQ7Cj4gIAlpbnQgZmJfaWQ7Cj4gKwl1aW50MzJfdCB0aWxlX3csIHRpbGVfaDsKPiAgCj4gLQly YW5kb21pemVfcGxhbmVfZGltZW5zaW9ucyhtb2RlLCAmb3ZlcmxheV9mYl93LCAmb3ZlcmxheV9m Yl9oLAo+IC0JCQkJICAgJm92ZXJsYXlfc3JjX3csICZvdmVybGF5X3NyY19oLAo+IC0JCQkJICAg Jm92ZXJsYXlfc3JjX3gsICZvdmVybGF5X3NyY195LAo+IC0JCQkJICAgJm92ZXJsYXlfY3J0Y193 LCAmb3ZlcmxheV9jcnRjX2gsCj4gLQkJCQkgICAmb3ZlcmxheV9jcnRjX3gsICZvdmVybGF5X2Ny dGNfeSwKPiAtCQkJCSAgIGFsbG93X3NjYWxpbmcpOwo+ICsJcmFuZG9taXplX3BsYW5lX2RpbWVu c2lvbnMoZGF0YSwgbW9kZSwgJm92ZXJsYXlfZmJfdywgJm92ZXJsYXlfZmJfaCk7Cj4gIAo+ICAJ aWd0X2RlYnVnKCJQbGFuZSAlZDogZnJhbWVidWZmZXIgc2l6ZSAlZHglZFxuIiwgaW5kZXgsCj4g IAkJICBvdmVybGF5X2ZiX3csIG92ZXJsYXlfZmJfaCk7Cj4gLQlpZ3RfZGVidWcoIlBsYW5lICVk OiBvbi1jcnRjIHNpemUgJWR4JWRcbiIsIGluZGV4LAo+IC0JCSAgb3ZlcmxheV9jcnRjX3csIG92 ZXJsYXlfY3J0Y19oKTsKPiAtCWlndF9kZWJ1ZygiUGxhbmUgJWQ6IG9uLWNydGMgcG9zaXRpb24g JWR4JWRcbiIsIGluZGV4LAo+IC0JCSAgb3ZlcmxheV9jcnRjX3gsIG92ZXJsYXlfY3J0Y195KTsK PiAtCWlndF9kZWJ1ZygiUGxhbmUgJWQ6IGluLWZyYW1lYnVmZmVyIHNpemUgJWR4JWRcbiIsIGlu ZGV4LAo+IC0JCSAgb3ZlcmxheV9zcmNfdywgb3ZlcmxheV9zcmNfaCk7Cj4gLQlpZ3RfZGVidWco IlBsYW5lICVkOiBpbi1mcmFtZWJ1ZmZlciBwb3NpdGlvbiAlZHglZFxuIiwgaW5kZXgsCj4gLQkJ ICBvdmVybGF5X3NyY194LCBvdmVybGF5X3NyY195KTsKPiAgCj4gIAkvKiBHZXQgYSBwYXR0ZXJu IGZyYW1lYnVmZmVyIGZvciB0aGUgb3ZlcmxheSBwbGFuZS4gKi8KPiAgCWZiX2lkID0gY2hhbWVs aXVtX2dldF9wYXR0ZXJuX2ZiKGRhdGEsIG92ZXJsYXlfZmJfdywgb3ZlcmxheV9mYl9oLAo+IEBA IC05NzYsMjMgKzEwMzUsNDIgQEAgc3RhdGljIHZvaWQgcHJlcGFyZV9yYW5kb21pemVkX3BsYW5l KGRhdGFfdCAqZGF0YSwKPiAgCj4gIAl0aWxlZCA9IChtb2RpZmllciAhPSBMT0NBTF9EUk1fRk9S TUFUX01PRF9OT05FKTsKPiAgCj4gKwlpZ3RfZ2V0X2ZiX3RpbGVfc2l6ZShkYXRhLT5kaXNwbGF5 LmRybV9mZCwgbW9kaWZpZXIsCj4gKwkJCSAgICAgaWd0X2RybV9mb3JtYXRfdG9fYnBwKGZvcm1h dCksCj4gKwkJCSAgICAgJnRpbGVfdywgJnRpbGVfaCk7Cj4gKwo+ICsJLyogTWFrZSBzdXJlIHN0 cmlkZSBpcyBhIG11bHRpcGxlIG9mIHRpbGUgc2l6ZSAqLwo+ICsJc3RyaWRlID0gRElWX1JPVU5E X1VQKHN0cmlkZSwgdGlsZV93KSAqIHRpbGVfdzsKPiArCgpQZXJoYXBzIG1vdmUgdGhhdCB0byBy YW5kb21pemVfcGxhbmVfZm9ybWF0X3N0cmlkZSBzaW5jZSB3ZSBhbHJlYWR5CmhhdmUgc3RyaWRl IGFsaWdubWVudCBjaGVja3MgaW4gdGhlcmUgKGZvciBwaXhtYW4pLgoKPiAgCWlndF9kZWJ1Zygi UGxhbmUgJWQ6ICVzIGZvcm1hdCAoJXMpIHdpdGggc3RyaWRlICVsZFxuIiwgaW5kZXgsCj4gIAkJ ICBpZ3RfZm9ybWF0X3N0cihmb3JtYXQpLCB0aWxlZCA/ICJ0aWxlZCIgOiAibGluZWFyIiwgc3Ry aWRlKTsKPiAgCj4gKwoKTm90IHN1cmUgd2UgbmVlZCBhbiBleHRyYSBuZXdsaW5lIGhlcmUuCgo+ ICAJZmJfaWQgPSBpZ3RfZmJfY29udmVydF93aXRoX3N0cmlkZShvdmVybGF5X2ZiLCAmcGF0dGVy bl9mYiwgZm9ybWF0LAo+ICAJCQkJCSAgIG1vZGlmaWVyLCBzdHJpZGUpOwo+ICAJaWd0X2Fzc2Vy dChmYl9pZCA+IDApOwo+ICAKPiArCXJhbmRvbWl6ZV9wbGFuZV9jb29yZGluYXRlcyhkYXRhLCBw bGFuZSwgbW9kZSwgb3ZlcmxheV9mYiwKPiArCQkJCSAgICAmb3ZlcmxheV9zcmNfdywgJm92ZXJs YXlfc3JjX2gsCj4gKwkJCQkgICAgJm92ZXJsYXlfc3JjX3gsICZvdmVybGF5X3NyY195LAo+ICsJ CQkJICAgICZvdmVybGF5X2NydGNfdywgJm92ZXJsYXlfY3J0Y19oLAo+ICsJCQkJICAgICZvdmVy bGF5X2NydGNfeCwgJm92ZXJsYXlfY3J0Y195LAo+ICsJCQkJICAgIGFsbG93X3NjYWxpbmcpOwo+ ICsKPiArCWlndF9kZWJ1ZygiUGxhbmUgJWQ6IGluLWZyYW1lYnVmZmVyIHNpemUgJWR4JWRcbiIs IGluZGV4LAo+ICsJCSAgb3ZlcmxheV9zcmNfdywgb3ZlcmxheV9zcmNfaCk7Cj4gKwlpZ3RfZGVi dWcoIlBsYW5lICVkOiBpbi1mcmFtZWJ1ZmZlciBwb3NpdGlvbiAlZHglZFxuIiwgaW5kZXgsCj4g KwkJICBvdmVybGF5X3NyY194LCBvdmVybGF5X3NyY195KTsKPiArCWlndF9kZWJ1ZygiUGxhbmUg JWQ6IG9uLWNydGMgc2l6ZSAlZHglZFxuIiwgaW5kZXgsCj4gKwkJICBvdmVybGF5X2NydGNfdywg b3ZlcmxheV9jcnRjX2gpOwo+ICsJaWd0X2RlYnVnKCJQbGFuZSAlZDogb24tY3J0YyBwb3NpdGlv biAlZHglZFxuIiwgaW5kZXgsCj4gKwkJICBvdmVybGF5X2NydGNfeCwgb3ZlcmxheV9jcnRjX3kp Owo+ICsKPiAgCWJsaXRfcGxhbmVfY2Fpcm8oZGF0YSwgcmVzdWx0X3N1cmZhY2UsIG92ZXJsYXlf c3JjX3csIG92ZXJsYXlfc3JjX2gsCj4gIAkJCSBvdmVybGF5X3NyY194LCBvdmVybGF5X3NyY195 LAo+ICAJCQkgb3ZlcmxheV9jcnRjX3csIG92ZXJsYXlfY3J0Y19oLAo+ICAJCQkgb3ZlcmxheV9j cnRjX3gsIG92ZXJsYXlfY3J0Y195LCAmcGF0dGVybl9mYik7Cj4gIAo+IC0JY29uZmlndXJlX3Bs YW5lKHBsYW5lLCBvdmVybGF5X3NyY193LCBvdmVybGF5X3NyY19oLAo+IC0JCQlvdmVybGF5X3Ny Y194LCBvdmVybGF5X3NyY195LAo+IC0JCQlvdmVybGF5X2NydGNfdywgb3ZlcmxheV9jcnRjX2gs Cj4gLQkJCW92ZXJsYXlfY3J0Y194LCBvdmVybGF5X2NydGNfeSwgb3ZlcmxheV9mYik7Cj4gLQo+ ICAJLyogUmVtb3ZlIHRoZSBvcmlnaW5hbCBwYXR0ZXJuIGZyYW1lYnVmZmVyLiAqLwo+ICAJaWd0 X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQsICZwYXR0ZXJuX2ZiKTsKPiAgfQo+IEBAIC0xMDY4LDcg KzExNDYsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2Rpc3BsYXlfcGxhbmVzX3JhbmRvbShkYXRhX3Qg KmRhdGEsCj4gIAkJaWd0X291dHB1dF9jb3VudF9wbGFuZV90eXBlKG91dHB1dCwgRFJNX1BMQU5F X1RZUEVfT1ZFUkxBWSk7Cj4gIAo+ICAJLyogTGltaXQgdGhlIG51bWJlciBvZiBwbGFuZXMgdG8g YSByZWFzb25hYmxlIHNjZW5lLiAqLwo+IC0Jb3ZlcmxheV9wbGFuZXNfbWF4ID0gbWF4KG92ZXJs YXlfcGxhbmVzX21heCwgNCk7Cj4gKwlvdmVybGF5X3BsYW5lc19tYXggPSBtaW4ob3ZlcmxheV9w bGFuZXNfbWF4LCA0KTsKPiAgCj4gIAlvdmVybGF5X3BsYW5lc19jb3VudCA9IChyYW5kKCkgJSBv dmVybGF5X3BsYW5lc19tYXgpICsgMTsKPiAgCWlndF9kZWJ1ZygiVXNpbmcgJWQgb3ZlcmxheSBw bGFuZXNcbiIsIG92ZXJsYXlfcGxhbmVzX2NvdW50KTsKPiBAQCAtMTEyMSwxNyArMTE5OSw4IEBA IHN0YXRpYyB2b2lkIHRlc3RfZGlzcGxheV9wbGFuZXNfcmFuZG9tKGRhdGFfdCAqZGF0YSwKPiAg CQljaGFtZWxpdW1fZGVzdHJveV9mcmFtZV9kdW1wKGR1bXApOwo+ICAJfQo+ICAKPiAtCWZvciAo aSA9IDA7IGkgPCBvdmVybGF5X3BsYW5lc19jb3VudDsgaSsrKSB7Cj4gLQkJc3RydWN0IGlndF9m YiAqb3ZlcmxheV9mYiA9ICZvdmVybGF5X2Zic1tpXTsKPiAtCQlpZ3RfcGxhbmVfdCAqcGxhbmU7 Cj4gLQo+IC0JCXBsYW5lID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZV9pbmRleChvdXRwdXQs Cj4gLQkJCQkJCQlEUk1fUExBTkVfVFlQRV9PVkVSTEFZLAo+IC0JCQkJCQkJaSk7Cj4gLQkJaWd0 X2Fzc2VydChwbGFuZSk7Cj4gLQo+IC0JCWlndF9yZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCBvdmVy bGF5X2ZiKTsKPiAtCX0KPiArCWZvciAoaSA9IDA7IGkgPCBvdmVybGF5X3BsYW5lc19jb3VudDsg aSsrKQo+ICsJCWlndF9yZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCAmb3ZlcmxheV9mYnNbaV0pOwo+ ICAKPiAgCWZyZWUob3ZlcmxheV9mYnMpOwo+ICAKLS0gClBhdWwgS29jaWFsa293c2tpLCBCb290 bGluCkVtYmVkZGVkIExpbnV4IGFuZCBrZXJuZWwgZW5naW5lZXJpbmcKaHR0cHM6Ly9ib290bGlu LmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0 LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2