From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 17B296E65D for ; Tue, 27 Mar 2018 16:41:06 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id t7so13560wmh.5 for ; Tue, 27 Mar 2018 09:41:06 -0700 (PDT) From: Tvrtko Ursulin Date: Tue, 27 Mar 2018 17:40:56 +0100 Message-Id: <20180327164056.6301-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t] tests/gem_eio: Never re-use contexts which were in the middle of GPU reset List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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 Cc: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkNvbnRleHRz IGV4ZWN1dGluZyB3aGVuIHJlc2V0IHRyaWdnZXJzIGFyZSBwb3RlbnRpYWx5IGNvcnJ1cHQgc28g dHJ5aW5nIHRvCnVzZSB0aGVtIGZyb20gYSBzdWJzZXF1ZW50IHRlc3QgKGxpa2UgdGhlIGRlZmF1 bHQgY29udGV4dCkgY2FuIGhhbmcgdGhlCkdQVSBvciBldmVuIHRoZSBkcml2ZXIuCgpXb3JrYXJv dW5kIHRoYXQgYnkgYWx3YXlzIGNyZWF0aW5nIGEgZGVkaWNhdGVkIGNvbnRleHQgd2hpY2ggd2ls bCBiZQpydW5uaW5nIHdoZW4gR1BVIHJlc2V0IGhhcHBlbnMuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIHRlc3RzL2dlbV9laW8u YyB8IDk2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2dlbV9laW8uYyBiL3Rlc3RzL2dlbV9laW8uYwppbmRleCBi ODI0ZDlkNGM5YzAuLmNlZmUyNmFkZjg5MyAxMDA2NDQKLS0tIGEvdGVzdHMvZ2VtX2Vpby5jCisr KyBiL3Rlc3RzL2dlbV9laW8uYwpAQCAtMjQ5LDE0ICsyNDksMzQgQEAgc3RhdGljIGludCBfX2No ZWNrX3dhaXQoaW50IGZkLCB1aW50MzJfdCBibywgdW5zaWduZWQgaW50IHdhaXQpCiAJcmV0dXJu IHJldDsKIH0KIAorc3RhdGljIHVpbnQzMl90IGNvbnRleHRfY3JlYXRlX3NhZmUoaW50IGk5MTUp Cit7CisJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIHBhcmFtOworCisJbWVtc2V0 KCZwYXJhbSwgMCwgc2l6ZW9mKHBhcmFtKSk7CisKKwlwYXJhbS5jdHhfaWQgPSBnZW1fY29udGV4 dF9jcmVhdGUoaTkxNSk7CisJcGFyYW0ucGFyYW0gPSBJOTE1X0NPTlRFWFRfUEFSQU1fQkFOTkFC TEU7CisJZ2VtX2NvbnRleHRfc2V0X3BhcmFtKGk5MTUsICZwYXJhbSk7CisKKwlwYXJhbS5wYXJh bSA9IEk5MTVfQ09OVEVYVF9QQVJBTV9OT19FUlJPUl9DQVBUVVJFOworCXBhcmFtLnZhbHVlID0g MTsKKwlnZW1fY29udGV4dF9zZXRfcGFyYW0oaTkxNSwgJnBhcmFtKTsKKworCXJldHVybiBwYXJh bS5jdHhfaWQ7Cit9CisKICNkZWZpbmUgVEVTVF9XRURHRSAoMSkKIAogc3RhdGljIHZvaWQgdGVz dF93YWl0KGludCBmZCwgdW5zaWduZWQgaW50IGZsYWdzLCB1bnNpZ25lZCBpbnQgd2FpdCkKIHsK IAlpZ3Rfc3Bpbl90ICpoYW5nOworCXVpbnQzMl90IGN0eDsKIAogCWlndF9yZXF1aXJlX2dlbShm ZCk7CiAKKwljdHggPSBjb250ZXh0X2NyZWF0ZV9zYWZlKGZkKTsKKwogCS8qCiAJICogSWYgdGhl IHJlcXVlc3Qgd2Ugd2FpdCBvbiBjb21wbGV0ZXMgZHVlIHRvIGEgaGFuZyAoZXZlbiBmb3IKIAkg KiB0aGF0IHJlcXVlc3QpLCB0aGUgdXNlciBleHBlY3RzIHRoZSByZXR1cm4gdmFsdWUgdG8gMCAo c3VjY2VzcykuCkBAIC0yNjcsNyArMjg3LDcgQEAgc3RhdGljIHZvaWQgdGVzdF93YWl0KGludCBm ZCwgdW5zaWduZWQgaW50IGZsYWdzLCB1bnNpZ25lZCBpbnQgd2FpdCkKIAllbHNlCiAJCWlndF9y ZXF1aXJlKGk5MTVfcmVzZXRfY29udHJvbCh0cnVlKSk7CiAKLQloYW5nID0gc3Bpbl9zeW5jKGZk LCAwLCBJOTE1X0VYRUNfREVGQVVMVCk7CisJaGFuZyA9IHNwaW5fc3luYyhmZCwgY3R4LCBJOTE1 X0VYRUNfREVGQVVMVCk7CiAKIAlpZ3RfYXNzZXJ0X2VxKF9fY2hlY2tfd2FpdChmZCwgaGFuZy0+ aGFuZGxlLCB3YWl0KSwgMCk7CiAKQEAgLTI3Niw2ICsyOTYsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0 X3dhaXQoaW50IGZkLCB1bnNpZ25lZCBpbnQgZmxhZ3MsIHVuc2lnbmVkIGludCB3YWl0KQogCWln dF9yZXF1aXJlKGk5MTVfcmVzZXRfY29udHJvbCh0cnVlKSk7CiAKIAl0cmlnZ2VyX3Jlc2V0KGZk KTsKKworCWdlbV9jb250ZXh0X2Rlc3Ryb3koZmQsIGN0eCk7CiB9CiAKIHN0YXRpYyB2b2lkIHRl c3Rfc3VzcGVuZChpbnQgZmQsIGludCBzdGF0ZSkKQEAgLTMwOSw2ICszMzEsNyBAQCBzdGF0aWMg dm9pZCB0ZXN0X2luZmxpZ2h0KGludCBmZCwgdW5zaWduZWQgaW50IHdhaXQpCiAKIAlmb3JfZWFj aF9lbmdpbmUoZmQsIGVuZ2luZSkgewogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIy IGV4ZWNidWY7CisJCXVpbnQzMl90IGN0eCA9IGNvbnRleHRfY3JlYXRlX3NhZmUoZmQpOwogCQlp Z3Rfc3Bpbl90ICpoYW5nOwogCQlpbnQgZmVuY2VbNjRdOyAvKiBjb25zZXJ2YXRpdmUgZXN0aW1h dGUgb2YgcmluZyBzaXplICovCiAKQEAgLTMxNiw3ICszMzksNyBAQCBzdGF0aWMgdm9pZCB0ZXN0 X2luZmxpZ2h0KGludCBmZCwgdW5zaWduZWQgaW50IHdhaXQpCiAJCWlndF9kZWJ1ZygiU3RhcnRp bmcgJXMgb24gZW5naW5lICclcydcbiIsIF9fZnVuY19fLCBlX18tPm5hbWUpOwogCQlpZ3RfcmVx dWlyZShpOTE1X3Jlc2V0X2NvbnRyb2woZmFsc2UpKTsKIAotCQloYW5nID0gc3Bpbl9zeW5jKGZk LCAwLCBlbmdpbmUpOworCQloYW5nID0gc3Bpbl9zeW5jKGZkLCBjdHgsIGVuZ2luZSk7CiAJCW9i alswXS5oYW5kbGUgPSBoYW5nLT5oYW5kbGU7CiAKIAkJbWVtc2V0KCZleGVjYnVmLCAwLCBzaXpl b2YoZXhlY2J1ZikpOwpAQCAtMzQwLDYgKzM2Myw4IEBAIHN0YXRpYyB2b2lkIHRlc3RfaW5mbGln aHQoaW50IGZkLCB1bnNpZ25lZCBpbnQgd2FpdCkKIAkJaWd0X3NwaW5fYmF0Y2hfZnJlZShmZCwg aGFuZyk7CiAJCWlndF9hc3NlcnQoaTkxNV9yZXNldF9jb250cm9sKHRydWUpKTsKIAkJdHJpZ2dl cl9yZXNldChmZCk7CisKKwkJZ2VtX2NvbnRleHRfZGVzdHJveShmZCwgY3R4KTsKIAl9CiB9CiAK QEAgLTM1MCwxNyArMzc1LDIwIEBAIHN0YXRpYyB2b2lkIHRlc3RfaW5mbGlnaHRfc3VzcGVuZChp bnQgZmQpCiAJdWludDMyX3QgYmJlID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsKIAlpbnQgZmVuY2Vb NjRdOyAvKiBjb25zZXJ2YXRpdmUgZXN0aW1hdGUgb2YgcmluZyBzaXplICovCiAJaWd0X3NwaW5f dCAqaGFuZzsKKwl1aW50MzJfdCBjdHg7CiAKIAlpZ3RfcmVxdWlyZV9nZW0oZmQpOwogCWlndF9y ZXF1aXJlKGdlbV9oYXNfZXhlY19mZW5jZShmZCkpOwogCWlndF9yZXF1aXJlKGk5MTVfcmVzZXRf Y29udHJvbChmYWxzZSkpOwogCisJY3R4ID0gY29udGV4dF9jcmVhdGVfc2FmZShmZCk7CisKIAlt ZW1zZXQob2JqLCAwLCBzaXplb2Yob2JqKSk7CiAJb2JqWzBdLmZsYWdzID0gRVhFQ19PQkpFQ1Rf V1JJVEU7CiAJb2JqWzFdLmhhbmRsZSA9IGdlbV9jcmVhdGUoZmQsIDQwOTYpOwogCWdlbV93cml0 ZShmZCwgb2JqWzFdLmhhbmRsZSwgMCwgJmJiZSwgc2l6ZW9mKGJiZSkpOwogCi0JaGFuZyA9IHNw aW5fc3luYyhmZCwgMCwgMCk7CisJaGFuZyA9IHNwaW5fc3luYyhmZCwgY3R4LCAwKTsKIAlvYmpb MF0uaGFuZGxlID0gaGFuZy0+aGFuZGxlOwogCiAJbWVtc2V0KCZleGVjYnVmLCAwLCBzaXplb2Yo ZXhlY2J1ZikpOwpAQCAtMzg3LDIzICs0MTUsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0X2luZmxpZ2h0 X3N1c3BlbmQoaW50IGZkKQogCWlndF9zcGluX2JhdGNoX2ZyZWUoZmQsIGhhbmcpOwogCWlndF9h c3NlcnQoaTkxNV9yZXNldF9jb250cm9sKHRydWUpKTsKIAl0cmlnZ2VyX3Jlc2V0KGZkKTsKLX0K LQotc3RhdGljIHVpbnQzMl90IGNvbnRleHRfY3JlYXRlX3NhZmUoaW50IGk5MTUpCi17Ci0Jc3Ry dWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIHBhcmFtOwotCi0JbWVtc2V0KCZwYXJhbSwg MCwgc2l6ZW9mKHBhcmFtKSk7CiAKLQlwYXJhbS5jdHhfaWQgPSBnZW1fY29udGV4dF9jcmVhdGUo aTkxNSk7Ci0JcGFyYW0ucGFyYW0gPSBJOTE1X0NPTlRFWFRfUEFSQU1fQkFOTkFCTEU7Ci0JZ2Vt X2NvbnRleHRfc2V0X3BhcmFtKGk5MTUsICZwYXJhbSk7Ci0KLQlwYXJhbS5wYXJhbSA9IEk5MTVf Q09OVEVYVF9QQVJBTV9OT19FUlJPUl9DQVBUVVJFOwotCXBhcmFtLnZhbHVlID0gMTsKLQlnZW1f Y29udGV4dF9zZXRfcGFyYW0oaTkxNSwgJnBhcmFtKTsKLQotCXJldHVybiBwYXJhbS5jdHhfaWQ7 CisJZ2VtX2NvbnRleHRfZGVzdHJveShmZCwgY3R4KTsKIH0KIAogc3RhdGljIHZvaWQgdGVzdF9p bmZsaWdodF9jb250ZXh0cyhpbnQgZmQsIHVuc2lnbmVkIGludCB3YWl0KQpAQCAtNDExLDQwICs0 MjQsNDAgQEAgc3RhdGljIHZvaWQgdGVzdF9pbmZsaWdodF9jb250ZXh0cyhpbnQgZmQsIHVuc2ln bmVkIGludCB3YWl0KQogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialsyXTsK IAljb25zdCB1aW50MzJfdCBiYmUgPSBNSV9CQVRDSF9CVUZGRVJfRU5EOwogCXVuc2lnbmVkIGlu dCBlbmdpbmU7Ci0JdWludDMyX3QgY3R4WzY0XTsKKwl1aW50MzJfdCBjdHhbNjVdOwogCiAJaWd0 X3JlcXVpcmVfZ2VtKGZkKTsKIAlpZ3RfcmVxdWlyZShnZW1faGFzX2V4ZWNfZmVuY2UoZmQpKTsK IAlnZW1fcmVxdWlyZV9jb250ZXh0cyhmZCk7CiAKLQlmb3IgKHVuc2lnbmVkIGludCBuID0gMDsg biA8IEFSUkFZX1NJWkUoY3R4KTsgbisrKQotCQljdHhbbl0gPSBjb250ZXh0X2NyZWF0ZV9zYWZl KGZkKTsKLQogCW1lbXNldChvYmosIDAsIHNpemVvZihvYmopKTsKIAlvYmpbMF0uZmxhZ3MgPSBF WEVDX09CSkVDVF9XUklURTsKIAlvYmpbMV0uaGFuZGxlID0gZ2VtX2NyZWF0ZShmZCwgNDA5Nik7 CiAJZ2VtX3dyaXRlKGZkLCBvYmpbMV0uaGFuZGxlLCAwLCAmYmJlLCBzaXplb2YoYmJlKSk7CiAK IAlmb3JfZWFjaF9lbmdpbmUoZmQsIGVuZ2luZSkgewotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4 ZWNidWZmZXIyIGV4ZWNidWY7CisJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhl Y2J1ZiA9IHsgfTsKIAkJaWd0X3NwaW5fdCAqaGFuZzsKIAkJaW50IGZlbmNlWzY0XTsKIAotCQln ZW1fcXVpZXNjZW50X2dwdShmZCk7Ci0KIAkJaWd0X2RlYnVnKCJTdGFydGluZyAlcyBvbiBlbmdp bmUgJyVzJ1xuIiwgX19mdW5jX18sIGVfXy0+bmFtZSk7CisKIAkJaWd0X3JlcXVpcmUoaTkxNV9y ZXNldF9jb250cm9sKGZhbHNlKSk7CiAKLQkJaGFuZyA9IHNwaW5fc3luYyhmZCwgMCwgZW5naW5l KTsKKwkJZm9yICh1bnNpZ25lZCBpbnQgbiA9IDA7IG4gPCBBUlJBWV9TSVpFKGN0eCk7IG4rKykK KwkJCWN0eFtuXSA9IGNvbnRleHRfY3JlYXRlX3NhZmUoZmQpOworCisJCWdlbV9xdWllc2NlbnRf Z3B1KGZkKTsKKworCQloYW5nID0gc3Bpbl9zeW5jKGZkLCBjdHhbMF0sIGVuZ2luZSk7CiAJCW9i alswXS5oYW5kbGUgPSBoYW5nLT5oYW5kbGU7CiAKLQkJbWVtc2V0KCZleGVjYnVmLCAwLCBzaXpl b2YoZXhlY2J1ZikpOwogCQlleGVjYnVmLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKG9i aik7CiAJCWV4ZWNidWYuYnVmZmVyX2NvdW50ID0gMjsKIAkJZXhlY2J1Zi5mbGFncyA9IGVuZ2lu ZSB8IEk5MTVfRVhFQ19GRU5DRV9PVVQ7CiAKLQkJZm9yICh1bnNpZ25lZCBpbnQgbiA9IDA7IG4g PCBBUlJBWV9TSVpFKGZlbmNlKTsgbisrKSB7Ci0JCQlleGVjYnVmLnJzdmQxID0gY3R4W25dOwor CQlmb3IgKHVuc2lnbmVkIGludCBuID0gMDsgbiA8IChBUlJBWV9TSVpFKGZlbmNlKSAtIDEpOyBu KyspIHsKKwkJCWV4ZWNidWYucnN2ZDEgPSBjdHhbbiArIDFdOwogCQkJZ2VtX2V4ZWNidWZfd3Io ZmQsICZleGVjYnVmKTsKIAkJCWZlbmNlW25dID0gZXhlY2J1Zi5yc3ZkMiA+PiAzMjsKIAkJCWln dF9hc3NlcnQoZmVuY2Vbbl0gIT0gLTEpOwpAQCAtNDUyLDE4ICs0NjUsMTkgQEAgc3RhdGljIHZv aWQgdGVzdF9pbmZsaWdodF9jb250ZXh0cyhpbnQgZmQsIHVuc2lnbmVkIGludCB3YWl0KQogCiAJ CWlndF9hc3NlcnRfZXEoX19jaGVja193YWl0KGZkLCBvYmpbMV0uaGFuZGxlLCB3YWl0KSwgMCk7 CiAKLQkJZm9yICh1bnNpZ25lZCBpbnQgbiA9IDA7IG4gPCBBUlJBWV9TSVpFKGZlbmNlKTsgbisr KSB7CisJCWZvciAodW5zaWduZWQgaW50IG4gPSAwOyBuIDwgKEFSUkFZX1NJWkUoZmVuY2UpIC0g MSk7IG4rKykgewogCQkJaWd0X2Fzc2VydF9lcShzeW5jX2ZlbmNlX3N0YXR1cyhmZW5jZVtuXSks IC1FSU8pOwogCQkJY2xvc2UoZmVuY2Vbbl0pOwogCQl9CiAKIAkJaWd0X3NwaW5fYmF0Y2hfZnJl ZShmZCwgaGFuZyk7CisKKwkJZm9yICh1bnNpZ25lZCBpbnQgbiA9IDA7IG4gPCBBUlJBWV9TSVpF KGN0eCk7IG4rKykKKwkJCWdlbV9jb250ZXh0X2Rlc3Ryb3koZmQsIGN0eFtuXSk7CisKIAkJaWd0 X2Fzc2VydChpOTE1X3Jlc2V0X2NvbnRyb2wodHJ1ZSkpOwogCQl0cmlnZ2VyX3Jlc2V0KGZkKTsK IAl9Ci0KLQlmb3IgKHVuc2lnbmVkIGludCBuID0gMDsgbiA8IEFSUkFZX1NJWkUoY3R4KTsgbisr KQotCQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBjdHhbbl0pOwogfQogCiBzdGF0aWMgdm9pZCB0 ZXN0X2luZmxpZ2h0X2V4dGVybmFsKGludCBmZCkKQEAgLTQ3MywxNSArNDg3LDE4IEBAIHN0YXRp YyB2b2lkIHRlc3RfaW5mbGlnaHRfZXh0ZXJuYWwoaW50IGZkKQogCXN0cnVjdCBkcm1faTkxNV9n ZW1fZXhlY19vYmplY3QyIG9iajsKIAlpZ3Rfc3Bpbl90ICpoYW5nOwogCXVpbnQzMl90IGZlbmNl OworCXVpbnQzMl90IGN0eDsKIAlJR1RfQ09SS19GRU5DRShjb3JrKTsKIAogCWlndF9yZXF1aXJl X3N3X3N5bmMoKTsKIAlpZ3RfcmVxdWlyZShnZW1faGFzX2V4ZWNfZmVuY2UoZmQpKTsKIAorCWN0 eCA9IGNvbnRleHRfY3JlYXRlX3NhZmUoZmQpOworCiAJZmVuY2UgPSBpZ3RfY29ya19wbHVnKCZj b3JrLCBmZCk7CiAKIAlpZ3RfcmVxdWlyZShpOTE1X3Jlc2V0X2NvbnRyb2woZmFsc2UpKTsKLQlo YW5nID0gX19zcGluX3BvbGwoZmQsIDAsIDApOworCWhhbmcgPSBfX3NwaW5fcG9sbChmZCwgY3R4 LCAwKTsKIAogCW1lbXNldCgmb2JqLCAwLCBzaXplb2Yob2JqKSk7CiAJb2JqLmhhbmRsZSA9IGdl bV9jcmVhdGUoZmQsIDQwOTYpOwpAQCAtNTE0LDYgKzUzMSw4IEBAIHN0YXRpYyB2b2lkIHRlc3Rf aW5mbGlnaHRfZXh0ZXJuYWwoaW50IGZkKQogCWlndF9zcGluX2JhdGNoX2ZyZWUoZmQsIGhhbmcp OwogCWlndF9hc3NlcnQoaTkxNV9yZXNldF9jb250cm9sKHRydWUpKTsKIAl0cmlnZ2VyX3Jlc2V0 KGZkKTsKKworCWdlbV9jb250ZXh0X2Rlc3Ryb3koZmQsIGN0eCk7CiB9CiAKIHN0YXRpYyB2b2lk IHRlc3RfaW5mbGlnaHRfaW50ZXJuYWwoaW50IGZkLCB1bnNpZ25lZCBpbnQgd2FpdCkKQEAgLTUy NCwxMiArNTQzLDE1IEBAIHN0YXRpYyB2b2lkIHRlc3RfaW5mbGlnaHRfaW50ZXJuYWwoaW50IGZk LCB1bnNpZ25lZCBpbnQgd2FpdCkKIAl1bnNpZ25lZCBlbmdpbmUsIG5mZW5jZSA9IDA7CiAJaW50 IGZlbmNlc1sxNl07CiAJaWd0X3NwaW5fdCAqaGFuZzsKKwl1aW50MzJfdCBjdHg7CiAKIAlpZ3Rf cmVxdWlyZV9nZW0oZmQpOwogCWlndF9yZXF1aXJlKGdlbV9oYXNfZXhlY19mZW5jZShmZCkpOwog CisJY3R4ID0gY29udGV4dF9jcmVhdGVfc2FmZShmZCk7CisKIAlpZ3RfcmVxdWlyZShpOTE1X3Jl c2V0X2NvbnRyb2woZmFsc2UpKTsKLQloYW5nID0gc3Bpbl9zeW5jKGZkLCAwLCAwKTsKKwloYW5n ID0gc3Bpbl9zeW5jKGZkLCBjdHgsIDApOwogCiAJbWVtc2V0KG9iaiwgMCwgc2l6ZW9mKG9iaikp OwogCW9ialswXS5oYW5kbGUgPSBoYW5nLT5oYW5kbGU7CkBAIC01NjAsNiArNTgyLDggQEAgc3Rh dGljIHZvaWQgdGVzdF9pbmZsaWdodF9pbnRlcm5hbChpbnQgZmQsIHVuc2lnbmVkIGludCB3YWl0 KQogCWlndF9zcGluX2JhdGNoX2ZyZWUoZmQsIGhhbmcpOwogCWlndF9hc3NlcnQoaTkxNV9yZXNl dF9jb250cm9sKHRydWUpKTsKIAl0cmlnZ2VyX3Jlc2V0KGZkKTsKKworCWdlbV9jb250ZXh0X2Rl c3Ryb3koZmQsIGN0eCk7CiB9CiAKIHN0YXRpYyBpbnQgZmQgPSAtMTsKLS0gCjIuMTQuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWls aW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==