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 20FDD6E11F for ; Tue, 18 Jun 2019 09:07:30 +0000 (UTC) From: Oleg Vasilev Date: Tue, 18 Jun 2019 12:07:25 +0300 Message-Id: <20190618090725.22214-1-oleg.vasilev@intel.com> In-Reply-To: <20190618081129.GV22949@platvala-desk.ger.corp.intel.com> References: <20190618081129.GV22949@platvala-desk.ger.corp.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v4] runner: add --list-all and --blacklist 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 Cc: Petri Latvala List-ID: Q3VycmVudGx5LCBydW5uZXIgYWxyZWFkeSBjb2xsZWN0cyBhbGwgc3VidGVzdCBuYW1lcyBpbnRv IGpvYl9saXN0LgotLWxpc3QtYWxsIGFsbG93cyB0byBvdXRwdXQgaXQgdG8gc3Rkb3V0LgoKLS1i bGFja2xpc3Qgb3B0aW9uIHRha2VzIGEgZmlsZW5hbWUgYXMgYW4gYXJndW1lbnQgYW5kIGFkZHMg YWxsIHJlZ2V4ZXMKZnJvbSB0aGF0IGZpbGUgdG8gdGhlIGV4Y2x1c2lvbiBsaXN0LgoKdjI6CiAt IFVwZGF0ZSBleGNsdWRlL2luY2x1ZGUgcmVnZXggbWF0Y2hlcyBmb3IgdGVzdHMgd2l0aG91dAoJ c3VidGVzdHMgdG8gYmUgbWF0Y2hlZCB3aXRoIHBpZ3RpdC1saWtlIG5hbWUgKFBldHJpKQogLSBS ZXBsYWNlIHJlbGF0aXZlIHBhdGhzIHdpdGggdGhvc2UgZm9ybWF0dGVkIHdpdGggdGVzdGRhdGFk aXIgKFBldHJpKQogLSBNaW5vciBjb2Rlc3R5bGUgY2hhbmdlcwoKdjM6CiAtIFByaW50IHRlc3Qg bmFtZXMgaW4gbG93ZXJjYXNlIChQZXRyaSkKCnY0OgogLSBSZXBsYWNlZCBjdXN0b20gc3RyX3Rv X2xvd2VyIHdpdGggZ2VuZXJhdGVfcGlnbGl0X25hbWUgKFBldHJpKQogLSBNaW5vciBjb2Rlc3R5 bGUgY2hhbmdlcwoKQ2M6IFBldHJpIExhdHZhbGEgPHBldHJpLmxhdHZhbGFAaW50ZWwuY29tPgpT aWduZWQtb2ZmLWJ5OiBPbGVnIFZhc2lsZXYgPG9sZWcudmFzaWxldkBpbnRlbC5jb20+Ci0tLQog cnVubmVyL2pvYl9saXN0LmMgICAgICAgICAgICAgICAgICAgfCAgMzQgKysrKysrKy0KIHJ1bm5l ci9qb2JfbGlzdC5oICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHJ1bm5lci9ydW5uZXIuYyAg ICAgICAgICAgICAgICAgICAgIHwgICA1ICsrCiBydW5uZXIvcnVubmVyX3Rlc3RzLmMgICAgICAg ICAgICAgICB8ICAxOCArKysrLQogcnVubmVyL3NldHRpbmdzLmMgICAgICAgICAgICAgICAgICAg fCAxMjEgKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogcnVubmVyL3NldHRpbmdzLmggICAg ICAgICAgICAgICAgICAgfCAgIDEgKwogcnVubmVyL3Rlc3RkYXRhL21lc29uLmJ1aWxkICAgICAg ICAgfCAgIDUgKysKIHJ1bm5lci90ZXN0ZGF0YS90ZXN0LWJsYWNrbGlzdC50eHQgIHwgICAyICsK IHJ1bm5lci90ZXN0ZGF0YS90ZXN0LWJsYWNrbGlzdDIudHh0IHwgICAyICsKIDkgZmlsZXMgY2hh bmdlZCwgMTY1IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAw NjQ0IHJ1bm5lci90ZXN0ZGF0YS90ZXN0LWJsYWNrbGlzdC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBydW5uZXIvdGVzdGRhdGEvdGVzdC1ibGFja2xpc3QyLnR4dAoKZGlmZiAtLWdpdCBhL3J1bm5l ci9qb2JfbGlzdC5jIGIvcnVubmVyL2pvYl9saXN0LmMKaW5kZXggNGExNjc0MmYuLjUyODNmZDcy IDEwMDY0NAotLS0gYS9ydW5uZXIvam9iX2xpc3QuYworKysgYi9ydW5uZXIvam9iX2xpc3QuYwpA QCAtMTExLDExICsxMTEsMTcgQEAgc3RhdGljIHZvaWQgYWRkX3N1YnRlc3RzKHN0cnVjdCBqb2Jf bGlzdCAqam9iX2xpc3QsIHN0cnVjdCBzZXR0aW5ncyAqc2V0dGluZ3MsCiAJCWZwcmludGYoc3Rk ZXJyLCAicG9wZW4gZXJyb3Igd2hlbiBleGVjdXRpbmcgJXM6ICVzXG4iLCBiaW5hcnksIHN0cmVy cm9yKGVycm5vKSk7CiAJfSBlbHNlIGlmIChXSUZFWElURUQocykpIHsKIAkJaWYgKFdFWElUU1RB VFVTKHMpID09IElHVF9FWElUX0lOVkFMSUQpIHsKKwkJCWNoYXIgcGlnbGl0bmFtZVsyNTZdOwor CisJCQlnZW5lcmF0ZV9waWdsaXRfbmFtZShiaW5hcnksIE5VTEwsCisJCQkJCSAgICAgcGlnbGl0 bmFtZSwgc2l6ZW9mKHBpZ2xpdG5hbWUpKTsKIAkJCS8qIE5vIHN1YnRlc3RzIG9uIHRoaXMgb25l ICovCi0JCQlpZiAoZXhjbHVkZSAmJiBleGNsdWRlLT5zaXplICYmIG1hdGNoZXNfYW55KGJpbmFy eSwgZXhjbHVkZSkpIHsKKwkJCWlmIChleGNsdWRlICYmIGV4Y2x1ZGUtPnNpemUgJiYKKwkJCSAg ICBtYXRjaGVzX2FueShwaWdsaXRuYW1lLCBleGNsdWRlKSkgewogCQkJCXJldHVybjsKIAkJCX0K LQkJCWlmICghaW5jbHVkZSB8fCAhaW5jbHVkZS0+c2l6ZSB8fCBtYXRjaGVzX2FueShiaW5hcnks IGluY2x1ZGUpKSB7CisJCQlpZiAoIWluY2x1ZGUgfHwgIWluY2x1ZGUtPnNpemUgfHwKKwkJCSAg ICBtYXRjaGVzX2FueShwaWdsaXRuYW1lLCBpbmNsdWRlKSkgewogCQkJCWFkZF9qb2JfbGlzdF9l bnRyeShqb2JfbGlzdCwgc3RyZHVwKGJpbmFyeSksIE5VTEwsIDApOwogCQkJCXJldHVybjsKIAkJ CX0KQEAgLTI5MSw2ICsyOTcsMzAgQEAgc3RhdGljIGJvb2wgam9iX2xpc3RfZnJvbV90ZXN0X2xp c3Qoc3RydWN0IGpvYl9saXN0ICpqb2JfbGlzdCwKIAlyZXR1cm4gYW55OwogfQogCit2b2lkIGxp c3RfYWxsX3Rlc3RzKHN0cnVjdCBqb2JfbGlzdCAqbHN0KQoreworCWNoYXIgcGlnbGl0X25hbWVb MjU2XTsKKworCWZvciAoc2l6ZV90IHRlc3RfaWR4ID0gMDsgdGVzdF9pZHggPCBsc3QtPnNpemU7 ICsrdGVzdF9pZHgpIHsKKwkJc3RydWN0IGpvYl9saXN0X2VudHJ5ICpjdXJyZW50X2VudHJ5ID0g bHN0LT5lbnRyaWVzICsgdGVzdF9pZHg7CisJCWNoYXIgKmJpbmFyeSA9IGN1cnJlbnRfZW50cnkt PmJpbmFyeTsKKworCQlpZiAoY3VycmVudF9lbnRyeS0+c3VidGVzdF9jb3VudCA9PSAwKSB7CisJ CQlnZW5lcmF0ZV9waWdsaXRfbmFtZShiaW5hcnksIE5VTEwsCisJCQkJCSAgICAgcGlnbGl0X25h bWUsIHNpemVvZihwaWdsaXRfbmFtZSkpOworCQkJcHJpbnRmKCIlc1xuIiwgcGlnbGl0X25hbWUp OworCQkJY29udGludWU7CisJCX0KKwkJZm9yIChzaXplX3Qgc3VidGVzdF9pZHggPSAwOworCQkg ICAgc3VidGVzdF9pZHggPCBjdXJyZW50X2VudHJ5LT5zdWJ0ZXN0X2NvdW50OworCQkgICAgKytz dWJ0ZXN0X2lkeCkgeworCQkJZ2VuZXJhdGVfcGlnbGl0X25hbWUoYmluYXJ5LCBjdXJyZW50X2Vu dHJ5LT5zdWJ0ZXN0c1tzdWJ0ZXN0X2lkeF0sCisJCQkJCSAgICAgcGlnbGl0X25hbWUsIHNpemVv ZihwaWdsaXRfbmFtZSkpOworCQkJcHJpbnRmKCIlc1xuIiwgcGlnbGl0X25hbWUpOworCQl9CisJ fQorfQorCiBzdGF0aWMgY2hhciAqbG93ZXJjYXNlKGNvbnN0IGNoYXIgKnN0cikKIHsKIAljaGFy ICpyZXQgPSBtYWxsb2Moc3RybGVuKHN0cikgKyAxKTsKZGlmZiAtLWdpdCBhL3J1bm5lci9qb2Jf bGlzdC5oIGIvcnVubmVyL2pvYl9saXN0LmgKaW5kZXggZjhiYmJkZGMuLjM5YzliODYzIDEwMDY0 NAotLS0gYS9ydW5uZXIvam9iX2xpc3QuaAorKysgYi9ydW5uZXIvam9iX2xpc3QuaApAQCAtMzYs NSArMzYsNiBAQCBib29sIGNyZWF0ZV9qb2JfbGlzdChzdHJ1Y3Qgam9iX2xpc3QgKmpvYl9saXN0 LCBzdHJ1Y3Qgc2V0dGluZ3MgKnNldHRpbmdzKTsKIAogYm9vbCBzZXJpYWxpemVfam9iX2xpc3Qo c3RydWN0IGpvYl9saXN0ICpqb2JfbGlzdCwgc3RydWN0IHNldHRpbmdzICpzZXR0aW5ncyk7CiBi b29sIHJlYWRfam9iX2xpc3Qoc3RydWN0IGpvYl9saXN0ICpqb2JfbGlzdCwgaW50IGRpcmZkKTsK K3ZvaWQgbGlzdF9hbGxfdGVzdHMoc3RydWN0IGpvYl9saXN0ICpsc3QpOwogCiAjZW5kaWYKZGlm ZiAtLWdpdCBhL3J1bm5lci9ydW5uZXIuYyBiL3J1bm5lci9ydW5uZXIuYwppbmRleCBlMWE2Y2Ni YS4uNDg1NWFkNjQgMTAwNjQ0Ci0tLSBhL3J1bm5lci9ydW5uZXIuYworKysgYi9ydW5uZXIvcnVu bmVyLmMKQEAgLTI0LDYgKzI0LDExIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikK IAkJcmV0dXJuIDE7CiAJfQogCisJaWYgKHNldHRpbmdzLmxpc3RfYWxsKSB7CisJCWxpc3RfYWxs X3Rlc3RzKCZqb2JfbGlzdCk7CisJCXJldHVybiAwOworCX0KKwogCWlmICghaW5pdGlhbGl6ZV9l eGVjdXRlX3N0YXRlKCZzdGF0ZSwgJnNldHRpbmdzLCAmam9iX2xpc3QpKSB7CiAJCXJldHVybiAx OwogCX0KZGlmZiAtLWdpdCBhL3J1bm5lci9ydW5uZXJfdGVzdHMuYyBiL3J1bm5lci9ydW5uZXJf dGVzdHMuYwppbmRleCBjMDljZGE3MC4uMzlkNGEwNzggMTAwNjQ0Ci0tLSBhL3J1bm5lci9ydW5u ZXJfdGVzdHMuYworKysgYi9ydW5uZXIvcnVubmVyX3Rlc3RzLmMKQEAgLTM3OCw2ICszNzgsNyBA QCBpZ3RfbWFpbgogCX0KIAogCWlndF9zdWJ0ZXN0KCJwYXJzZS1hbGwtc2V0dGluZ3MiKSB7CisJ CWNoYXIgYmxhY2tsaXN0X25hbWVbUEFUSF9NQVhdLCBibGFja2xpc3QyX25hbWVbUEFUSF9NQVhd OwogCQljb25zdCBjaGFyICphcmd2W10gPSB7ICJydW5uZXIiLAogCQkJCSAgICAgICAiLW4iLCAi Zm9vIiwKIAkJCQkgICAgICAgIi0tYWJvcnQtb24tbW9uaXRvcmVkLWVycm9yPXRhaW50LGxvY2tk ZXAiLApAQCAtMzg4LDYgKzM4OSw4IEBAIGlndF9tYWluCiAJCQkJICAgICAgICItdCIsICJwYXR0 ZXJuMiIsCiAJCQkJICAgICAgICIteCIsICJ4cGF0dGVybjEiLAogCQkJCSAgICAgICAiLXgiLCAi eHBhdHRlcm4yIiwKKwkJCQkgICAgICAgIi1iIiwgYmxhY2tsaXN0X25hbWUsCisJCQkJICAgICAg ICItLWJsYWNrbGlzdCIsIGJsYWNrbGlzdDJfbmFtZSwKIAkJCQkgICAgICAgIi1zIiwKIAkJCQkg ICAgICAgIi1sIiwgInZlcmJvc2UiLAogCQkJCSAgICAgICAiLS1vdmVyd3JpdGUiLApAQCAtNDAx LDYgKzQwNCw5IEBAIGlndF9tYWluCiAJCQkJICAgICAgICJwYXRoLXRvLXJlc3VsdHMiLAogCQl9 OwogCisJCXNwcmludGYoYmxhY2tsaXN0X25hbWUsICIlcy90ZXN0LWJsYWNrbGlzdC50eHQiLCB0 ZXN0ZGF0YWRpcik7CisJCXNwcmludGYoYmxhY2tsaXN0Ml9uYW1lLCAiJXMvdGVzdC1ibGFja2xp c3QyLnR4dCIsIHRlc3RkYXRhZGlyKTsKKwogCQlpZ3RfYXNzZXJ0KHBhcnNlX29wdGlvbnMoQVJS QVlfU0laRShhcmd2KSwgKGNoYXIqKilhcmd2LCBzZXR0aW5ncykpOwogCiAJCWlndF9hc3NlcnRf ZXEoc2V0dGluZ3MtPmFib3J0X21hc2ssIEFCT1JUX1RBSU5UIHwgQUJPUlRfTE9DS0RFUCk7CkBA IC00MTAsOSArNDE2LDExIEBAIGlndF9tYWluCiAJCWlndF9hc3NlcnRfZXEoc2V0dGluZ3MtPmlu Y2x1ZGVfcmVnZXhlcy5zaXplLCAyKTsKIAkJaWd0X2Fzc2VydF9lcXN0cihzZXR0aW5ncy0+aW5j bHVkZV9yZWdleGVzLnJlZ2V4X3N0cmluZ3NbMF0sICJwYXR0ZXJuMSIpOwogCQlpZ3RfYXNzZXJ0 X2Vxc3RyKHNldHRpbmdzLT5pbmNsdWRlX3JlZ2V4ZXMucmVnZXhfc3RyaW5nc1sxXSwgInBhdHRl cm4yIik7Ci0JCWlndF9hc3NlcnRfZXEoc2V0dGluZ3MtPmV4Y2x1ZGVfcmVnZXhlcy5zaXplLCAy KTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy0+ZXhjbHVkZV9yZWdleGVzLnNpemUsIDQpOwog CQlpZ3RfYXNzZXJ0X2Vxc3RyKHNldHRpbmdzLT5leGNsdWRlX3JlZ2V4ZXMucmVnZXhfc3RyaW5n c1swXSwgInhwYXR0ZXJuMSIpOwogCQlpZ3RfYXNzZXJ0X2Vxc3RyKHNldHRpbmdzLT5leGNsdWRl X3JlZ2V4ZXMucmVnZXhfc3RyaW5nc1sxXSwgInhwYXR0ZXJuMiIpOworCQlpZ3RfYXNzZXJ0X2Vx c3RyKHNldHRpbmdzLT5leGNsdWRlX3JlZ2V4ZXMucmVnZXhfc3RyaW5nc1syXSwgInhwYXR0ZXJu MyIpOyAvKiBGcm9tIGJsYWNrbGlzdCAqLworCQlpZ3RfYXNzZXJ0X2Vxc3RyKHNldHRpbmdzLT5l eGNsdWRlX3JlZ2V4ZXMucmVnZXhfc3RyaW5nc1szXSwgInhwYXR0ZXJuNCIpOyAvKiBGcm9tIGJs YWNrbGlzdDIgKi8KIAkJaWd0X2Fzc2VydChzZXR0aW5ncy0+c3luYyk7CiAJCWlndF9hc3NlcnRf ZXEoc2V0dGluZ3MtPmxvZ19sZXZlbCwgTE9HX0xFVkVMX1ZFUkJPU0UpOwogCQlpZ3RfYXNzZXJ0 KHNldHRpbmdzLT5vdmVyd3JpdGUpOwpAQCAtNDI2LDYgKzQzNCwxNCBAQCBpZ3RfbWFpbgogCQlp Z3RfYXNzZXJ0KHNldHRpbmdzLT5waWdsaXRfc3R5bGVfZG1lc2cpOwogCQlpZ3RfYXNzZXJ0X2Vx KHNldHRpbmdzLT5kbWVzZ193YXJuX2xldmVsLCAzKTsKIAl9CisJaWd0X3N1YnRlc3QoInBhcnNl LWxpc3QtYWxsIikgeworCQljb25zdCBjaGFyICphcmd2W10gPSB7ICJydW5uZXIiLAorCQkJCSAg ICAgICAiLS1saXN0LWFsbCIsCisJCQkJICAgICAgICJ0ZXN0LXJvb3QtZGlyIn07CisKKwkJaWd0 X2Fzc2VydChwYXJzZV9vcHRpb25zKEFSUkFZX1NJWkUoYXJndiksIChjaGFyKiopYXJndiwgc2V0 dGluZ3MpKTsKKwkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy0+bGlzdF9hbGwsIDEpOworCX0KIAog CWlndF9zdWJ0ZXN0KCJkbWVzZy13YXJuLWxldmVsLWluZmVycmVkIikgewogCQljb25zdCBjaGFy ICphcmd2W10gPSB7ICJydW5uZXIiLApkaWZmIC0tZ2l0IGEvcnVubmVyL3NldHRpbmdzLmMgYi9y dW5uZXIvc2V0dGluZ3MuYwppbmRleCBhZDM4YWU4ZC4uOTkyMGUxYTYgMTAwNjQ0Ci0tLSBhL3J1 bm5lci9zZXR0aW5ncy5jCisrKyBiL3J1bm5lci9zZXR0aW5ncy5jCkBAIC0xLDUgKzEsNiBAQAog I2luY2x1ZGUgInNldHRpbmdzLmgiCiAKKyNpbmNsdWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPGVy cm5vLmg+CiAjaW5jbHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDxnZXRvcHQuaD4KQEAgLTMwLDYg KzMxLDggQEAgZW51bSB7CiAJT1BUX01VTFRJUExFID0gJ20nLAogCU9QVF9USU1FT1VUID0gJ2Mn LAogCU9QVF9XQVRDSERPRyA9ICdnJywKKwlPUFRfQkxBQ0tMSVNUID0gJ2InLAorCU9QVF9MSVNU X0FMTCA9ICdMJywKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgewpAQCAtMTE3LDcgKzEyMCw4IEBAIHN0 YXRpYyBib29sIHBhcnNlX2Fib3J0X2NvbmRpdGlvbnMoc3RydWN0IHNldHRpbmdzICpzZXR0aW5n cywgY29uc3QgY2hhciAqb3B0YXJnCiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICp1c2FnZV9zdHIg PQotCSJ1c2FnZTogcnVubmVyIFtvcHRpb25zXSBbdGVzdF9yb290XSByZXN1bHRzLXBhdGhcblxu IgorCSJ1c2FnZTogcnVubmVyIFtvcHRpb25zXSBbdGVzdF9yb290XSByZXN1bHRzLXBhdGhcbiIK KwkiICAgb3I6IHJ1bm5lciAtLWxpc3QtYWxsIFtvcHRpb25zXSBbdGVzdF9yb290XVxuXG4iCiAJ Ik9wdGlvbnM6XG4iCiAJIiBQaWdsaXQgY29tcGF0aWJsZTpcbiIKIAkiICAtaCwgLS1oZWxwICAg ICAgICAgICAgU2hvdyB0aGlzIGhlbHAgbWVzc2FnZSBhbmQgZXhpdFxuIgpAQCAtMTcyLDYgKzE3 NiwxMCBAQCBzdGF0aWMgY29uc3QgY2hhciAqdXNhZ2Vfc3RyID0KIAkiICAgICAgICAgICAgICAg ICAgICAgICAgKGxvbmdlcikgZmlsdGVyIGxpc3QgbWVhbnMgdGhlIHRlc3QgcmVzdWx0IHNob3Vs ZFxuIgogCSIgICAgICAgICAgICAgICAgICAgICAgICBjaGFuZ2UuIEtFUk5fTk9USUNFIGRtZXNn IGxldmVsIGlzIHRyZWF0ZWQgYXMgd2FybixcbiIKIAkiICAgICAgICAgICAgICAgICAgICAgICAg dW5sZXNzIG92ZXJyaWRkZW4gd2l0aCAtLWRtZXNnLXdhcm4tbGV2ZWwuXG4iCisJIiAgLWIsIC0t YmxhY2tsaXN0IEZJTEVOQU1FXG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgIEV4Y2x1ZGUg YWxsIHRlc3QgbWF0Y2hpbmcgdG8gcmVnZXhlcyBmcm9tIEZJTEVOQU1FXG4iCisJIiAgICAgICAg ICAgICAgICAgICAgICAgIChjYW4gYmUgdXNlZCBtb3JlIHRoYW4gb25jZSlcbiIKKwkiICAtTCwg LS1saXN0LWFsbCAgICAgICAgTGlzdCBhbGwgbWF0Y2hpbmcgc3VidGVzdHMgaW5zdGVhZCBvZiBy dW5uaW5nXG4iCiAJIiAgW3Rlc3Rfcm9vdF0gICAgICAgICAgIERpcmVjdG9yeSB0aGF0IGNvbnRh aW5zIHRoZSBJR1QgdGVzdHMuIFRoZSBlbnZpcm9ubWVudFxuIgogCSIgICAgICAgICAgICAgICAg ICAgICAgICB2YXJpYWJsZSBJR1RfVEVTVF9ST09UIHdpbGwgYmUgdXNlZCBpZiBzZXQsIG92ZXJy aWRpbmdcbiIKIAkiICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaWYgZ2l2ZW4u XG4iCkBAIC0yMTMsNiArMjIxLDUxIEBAIHN0YXRpYyBib29sIGFkZF9yZWdleChzdHJ1Y3QgcmVn ZXhfbGlzdCAqbGlzdCwgY2hhciAqbmV3KQogCXJldHVybiB0cnVlOwogfQogCitzdGF0aWMgYm9v bCBwYXJzZV9ibGFja2xpc3Qoc3RydWN0IHJlZ2V4X2xpc3QgKmV4Y2x1ZGVfcmVnZXhlcywKKwkJ CSAgICBjaGFyICpibGFja2xpc3RfZmlsZW5hbWUpCit7CisJRklMRSAqZjsKKwljaGFyICpsaW5l ID0gTlVMTDsKKwlzaXplX3QgbGluZV9sZW4gPSAwOworCWJvb2wgc3RhdHVzOworCisJaWYgKChm ID0gZm9wZW4oYmxhY2tsaXN0X2ZpbGVuYW1lLCAiciIpKSA9PSBOVUxMKSB7CisJCWZwcmludGYo c3RkZXJyLCAiQ2Fubm90IG9wZW4gYmxhY2tsaXN0IGZpbGUgJXNcbiIsIGJsYWNrbGlzdF9maWxl bmFtZSk7CisJCXJldHVybiBmYWxzZTsKKwl9CisJd2hpbGUgKDEpIHsKKwkJc2l6ZV90IHN0cl9z aXplID0gMCwgaWR4ID0gMDsKKworCQlpZiAoZ2V0bGluZSgmbGluZSwgJmxpbmVfbGVuLCBmKSA9 PSAtMSkgeworCQkJaWYgKGVycm5vID09IEVJTlRSKQorCQkJCWNvbnRpbnVlOworCQkJZWxzZQor CQkJCWJyZWFrOworCQl9CisKKwkJd2hpbGUgKHRydWUpIHsKKwkJCWlmIChsaW5lW2lkeF0gPT0g J1xuJyB8fAorCQkJICAgIGxpbmVbaWR4XSA9PSAnXDAnIHx8CisJCQkgICAgbGluZVtpZHhdID09 ICcjJykgICAvKiAjIHN0YXJ0cyBhIGNvbW1lbnQgKi8KKwkJCQlicmVhazsKKwkJCWlmICghaXNz cGFjZShsaW5lW2lkeF0pKQorCQkJCXN0cl9zaXplID0gaWR4ICsgMTsKKwkJCWlkeCsrOworCQl9 CisJCWlmIChzdHJfc2l6ZSA+IDApIHsKKwkJCWNoYXIgKnRlc3RfcmVnZXggPSBzdHJuZHVwKGxp bmUsIHN0cl9zaXplKTsKKworCQkJc3RhdHVzID0gYWRkX3JlZ2V4KGV4Y2x1ZGVfcmVnZXhlcywg dGVzdF9yZWdleCk7CisJCQlpZiAoIXN0YXR1cykKKwkJCQlicmVhazsKKwkJfQorCX0KKworCWZy ZWUobGluZSk7CisJZmNsb3NlKGYpOworCXJldHVybiBzdGF0dXM7Cit9CisKIHN0YXRpYyB2b2lk IGZyZWVfcmVnZXhlcyhzdHJ1Y3QgcmVnZXhfbGlzdCAqcmVnZXhlcykKIHsKIAlzaXplX3QgaTsK QEAgLTI3Miw2ICszMjUsOCBAQCBib29sIHBhcnNlX29wdGlvbnMoaW50IGFyZ2MsIGNoYXIgKiph cmd2LAogCQl7InVzZS13YXRjaGRvZyIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfV0FUQ0hET0d9 LAogCQl7InBpZ2xpdC1zdHlsZS1kbWVzZyIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfUElHTElU X0RNRVNHfSwKIAkJeyJkbWVzZy13YXJuLWxldmVsIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEws IE9QVF9ETUVTR19XQVJOX0xFVkVMfSwKKwkJeyJibGFja2xpc3QiLCByZXF1aXJlZF9hcmd1bWVu dCwgTlVMTCwgT1BUX0JMQUNLTElTVH0sCisJCXsibGlzdC1hbGwiLCBub19hcmd1bWVudCwgTlVM TCwgT1BUX0xJU1RfQUxMfSwKIAkJeyAwLCAwLCAwLCAwfSwKIAl9OwogCkBAIC0yODEsNyArMzM2 LDggQEAgYm9vbCBwYXJzZV9vcHRpb25zKGludCBhcmdjLCBjaGFyICoqYXJndiwKIAogCXNldHRp bmdzLT5kbWVzZ193YXJuX2xldmVsID0gLTE7CiAKLQl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhh cmdjLCBhcmd2LCAiaG46ZHQ6eDpzbDpvbSIsIGxvbmdfb3B0aW9ucywgTlVMTCkpICE9IC0xKSB7 CisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImhuOmR0Ong6c2w6b21iOkwi LAorCQkJCWxvbmdfb3B0aW9ucywgTlVMTCkpICE9IC0xKSB7CiAJCXN3aXRjaCAoYykgewogCQlj YXNlIE9QVF9IRUxQOgogCQkJdXNhZ2UoTlVMTCwgc3Rkb3V0KTsKQEAgLTM0Miw2ICszOTgsMTQg QEAgYm9vbCBwYXJzZV9vcHRpb25zKGludCBhcmdjLCBjaGFyICoqYXJndiwKIAkJY2FzZSBPUFRf RE1FU0dfV0FSTl9MRVZFTDoKIAkJCXNldHRpbmdzLT5kbWVzZ193YXJuX2xldmVsID0gYXRvaShv cHRhcmcpOwogCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JMQUNLTElTVDoKKwkJCWlmICghcGFyc2Vf YmxhY2tsaXN0KCZzZXR0aW5ncy0+ZXhjbHVkZV9yZWdleGVzLAorCQkJCQkgICAgIGFic29sdXRl X3BhdGgob3B0YXJnKSkpCisJCQkJZ290byBlcnJvcjsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9M SVNUX0FMTDoKKwkJCXNldHRpbmdzLT5saXN0X2FsbCA9IHRydWU7CisJCQlicmVhazsKIAkJY2Fz ZSAnPyc6CiAJCQl1c2FnZShOVUxMLCBzdGRlcnIpOwogCQkJZ290byBlcnJvcjsKQEAgLTM1NCwy MCArNDE4LDQwIEBAIGJvb2wgcGFyc2Vfb3B0aW9ucyhpbnQgYXJnYywgY2hhciAqKmFyZ3YsCiAJ aWYgKHNldHRpbmdzLT5kbWVzZ193YXJuX2xldmVsIDwgMCkKIAkJc2V0dGluZ3MtPmRtZXNnX3dh cm5fbGV2ZWwgPSA0OyAvKiBLRVJOX1dBUk4gKi8KIAotCXN3aXRjaCAoYXJnYyAtIG9wdGluZCkg ewotCWNhc2UgMjoKLQkJc2V0dGluZ3MtPnRlc3Rfcm9vdCA9IGFic29sdXRlX3BhdGgoYXJndltv cHRpbmRdKTsKLQkJKytvcHRpbmQ7Ci0JCS8qIGZhbGx0aHJvdWdoICovCi0JY2FzZSAxOgotCQlz ZXR0aW5ncy0+cmVzdWx0c19wYXRoID0gYWJzb2x1dGVfcGF0aChhcmd2W29wdGluZF0pOwotCQli cmVhazsKLQljYXNlIDA6Ci0JCXVzYWdlKCJSZXN1bHRzLXBhdGggbWlzc2luZyIsIHN0ZGVycik7 Ci0JCWdvdG8gZXJyb3I7Ci0JZGVmYXVsdDoKLQkJdXNhZ2UoIkV4dHJhIGFyZ3VtZW50cyBhZnRl ciByZXN1bHRzLXBhdGgiLCBzdGRlcnIpOwotCQlnb3RvIGVycm9yOworCWlmIChzZXR0aW5ncy0+ bGlzdF9hbGwpIHsgLyogLS1saXN0LWFsbCBkb2Vzbid0IHJlcXVpcmUgcmVzdWx0cyBwYXRoICov CisJCXN3aXRjaCAoYXJnYyAtIG9wdGluZCkgeworCQljYXNlIDE6CisJCQlzZXR0aW5ncy0+dGVz dF9yb290ID0gYWJzb2x1dGVfcGF0aChhcmd2W29wdGluZF0pOworCQkJKytvcHRpbmQ7CisJCQkv KiBmYWxsdGhyb3VnaCAqLworCQljYXNlIDA6CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXVz YWdlKCJUb28gbWFueSBhcmd1bWVudHMgZm9yIC0tbGlzdC1hbGwiLCBzdGRlcnIpOworCQkJZ290 byBlcnJvcjsKKwkJfQorCX0gZWxzZSB7CisJCXN3aXRjaCAoYXJnYyAtIG9wdGluZCkgeworCQlj YXNlIDI6CisJCQlzZXR0aW5ncy0+dGVzdF9yb290ID0gYWJzb2x1dGVfcGF0aChhcmd2W29wdGlu ZF0pOworCQkJKytvcHRpbmQ7CisJCQkvKiBmYWxsdGhyb3VnaCAqLworCQljYXNlIDE6CisJCQlz ZXR0aW5ncy0+cmVzdWx0c19wYXRoID0gYWJzb2x1dGVfcGF0aChhcmd2W29wdGluZF0pOworCQkJ YnJlYWs7CisJCWNhc2UgMDoKKwkJCXVzYWdlKCJSZXN1bHRzLXBhdGggbWlzc2luZyIsIHN0ZGVy cik7CisJCQlnb3RvIGVycm9yOworCQlkZWZhdWx0OgorCQkJdXNhZ2UoIkV4dHJhIGFyZ3VtZW50 cyBhZnRlciByZXN1bHRzLXBhdGgiLCBzdGRlcnIpOworCQkJZ290byBlcnJvcjsKKwkJfQorCQlp ZiAoIXNldHRpbmdzLT5uYW1lKSB7CisJCQljaGFyICpuYW1lID0gc3RyZHVwKHNldHRpbmdzLT5y ZXN1bHRzX3BhdGgpOworCisJCQlzZXR0aW5ncy0+bmFtZSA9IHN0cmR1cChiYXNlbmFtZShuYW1l KSk7CisJCQlmcmVlKG5hbWUpOworCQl9CiAJfQogCiAJaWYgKChlbnZfdGVzdF9yb290ID0gZ2V0 ZW52KCJJR1RfVEVTVF9ST09UIikpICE9IE5VTEwpIHsKQEAgLTM4MCwxMSArNDY0LDYgQEAgYm9v bCBwYXJzZV9vcHRpb25zKGludCBhcmdjLCBjaGFyICoqYXJndiwKIAkJZ290byBlcnJvcjsKIAl9 CiAKLQlpZiAoIXNldHRpbmdzLT5uYW1lKSB7Ci0JCWNoYXIgKm5hbWUgPSBzdHJkdXAoc2V0dGlu Z3MtPnJlc3VsdHNfcGF0aCk7Ci0JCXNldHRpbmdzLT5uYW1lID0gc3RyZHVwKGJhc2VuYW1lKG5h bWUpKTsKLQkJZnJlZShuYW1lKTsKLQl9CiAKIAlyZXR1cm4gdHJ1ZTsKIApkaWZmIC0tZ2l0IGEv cnVubmVyL3NldHRpbmdzLmggYi9ydW5uZXIvc2V0dGluZ3MuaAppbmRleCAwYTFlZTA4ZC4uNmRj ZmE4YzUgMTAwNjQ0Ci0tLSBhL3J1bm5lci9zZXR0aW5ncy5oCisrKyBiL3J1bm5lci9zZXR0aW5n cy5oCkBAIC00Myw2ICs0Myw3IEBAIHN0cnVjdCBzZXR0aW5ncyB7CiAJY2hhciAqcmVzdWx0c19w YXRoOwogCWJvb2wgcGlnbGl0X3N0eWxlX2RtZXNnOwogCWludCBkbWVzZ193YXJuX2xldmVsOwor CWJvb2wgbGlzdF9hbGw7CiB9OwogCiAvKioKZGlmZiAtLWdpdCBhL3J1bm5lci90ZXN0ZGF0YS9t ZXNvbi5idWlsZCBiL3J1bm5lci90ZXN0ZGF0YS9tZXNvbi5idWlsZAppbmRleCAwMTFlZmY4ZS4u MjQ1NmY4MmEgMTAwNjQ0Ci0tLSBhL3J1bm5lci90ZXN0ZGF0YS9tZXNvbi5idWlsZAorKysgYi9y dW5uZXIvdGVzdGRhdGEvbWVzb24uYnVpbGQKQEAgLTEyLDYgKzEyLDExIEBAIGZvcmVhY2ggcHJv ZyA6IHRlc3RkYXRhX3Byb2dzCiAJCQkJCSAgIGluc3RhbGwgOiBmYWxzZSkKIGVuZGZvcmVhY2gK IAorY29uZmlndXJlX2ZpbGUoaW5wdXQgOiAndGVzdC1ibGFja2xpc3QudHh0JywKKwkgICAgICAg b3V0cHV0IDogJ3Rlc3QtYmxhY2tsaXN0LnR4dCcsIGNvcHkgOiB0cnVlKQorY29uZmlndXJlX2Zp bGUoaW5wdXQgOiAndGVzdC1ibGFja2xpc3QyLnR4dCcsCisJICAgICAgIG91dHB1dCA6ICd0ZXN0 LWJsYWNrbGlzdDIudHh0JywgY29weSA6IHRydWUpCisKIHRlc3RkYXRhX2xpc3QgPSBjdXN0b21f dGFyZ2V0KCd0ZXN0ZGF0YV90ZXN0bGlzdCcsCiAJCQkgICAgICBvdXRwdXQgOiAndGVzdC1saXN0 LnR4dCcsCiAJCQkgICAgICBjb21tYW5kIDogWyBnZW5fdGVzdGxpc3QsICdAT1VUUFVUQCcsIHRl c3RkYXRhX3Byb2dzIF0sCmRpZmYgLS1naXQgYS9ydW5uZXIvdGVzdGRhdGEvdGVzdC1ibGFja2xp c3QudHh0IGIvcnVubmVyL3Rlc3RkYXRhL3Rlc3QtYmxhY2tsaXN0LnR4dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMC4uNmIwOWFlNWMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW5u ZXIvdGVzdGRhdGEvdGVzdC1ibGFja2xpc3QudHh0CkBAIC0wLDAgKzEsMiBAQAoreHBhdHRlcm4z ICAgICMgQ29tbWVudCAxCisjIENvbW1lbnQgMgpkaWZmIC0tZ2l0IGEvcnVubmVyL3Rlc3RkYXRh L3Rlc3QtYmxhY2tsaXN0Mi50eHQgYi9ydW5uZXIvdGVzdGRhdGEvdGVzdC1ibGFja2xpc3QyLnR4 dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uZDBmNmU2MTIKLS0tIC9kZXYv bnVsbAorKysgYi9ydW5uZXIvdGVzdGRhdGEvdGVzdC1ibGFja2xpc3QyLnR4dApAQCAtMCwwICsx LDIgQEAKKworeHBhdHRlcm40Ci0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaWd0LWRldg==