From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 67E9D6E4B9 for ; Tue, 2 Apr 2019 19:12:50 +0000 (UTC) From: Maarten Lankhorst Date: Tue, 2 Apr 2019 21:12:47 +0200 Message-Id: <20190402191247.26247-2-maarten.lankhorst@linux.intel.com> In-Reply-To: <20190402191247.26247-1-maarten.lankhorst@linux.intel.com> References: <20190402191247.26247-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/2] tests/kms_chamelium: Fix *-cmp-random and *-crc-random tests. 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: igt-dev@lists.freedesktop.org List-ID: VGhlIHJhbmRvbSB0ZXN0cyBhbGxvd2VkIHBvdGVudGlhbGx5IGludmFsaWQgdGhpbmdzOgotIDF4 MSBmYidzIHRvIGJlIGNyZWF0ZWQuIEZvcmNlIGEgbWluaW11bSBvZiAzMiBzbyBhIHNjYWxlZAog IHBsYW5lIHdpbGwgYmUgYXQgbGVhc3QgMTZ4MTYuIFRoaXMgd2lsbCBmaXggc2NhbGVkL3BsYW5h ciBmb3JtYXQKICBzdXBwb3J0IGluIGk5MTUgYW5kIGF2b2lkIGEgZGl2IGJ5IHplcm8gd2hlbiBj YWxjdWxhdGluZyBhIHZhbHVlCiAgbW9kdWxvIGgvMiBhbmQgdy8yLgotIERvd25zY2FsaW5nIHRv IGFueSBhbW91bnQsIHJlc3RyaWN0IGl0IHRvIDJ4IHRvIG1ha2UgdGhlIHRlc3QgcGFzcy4KLSBT b21lIGh3IG1heSBub3QgYWxsb3cgc2NhbGluZywgaW4gdGhvc2UgY2FzZXMgd2Ugc2hvdWxkIGZh bGxiYWNrCiAgdG8gbm8gc2NhbGluZyBhdCBhbGwuCi0gQXR0ZW1wdGluZyB0byBjb25maWd1cmUg YSBtaW5pbXVtIG9mIDQgcGxhbmVzLCBpbnN0ZWFkIG9mIGEgbWF4aW11bS4KICBUaGlzIGZhaWxz IHdpdGggYSBudWxsIHBvaW50ZXIgZGVyZWYgaWYgdGhlIGh3IGRvZXNuJ3QgaGF2ZSA0CiAgY29u ZmlndXJhYmxlIG92ZXJsYXkgcGxhbmVzLgoKQ2M6IFBhdWwgS29jaWFsa293c2tpIDxwYXVsLmtv Y2lhbGtvd3NraUBib290bGluLmNvbT4KU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3Qg PG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiB0ZXN0cy9rbXNfY2hhbWVs aXVtLmMgfCAxOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMTMxIGluc2VydGlvbnMoKyksIDY0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3Rlc3RzL2ttc19jaGFtZWxpdW0uYyBiL3Rlc3RzL2ttc19jaGFtZWxpdW0uYwppbmRl eCAyZGMxMDQ5ZDJkZGEuLjVlNWM2OGNjZjg3OSAxMDA2NDQKLS0tIGEvdGVzdHMva21zX2NoYW1l bGl1bS5jCisrKyBiL3Rlc3RzL2ttc19jaGFtZWxpdW0uYwpAQCAtNzkyLDI2ICs3OTIsNTMgQEAg c3RhdGljIHZvaWQgcmFuZG9taXplX3BsYW5lX2Zvcm1hdF9zdHJpZGUoaWd0X3BsYW5lX3QgKnBs YW5lLAogfQogCiBzdGF0aWMgdm9pZCByYW5kb21pemVfcGxhbmVfZGltZW5zaW9ucyhkcm1Nb2Rl TW9kZUluZm8gKm1vZGUsCi0JCQkJICAgICAgIHVpbnQzMl90ICp3aWR0aCwgdWludDMyX3QgKmhl aWdodCwKLQkJCQkgICAgICAgdWludDMyX3QgKnNyY193LCB1aW50MzJfdCAqc3JjX2gsCi0JCQkJ ICAgICAgIHVpbnQzMl90ICpzcmNfeCwgdWludDMyX3QgKnNyY195LAotCQkJCSAgICAgICB1aW50 MzJfdCAqY3J0Y193LCB1aW50MzJfdCAqY3J0Y19oLAotCQkJCSAgICAgICBpbnQzMl90ICpjcnRj X3gsIGludDMyX3QgKmNydGNfeSwKLQkJCQkgICAgICAgYm9vbCBhbGxvd19zY2FsaW5nKQorCQkJ CSAgICAgICB1aW50MzJfdCAqd2lkdGgsIHVpbnQzMl90ICpoZWlnaHQpCiB7Ci0JZG91YmxlIHJh dGlvOworCS8qCisJICogUmFuZG9taXplIHdpZHRoIGFuZCBoZWlnaHQgaW4gdGhlIG1vZGUgZGlt ZW5zaW9ucyByYW5nZS4KKwkgKgorCSAqIFJlc3RyaWN0IHRvIGEgbWluIG9mIDMyLCB0aGlzIHdh eSBzcmNfdy9oIGFyZSBhbHdheXMgYXQgbGVhc3QgMTYsCisJICogdGhlIG1pbmltdW0gZm9yIHNj YWxlZCBwbGFuYXIgWVVWIG9uIGk5MTUuCisJICovCisJKndpZHRoID0gbWF4KChyYW5kKCkgJSBt b2RlLT5oZGlzcGxheSkgKyAxLCAzMik7CisJKmhlaWdodCA9IG1heCgocmFuZCgpICUgbW9kZS0+ dmRpc3BsYXkpICsgMSwgMzIpOworfQorCitzdGF0aWMgdm9pZCBjb25maWd1cmVfcGxhbmUoaWd0 X3BsYW5lX3QgKnBsYW5lLCB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gsCisJCQkgICAg dWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNyY195LCB1aW50MzJfdCBjcnRjX3csCisJCQkgICAg dWludDMyX3QgY3J0Y19oLCBpbnQzMl90IGNydGNfeCwgaW50MzJfdCBjcnRjX3ksCisJCQkgICAg c3RydWN0IGlndF9mYiAqZmIpCit7CisJaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgZmIpOwogCi0J LyogUmFuZG9taXplIHdpZHRoIGFuZCBoZWlnaHQgaW4gdGhlIG1vZGUgZGltZW5zaW9ucyByYW5n ZS4gKi8KLQkqd2lkdGggPSAocmFuZCgpICUgbW9kZS0+aGRpc3BsYXkpICsgMTsKLQkqaGVpZ2h0 ID0gKHJhbmQoKSAlIG1vZGUtPnZkaXNwbGF5KSArIDE7CisJaWd0X3BsYW5lX3NldF9wb3NpdGlv bihwbGFuZSwgY3J0Y194LCBjcnRjX3kpOworCWlndF9wbGFuZV9zZXRfc2l6ZShwbGFuZSwgY3J0 Y193LCBjcnRjX2gpOworCisJaWd0X2ZiX3NldF9wb3NpdGlvbihmYiwgcGxhbmUsIHNyY194LCBz cmNfeSk7CisJaWd0X2ZiX3NldF9zaXplKGZiLCBwbGFuZSwgc3JjX3csIHNyY19oKTsKK30KKwor c3RhdGljIHZvaWQgcmFuZG9taXplX3BsYW5lX2Nvb3JkaW5hdGVzKGRhdGFfdCAqZGF0YSwgaWd0 X3BsYW5lX3QgKnBsYW5lLAorCQkJCQlkcm1Nb2RlTW9kZUluZm8gKm1vZGUsCisJCQkJCXN0cnVj dCBpZ3RfZmIgKmZiLAorCQkJCQl1aW50MzJfdCAqc3JjX3csIHVpbnQzMl90ICpzcmNfaCwKKwkJ CQkJdWludDMyX3QgKnNyY194LCB1aW50MzJfdCAqc3JjX3ksCisJCQkJCXVpbnQzMl90ICpjcnRj X3csIHVpbnQzMl90ICpjcnRjX2gsCisJCQkJCWludDMyX3QgKmNydGNfeCwgaW50MzJfdCAqY3J0 Y195LAorCQkJCQlib29sIGFsbG93X3NjYWxpbmcpCit7CisJYm9vbCBpc195dXYgPSBpZ3RfZm9y bWF0X2lzX3l1dihmYi0+ZHJtX2Zvcm1hdCk7CisJdWludDMyX3Qgd2lkdGggPSBmYi0+d2lkdGgs IGhlaWdodCA9IGZiLT5oZWlnaHQ7CisJZG91YmxlIHJhdGlvOworCWludCByZXQ7CiAKIAkvKiBS YW5kb21pemUgc291cmNlIG9mZnNldCBpbiB0aGUgZmlyc3QgaGFsZiBvZiB0aGUgb3JpZ2luYWwg c2l6ZS4gKi8KLQkqc3JjX3ggPSByYW5kKCkgJSAoKndpZHRoIC8gMik7Ci0JKnNyY195ID0gcmFu ZCgpICUgKCpoZWlnaHQgLyAyKTsKKwkqc3JjX3ggPSByYW5kKCkgJSAod2lkdGggLyAyKTsKKwkq c3JjX3kgPSByYW5kKCkgJSAoaGVpZ2h0IC8gMik7CiAKIAkvKiBUaGUgc291cmNlIHNpemUgb25s eSBpbmNsdWRlcyB0aGUgYWN0aXZlIHNvdXJjZSBhcmVhLiAqLwotCSpzcmNfdyA9ICp3aWR0aCAt ICpzcmNfeDsKLQkqc3JjX2ggPSAqaGVpZ2h0IC0gKnNyY195OworCSpzcmNfdyA9IHdpZHRoIC0g KnNyY194OworCSpzcmNfaCA9IGhlaWdodCAtICpzcmNfeTsKIAogCWlmIChhbGxvd19zY2FsaW5n KSB7CiAJCSpjcnRjX3cgPSAocmFuZCgpICUgbW9kZS0+aGRpc3BsYXkpICsgMTsKQEAgLTgyMSwx NyArODQ4LDIyIEBAIHN0YXRpYyB2b2lkIHJhbmRvbWl6ZV9wbGFuZV9kaW1lbnNpb25zKGRybU1v ZGVNb2RlSW5mbyAqbW9kZSwKIAkJICogRG9uJ3QgYm90aGVyIHdpdGggc2NhbGluZyBpZiBkaW1l bnNpb25zIGFyZSBxdWl0ZSBjbG9zZSBpbgogCQkgKiBvcmRlciB0byBnZXQgbm9uLXNjYWxpbmcg Y2FzZXMgbW9yZSBmcmVxdWVudGx5LiBBbHNvIGxpbWl0CiAJCSAqIHNjYWxpbmcgdG8gM3ggdG8g YXZvaWQgYWdyZXNzaXZlIGZpbHRlcmluZyB0aGF0IG1ha2VzCi0JCSAqIGNvbXBhcmlzb24gbGVz cyByZWxpYWJsZS4KKwkJICogY29tcGFyaXNvbiBsZXNzIHJlbGlhYmxlLCBhbmQgZG9uJ3QgZ28g YWJvdmUgMnggZG93bnNhbXBsaW5nCisJCSAqIHRvIGF2b2lkIHBvc3NpYmxlIGh3IGxpbWl0YXRp b25zLgogCQkgKi8KIAogCQlyYXRpbyA9ICgoZG91YmxlKSAqY3J0Y193IC8gKnNyY193KTsKLQkJ aWYgKHJhdGlvID4gMC44ICYmIHJhdGlvIDwgMS4yKQorCQlpZiAocmF0aW8gPCAwLjUpCisJCQkq c3JjX3cgPSAqY3J0Y193ICogMjsKKwkJZWxzZSBpZiAocmF0aW8gPiAwLjggJiYgcmF0aW8gPCAx LjIpCiAJCQkqY3J0Y193ID0gKnNyY193OwogCQllbHNlIGlmIChyYXRpbyA+IDMuMCkKIAkJCSpj cnRjX3cgPSAqc3JjX3cgKiAzOwogCiAJCXJhdGlvID0gKChkb3VibGUpICpjcnRjX2ggLyAqc3Jj X2gpOwotCQlpZiAocmF0aW8gPiAwLjggJiYgcmF0aW8gPCAxLjIpCisJCWlmIChyYXRpbyA8IDAu NSkKKwkJCSpzcmNfaCA9ICpjcnRjX2ggKiAyOworCQllbHNlIGlmIChyYXRpbyA+IDAuOCAmJiBy YXRpbyA8IDEuMikKIAkJCSpjcnRjX2ggPSAqc3JjX2g7CiAJCWVsc2UgaWYgKHJhdGlvID4gMy4w KQogCQkJKmNydGNfaCA9ICpzcmNfaCAqIDM7CkBAIC04NDYsOCArODc4LDE1IEBAIHN0YXRpYyB2 b2lkIHJhbmRvbWl6ZV9wbGFuZV9kaW1lbnNpb25zKGRybU1vZGVNb2RlSW5mbyAqbW9kZSwKIAkJ ICogc2NhbGVkIGNsaXBwaW5nIG1heSByZXN1bHQgaW4gZGVjaW1hbCBkaW1lbnNpb25zLCB0aGF0 IG1vc3QKIAkJICogZHJpdmVycyBkb24ndCBzdXBwb3J0LgogCQkgKi8KLQkJKmNydGNfeCA9IHJh bmQoKSAlIChtb2RlLT5oZGlzcGxheSAtICpjcnRjX3cpOwotCQkqY3J0Y195ID0gcmFuZCgpICUg KG1vZGUtPnZkaXNwbGF5IC0gKmNydGNfaCk7CisJCWlmICgqY3J0Y193IDwgbW9kZS0+aGRpc3Bs YXkpCisJCQkqY3J0Y194ID0gcmFuZCgpICUgKG1vZGUtPmhkaXNwbGF5IC0gKmNydGNfdyk7CisJ CWVsc2UKKwkJCSpjcnRjX3ggPSAwOworCisJCWlmICgqY3J0Y19oIDwgbW9kZS0+dmRpc3BsYXkp CisJCQkqY3J0Y195ID0gcmFuZCgpICUgKG1vZGUtPnZkaXNwbGF5IC0gKmNydGNfaCk7CisJCWVs c2UKKwkJCSpjcnRjX3kgPSAwOwogCX0gZWxzZSB7CiAJCS8qCiAJCSAqIFJhbmRvbWl6ZSB0aGUg b24tY3J0YyBwb3NpdGlvbiBhbmQgYWxsb3cgdGhlIHBsYW5lIHRvIGdvCkBAIC04NTYsNiArODk1 LDUwIEBAIHN0YXRpYyB2b2lkIHJhbmRvbWl6ZV9wbGFuZV9kaW1lbnNpb25zKGRybU1vZGVNb2Rl SW5mbyAqbW9kZSwKIAkJKmNydGNfeCA9IChyYW5kKCkgJSBtb2RlLT5oZGlzcGxheSkgLSAqY3J0 Y193IC8gMjsKIAkJKmNydGNfeSA9IChyYW5kKCkgJSBtb2RlLT52ZGlzcGxheSkgLSAqY3J0Y19o IC8gMjsKIAl9CisKKwljb25maWd1cmVfcGxhbmUocGxhbmUsICpzcmNfdywgKnNyY19oLCAqc3Jj X3gsICpzcmNfeSwKKwkJCSpjcnRjX3csICpjcnRjX2gsICpjcnRjX3gsICpjcnRjX3ksIGZiKTsK KwlyZXQgPSBpZ3RfZGlzcGxheV90cnlfY29tbWl0X2F0b21pYygmZGF0YS0+ZGlzcGxheSwKKwkJ CQkJICAgIERSTV9NT0RFX0FUT01JQ19URVNUX09OTFkgfAorCQkJCQkgICAgRFJNX01PREVfQVRP TUlDX0FMTE9XX01PREVTRVQsCisJCQkJCSAgICBOVUxMKTsKKwlpZiAoIXJldCkKKwkJcmV0dXJu OworCisJLyogQ29vcmRpbmF0ZXMgYXJlIGxvZ2dlZCBpbiB0aGUgZHVtcGVkIGRlYnVnIGxvZywg c28gb25seSByZXBvcnQgdy9oIG9uIGZhaWx1cmUgaGVyZSAqLworCWlndF9hc3NlcnRfZihyZXQg IT0gLUVOT1NQQywgIkZhaWx1cmUgaW4gdGVzdGNhc2UsIGludmFsaWQgY29vcmRpbmF0ZXMgb24g YSAldXgldSBmYlxuIiwgd2lkdGgsIGhlaWdodCk7CisKKwkvKiBNYWtlIFlVViBjb29yZGluYXRl cyBhIG11bHRpcGxlIG9mIDIgYW5kIHJldHJ5IHRoZSBtYXRoLi4gKi8KKwlpZiAoaXNfeXV2KSB7 CisJCSpzcmNfeCAmPSB+MTsKKwkJKnNyY195ICY9IH4xOworCQkqc3JjX3cgJj0gfjE7CisJCSpz cmNfaCAmPSB+MTsKKwkJLyogVG8gaGFuZGxlIDE6MSBzY2FsaW5nLCBjbGVhciBjcnRjX3cvaCB0 b28gKi8KKwkJKmNydGNfdyAmPSB+MTsKKwkJKmNydGNfaCAmPSB+MTsKKwkJY29uZmlndXJlX3Bs YW5lKHBsYW5lLCAqc3JjX3csICpzcmNfaCwgKnNyY194LCAqc3JjX3ksICpjcnRjX3csCisJCQkJ KmNydGNfaCwgKmNydGNfeCwgKmNydGNfeSwgZmIpOworCQlyZXQgPSBpZ3RfZGlzcGxheV90cnlf Y29tbWl0X2F0b21pYygmZGF0YS0+ZGlzcGxheSwKKwkJCQkJCURSTV9NT0RFX0FUT01JQ19URVNU X09OTFkgfAorCQkJCQkJRFJNX01PREVfQVRPTUlDX0FMTE9XX01PREVTRVQsCisJCQkJCQlOVUxM KTsKKwkJaWYgKCFyZXQpCisJCQlyZXR1cm47CisJfQorCisJaWd0X2Fzc2VydCghcmV0IHx8IGFs bG93X3NjYWxpbmcpOworCWlndF9pbmZvKCJTY2FsaW5nIHJhdGlvICVnIC8gJWcgZmFpbGVkLCB0 cnlpbmcgd2l0aG91dCBzY2FsaW5nLlxuIiwKKwkJICAoKGRvdWJsZSkgKmNydGNfdyAvICpzcmNf dyksICgoZG91YmxlKSAqY3J0Y19oIC8gKnNyY19oKSk7CisKKwkqY3J0Y193ID0gKnNyY193Owor CSpjcnRjX2ggPSAqc3JjX2g7CisKKwljb25maWd1cmVfcGxhbmUocGxhbmUsICpzcmNfdywgKnNy Y19oLCAqc3JjX3gsICpzcmNfeSwgKmNydGNfdywKKwkJCSpjcnRjX2gsICpjcnRjX3gsICpjcnRj X3ksIGZiKTsKKwlpZ3RfZGlzcGxheV9jb21taXRfYXRvbWljKCZkYXRhLT5kaXNwbGF5LAorCQkJ CSAgRFJNX01PREVfQVRPTUlDX1RFU1RfT05MWSB8CisJCQkJICBEUk1fTU9ERV9BVE9NSUNfQUxM T1dfTU9ERVNFVCwgTlVMTCk7CiB9CiAKIHN0YXRpYyB2b2lkIGJsaXRfcGxhbmVfY2Fpcm8oZGF0 YV90ICpkYXRhLCBjYWlyb19zdXJmYWNlX3QgKnJlc3VsdCwKQEAgLTkxNCwyMCArOTk3LDYgQEAg c3RhdGljIHZvaWQgYmxpdF9wbGFuZV9jYWlybyhkYXRhX3QgKmRhdGEsIGNhaXJvX3N1cmZhY2Vf dCAqcmVzdWx0LAogCWNhaXJvX2Rlc3Ryb3koY3IpOwogfQogCi1zdGF0aWMgdm9pZCBjb25maWd1 cmVfcGxhbmUoaWd0X3BsYW5lX3QgKnBsYW5lLCB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3Jj X2gsCi0JCQkgICAgdWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNyY195LCB1aW50MzJfdCBjcnRj X3csCi0JCQkgICAgdWludDMyX3QgY3J0Y19oLCBpbnQzMl90IGNydGNfeCwgaW50MzJfdCBjcnRj X3ksCi0JCQkgICAgc3RydWN0IGlndF9mYiAqZmIpCi17Ci0JaWd0X3BsYW5lX3NldF9mYihwbGFu ZSwgZmIpOwotCi0JaWd0X3BsYW5lX3NldF9wb3NpdGlvbihwbGFuZSwgY3J0Y194LCBjcnRjX3kp OwotCWlndF9wbGFuZV9zZXRfc2l6ZShwbGFuZSwgY3J0Y193LCBjcnRjX2gpOwotCi0JaWd0X2Zi X3NldF9wb3NpdGlvbihmYiwgcGxhbmUsIHNyY194LCBzcmNfeSk7Ci0JaWd0X2ZiX3NldF9zaXpl KGZiLCBwbGFuZSwgc3JjX3csIHNyY19oKTsKLX0KLQogc3RhdGljIHZvaWQgcHJlcGFyZV9yYW5k b21pemVkX3BsYW5lKGRhdGFfdCAqZGF0YSwKIAkJCQkgICAgIGRybU1vZGVNb2RlSW5mbyAqbW9k ZSwKIAkJCQkgICAgIGlndF9wbGFuZV90ICpwbGFuZSwKQEAgLTk0NywyNCArMTAxNiwxMiBAQCBz dGF0aWMgdm9pZCBwcmVwYXJlX3JhbmRvbWl6ZWRfcGxhbmUoZGF0YV90ICpkYXRhLAogCXNpemVf dCBzdHJpZGU7CiAJYm9vbCB0aWxlZDsKIAlpbnQgZmJfaWQ7CisJdWludDMyX3QgdGlsZV93LCB0 aWxlX2g7CiAKLQlyYW5kb21pemVfcGxhbmVfZGltZW5zaW9ucyhtb2RlLCAmb3ZlcmxheV9mYl93 LCAmb3ZlcmxheV9mYl9oLAotCQkJCSAgICZvdmVybGF5X3NyY193LCAmb3ZlcmxheV9zcmNfaCwK LQkJCQkgICAmb3ZlcmxheV9zcmNfeCwgJm92ZXJsYXlfc3JjX3ksCi0JCQkJICAgJm92ZXJsYXlf Y3J0Y193LCAmb3ZlcmxheV9jcnRjX2gsCi0JCQkJICAgJm92ZXJsYXlfY3J0Y194LCAmb3Zlcmxh eV9jcnRjX3ksCi0JCQkJICAgYWxsb3dfc2NhbGluZyk7CisJcmFuZG9taXplX3BsYW5lX2RpbWVu c2lvbnMobW9kZSwgJm92ZXJsYXlfZmJfdywgJm92ZXJsYXlfZmJfaCk7CiAKIAlpZ3RfZGVidWco IlBsYW5lICVkOiBmcmFtZWJ1ZmZlciBzaXplICVkeCVkXG4iLCBpbmRleCwKIAkJICBvdmVybGF5 X2ZiX3csIG92ZXJsYXlfZmJfaCk7Ci0JaWd0X2RlYnVnKCJQbGFuZSAlZDogb24tY3J0YyBzaXpl ICVkeCVkXG4iLCBpbmRleCwKLQkJICBvdmVybGF5X2NydGNfdywgb3ZlcmxheV9jcnRjX2gpOwot CWlndF9kZWJ1ZygiUGxhbmUgJWQ6IG9uLWNydGMgcG9zaXRpb24gJWR4JWRcbiIsIGluZGV4LAot CQkgIG92ZXJsYXlfY3J0Y194LCBvdmVybGF5X2NydGNfeSk7Ci0JaWd0X2RlYnVnKCJQbGFuZSAl ZDogaW4tZnJhbWVidWZmZXIgc2l6ZSAlZHglZFxuIiwgaW5kZXgsCi0JCSAgb3ZlcmxheV9zcmNf dywgb3ZlcmxheV9zcmNfaCk7Ci0JaWd0X2RlYnVnKCJQbGFuZSAlZDogaW4tZnJhbWVidWZmZXIg cG9zaXRpb24gJWR4JWRcbiIsIGluZGV4LAotCQkgIG92ZXJsYXlfc3JjX3gsIG92ZXJsYXlfc3Jj X3kpOwogCiAJLyogR2V0IGEgcGF0dGVybiBmcmFtZWJ1ZmZlciBmb3IgdGhlIG92ZXJsYXkgcGxh bmUuICovCiAJZmJfaWQgPSBjaGFtZWxpdW1fZ2V0X3BhdHRlcm5fZmIoZGF0YSwgb3ZlcmxheV9m Yl93LCBvdmVybGF5X2ZiX2gsCkBAIC05NzYsMjMgKzEwMzMsNDIgQEAgc3RhdGljIHZvaWQgcHJl cGFyZV9yYW5kb21pemVkX3BsYW5lKGRhdGFfdCAqZGF0YSwKIAogCXRpbGVkID0gKG1vZGlmaWVy ICE9IExPQ0FMX0RSTV9GT1JNQVRfTU9EX05PTkUpOwogCisJaWd0X2dldF9mYl90aWxlX3NpemUo ZGF0YS0+ZGlzcGxheS5kcm1fZmQsIG1vZGlmaWVyLAorCQkJICAgICBpZ3RfZHJtX2Zvcm1hdF90 b19icHAoZm9ybWF0KSwKKwkJCSAgICAgJnRpbGVfdywgJnRpbGVfaCk7CisKKwkvKiBNYWtlIHN1 cmUgc3RyaWRlIGlzIGEgbXVsdGlwbGUgb2YgdGlsZSBzaXplICovCisJc3RyaWRlID0gRElWX1JP VU5EX1VQKHN0cmlkZSwgdGlsZV93KSAqIHRpbGVfdzsKKwogCWlndF9kZWJ1ZygiUGxhbmUgJWQ6 ICVzIGZvcm1hdCAoJXMpIHdpdGggc3RyaWRlICVsZFxuIiwgaW5kZXgsCiAJCSAgaWd0X2Zvcm1h dF9zdHIoZm9ybWF0KSwgdGlsZWQgPyAidGlsZWQiIDogImxpbmVhciIsIHN0cmlkZSk7CiAKKwog CWZiX2lkID0gaWd0X2ZiX2NvbnZlcnRfd2l0aF9zdHJpZGUob3ZlcmxheV9mYiwgJnBhdHRlcm5f ZmIsIGZvcm1hdCwKIAkJCQkJICAgbW9kaWZpZXIsIHN0cmlkZSk7CiAJaWd0X2Fzc2VydChmYl9p ZCA+IDApOwogCisJcmFuZG9taXplX3BsYW5lX2Nvb3JkaW5hdGVzKGRhdGEsIHBsYW5lLCBtb2Rl LCBvdmVybGF5X2ZiLAorCQkJCSAgICAmb3ZlcmxheV9zcmNfdywgJm92ZXJsYXlfc3JjX2gsCisJ CQkJICAgICZvdmVybGF5X3NyY194LCAmb3ZlcmxheV9zcmNfeSwKKwkJCQkgICAgJm92ZXJsYXlf Y3J0Y193LCAmb3ZlcmxheV9jcnRjX2gsCisJCQkJICAgICZvdmVybGF5X2NydGNfeCwgJm92ZXJs YXlfY3J0Y195LAorCQkJCSAgICBhbGxvd19zY2FsaW5nKTsKKworCWlndF9kZWJ1ZygiUGxhbmUg JWQ6IGluLWZyYW1lYnVmZmVyIHNpemUgJWR4JWRcbiIsIGluZGV4LAorCQkgIG92ZXJsYXlfc3Jj X3csIG92ZXJsYXlfc3JjX2gpOworCWlndF9kZWJ1ZygiUGxhbmUgJWQ6IGluLWZyYW1lYnVmZmVy IHBvc2l0aW9uICVkeCVkXG4iLCBpbmRleCwKKwkJICBvdmVybGF5X3NyY194LCBvdmVybGF5X3Ny Y195KTsKKwlpZ3RfZGVidWcoIlBsYW5lICVkOiBvbi1jcnRjIHNpemUgJWR4JWRcbiIsIGluZGV4 LAorCQkgIG92ZXJsYXlfY3J0Y193LCBvdmVybGF5X2NydGNfaCk7CisJaWd0X2RlYnVnKCJQbGFu ZSAlZDogb24tY3J0YyBwb3NpdGlvbiAlZHglZFxuIiwgaW5kZXgsCisJCSAgb3ZlcmxheV9jcnRj X3gsIG92ZXJsYXlfY3J0Y195KTsKKwogCWJsaXRfcGxhbmVfY2Fpcm8oZGF0YSwgcmVzdWx0X3N1 cmZhY2UsIG92ZXJsYXlfc3JjX3csIG92ZXJsYXlfc3JjX2gsCiAJCQkgb3ZlcmxheV9zcmNfeCwg b3ZlcmxheV9zcmNfeSwKIAkJCSBvdmVybGF5X2NydGNfdywgb3ZlcmxheV9jcnRjX2gsCiAJCQkg b3ZlcmxheV9jcnRjX3gsIG92ZXJsYXlfY3J0Y195LCAmcGF0dGVybl9mYik7CiAKLQljb25maWd1 cmVfcGxhbmUocGxhbmUsIG92ZXJsYXlfc3JjX3csIG92ZXJsYXlfc3JjX2gsCi0JCQlvdmVybGF5 X3NyY194LCBvdmVybGF5X3NyY195LAotCQkJb3ZlcmxheV9jcnRjX3csIG92ZXJsYXlfY3J0Y19o LAotCQkJb3ZlcmxheV9jcnRjX3gsIG92ZXJsYXlfY3J0Y195LCBvdmVybGF5X2ZiKTsKLQogCS8q IFJlbW92ZSB0aGUgb3JpZ2luYWwgcGF0dGVybiBmcmFtZWJ1ZmZlci4gKi8KIAlpZ3RfcmVtb3Zl X2ZiKGRhdGEtPmRybV9mZCwgJnBhdHRlcm5fZmIpOwogfQpAQCAtMTA2OCw3ICsxMTQ0LDcgQEAg c3RhdGljIHZvaWQgdGVzdF9kaXNwbGF5X3BsYW5lc19yYW5kb20oZGF0YV90ICpkYXRhLAogCQlp Z3Rfb3V0cHV0X2NvdW50X3BsYW5lX3R5cGUob3V0cHV0LCBEUk1fUExBTkVfVFlQRV9PVkVSTEFZ KTsKIAogCS8qIExpbWl0IHRoZSBudW1iZXIgb2YgcGxhbmVzIHRvIGEgcmVhc29uYWJsZSBzY2Vu ZS4gKi8KLQlvdmVybGF5X3BsYW5lc19tYXggPSBtYXgob3ZlcmxheV9wbGFuZXNfbWF4LCA0KTsK KwlvdmVybGF5X3BsYW5lc19tYXggPSBtaW4ob3ZlcmxheV9wbGFuZXNfbWF4LCA0KTsKIAogCW92 ZXJsYXlfcGxhbmVzX2NvdW50ID0gKHJhbmQoKSAlIG92ZXJsYXlfcGxhbmVzX21heCkgKyAxOwog CWlndF9kZWJ1ZygiVXNpbmcgJWQgb3ZlcmxheSBwbGFuZXNcbiIsIG92ZXJsYXlfcGxhbmVzX2Nv dW50KTsKQEAgLTExMjEsMTcgKzExOTcsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0X2Rpc3BsYXlfcGxh bmVzX3JhbmRvbShkYXRhX3QgKmRhdGEsCiAJCWNoYW1lbGl1bV9kZXN0cm95X2ZyYW1lX2R1bXAo ZHVtcCk7CiAJfQogCi0JZm9yIChpID0gMDsgaSA8IG92ZXJsYXlfcGxhbmVzX2NvdW50OyBpKysp IHsKLQkJc3RydWN0IGlndF9mYiAqb3ZlcmxheV9mYiA9ICZvdmVybGF5X2Zic1tpXTsKLQkJaWd0 X3BsYW5lX3QgKnBsYW5lOwotCi0JCXBsYW5lID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZV9p bmRleChvdXRwdXQsCi0JCQkJCQkJRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwKLQkJCQkJCQlpKTsK LQkJaWd0X2Fzc2VydChwbGFuZSk7Ci0KLQkJaWd0X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQsIG92 ZXJsYXlfZmIpOwotCX0KKwlmb3IgKGkgPSAwOyBpIDwgb3ZlcmxheV9wbGFuZXNfY291bnQ7IGkr KykKKwkJaWd0X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQsICZvdmVybGF5X2Zic1tpXSk7CiAKIAlm cmVlKG92ZXJsYXlfZmJzKTsKIAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2lndC1kZXY=