From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id DD62C6E2CD for ; Tue, 27 Nov 2018 20:46:06 +0000 (UTC) From: Eric Anholt Date: Tue, 27 Nov 2018 12:46:03 -0800 Message-Id: <20181127204603.24042-2-eric@anholt.net> In-Reply-To: <20181127204603.24042-1-eric@anholt.net> References: <20181127204603.24042-1-eric@anholt.net> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 2/2] v3d: Add tests for hanging V3D using an RCL. 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: ZHJtLW1pc2MtbmV4dCByZWNlbnRseSByZWdyZXNzZWQgR1BVIGhhbmcgcmVjb3ZlcnksIGFuZCB0 aGVzZQpyZXByb2R1Y2UgdGhvc2UgYnVncy4KClNpZ25lZC1vZmYtYnk6IEVyaWMgQW5ob2x0IDxl cmljQGFuaG9sdC5uZXQ+Ci0tLQogbGliL2lndF92M2QuYyAgICAgICAgICAgICB8IDEyNiArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2lndF92M2QuaCAgICAgICAg ICAgICB8ICAzOCArKysrKysrKysrKysKIHRlc3RzL21lc29uLmJ1aWxkICAgICAgICAgfCAgIDEg KwogdGVzdHMvdjNkX2NpL3YzZC50ZXN0bGlzdCB8ICAgMiArCiB0ZXN0cy92M2RfY2xfaGFuZy5j ICAgICAgIHwgIDczICsrKysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMjQw IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy92M2RfY2xfaGFuZy5jCgpk aWZmIC0tZ2l0IGEvbGliL2lndF92M2QuYyBiL2xpYi9pZ3RfdjNkLmMKaW5kZXggNjE5YzA3MmMw ZTQ3Li45YTlmMzJlMGNlZDQgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfdjNkLmMKKysrIGIvbGliL2ln dF92M2QuYwpAQCAtMTI0LDMgKzEyNCwxMjkgQEAgdm9pZCBpZ3RfdjNkX2JvX21tYXAoaW50IGZk LCBzdHJ1Y3QgdjNkX2JvICpibykKIAkJCQkgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOwogCWln dF9hc3NlcnQoYm8tPm1hcCk7CiB9CisKK3ZvaWQgKgoraWd0X3YzZF93YWl0X2JvKGludCBmZCwg dWludDMyX3QgaGFuZGxlKQoreworCXN0cnVjdCBkcm1fdjNkX3dhaXRfYm8gd2FpdF9ibyA9IHsK KwkJLmhhbmRsZSA9IGhhbmRsZSwKKwkJLnRpbWVvdXRfbnMgPSB+MHVsbCwKKwl9OworCisJZG9f aW9jdGwoZmQsIERSTV9JT0NUTF9WM0RfV0FJVF9CTywgJndhaXRfYm8pOworCisJcmV0dXJuIDA7 Cit9CisKK3ZvaWQgaWd0X3YzZF9ib193YWl0KGludCBmZCwgc3RydWN0IHYzZF9ibyAqYm8pCit7 CisJaWd0X3YzZF93YWl0X2JvKGZkLCBiby0+aGFuZGxlKTsKK30KKworc3RydWN0IHYzZF9jbCAq CitpZ3RfdjNkX2NsX2NyZWF0ZShpbnQgZmQsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCB2M2Rf Y2wgKmNsID0gY2FsbG9jKDEsIHNpemVvZigqY2wpKTsKKworCWNsLT5mZCA9IGZkOworCWNsLT5i byA9IGlndF92M2RfY3JlYXRlX2JvKGZkLCBzaXplKTsKKwl2M2RfY2xfcmVmZXJlbmNlX2JvKGNs LCBjbC0+Ym8pOworCisJaWd0X3YzZF9ib19tbWFwKGZkLCBjbC0+Ym8pOworCWNsLT5uZXh0ID0g Y2wtPmJvLT5tYXA7CisKKwlyZXR1cm4gY2w7Cit9CisKKy8qKiBDcmVhdGVzIGEgc2ltcGxlIENM IGNvbnNpc3Rpbmcgb2YgYSBzaW5nbGUgTk9QIGluc3RydWN0aW9uLiAqLworc3RydWN0IHYzZF9j bCAqCitpZ3RfdjNkX2NsX2NyZWF0ZV9ub3AoaW50IGZkKQoreworCXN0cnVjdCB2M2RfY2wgKmNs ID0gaWd0X3YzZF9jbF9jcmVhdGUoZmQsIDEpOworICAgICAgICB1aW50OF90IG5vcF9vcGNvZGUg PSAxOworCisJbWVtY3B5KGNsLT5uZXh0LCAmbm9wX29wY29kZSwgMSk7CisJY2wtPm5leHQrKzsK KworCXJldHVybiBjbDsKK30KKworLyoqCisgKiBDcmVhdGVzIGEgc2ltcGxlIENMIGNvbnNpc3Rp bmcgb2YgYW4gaW5maW5pdGUgbG9vcCBicmFuY2hpbmcgdG8gaXRzZWxmLgorICovCitzdHJ1Y3Qg djNkX2NsICoKK2lndF92M2RfY2xfY3JlYXRlX2luZmluaXRlX2xvb3AoaW50IGZkKQoreworCXN0 cnVjdCB2M2RfY2wgKmNsID0gaWd0X3YzZF9jbF9jcmVhdGUoZmQsIDUpOworICAgICAgICB1aW50 OF90IGJyYW5jaF9vcGNvZGUgPSAxNjsKKworCW1lbWNweShjbC0+bmV4dCwgJmJyYW5jaF9vcGNv ZGUsIDEpOworCWNsLT5uZXh0Kys7CisKKwltZW1jcHkoY2wtPm5leHQsICZjbC0+Ym8tPm9mZnNl dCwgNCk7CisJY2wtPm5leHQgKz0gNDsKKworCXJldHVybiBjbDsKK30KKwordm9pZAoraWd0X3Yz ZF9jbF9mcmVlKHN0cnVjdCB2M2RfY2wgKmNsKQoreworCWlndF92M2RfZnJlZV9ibyhjbC0+ZmQs IGNsLT5ibyk7CisJZnJlZShjbCk7Cit9CisKK3ZvaWQKK2lndF92M2Rfc3VibWl0X2NsKGludCBm ZCwgc3RydWN0IGRybV92M2Rfc3VibWl0X2NsICpzdWJtaXQpCit7CisJZG9faW9jdGwoZmQsIERS TV9JT0NUTF9WM0RfU1VCTUlUX0NMLCBzdWJtaXQpOworfQorCit2b2lkCitpZ3RfdjNkX3N1Ym1p dF9yY2woc3RydWN0IHYzZF9jbCAqcmNsKQoreworCXN0cnVjdCBkcm1fdjNkX3N1Ym1pdF9jbCBz dWJtaXQgPSB7CisJCS5yY2xfc3RhcnQgPSByY2wtPmJvLT5vZmZzZXQsCisJCS5yY2xfZW5kID0g cmNsLT5iby0+b2Zmc2V0ICsgY2xfb2Zmc2V0KHJjbCksCisJCS5ib19oYW5kbGVzID0gKHVpbnRw dHJfdClyY2wtPmhhbmRsZXMsCisJCS5ib19oYW5kbGVfY291bnQgPSByY2wtPmhhbmRsZV9jb3Vu dCwKKwl9OworCWlndF92M2Rfc3VibWl0X2NsKHJjbC0+ZmQsICZzdWJtaXQpOworfQorCitzdGF0 aWMgYm9vbAoraGFuZGxlX2luX2xpc3QodWludDMyX3QgKmhhbmRsZXMsIGludCBoYW5kbGVfY291 bnQsIGludCBoYW5kbGUpCit7CisJZm9yIChpbnQgaSA9IDA7IGkgPCBoYW5kbGVfY291bnQ7IGkr KykgeworCQlpZiAoaGFuZGxlc1tpXSA9PSBoYW5kbGUpCisJCQlyZXR1cm4gdHJ1ZTsKKwl9CisJ cmV0dXJuIGZhbHNlOworfQorCit2b2lkCitpZ3RfdjNkX3N1Ym1pdF9iY2xfYW5kX3JjbChzdHJ1 Y3QgdjNkX2NsICpiY2wsIHN0cnVjdCB2M2RfY2wgKnJjbCkKK3sKKwl1aW50MzJfdCBoYW5kbGVz WzMyXTsKKwlpbnQgaGFuZGxlX2NvdW50ID0gMDsKKworCS8qIE1lcmdlIHRoZSB0d28gaW5jb21p bmcgaGFuZGxlIGxpc3RzLiAqLworCWlndF9hc3NlcnQocmNsLT5oYW5kbGVfY291bnQgKyBiY2wt PmhhbmRsZV9jb3VudCA8PSBBUlJBWV9TSVpFKGhhbmRsZXMpKTsKKwlmb3IgKGludCBpID0gMDsg aSA8IHJjbC0+aGFuZGxlX2NvdW50OyBpKyspCisJCWhhbmRsZXNbaGFuZGxlX2NvdW50KytdID0g cmNsLT5oYW5kbGVzW2ldOworCisJZm9yIChpbnQgaSA9IDA7IGkgPCBiY2wtPmhhbmRsZV9jb3Vu dDsgaSsrKSB7CisJCWlmICghaGFuZGxlX2luX2xpc3QoaGFuZGxlcywgaGFuZGxlX2NvdW50LCBi Y2wtPmhhbmRsZXNbaV0pKQorCQkJaGFuZGxlc1toYW5kbGVfY291bnQrK10gPSBiY2wtPmhhbmRs ZXNbaV07CisJfQorCisJc3RydWN0IGRybV92M2Rfc3VibWl0X2NsIHN1Ym1pdCA9IHsKKwkJLnJj bF9zdGFydCA9IHJjbC0+Ym8tPm9mZnNldCwKKwkJLnJjbF9lbmQgPSByY2wtPmJvLT5vZmZzZXQg KyBjbF9vZmZzZXQocmNsKSwKKwkJLmJjbF9zdGFydCA9IGJjbC0+Ym8tPm9mZnNldCwKKwkJLmJj bF9lbmQgPSBiY2wtPmJvLT5vZmZzZXQgKyBjbF9vZmZzZXQoYmNsKSwKKwkJLmJvX2hhbmRsZXMg PSAodWludHB0cl90KWhhbmRsZXMsCisJCS5ib19oYW5kbGVfY291bnQgPSBoYW5kbGVfY291bnQs CisJfTsKKwlpZ3RfdjNkX3N1Ym1pdF9jbChyY2wtPmZkLCAmc3VibWl0KTsKK30KZGlmZiAtLWdp dCBhL2xpYi9pZ3RfdjNkLmggYi9saWIvaWd0X3YzZC5oCmluZGV4IDIwNDI5OTUxMDNjYy4uN2Rk YmVlMzZhNTQ3IDEwMDY0NAotLS0gYS9saWIvaWd0X3YzZC5oCisrKyBiL2xpYi9pZ3RfdjNkLmgK QEAgLTMzLDYgKzMzLDE1IEBAIHN0cnVjdCB2M2RfYm8gewogCXZvaWQgKm1hcDsKIH07CiAKK3N0 cnVjdCB2M2RfY2wgeworCWludCBmZDsKKwlzdHJ1Y3QgdjNkX2JvICpibzsKKwl2b2lkICpuZXh0 OworCisJdWludDMyX3QgaGFuZGxlc1szMl07CisJdWludDMyX3QgaGFuZGxlX2NvdW50OworfTsK Kwogc3RydWN0IHYzZF9ibyAqaWd0X3YzZF9jcmVhdGVfYm8oaW50IGZkLCBzaXplX3Qgc2l6ZSk7 CiB2b2lkIGlndF92M2RfZnJlZV9ibyhpbnQgZmQsIHN0cnVjdCB2M2RfYm8gKmJvKTsKIApAQCAt NDAsNyArNDksMzYgQEAgdm9pZCBpZ3RfdjNkX2ZyZWVfYm8oaW50IGZkLCBzdHJ1Y3QgdjNkX2Jv ICpibyk7CiB1aW50MzJfdCBpZ3RfdjNkX2dldF9ib19vZmZzZXQoaW50IGZkLCB1aW50MzJfdCBo YW5kbGUpOwogdWludDMyX3QgaWd0X3YzZF9nZXRfcGFyYW0oaW50IGZkLCBlbnVtIGRybV92M2Rf cGFyYW0gcGFyYW0pOwogdm9pZCAqaWd0X3YzZF9tbWFwX2JvKGludCBmZCwgdWludDMyX3QgaGFu ZGxlLCB1aW50MzJfdCBzaXplLCB1bnNpZ25lZCBwcm90KTsKK3ZvaWQgKmlndF92M2Rfd2FpdF9i byhpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSk7Cit2b2lkIGlndF92M2Rfc3VibWl0X2NsKGludCBm ZCwgc3RydWN0IGRybV92M2Rfc3VibWl0X2NsICpzdWJtaXQpOwordm9pZCBpZ3RfdjNkX3N1Ym1p dF9yY2woc3RydWN0IHYzZF9jbCAqcmNsKTsKK3ZvaWQgaWd0X3YzZF9zdWJtaXRfYmNsX2FuZF9y Y2woc3RydWN0IHYzZF9jbCAqYmNsLCBzdHJ1Y3QgdjNkX2NsICpyY2wpOwogCiB2b2lkIGlndF92 M2RfYm9fbW1hcChpbnQgZmQsIHN0cnVjdCB2M2RfYm8gKmJvKTsKK3ZvaWQgaWd0X3YzZF9ib193 YWl0KGludCBmZCwgc3RydWN0IHYzZF9ibyAqYm8pOworCitzdGF0aWMgaW5saW5lIHZvaWQgdjNk X2NsX3JlZmVyZW5jZV9ibyhzdHJ1Y3QgdjNkX2NsICpjbCwKKwkJCQkgICAgICAgY29uc3Qgc3Ry dWN0IHYzZF9ibyAqYm8pCit7CisJaWYgKCFibykKKwkJcmV0dXJuOworCisJZm9yIChpbnQgaSA9 IDA7IGkgPCBjbC0+aGFuZGxlX2NvdW50OyBpKyspIHsKKwkJaWYgKGNsLT5oYW5kbGVzW2ldID09 IGJvLT5oYW5kbGUpCisJCQlyZXR1cm47CisJfQorCisJY2wtPmhhbmRsZXNbY2wtPmhhbmRsZV9j b3VudCsrXSA9IGJvLT5oYW5kbGU7Cit9CisKK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgY2xfb2Zm c2V0KHN0cnVjdCB2M2RfY2wgKmNsKQoreworCXJldHVybiAoY2hhciAqKWNsLT5uZXh0IC0gKGNo YXIgKiljbC0+Ym8tPm1hcDsKK30KKworc3RydWN0IHYzZF9jbCAqaWd0X3YzZF9jbF9jcmVhdGUo aW50IGZkLCBzaXplX3Qgc2l6ZSk7CitzdHJ1Y3QgdjNkX2NsICppZ3RfdjNkX2NsX2NyZWF0ZV9p bmZpbml0ZV9sb29wKGludCBmZCk7CitzdHJ1Y3QgdjNkX2NsICppZ3RfdjNkX2NsX2NyZWF0ZV9u b3AoaW50IGZkKTsKK3ZvaWQgaWd0X3YzZF9jbF9mcmVlKHN0cnVjdCB2M2RfY2wgKmNsKTsKIAog I2VuZGlmIC8qIElHVF9WM0RfSCAqLwpkaWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90 ZXN0cy9tZXNvbi5idWlsZAppbmRleCBiOGE2ZTYxYjM0MDQuLjkyYzllMTRjYTQwYSAxMDA2NDQK LS0tIGEvdGVzdHMvbWVzb24uYnVpbGQKKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKQEAgLTgyLDYg KzgyLDcgQEAgdGVzdF9wcm9ncyA9IFsKIAkndjNkX2dldF9ib19vZmZzZXQnLAogCSd2M2RfZ2V0 X3BhcmFtJywKIAkndjNkX21tYXAnLAorCSd2M2RfY2xfaGFuZycsCiAJJ3ZjNF9jcmVhdGVfYm8n LAogCSd2YzRfZG1hYnVmX3BvbGwnLAogCSd2YzRfbGFiZWxfYm8nLApkaWZmIC0tZ2l0IGEvdGVz dHMvdjNkX2NpL3YzZC50ZXN0bGlzdCBiL3Rlc3RzL3YzZF9jaS92M2QudGVzdGxpc3QKaW5kZXgg YjU1ZThlNTcxZDdkLi5iZjYyNWY3ODhmNzkgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3YzZF9jaS92M2Qu dGVzdGxpc3QKKysrIGIvdGVzdHMvdjNkX2NpL3YzZC50ZXN0bGlzdApAQCAtMSwzICsxLDUgQEAK K2lndEB2M2RfY2xfaGFuZ0ByY2wtaW5maW5pdGUtbG9vcAoraWd0QHYzZF9jbF9oYW5nQGJjbC1p bmZpbml0ZS1sb29wCiBpZ3RAdjNkX2dldF9ib19vZmZzZXRAY3JlYXRlLWdldC1vZmZzZXRzCiBp Z3RAdjNkX2dldF9ib19vZmZzZXRAZ2V0LWJhZC1oYW5kbGUKIGlndEB2M2RfZ2V0X3BhcmFtQGJh c2UtcGFyYW1zCmRpZmYgLS1naXQgYS90ZXN0cy92M2RfY2xfaGFuZy5jIGIvdGVzdHMvdjNkX2Ns X2hhbmcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjZlY2MzMzdj MjQzMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3YzZF9jbF9oYW5nLmMKQEAgLTAsMCArMSw3 MyBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE2IEJyb2FkY29tCisgKgorICogUGVybWlzc2lv biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu aW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0 aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3 aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUg cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwg c3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0 byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRv IGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUg YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVk aW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3Bp ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwK KyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENM QUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O IE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9G IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBE RUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlICJpZ3QuaCIKKyNp bmNsdWRlICJpZ3RfdjNkLmgiCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGli Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxm Y250bC5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNs dWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgInYzZF9k cm0uaCIKKworaWd0X21haW4KK3sKKwlpbnQgZmQ7CisKKwlpZ3RfZml4dHVyZSB7CisJCWZkID0g ZHJtX29wZW5fZHJpdmVyKERSSVZFUl9WM0QpOworCX0KKworCWlndF9zdWJ0ZXN0KCJyY2wtaW5m aW5pdGUtbG9vcCIpIHsKKwkJc3RydWN0IHYzZF9jbCAqaGFuZyA9IGlndF92M2RfY2xfY3JlYXRl X2luZmluaXRlX2xvb3AoZmQpOworCQlzdHJ1Y3QgdjNkX2NsICpub3AgPSBpZ3RfdjNkX2NsX2Ny ZWF0ZV9ub3AoZmQpOworCisJCWlndF92M2Rfc3VibWl0X3JjbChoYW5nKTsKKworCQlpZ3RfdjNk X3N1Ym1pdF9yY2wobm9wKTsKKwkJaWd0X3YzZF9ib193YWl0KGZkLCBub3AtPmJvKTsKKworCQlp Z3RfdjNkX2NsX2ZyZWUoaGFuZyk7CisJCWlndF92M2RfY2xfZnJlZShub3ApOworCX0KKworCWln dF9zdWJ0ZXN0KCJiY2wtaW5maW5pdGUtbG9vcCIpIHsKKwkJc3RydWN0IHYzZF9jbCAqaGFuZyA9 IGlndF92M2RfY2xfY3JlYXRlX2luZmluaXRlX2xvb3AoZmQpOworCQlzdHJ1Y3QgdjNkX2NsICpu b3AgPSBpZ3RfdjNkX2NsX2NyZWF0ZV9ub3AoZmQpOworCisJCWlndF92M2Rfc3VibWl0X2JjbF9h bmRfcmNsKGhhbmcsIG5vcCk7CisKKwkJaWd0X3YzZF9zdWJtaXRfcmNsKG5vcCk7CisJCWlndF92 M2RfYm9fd2FpdChmZCwgbm9wLT5ibyk7CisKKwkJaWd0X3YzZF9jbF9mcmVlKGhhbmcpOworCQlp Z3RfdjNkX2NsX2ZyZWUobm9wKTsKKwl9CisKKwlpZ3RfZml4dHVyZQorCQljbG9zZShmZCk7Cit9 Ci0tIAoyLjIwLjAucmMxCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK