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 30D6F8924F for ; Mon, 17 Jun 2019 13:41:45 +0000 (UTC) From: Oleg Vasilev Date: Mon, 17 Jun 2019 16:41:33 +0300 Message-Id: <20190617134133.16789-1-oleg.vasilev@intel.com> In-Reply-To: <20190617114937.14542-1-oleg.vasilev@intel.com> References: <20190617114937.14542-1-oleg.vasilev@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v3] 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 bmFtZXMgaW4gbG93ZXJjYXNlIChQZXRyaSkKCkNjOiBQZXRyaSBMYXR2YWxhIDxwZXRyaS5sYXR2 YWxhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogT2xlZyBWYXNpbGV2IDxvbGVnLnZhc2lsZXZA aW50ZWwuY29tPgotLS0KIHJ1bm5lci9qb2JfbGlzdC5jICAgICAgICAgICAgICAgICAgIHwgIDM2 ICsrKysrKysrLQogcnVubmVyL2pvYl9saXN0LmggICAgICAgICAgICAgICAgICAgfCAgIDEgKwog cnVubmVyL3J1bm5lci5jICAgICAgICAgICAgICAgICAgICAgfCAgIDUgKysKIHJ1bm5lci9ydW5u ZXJfdGVzdHMuYyAgICAgICAgICAgICAgIHwgIDE4ICsrKystCiBydW5uZXIvc2V0dGluZ3MuYyAg ICAgICAgICAgICAgICAgICB8IDExNyArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiBydW5u ZXIvc2V0dGluZ3MuaCAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBydW5uZXIvdGVzdGRhdGEv bWVzb24uYnVpbGQgICAgICAgICB8ICAgNSArKwogcnVubmVyL3Rlc3RkYXRhL3Rlc3QtYmxhY2ts aXN0LnR4dCAgfCAgIDIgKwogcnVubmVyL3Rlc3RkYXRhL3Rlc3QtYmxhY2tsaXN0Mi50eHQgfCAg IDIgKwogOSBmaWxlcyBjaGFuZ2VkLCAxNjMgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0p CiBjcmVhdGUgbW9kZSAxMDA2NDQgcnVubmVyL3Rlc3RkYXRhL3Rlc3QtYmxhY2tsaXN0LnR4dAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHJ1bm5lci90ZXN0ZGF0YS90ZXN0LWJsYWNrbGlzdDIudHh0Cgpk aWZmIC0tZ2l0IGEvcnVubmVyL2pvYl9saXN0LmMgYi9ydW5uZXIvam9iX2xpc3QuYwppbmRleCA0 YTE2NzQyZi4uOGU1MjMzZjUgMTAwNjQ0Ci0tLSBhL3J1bm5lci9qb2JfbGlzdC5jCisrKyBiL3J1 bm5lci9qb2JfbGlzdC5jCkBAIC0xMTEsMTEgKzExMSwxNiBAQCBzdGF0aWMgdm9pZCBhZGRfc3Vi dGVzdHMoc3RydWN0IGpvYl9saXN0ICpqb2JfbGlzdCwgc3RydWN0IHNldHRpbmdzICpzZXR0aW5n cywKIAkJZnByaW50ZihzdGRlcnIsICJwb3BlbiBlcnJvciB3aGVuIGV4ZWN1dGluZyAlczogJXNc biIsIGJpbmFyeSwgc3RyZXJyb3IoZXJybm8pKTsKIAl9IGVsc2UgaWYgKFdJRkVYSVRFRChzKSkg ewogCQlpZiAoV0VYSVRTVEFUVVMocykgPT0gSUdUX0VYSVRfSU5WQUxJRCkgeworCQkJY2hhciBw aWdsaXRuYW1lWzI1Nl07CisJCQlnZW5lcmF0ZV9waWdsaXRfbmFtZShiaW5hcnksIE5VTEwsCisJ CQkJCSAgICAgcGlnbGl0bmFtZSwgc2l6ZW9mKHBpZ2xpdG5hbWUpKTsKKwogCQkJLyogTm8gc3Vi dGVzdHMgb24gdGhpcyBvbmUgKi8KLQkJCWlmIChleGNsdWRlICYmIGV4Y2x1ZGUtPnNpemUgJiYg bWF0Y2hlc19hbnkoYmluYXJ5LCBleGNsdWRlKSkgeworCQkJaWYgKGV4Y2x1ZGUgJiYgZXhjbHVk ZS0+c2l6ZSAmJgorCQkJCQltYXRjaGVzX2FueShwaWdsaXRuYW1lLCBleGNsdWRlKSkgewogCQkJ CXJldHVybjsKIAkJCX0KLQkJCWlmICghaW5jbHVkZSB8fCAhaW5jbHVkZS0+c2l6ZSB8fCBtYXRj aGVzX2FueShiaW5hcnksIGluY2x1ZGUpKSB7CisJCQlpZiAoIWluY2x1ZGUgfHwgIWluY2x1ZGUt PnNpemUgfHwgbWF0Y2hlc19hbnkocGlnbGl0bmFtZSwgaW5jbHVkZSkpIHsKIAkJCQlhZGRfam9i X2xpc3RfZW50cnkoam9iX2xpc3QsIHN0cmR1cChiaW5hcnkpLCBOVUxMLCAwKTsKIAkJCQlyZXR1 cm47CiAJCQl9CkBAIC0yOTEsNiArMjk2LDMzIEBAIHN0YXRpYyBib29sIGpvYl9saXN0X2Zyb21f dGVzdF9saXN0KHN0cnVjdCBqb2JfbGlzdCAqam9iX2xpc3QsCiAJcmV0dXJuIGFueTsKIH0KIAor dm9pZCBzdHJfdG9fbG93ZXIoY2hhciogc3RyKQoreworCWZvciAoaW50IGkgPSAwOyBzdHJbaV07 IGkrKykgeworCQlzdHJbaV0gPSB0b2xvd2VyKHN0cltpXSk7CisJfQorfQorCit2b2lkIGxpc3Rf YWxsX3Rlc3RzKHN0cnVjdCBqb2JfbGlzdCogbHN0KQoreworCWZvciAoc2l6ZV90IHRlc3RfaWR4 ID0gMDsgdGVzdF9pZHggPCBsc3QtPnNpemU7ICsrdGVzdF9pZHgpeworCQlzdHJ1Y3Qgam9iX2xp c3RfZW50cnkqIGN1cnJlbnRfZW50cnkgPSBsc3QtPmVudHJpZXMrdGVzdF9pZHg7CisJCXN0cl90 b19sb3dlcihjdXJyZW50X2VudHJ5LT5iaW5hcnkpOworCQlpZiAoY3VycmVudF9lbnRyeS0+c3Vi dGVzdF9jb3VudD09MCkgeworCQkJcHJpbnRmKCJpZ3RAJXNcbiIsIGN1cnJlbnRfZW50cnktPmJp bmFyeSk7CisJCQljb250aW51ZTsKKwkJfQorCQlmb3IgKHNpemVfdCBzdWJ0ZXN0X2lkeCA9IDA7 CisJCSAgICBzdWJ0ZXN0X2lkeCA8IGN1cnJlbnRfZW50cnktPnN1YnRlc3RfY291bnQ7CisJCSAg ICArK3N1YnRlc3RfaWR4KSB7CisJCQljaGFyICpzdWJ0ZXN0X25hbWUgPSBjdXJyZW50X2VudHJ5 LT5zdWJ0ZXN0c1tzdWJ0ZXN0X2lkeF07CisJCQlzdHJfdG9fbG93ZXIoc3VidGVzdF9uYW1lKTsK KwkJCXByaW50ZigiaWd0QCVzQCVzXG4iLCBjdXJyZW50X2VudHJ5LT5iaW5hcnksIHN1YnRlc3Rf bmFtZSk7CisJCX0KKwl9Cit9CisKKwogc3RhdGljIGNoYXIgKmxvd2VyY2FzZShjb25zdCBjaGFy ICpzdHIpCiB7CiAJY2hhciAqcmV0ID0gbWFsbG9jKHN0cmxlbihzdHIpICsgMSk7CmRpZmYgLS1n aXQgYS9ydW5uZXIvam9iX2xpc3QuaCBiL3J1bm5lci9qb2JfbGlzdC5oCmluZGV4IGY4YmJiZGRj Li5jZWU0YmZmNiAxMDA2NDQKLS0tIGEvcnVubmVyL2pvYl9saXN0LmgKKysrIGIvcnVubmVyL2pv Yl9saXN0LmgKQEAgLTM2LDUgKzM2LDYgQEAgYm9vbCBjcmVhdGVfam9iX2xpc3Qoc3RydWN0IGpv Yl9saXN0ICpqb2JfbGlzdCwgc3RydWN0IHNldHRpbmdzICpzZXR0aW5ncyk7CiAKIGJvb2wgc2Vy aWFsaXplX2pvYl9saXN0KHN0cnVjdCBqb2JfbGlzdCAqam9iX2xpc3QsIHN0cnVjdCBzZXR0aW5n cyAqc2V0dGluZ3MpOwogYm9vbCByZWFkX2pvYl9saXN0KHN0cnVjdCBqb2JfbGlzdCAqam9iX2xp c3QsIGludCBkaXJmZCk7Cit2b2lkIGxpc3RfYWxsX3Rlc3RzKHN0cnVjdCBqb2JfbGlzdCogbHN0 KTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9ydW5uZXIvcnVubmVyLmMgYi9ydW5uZXIvcnVubmVy LmMKaW5kZXggZTFhNmNjYmEuLjQ4NTVhZDY0IDEwMDY0NAotLS0gYS9ydW5uZXIvcnVubmVyLmMK KysrIGIvcnVubmVyL3J1bm5lci5jCkBAIC0yNCw2ICsyNCwxMSBAQCBpbnQgbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCiAJCXJldHVybiAxOwogCX0KIAorCWlmIChzZXR0aW5ncy5saXN0X2Fs bCkgeworCQlsaXN0X2FsbF90ZXN0cygmam9iX2xpc3QpOworCQlyZXR1cm4gMDsKKwl9CisKIAlp ZiAoIWluaXRpYWxpemVfZXhlY3V0ZV9zdGF0ZSgmc3RhdGUsICZzZXR0aW5ncywgJmpvYl9saXN0 KSkgewogCQlyZXR1cm4gMTsKIAl9CmRpZmYgLS1naXQgYS9ydW5uZXIvcnVubmVyX3Rlc3RzLmMg Yi9ydW5uZXIvcnVubmVyX3Rlc3RzLmMKaW5kZXggYzA5Y2RhNzAuLjM5ZDRhMDc4IDEwMDY0NAot LS0gYS9ydW5uZXIvcnVubmVyX3Rlc3RzLmMKKysrIGIvcnVubmVyL3J1bm5lcl90ZXN0cy5jCkBA IC0zNzgsNiArMzc4LDcgQEAgaWd0X21haW4KIAl9CiAKIAlpZ3Rfc3VidGVzdCgicGFyc2UtYWxs LXNldHRpbmdzIikgeworCQljaGFyIGJsYWNrbGlzdF9uYW1lW1BBVEhfTUFYXSwgYmxhY2tsaXN0 Ml9uYW1lW1BBVEhfTUFYXTsKIAkJY29uc3QgY2hhciAqYXJndltdID0geyAicnVubmVyIiwKIAkJ CQkgICAgICAgIi1uIiwgImZvbyIsCiAJCQkJICAgICAgICItLWFib3J0LW9uLW1vbml0b3JlZC1l cnJvcj10YWludCxsb2NrZGVwIiwKQEAgLTM4OCw2ICszODksOCBAQCBpZ3RfbWFpbgogCQkJCSAg ICAgICAiLXQiLCAicGF0dGVybjIiLAogCQkJCSAgICAgICAiLXgiLCAieHBhdHRlcm4xIiwKIAkJ CQkgICAgICAgIi14IiwgInhwYXR0ZXJuMiIsCisJCQkJICAgICAgICItYiIsIGJsYWNrbGlzdF9u YW1lLAorCQkJCSAgICAgICAiLS1ibGFja2xpc3QiLCBibGFja2xpc3QyX25hbWUsCiAJCQkJICAg ICAgICItcyIsCiAJCQkJICAgICAgICItbCIsICJ2ZXJib3NlIiwKIAkJCQkgICAgICAgIi0tb3Zl cndyaXRlIiwKQEAgLTQwMSw2ICs0MDQsOSBAQCBpZ3RfbWFpbgogCQkJCSAgICAgICAicGF0aC10 by1yZXN1bHRzIiwKIAkJfTsKIAorCQlzcHJpbnRmKGJsYWNrbGlzdF9uYW1lLCAiJXMvdGVzdC1i bGFja2xpc3QudHh0IiwgdGVzdGRhdGFkaXIpOworCQlzcHJpbnRmKGJsYWNrbGlzdDJfbmFtZSwg IiVzL3Rlc3QtYmxhY2tsaXN0Mi50eHQiLCB0ZXN0ZGF0YWRpcik7CisKIAkJaWd0X2Fzc2VydChw YXJzZV9vcHRpb25zKEFSUkFZX1NJWkUoYXJndiksIChjaGFyKiopYXJndiwgc2V0dGluZ3MpKTsK IAogCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLT5hYm9ydF9tYXNrLCBBQk9SVF9UQUlOVCB8IEFC T1JUX0xPQ0tERVApOwpAQCAtNDEwLDkgKzQxNiwxMSBAQCBpZ3RfbWFpbgogCQlpZ3RfYXNzZXJ0 X2VxKHNldHRpbmdzLT5pbmNsdWRlX3JlZ2V4ZXMuc2l6ZSwgMik7CiAJCWlndF9hc3NlcnRfZXFz dHIoc2V0dGluZ3MtPmluY2x1ZGVfcmVnZXhlcy5yZWdleF9zdHJpbmdzWzBdLCAicGF0dGVybjEi KTsKIAkJaWd0X2Fzc2VydF9lcXN0cihzZXR0aW5ncy0+aW5jbHVkZV9yZWdleGVzLnJlZ2V4X3N0 cmluZ3NbMV0sICJwYXR0ZXJuMiIpOwotCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLT5leGNsdWRl X3JlZ2V4ZXMuc2l6ZSwgMik7CisJCWlndF9hc3NlcnRfZXEoc2V0dGluZ3MtPmV4Y2x1ZGVfcmVn ZXhlcy5zaXplLCA0KTsKIAkJaWd0X2Fzc2VydF9lcXN0cihzZXR0aW5ncy0+ZXhjbHVkZV9yZWdl eGVzLnJlZ2V4X3N0cmluZ3NbMF0sICJ4cGF0dGVybjEiKTsKIAkJaWd0X2Fzc2VydF9lcXN0cihz ZXR0aW5ncy0+ZXhjbHVkZV9yZWdleGVzLnJlZ2V4X3N0cmluZ3NbMV0sICJ4cGF0dGVybjIiKTsK KwkJaWd0X2Fzc2VydF9lcXN0cihzZXR0aW5ncy0+ZXhjbHVkZV9yZWdleGVzLnJlZ2V4X3N0cmlu Z3NbMl0sICJ4cGF0dGVybjMiKTsgLyogRnJvbSBibGFja2xpc3QgKi8KKwkJaWd0X2Fzc2VydF9l cXN0cihzZXR0aW5ncy0+ZXhjbHVkZV9yZWdleGVzLnJlZ2V4X3N0cmluZ3NbM10sICJ4cGF0dGVy bjQiKTsgLyogRnJvbSBibGFja2xpc3QyICovCiAJCWlndF9hc3NlcnQoc2V0dGluZ3MtPnN5bmMp OwogCQlpZ3RfYXNzZXJ0X2VxKHNldHRpbmdzLT5sb2dfbGV2ZWwsIExPR19MRVZFTF9WRVJCT1NF KTsKIAkJaWd0X2Fzc2VydChzZXR0aW5ncy0+b3ZlcndyaXRlKTsKQEAgLTQyNiw2ICs0MzQsMTQg QEAgaWd0X21haW4KIAkJaWd0X2Fzc2VydChzZXR0aW5ncy0+cGlnbGl0X3N0eWxlX2RtZXNnKTsK IAkJaWd0X2Fzc2VydF9lcShzZXR0aW5ncy0+ZG1lc2dfd2Fybl9sZXZlbCwgMyk7CiAJfQorCWln dF9zdWJ0ZXN0KCJwYXJzZS1saXN0LWFsbCIpIHsKKwkJY29uc3QgY2hhciAqYXJndltdID0geyAi cnVubmVyIiwKKwkJCQkgICAgICAgIi0tbGlzdC1hbGwiLAorCQkJCSAgICAgICAidGVzdC1yb290 LWRpciJ9OworCisJCWlndF9hc3NlcnQocGFyc2Vfb3B0aW9ucyhBUlJBWV9TSVpFKGFyZ3YpLCAo Y2hhcioqKWFyZ3YsIHNldHRpbmdzKSk7CisJCWlndF9hc3NlcnRfZXEoc2V0dGluZ3MtPmxpc3Rf YWxsLCAxKTsKKwl9CiAKIAlpZ3Rfc3VidGVzdCgiZG1lc2ctd2Fybi1sZXZlbC1pbmZlcnJlZCIp IHsKIAkJY29uc3QgY2hhciAqYXJndltdID0geyAicnVubmVyIiwKZGlmZiAtLWdpdCBhL3J1bm5l ci9zZXR0aW5ncy5jIGIvcnVubmVyL3NldHRpbmdzLmMKaW5kZXggYWQzOGFlOGQuLmY0YjRhZjkw IDEwMDY0NAotLS0gYS9ydW5uZXIvc2V0dGluZ3MuYworKysgYi9ydW5uZXIvc2V0dGluZ3MuYwpA QCAtMSw1ICsxLDYgQEAKICNpbmNsdWRlICJzZXR0aW5ncy5oIgogCisjaW5jbHVkZSA8Y3R5cGUu aD4KICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8Z2V0 b3B0Lmg+CkBAIC0zMCw2ICszMSw4IEBAIGVudW0gewogCU9QVF9NVUxUSVBMRSA9ICdtJywKIAlP UFRfVElNRU9VVCA9ICdjJywKIAlPUFRfV0FUQ0hET0cgPSAnZycsCisJT1BUX0JMQUNLTElTVCA9 ICdiJywKKwlPUFRfTElTVF9BTEwgPSAnTCcsCiB9OwogCiBzdGF0aWMgc3RydWN0IHsKQEAgLTEx Nyw3ICsxMjAsOCBAQCBzdGF0aWMgYm9vbCBwYXJzZV9hYm9ydF9jb25kaXRpb25zKHN0cnVjdCBz ZXR0aW5ncyAqc2V0dGluZ3MsIGNvbnN0IGNoYXIgKm9wdGFyZwogfQogCiBzdGF0aWMgY29uc3Qg Y2hhciAqdXNhZ2Vfc3RyID0KLQkidXNhZ2U6IHJ1bm5lciBbb3B0aW9uc10gW3Rlc3Rfcm9vdF0g cmVzdWx0cy1wYXRoXG5cbiIKKwkidXNhZ2U6IHJ1bm5lciBbb3B0aW9uc10gW3Rlc3Rfcm9vdF0g cmVzdWx0cy1wYXRoXG4iCisJIiAgIG9yOiBydW5uZXIgLS1saXN0LWFsbCBbb3B0aW9uc10gW3Rl c3Rfcm9vdF0gXG5cbiIKIAkiT3B0aW9uczpcbiIKIAkiIFBpZ2xpdCBjb21wYXRpYmxlOlxuIgog CSIgIC1oLCAtLWhlbHAgICAgICAgICAgICBTaG93IHRoaXMgaGVscCBtZXNzYWdlIGFuZCBleGl0 XG4iCkBAIC0xNzIsNiArMTc2LDEwIEBAIHN0YXRpYyBjb25zdCBjaGFyICp1c2FnZV9zdHIgPQog CSIgICAgICAgICAgICAgICAgICAgICAgICAobG9uZ2VyKSBmaWx0ZXIgbGlzdCBtZWFucyB0aGUg dGVzdCByZXN1bHQgc2hvdWxkXG4iCiAJIiAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZS4g S0VSTl9OT1RJQ0UgZG1lc2cgbGV2ZWwgaXMgdHJlYXRlZCBhcyB3YXJuLFxuIgogCSIgICAgICAg ICAgICAgICAgICAgICAgICB1bmxlc3Mgb3ZlcnJpZGRlbiB3aXRoIC0tZG1lc2ctd2Fybi1sZXZl bC5cbiIKKwkiICAtYiwgLS1ibGFja2xpc3QgRklMRU5BTUVcbiIKKwkiICAgICAgICAgICAgICAg ICAgICAgICAgRXhjbHVkZSBhbGwgdGVzdCBtYXRjaGluZyB0byByZWdleGVzIGZyb20gRklMRU5B TUVcbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgKGNhbiBiZSB1c2VkIG1vcmUgdGhhbiBv bmNlKVxuIgorCSIgIC1MLCAtLWxpc3QtYWxsICAgICAgICBMaXN0IGFsbCBtYXRjaGluZyBzdWJ0 ZXN0cyBpbnN0ZWFkIG9mIHJ1bm5pbmdcbiIKIAkiICBbdGVzdF9yb290XSAgICAgICAgICAgRGly ZWN0b3J5IHRoYXQgY29udGFpbnMgdGhlIElHVCB0ZXN0cy4gVGhlIGVudmlyb25tZW50XG4iCiAJ IiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlIElHVF9URVNUX1JPT1Qgd2lsbCBiZSB1 c2VkIGlmIHNldCwgb3ZlcnJpZGluZ1xuIgogCSIgICAgICAgICAgICAgICAgICAgICAgICB0aGlz IG9wdGlvbiBpZiBnaXZlbi5cbiIKQEAgLTIxMyw2ICsyMjEsNTAgQEAgc3RhdGljIGJvb2wgYWRk X3JlZ2V4KHN0cnVjdCByZWdleF9saXN0ICpsaXN0LCBjaGFyICpuZXcpCiAJcmV0dXJuIHRydWU7 CiB9CiAKK3N0YXRpYyBib29sIHBhcnNlX2JsYWNrbGlzdChzdHJ1Y3QgcmVnZXhfbGlzdCAqZXhj bHVkZV9yZWdleGVzLCBjaGFyICpibGFja2xpc3RfZmlsZW5hbWUpCit7CisJRklMRSAqZjsKKwlj aGFyICpsaW5lID0gTlVMTDsKKwlzaXplX3QgbGluZV9sZW4gPSAwOworCWJvb2wgc3RhdHVzOwor CisJaWYgKChmID0gZm9wZW4oYmxhY2tsaXN0X2ZpbGVuYW1lLCAiciIpKSA9PSBOVUxMKSB7CisJ CWZwcmludGYoc3RkZXJyLCAiQ2Fubm90IG9wZW4gYmxhY2tsaXN0IGZpbGUgJXNcbiIsIGJsYWNr bGlzdF9maWxlbmFtZSk7CisJCXJldHVybiBmYWxzZTsKKwl9CisJd2hpbGUgKDEpIHsKKwkJc2l6 ZV90IHN0cl9zaXplID0gMCwgaWR4ID0gMDsKKworCQlpZiAoZ2V0bGluZSgmbGluZSwgJmxpbmVf bGVuLCBmKSA9PSAtMSkgeworCQkJaWYgKGVycm5vID09IEVJTlRSKQorCQkJCWNvbnRpbnVlOwor CQkJZWxzZQorCQkJCWJyZWFrOworCQl9CisKKwkJd2hpbGUgKHRydWUpIHsKKwkJCWlmKGxpbmVb aWR4XT09J1xuJyB8fAorCQkJICAgbGluZVtpZHhdPT0nIycgIHx8IC8qICMgc3RhcnRzIGEgY29t bWVudCAqLworCQkJICAgbGluZVtpZHhdPT0nXDAnKQorCQkJCWJyZWFrOworCQkJaWYgKCFpc3Nw YWNlKGxpbmVbaWR4XSkpCisJCQkJc3RyX3NpemUgPSBpZHgrMTsKKwkJCWlkeCsrOworCQl9CisJ CWlmIChzdHJfc2l6ZSA+IDApIHsKKwkJCWNoYXIgKiB0ZXN0X3JlZ2V4ID0gc3RybmR1cChsaW5l LCBzdHJfc2l6ZSk7CisJCQlzdGF0dXMgPSBhZGRfcmVnZXgoZXhjbHVkZV9yZWdleGVzLCB0ZXN0 X3JlZ2V4KTsKKwkJCWlmKCFzdGF0dXMpeworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCisJ ZnJlZShsaW5lKTsKKwlmY2xvc2UoZik7CisJcmV0dXJuIHN0YXR1czsKK30KKwogc3RhdGljIHZv aWQgZnJlZV9yZWdleGVzKHN0cnVjdCByZWdleF9saXN0ICpyZWdleGVzKQogewogCXNpemVfdCBp OwpAQCAtMjcyLDYgKzMyNCw4IEBAIGJvb2wgcGFyc2Vfb3B0aW9ucyhpbnQgYXJnYywgY2hhciAq KmFyZ3YsCiAJCXsidXNlLXdhdGNoZG9nIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9XQVRDSERP R30sCiAJCXsicGlnbGl0LXN0eWxlLWRtZXNnIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9QSUdM SVRfRE1FU0d9LAogCQl7ImRtZXNnLXdhcm4tbGV2ZWwiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVM TCwgT1BUX0RNRVNHX1dBUk5fTEVWRUx9LAorCQl7ImJsYWNrbGlzdCIsIHJlcXVpcmVkX2FyZ3Vt ZW50LCBOVUxMLCBPUFRfQkxBQ0tMSVNUfSwKKwkJeyJsaXN0LWFsbCIsIG5vX2FyZ3VtZW50LCBO VUxMLCBPUFRfTElTVF9BTEx9LAogCQl7IDAsIDAsIDAsIDB9LAogCX07CiAKQEAgLTI4MSw3ICsz MzUsNyBAQCBib29sIHBhcnNlX29wdGlvbnMoaW50IGFyZ2MsIGNoYXIgKiphcmd2LAogCiAJc2V0 dGluZ3MtPmRtZXNnX3dhcm5fbGV2ZWwgPSAtMTsKIAotCXdoaWxlICgoYyA9IGdldG9wdF9sb25n KGFyZ2MsIGFyZ3YsICJobjpkdDp4OnNsOm9tIiwgbG9uZ19vcHRpb25zLCBOVUxMKSkgIT0gLTEp IHsKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiaG46ZHQ6eDpzbDpvbWI6 TCIsIGxvbmdfb3B0aW9ucywgTlVMTCkpICE9IC0xKSB7CiAJCXN3aXRjaCAoYykgewogCQljYXNl IE9QVF9IRUxQOgogCQkJdXNhZ2UoTlVMTCwgc3Rkb3V0KTsKQEAgLTM0Miw2ICszOTYsMTMgQEAg Ym9vbCBwYXJzZV9vcHRpb25zKGludCBhcmdjLCBjaGFyICoqYXJndiwKIAkJY2FzZSBPUFRfRE1F U0dfV0FSTl9MRVZFTDoKIAkJCXNldHRpbmdzLT5kbWVzZ193YXJuX2xldmVsID0gYXRvaShvcHRh cmcpOwogCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JMQUNLTElTVDoKKwkJCWlmICghcGFyc2VfYmxh Y2tsaXN0KCZzZXR0aW5ncy0+ZXhjbHVkZV9yZWdleGVzLCBhYnNvbHV0ZV9wYXRoKG9wdGFyZykp KQorCQkJCWdvdG8gZXJyb3I7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTElTVF9BTEw6CisJCQlz ZXR0aW5ncy0+bGlzdF9hbGwgPSB0cnVlOworCQkJYnJlYWs7CiAJCWNhc2UgJz8nOgogCQkJdXNh Z2UoTlVMTCwgc3RkZXJyKTsKIAkJCWdvdG8gZXJyb3I7CkBAIC0zNTQsMjAgKzQxNSwzOSBAQCBi b29sIHBhcnNlX29wdGlvbnMoaW50IGFyZ2MsIGNoYXIgKiphcmd2LAogCWlmIChzZXR0aW5ncy0+ ZG1lc2dfd2Fybl9sZXZlbCA8IDApCiAJCXNldHRpbmdzLT5kbWVzZ193YXJuX2xldmVsID0gNDsg LyogS0VSTl9XQVJOICovCiAKLQlzd2l0Y2ggKGFyZ2MgLSBvcHRpbmQpIHsKLQljYXNlIDI6Ci0J CXNldHRpbmdzLT50ZXN0X3Jvb3QgPSBhYnNvbHV0ZV9wYXRoKGFyZ3Zbb3B0aW5kXSk7Ci0JCSsr b3B0aW5kOwotCQkvKiBmYWxsdGhyb3VnaCAqLwotCWNhc2UgMToKLQkJc2V0dGluZ3MtPnJlc3Vs dHNfcGF0aCA9IGFic29sdXRlX3BhdGgoYXJndltvcHRpbmRdKTsKLQkJYnJlYWs7Ci0JY2FzZSAw OgotCQl1c2FnZSgiUmVzdWx0cy1wYXRoIG1pc3NpbmciLCBzdGRlcnIpOwotCQlnb3RvIGVycm9y OwotCWRlZmF1bHQ6Ci0JCXVzYWdlKCJFeHRyYSBhcmd1bWVudHMgYWZ0ZXIgcmVzdWx0cy1wYXRo Iiwgc3RkZXJyKTsKLQkJZ290byBlcnJvcjsKKwlpZiAoc2V0dGluZ3MtPmxpc3RfYWxsKSB7IC8q IC0tbGlzdC1hbGwgZG9lc24ndCByZXF1aXJlIHJlc3VsdHMgcGF0aCAqLworCQlzd2l0Y2ggKGFy Z2MgLSBvcHRpbmQpIHsKKwkJY2FzZSAxOgorCQkJc2V0dGluZ3MtPnRlc3Rfcm9vdCA9IGFic29s dXRlX3BhdGgoYXJndltvcHRpbmRdKTsKKwkJCSsrb3B0aW5kOworCQkJLyogZmFsbHRocm91Z2gg Ki8KKwkJY2FzZSAwOgorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQl1c2FnZSgiVG9vIG1hbnkg YXJndW1lbnRzIGZvciAtLWxpc3QtYWxsIiwgc3RkZXJyKTsKKwkJCWdvdG8gZXJyb3I7CisJCX0K Kwl9IGVsc2UgeworCQlzd2l0Y2ggKGFyZ2MgLSBvcHRpbmQpIHsKKwkJY2FzZSAyOgorCQkJc2V0 dGluZ3MtPnRlc3Rfcm9vdCA9IGFic29sdXRlX3BhdGgoYXJndltvcHRpbmRdKTsKKwkJCSsrb3B0 aW5kOworCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJY2FzZSAxOgorCQkJc2V0dGluZ3MtPnJlc3Vs dHNfcGF0aCA9IGFic29sdXRlX3BhdGgoYXJndltvcHRpbmRdKTsKKwkJCWJyZWFrOworCQljYXNl IDA6CisJCQl1c2FnZSgiUmVzdWx0cy1wYXRoIG1pc3NpbmciLCBzdGRlcnIpOworCQkJZ290byBl cnJvcjsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKCJFeHRyYSBhcmd1bWVudHMgYWZ0ZXIgcmVzdWx0 cy1wYXRoIiwgc3RkZXJyKTsKKwkJCWdvdG8gZXJyb3I7CisJCX0KKwkJaWYgKCFzZXR0aW5ncy0+ bmFtZSkgeworCQkJY2hhciAqbmFtZSA9IHN0cmR1cChzZXR0aW5ncy0+cmVzdWx0c19wYXRoKTsK KwkJCXNldHRpbmdzLT5uYW1lID0gc3RyZHVwKGJhc2VuYW1lKG5hbWUpKTsKKwkJCWZyZWUobmFt ZSk7CisJCX0KIAl9CiAKIAlpZiAoKGVudl90ZXN0X3Jvb3QgPSBnZXRlbnYoIklHVF9URVNUX1JP T1QiKSkgIT0gTlVMTCkgewpAQCAtMzgwLDExICs0NjAsNiBAQCBib29sIHBhcnNlX29wdGlvbnMo aW50IGFyZ2MsIGNoYXIgKiphcmd2LAogCQlnb3RvIGVycm9yOwogCX0KIAotCWlmICghc2V0dGlu Z3MtPm5hbWUpIHsKLQkJY2hhciAqbmFtZSA9IHN0cmR1cChzZXR0aW5ncy0+cmVzdWx0c19wYXRo KTsKLQkJc2V0dGluZ3MtPm5hbWUgPSBzdHJkdXAoYmFzZW5hbWUobmFtZSkpOwotCQlmcmVlKG5h bWUpOwotCX0KIAogCXJldHVybiB0cnVlOwogCmRpZmYgLS1naXQgYS9ydW5uZXIvc2V0dGluZ3Mu aCBiL3J1bm5lci9zZXR0aW5ncy5oCmluZGV4IDBhMWVlMDhkLi42ZGNmYThjNSAxMDA2NDQKLS0t IGEvcnVubmVyL3NldHRpbmdzLmgKKysrIGIvcnVubmVyL3NldHRpbmdzLmgKQEAgLTQzLDYgKzQz LDcgQEAgc3RydWN0IHNldHRpbmdzIHsKIAljaGFyICpyZXN1bHRzX3BhdGg7CiAJYm9vbCBwaWds aXRfc3R5bGVfZG1lc2c7CiAJaW50IGRtZXNnX3dhcm5fbGV2ZWw7CisJYm9vbCBsaXN0X2FsbDsK IH07CiAKIC8qKgpkaWZmIC0tZ2l0IGEvcnVubmVyL3Rlc3RkYXRhL21lc29uLmJ1aWxkIGIvcnVu bmVyL3Rlc3RkYXRhL21lc29uLmJ1aWxkCmluZGV4IDAxMWVmZjhlLi4yNDU2ZjgyYSAxMDA2NDQK LS0tIGEvcnVubmVyL3Rlc3RkYXRhL21lc29uLmJ1aWxkCisrKyBiL3J1bm5lci90ZXN0ZGF0YS9t ZXNvbi5idWlsZApAQCAtMTIsNiArMTIsMTEgQEAgZm9yZWFjaCBwcm9nIDogdGVzdGRhdGFfcHJv Z3MKIAkJCQkJICAgaW5zdGFsbCA6IGZhbHNlKQogZW5kZm9yZWFjaAogCitjb25maWd1cmVfZmls ZShpbnB1dCA6ICd0ZXN0LWJsYWNrbGlzdC50eHQnLAorCSAgICAgICBvdXRwdXQgOiAndGVzdC1i bGFja2xpc3QudHh0JywgY29weSA6IHRydWUpCitjb25maWd1cmVfZmlsZShpbnB1dCA6ICd0ZXN0 LWJsYWNrbGlzdDIudHh0JywKKwkgICAgICAgb3V0cHV0IDogJ3Rlc3QtYmxhY2tsaXN0Mi50eHQn LCBjb3B5IDogdHJ1ZSkKKwogdGVzdGRhdGFfbGlzdCA9IGN1c3RvbV90YXJnZXQoJ3Rlc3RkYXRh X3Rlc3RsaXN0JywKIAkJCSAgICAgIG91dHB1dCA6ICd0ZXN0LWxpc3QudHh0JywKIAkJCSAgICAg IGNvbW1hbmQgOiBbIGdlbl90ZXN0bGlzdCwgJ0BPVVRQVVRAJywgdGVzdGRhdGFfcHJvZ3MgXSwK ZGlmZiAtLWdpdCBhL3J1bm5lci90ZXN0ZGF0YS90ZXN0LWJsYWNrbGlzdC50eHQgYi9ydW5uZXIv dGVzdGRhdGEvdGVzdC1ibGFja2xpc3QudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwLi42YjA5YWU1YwotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5lci90ZXN0ZGF0YS90ZXN0 LWJsYWNrbGlzdC50eHQKQEAgLTAsMCArMSwyIEBACit4cGF0dGVybjMgICAgIyBDb21tZW50IDEK KyMgQ29tbWVudCAyCmRpZmYgLS1naXQgYS9ydW5uZXIvdGVzdGRhdGEvdGVzdC1ibGFja2xpc3Qy LnR4dCBiL3J1bm5lci90ZXN0ZGF0YS90ZXN0LWJsYWNrbGlzdDIudHh0Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5kMGY2ZTYxMgotLS0gL2Rldi9udWxsCisrKyBiL3J1bm5l ci90ZXN0ZGF0YS90ZXN0LWJsYWNrbGlzdDIudHh0CkBAIC0wLDAgKzEsMiBAQAorCit4cGF0dGVy bjQKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2