From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 273AF6E397 for ; Fri, 5 Apr 2019 00:27:43 +0000 (UTC) From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Date: Thu, 4 Apr 2019 17:27:38 -0700 Message-Id: <20190405002738.18310-1-jose.souza@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t] test/gem_exec_schedule: Fix variable shadow warning 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: QWx0aG91Z2ggaXQgaXMgbm90IGNhdXNpbmcgYW55IGJ1ZywgbGV0cyBnZXQgcmlkIG9mIHRoaXMg d2FybmluZyBieQphZGRpbmcgdGhlIGl0ZXIgcGFyYW1ldGVyIHRvIGZvcl9lYWNoX3BoeXNpY2Fs X2VuZ2luZSgpLgoKWzMxMy81NThdIENvbXBpbGluZyBDIG9iamVjdCAndGVzdHMvNTk4MzBlYkBA Z2VtX2V4ZWNfc2NoZWR1bGVAZXhlL2k5MTVfZ2VtX2V4ZWNfc2NoZWR1bGUuYy5vJy4KSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC4uL2xpYi9pZ3QuaDo0MCwKICAgICAgICAgICAgICAgICBmcm9tIC4u L3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc2NoZWR1bGUuYzozMToKLi4vdGVzdHMvaTkxNS9nZW1fZXhl Y19zY2hlZHVsZS5jOiBJbiBmdW5jdGlvbiDigJhtZWFzdXJlX3NlbWFwaG9yZV9wb3dlcuKAmToK Li4vbGliL2lndF9ndC5oOjg0OjQ0OiB3YXJuaW5nOiBkZWNsYXJhdGlvbiBvZiDigJhlX1/igJkg c2hhZG93cyBhIHByZXZpb3VzIGxvY2FsIFstV3NoYWRvd10KICBmb3IgKGNvbnN0IHN0cnVjdCBp bnRlbF9leGVjdXRpb25fZW5naW5lICplX18gPSBpbnRlbF9leGVjdXRpb25fZW5naW5lcztcCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+Ci4uL3Rlc3RzL2k5 MTUvZ2VtX2V4ZWNfc2NoZWR1bGUuYzoxMzE2OjM6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmXigJkKICAgZm9yX2VhY2hfcGh5c2ljYWxfZW5n aW5lKGk5MTUsIGVuZ2luZSkgewogICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGliL2ln dF9ndC5oOjg0OjQ0OiBub3RlOiBzaGFkb3dlZCBkZWNsYXJhdGlvbiBpcyBoZXJlCiAgZm9yIChj b25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZV9fID0gaW50ZWxfZXhlY3V0aW9u X2VuZ2luZXM7XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fgouLi90ZXN0cy9pOTE1L2dlbV9leGVjX3NjaGVkdWxlLmM6MTI5NzoyOiBub3RlOiBpbiBleHBh bnNpb24gb2YgbWFjcm8g4oCYZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5l4oCZCiAgZm9yX2VhY2hf cGh5c2ljYWxfZW5naW5lKGk5MTUsIHNpZ25hbGVyKSB7CiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+CgpGaXhlczogOGM2OWQyNGViZWYzICgiaTkxNS9nZW1fZXhlY19zY2hlZHVsZTogTWVhc3Vy ZSBzZW1hcGhvcmUgcG93ZXIgY29uc3VtcHRpb24iKQpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEg PGpvc2Uuc291emFAaW50ZWwuY29tPgotLS0KIGxpYi9pOTE1L2dlbV9yaW5nLmMgICAgICAgICAg ICAgfCAgMyArLQogbGliL2k5MTUvZ2VtX3N1Ym1pc3Npb24uYyAgICAgICB8ICA0ICsrLQogbGli L2lndF9kdW1teWxvYWQuYyAgICAgICAgICAgICB8ICAzICstCiBsaWIvaWd0X2d0LmggICAgICAg ICAgICAgICAgICAgIHwgMTAgKysrLS0tCiB0ZXN0cy9hbWRncHUvYW1kX3ByaW1lLmMgICAgICAg IHwgIDMgKy0KIHRlc3RzL2k5MTUvZ2VtX2J1c3kuYyAgICAgICAgICAgfCAgNiArKy0tCiB0ZXN0 cy9pOTE1L2dlbV9jb25jdXJyZW50X2FsbC5jIHwgIDMgKy0KIHRlc3RzL2k5MTUvZ2VtX2N0eF9j cmVhdGUuYyAgICAgfCAgMyArLQogdGVzdHMvaTkxNS9nZW1fY3R4X3N3aXRjaC5jICAgICB8ICA1 ICstLQogdGVzdHMvaTkxNS9nZW1fY3R4X3RocmFzaC5jICAgICB8ICA2ICsrLS0KIHRlc3RzL2k5 MTUvZ2VtX2V4ZWNfYXN5bmMuYyAgICAgfCAgMyArLQogdGVzdHMvaTkxNS9nZW1fZXhlY19hd2Fp dC5jICAgICB8ICAzICstCiB0ZXN0cy9pOTE1L2dlbV9leGVjX2NyZWF0ZS5jICAgIHwgIDMgKy0K IHRlc3RzL2k5MTUvZ2VtX2V4ZWNfZmVuY2UuYyAgICAgfCAgOSArKysrLS0KIHRlc3RzL2k5MTUv Z2VtX2V4ZWNfZ3R0ZmlsbC5jICAgfCAgMyArLQogdGVzdHMvaTkxNS9nZW1fZXhlY19sYXRlbmN5 LmMgICB8IDEwICsrKy0tLQogdGVzdHMvaTkxNS9nZW1fZXhlY19ub3AuYyAgICAgICB8IDI0ICsr KysrKysrKy0tLS0tLQogdGVzdHMvaTkxNS9nZW1fZXhlY19wYXJhbGxlbC5jICB8ICA0ICsrLQog dGVzdHMvaTkxNS9nZW1fZXhlY19yZWxvYy5jICAgICB8ICA0ICsrLQogdGVzdHMvaTkxNS9nZW1f ZXhlY19zY2hlZHVsZS5jICB8IDQyICsrKysrKysrKysrKysrKystLS0tLS0tLS0KIHRlc3RzL2k5 MTUvZ2VtX2V4ZWNfc3RvcmUuYyAgICAgfCAgMyArLQogdGVzdHMvaTkxNS9nZW1fZXhlY19zdXNw ZW5kLmMgICB8ICA3ICsrKy0tCiB0ZXN0cy9pOTE1L2dlbV9leGVjX3doaXNwZXIuYyAgIHwgIDQg KystCiB0ZXN0cy9pOTE1L2dlbV9yaW5nX3N5bmNfbG9vcC5jIHwgIDMgKy0KIHRlc3RzL2k5MTUv Z2VtX3NwaW5fYmF0Y2guYyAgICAgfCAgMyArLQogdGVzdHMvaTkxNS9nZW1fc3luYy5jICAgICAg ICAgICB8IDU0ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogMjYgZmlsZXMgY2hh bmdlZCwgMTQ4IGluc2VydGlvbnMoKyksIDc3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xp Yi9pOTE1L2dlbV9yaW5nLmMgYi9saWIvaTkxNS9nZW1fcmluZy5jCmluZGV4IGZkYjlmYzFiLi5l MjIwMTViZiAxMDA2NDQKLS0tIGEvbGliL2k5MTUvZ2VtX3JpbmcuYworKysgYi9saWIvaTkxNS9n ZW1fcmluZy5jCkBAIC0xNDAsOSArMTQwLDEwIEBAIHVuc2lnbmVkIGludAogZ2VtX21lYXN1cmVf cmluZ19pbmZsaWdodChpbnQgZmQsIHVuc2lnbmVkIGludCBlbmdpbmUsIGVudW0gbWVhc3VyZV9y aW5nX2ZsYWdzIGZsYWdzKQogewogCWlmIChlbmdpbmUgPT0gQUxMX0VOR0lORVMpIHsKKwkJY29u c3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CiAJCXVu c2lnbmVkIGludCBnbG9iYWxfbWluID0gfjB1OwogCi0JCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShmZCwgZW5naW5lKSB7CisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdp bmVfaXRlciwgZW5naW5lKSB7CiAJCQl1bnNpZ25lZCBpbnQgZW5naW5lX21pbiA9IF9fZ2VtX21l YXN1cmVfcmluZ19pbmZsaWdodChmZCwgZW5naW5lLCBmbGFncyk7CiAKIAkJCWlmIChlbmdpbmVf bWluIDwgZ2xvYmFsX21pbikKZGlmZiAtLWdpdCBhL2xpYi9pOTE1L2dlbV9zdWJtaXNzaW9uLmMg Yi9saWIvaTkxNS9nZW1fc3VibWlzc2lvbi5jCmluZGV4IDJmZDQ2MGQ1Li5kYjFkZjhjOSAxMDA2 NDQKLS0tIGEvbGliL2k5MTUvZ2VtX3N1Ym1pc3Npb24uYworKysgYi9saWIvaTkxNS9nZW1fc3Vi bWlzc2lvbi5jCkBAIC0yMTUsNyArMjE1LDkgQEAgdm9pZCBnZW1fdGVzdF9lbmdpbmUoaW50IGk5 MTUsIHVuc2lnbmVkIGludCBlbmdpbmUpCiAJZ2VtX3dyaXRlKGk5MTUsIG9iai5oYW5kbGUsIDAs ICZiYmUsIHNpemVvZihiYmUpKTsKIAogCWlmIChlbmdpbmUgPT0gQUxMX0VOR0lORVMpIHsKLQkJ Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGVuZ2luZSkgeworCQljb25zdCBzdHJ1Y3Qg aW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsKKworCQlmb3JfZWFjaF9w aHlzaWNhbF9lbmdpbmUoaTkxNSwgZXhlY19lbmdpbmVfaXRlciwgZW5naW5lKSB7CiAJCQlleGVj YnVmLmZsYWdzID0gZW5naW5lOwogCQkJZ2VtX2V4ZWNidWYoaTkxNSwgJmV4ZWNidWYpOwogCQl9 CmRpZmYgLS1naXQgYS9saWIvaWd0X2R1bW15bG9hZC5jIGIvbGliL2lndF9kdW1teWxvYWQuYwpp bmRleCA0N2Y2YjkyYi4uYTY4ZjY5NDggMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZHVtbXlsb2FkLmMK KysrIGIvbGliL2lndF9kdW1teWxvYWQuYwpAQCAtOTQsOSArOTQsMTAgQEAgZW1pdF9yZWN1cnNp dmVfYmF0Y2goaWd0X3NwaW5fdCAqc3BpbiwKIAogCW5lbmdpbmUgPSAwOwogCWlmIChvcHRzLT5l bmdpbmUgPT0gQUxMX0VOR0lORVMpIHsKKwkJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9l bmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CiAJCXVuc2lnbmVkIGludCBlbmdpbmU7CiAKLQkJZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpIHsKKwkJZm9yX2VhY2hfcGh5c2ljYWxf ZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVyLCBlbmdpbmUpIHsKIAkJCWlmIChvcHRzLT5mbGFn cyAmIElHVF9TUElOX1BPTExfUlVOICYmCiAJCQkgICAgIWdlbV9jYW5fc3RvcmVfZHdvcmQoZmQs IGVuZ2luZSkpCiAJCQkJY29udGludWU7CmRpZmYgLS1naXQgYS9saWIvaWd0X2d0LmggYi9saWIv aWd0X2d0LmgKaW5kZXggNTRlOTVkYTkuLjk0YjU2YjAxIDEwMDY0NAotLS0gYS9saWIvaWd0X2d0 LmgKKysrIGIvbGliL2lndF9ndC5oCkBAIC04MCwxMSArODAsMTEgQEAgZXh0ZXJuIGNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lIHsKIAkgICAgIGVfXysrKSBcCiAJCWZvcl9pZiAo Z2VtX2hhc19yaW5nKGZkX18sIGZsYWdzX18gPSBlX18tPmV4ZWNfaWQgfCBlX18tPmZsYWdzKSkK IAotI2RlZmluZSBmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmRfXywgZmxhZ3NfXykgXAotCWZv ciAoY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmVfXyA9IGludGVsX2V4ZWN1 dGlvbl9lbmdpbmVzO1wKLQkgICAgIGVfXy0+bmFtZTsgXAotCSAgICAgZV9fKyspIFwKLQkJZm9y X2lmIChnZW1fcmluZ19oYXNfcGh5c2ljYWxfZW5naW5lKGZkX18sIGZsYWdzX18gPSBlX18tPmV4 ZWNfaWQgfCBlX18tPmZsYWdzKSkKKyNkZWZpbmUgZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZk X18sIGl0ZXIsIGZsYWdzX18pIFwKKwlmb3IgKGl0ZXIgPSBpbnRlbF9leGVjdXRpb25fZW5naW5l cztcCisJICAgICBpdGVyLT5uYW1lOyBcCisJICAgICBpdGVyKyspIFwKKwkJZm9yX2lmIChnZW1f cmluZ19oYXNfcGh5c2ljYWxfZW5naW5lKGZkX18sIGZsYWdzX18gPSBpdGVyLT5leGVjX2lkIHwg aXRlci0+ZmxhZ3MpKQogCiBib29sIGdlbV9yaW5nX2lzX3BoeXNpY2FsX2VuZ2luZShpbnQgZmQs IHVuc2lnbmVkIGludCByaW5nKTsKIGJvb2wgZ2VtX3JpbmdfaGFzX3BoeXNpY2FsX2VuZ2luZShp bnQgZmQsIHVuc2lnbmVkIGludCByaW5nKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2FtZGdwdS9hbWRf cHJpbWUuYyBiL3Rlc3RzL2FtZGdwdS9hbWRfcHJpbWUuYwppbmRleCBkYzcxYWM3MC4uZjE1MWE4 YWMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2FtZGdwdS9hbWRfcHJpbWUuYworKysgYi90ZXN0cy9hbWRn cHUvYW1kX3ByaW1lLmMKQEAgLTE3MCw2ICsxNzAsNyBAQCBzdGF0aWMgdm9pZCB1bnBsdWcoc3Ry dWN0IGNvcmsgKmMpCiAKIHN0YXRpYyB2b2lkIGk5MTVfdG9fYW1kKGludCBpOTE1LCBpbnQgYW1k LCBhbWRncHVfZGV2aWNlX2hhbmRsZSBkZXZpY2UpCiB7CisJY29uc3Qgc3RydWN0IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CiAJY29uc3QgdWludDMyX3QgYmJlID0g TUlfQkFUQ0hfQlVGRkVSX0VORDsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBv YmpbMl07CiAJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOwpAQCAtMTc5 LDcgKzE4MCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfdG9fYW1kKGludCBpOTE1LCBpbnQgYW1kLCBh bWRncHVfZGV2aWNlX2hhbmRsZSBkZXZpY2UpCiAJc3RydWN0IGNvcmsgYzsKIAogCW5lbmdpbmUg PSAwOwotCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlbmdpbmUpCisJZm9yX2VhY2hf cGh5c2ljYWxfZW5naW5lKGk5MTUsIGV4ZWNfZW5naW5lX2l0ZXIsIGVuZ2luZSkKIAkJZW5naW5l c1tuZW5naW5lKytdID0gZW5naW5lOwogCWlndF9yZXF1aXJlKG5lbmdpbmUpOwogCmRpZmYgLS1n aXQgYS90ZXN0cy9pOTE1L2dlbV9idXN5LmMgYi90ZXN0cy9pOTE1L2dlbV9idXN5LmMKaW5kZXgg YWQ4NTM0NjguLmRiMzU4M2MzIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9idXN5LmMKKysr IGIvdGVzdHMvaTkxNS9nZW1fYnVzeS5jCkBAIC0yNjMsMTYgKzI2MywxOCBAQCBzdGF0aWMgdm9p ZCBvbmUoaW50IGZkLCB1bnNpZ25lZCByaW5nLCB1bnNpZ25lZCB0ZXN0X2ZsYWdzKQogCV9fZ2Vt X2J1c3koZmQsIG9ialtCQVRDSF0uaGFuZGxlLCAmcmVhZFtCQVRDSF0sICZ3cml0ZVtCQVRDSF0p OwogCiAJaWYgKHRlc3RfZmxhZ3MgJiBQQVJBTExFTCkgeworCQljb25zdCBzdHJ1Y3QgaW50ZWxf ZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsKIAkJdW5zaWduZWQgb3RoZXI7CiAK LQkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgeworCQlmb3JfZWFjaF9waHlz aWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIG90aGVyKSB7CiAJCQlpZiAob3RoZXIg PT0gcmluZykKIAkJCQljb250aW51ZTsKIAogCQkJaWYgKCFnZW1fY2FuX3N0b3JlX2R3b3JkKGZk LCBvdGhlcikpCiAJCQkJY29udGludWU7CiAKLQkJCWlndF9kZWJ1ZygiVGVzdGluZyAlcyBpbiBw YXJhbGxlbFxuIiwgZV9fLT5uYW1lKTsKKwkJCWlndF9kZWJ1ZygiVGVzdGluZyAlcyBpbiBwYXJh bGxlbFxuIiwKKwkJCQkgIGV4ZWNfZW5naW5lX2l0ZXItPm5hbWUpOwogCQkJb25lKGZkLCBvdGhl ciwgMCk7CiAJCX0KIAl9CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9jb25jdXJyZW50X2Fs bC5jIGIvdGVzdHMvaTkxNS9nZW1fY29uY3VycmVudF9hbGwuYwppbmRleCA2MDQ5MzcyZC4uMDMy NzRiMGIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2NvbmN1cnJlbnRfYWxsLmMKKysrIGIv dGVzdHMvaTkxNS9nZW1fY29uY3VycmVudF9hbGwuYwpAQCAtOTQ5LDkgKzk0OSwxMCBAQCBzdGF0 aWMgaWd0X2hhbmdfdCByY3NfaGFuZyh2b2lkKQogc3RhdGljIGlndF9oYW5nX3QgYWxsX2hhbmco dm9pZCkKIHsKIAlpZ3RfaGFuZ190IGhhbmcgPSBpZ3RfaGFuZ19yaW5nKGZkLCBJOTE1X0VYRUNf UkVOREVSKTsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdp bmVfaXRlcjsKIAl1bnNpZ25lZCBlbmdpbmU7CiAKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUo ZmQsIGVuZ2luZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVf aXRlciwgZW5naW5lKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZWIgPSBo YW5nLnNwaW4tPmV4ZWNidWY7CiAKIAkJaWYgKGVuZ2luZSA9PSBJOTE1X0VYRUNfUkVOREVSKQpk aWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fY3R4X2NyZWF0ZS5jIGIvdGVzdHMvaTkxNS9nZW1f Y3R4X2NyZWF0ZS5jCmluZGV4IGE2NjQwNzBkLi45YjA5OGZkNyAxMDA2NDQKLS0tIGEvdGVzdHMv aTkxNS9nZW1fY3R4X2NyZWF0ZS5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9jcmVhdGUuYwpA QCAtMzE1LDEzICszMTUsMTQgQEAgaWd0X21haW4KIAlpbnQgZmQgPSAtMTsKIAogCWlndF9maXh0 dXJlIHsKKwkJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5l X2l0ZXI7CiAJCXVuc2lnbmVkIGVuZ2luZTsKIAogCQlmZCA9IGRybV9vcGVuX2RyaXZlcihEUklW RVJfSU5URUwpOwogCQlpZ3RfcmVxdWlyZV9nZW0oZmQpOwogCQlnZW1fcmVxdWlyZV9jb250ZXh0 cyhmZCk7CiAKLQkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpCisJCWZvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVfaXRlciwgZW5naW5lKQogCQkJYWxs X2VuZ2luZXNbYWxsX25lbmdpbmUrK10gPSBlbmdpbmU7CiAJCWlndF9yZXF1aXJlKGFsbF9uZW5n aW5lKTsKIApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fY3R4X3N3aXRjaC5jIGIvdGVzdHMv aTkxNS9nZW1fY3R4X3N3aXRjaC5jCmluZGV4IDg3ZTEzYjkxLi5iNTI1ZTE4YiAxMDA2NDQKLS0t IGEvdGVzdHMvaTkxNS9nZW1fY3R4X3N3aXRjaC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9z d2l0Y2guYwpAQCAtMjE2LDYgKzIxNiw3IEBAIHN0YXRpYyB2b2lkIHNpbmdsZShpbnQgZmQsIHVp bnQzMl90IGhhbmRsZSwKIAogc3RhdGljIHZvaWQgYWxsKGludCBmZCwgdWludDMyX3QgaGFuZGxl LCB1bnNpZ25lZCBmbGFncywgaW50IHRpbWVvdXQpCiB7CisJY29uc3Qgc3RydWN0IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9l eGVjYnVmZmVyMiBleGVjYnVmOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9i alsyXTsKIAl1bnNpZ25lZCBpbnQgZW5naW5lWzE2XSwgZTsKQEAgLTIyNSw5ICsyMjYsOSBAQCBz dGF0aWMgdm9pZCBhbGwoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIHVuc2lnbmVkIGZsYWdzLCBp bnQgdGltZW91dCkKIAlpbnQgbiwgcWxlbjsKIAogCW5lbmdpbmUgPSAwOwotCWZvcl9lYWNoX3Bo eXNpY2FsX2VuZ2luZShmZCwgZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhl Y19lbmdpbmVfaXRlciwgZSkgewogCQllbmdpbmVbbmVuZ2luZV0gPSBlOwotCQluYW1lW25lbmdp bmVdID0gZV9fLT5uYW1lOworCQluYW1lW25lbmdpbmVdID0gZXhlY19lbmdpbmVfaXRlci0+bmFt ZTsKIAkJbmVuZ2luZSsrOwogCX0KIAlpZ3RfcmVxdWlyZShuZW5naW5lKTsKZGlmZiAtLWdpdCBh L3Rlc3RzL2k5MTUvZ2VtX2N0eF90aHJhc2guYyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF90aHJhc2gu YwppbmRleCBiMjVmOTVmMS4uMDkzMTA0MDggMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2N0 eF90aHJhc2guYworKysgYi90ZXN0cy9pOTE1L2dlbV9jdHhfdGhyYXNoLmMKQEAgLTEwMyw5ICsx MDMsMTAgQEAgc3RhdGljIHZvaWQgc2luZ2xlKGNvbnN0IGNoYXIgKm5hbWUsIGJvb2wgYWxsX2Vu Z2luZXMpCiAKIAludW1fZW5naW5lcyA9IDA7CiAJaWYgKGFsbF9lbmdpbmVzKSB7CisJCWNvbnN0 IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVyOwogCQl1bnNp Z25lZCBlbmdpbmU7CiAKLQkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpIHsK KwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVyLCBlbmdpbmUp IHsKIAkJCWlmICghZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwgZW5naW5lKSkKIAkJCQljb250aW51 ZTsKIApAQCAtMjIwLDYgKzIyMSw3IEBAIHN0YXRpYyB2b2lkIHNpbmdsZShjb25zdCBjaGFyICpu YW1lLCBib29sIGFsbF9lbmdpbmVzKQogCiBzdGF0aWMgdm9pZCBwcm9jZXNzZXModm9pZCkKIHsK Kwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsK IAl1bnNpZ25lZCBlbmdpbmVzWzE2XSwgZW5naW5lOwogCWludCBudW1fZW5naW5lczsKIAlzdHJ1 Y3QgcmxpbWl0IHJsaW07CkBAIC0yMzAsNyArMjMyLDcgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc2Vz KHZvaWQpCiAJZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKIAogCW51bV9lbmdp bmVzID0gMDsKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVuZ2luZSkgeworCWZvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVfaXRlciwgZW5naW5lKSB7CiAJCWVu Z2luZXNbbnVtX2VuZ2luZXMrK10gPSBlbmdpbmU7CiAJCWlmIChudW1fZW5naW5lcyA9PSBBUlJB WV9TSVpFKGVuZ2luZXMpKQogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9l eGVjX2FzeW5jLmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2FzeW5jLmMKaW5kZXggOWEwNmFmN2Uu LmQzYTY0YmRjIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9leGVjX2FzeW5jLmMKKysrIGIv dGVzdHMvaTkxNS9nZW1fZXhlY19hc3luYy5jCkBAIC04Miw2ICs4Miw3IEBAIHN0YXRpYyB2b2lk IHN0b3JlX2R3b3JkKGludCBmZCwgdW5zaWduZWQgcmluZywKIAogc3RhdGljIHZvaWQgb25lKGlu dCBmZCwgdW5zaWduZWQgcmluZywgdWludDMyX3QgZmxhZ3MpCiB7CisJY29uc3Qgc3RydWN0IGlu dGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CiAJY29uc3QgaW50IGdlbiA9 IGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2RldmlkKGZkKSk7CiAJc3RydWN0IGRybV9pOTE1X2dl bV9leGVjX29iamVjdDIgb2JqWzJdOwogI2RlZmluZSBTQ1JBVENIIDAKQEAgLTE0Myw3ICsxNDQs NyBAQCBzdGF0aWMgdm9pZCBvbmUoaW50IGZkLCB1bnNpZ25lZCByaW5nLCB1aW50MzJfdCBmbGFn cykKIAlnZW1fY2xvc2UoZmQsIG9ialtCQVRDSF0uaGFuZGxlKTsKIAogCWkgPSAwOwotCWZvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIG90aGVyKSB7CiAJCWlmIChvdGhlciA9PSByaW5nKQog CQkJY29udGludWU7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYXdhaXQuYyBi L3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYXdhaXQuYwppbmRleCA1Y2ZlYjhlYy4uMzgwMzk2YTQgMTAw NjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYXdhaXQuYworKysgYi90ZXN0cy9pOTE1L2dl bV9leGVjX2F3YWl0LmMKQEAgLTYyLDYgKzYyLDcgQEAgc3RhdGljIHZvaWQgeGNoZ19vYmoodm9p ZCAqYXJyYXksIHVuc2lnbmVkIGksIHVuc2lnbmVkIGopCiAjZGVmaW5lIENPTlRFWFRTIDB4MQog c3RhdGljIHZvaWQgd2lkZShpbnQgZmQsIGludCByaW5nX3NpemUsIGludCB0aW1lb3V0LCB1bnNp Z25lZCBpbnQgZmxhZ3MpCiB7CisJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUg KmV4ZWNfZW5naW5lX2l0ZXI7CiAJY29uc3QgdWludDMyX3QgYmJlID0gTUlfQkFUQ0hfQlVGRkVS X0VORDsKIAljb25zdCBpbnQgZ2VuID0gaW50ZWxfZ2VuKGludGVsX2dldF9kcm1fZGV2aWQoZmQp KTsKIAlzdHJ1Y3QgewpAQCAtNzksNyArODAsNyBAQCBzdGF0aWMgdm9pZCB3aWRlKGludCBmZCwg aW50IHJpbmdfc2l6ZSwgaW50IHRpbWVvdXQsIHVuc2lnbmVkIGludCBmbGFncykKIAlkb3VibGUg dGltZTsKIAogCW5lbmdpbmUgPSAwOwotCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5n aW5lKQorCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVfaXRlciwgZW5n aW5lKQogCQllbmdpbmVzW25lbmdpbmUrK10gPSBlbmdpbmU7CiAJaWd0X3JlcXVpcmUobmVuZ2lu ZSk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfY3JlYXRlLmMgYi90ZXN0cy9p OTE1L2dlbV9leGVjX2NyZWF0ZS5jCmluZGV4IDU0YTI0MjllLi43OGQ2NmMwNyAxMDA2NDQKLS0t IGEvdGVzdHMvaTkxNS9nZW1fZXhlY19jcmVhdGUuYworKysgYi90ZXN0cy9pOTE1L2dlbV9leGVj X2NyZWF0ZS5jCkBAIC01OCw2ICs1OCw3IEBAIHN0YXRpYyBkb3VibGUgZWxhcHNlZChjb25zdCBz dHJ1Y3QgdGltZXNwZWMgKnN0YXJ0LCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKmVuZCkKIAogc3Rh dGljIHZvaWQgYWxsKGludCBmZCwgdW5zaWduZWQgZmxhZ3MsIGludCB0aW1lb3V0LCBpbnQgbmNw dXMpCiB7CisJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5l X2l0ZXI7CiAJY29uc3QgdWludDMyX3QgYmJlID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7CiAJc3RydWN0IGRybV9pOTE1X2dl bV9leGVjX29iamVjdDIgb2JqOwpAQCAtNjYsNyArNjcsNyBAQCBzdGF0aWMgdm9pZCBhbGwoaW50 IGZkLCB1bnNpZ25lZCBmbGFncywgaW50IHRpbWVvdXQsIGludCBuY3B1cykKIAl1bnNpZ25lZCBl bmdpbmU7CiAKIAluZW5naW5lID0gMDsKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVu Z2luZSkKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIGVu Z2luZSkKIAkJZW5naW5lc1tuZW5naW5lKytdID0gZW5naW5lOwogCWlndF9yZXF1aXJlKG5lbmdp bmUpOwogCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9leGVjX2ZlbmNlLmMgYi90ZXN0cy9p OTE1L2dlbV9leGVjX2ZlbmNlLmMKaW5kZXggYmE0NjU5NWQuLmU4NDlkYWVmIDEwMDY0NAotLS0g YS90ZXN0cy9pOTE1L2dlbV9leGVjX2ZlbmNlLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19m ZW5jZS5jCkBAIC0zMTcsNiArMzE3LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9mZW5jZV9idXN5X2Fs bChpbnQgZmQsIHVuc2lnbmVkIGZsYWdzKQogCiBzdGF0aWMgdm9pZCB0ZXN0X2ZlbmNlX2F3YWl0 KGludCBmZCwgdW5zaWduZWQgcmluZywgdW5zaWduZWQgZmxhZ3MpCiB7CisJY29uc3Qgc3RydWN0 IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CiAJY29uc3QgaW50IGdl biA9IGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2RldmlkKGZkKSk7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9leGVjX29iamVjdDIgb2JqOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9l bnRyeSByZWxvYzsKQEAgLTM4MSw3ICszODIsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2ZlbmNlX2F3 YWl0KGludCBmZCwgdW5zaWduZWQgcmluZywgdW5zaWduZWQgZmxhZ3MpCiAJaWd0X2Fzc2VydChm ZW5jZSAhPSAtMSk7CiAKIAlpID0gMDsKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVu Z2luZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVfaXRlciwg ZW5naW5lKSB7CiAJCWlmICghZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwgZW5naW5lKSkKIAkJCWNv bnRpbnVlOwogCkBAIC00NDcsNiArNDQ4LDcgQEAgc3RhdGljIGludCBfX2V4ZWNidWYoaW50IGZk LCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICpleGVjYnVmKQogCiBzdGF0aWMgdm9p ZCB0ZXN0X3BhcmFsbGVsKGludCBmZCwgdW5zaWduZWQgaW50IG1hc3RlcikKIHsKKwljb25zdCBz dHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsKIAljb25zdCBp bnQgU0NSQVRDSCA9IDA7CiAJY29uc3QgaW50IEJBVENIID0gMTsKIAljb25zdCBpbnQgZ2VuID0g aW50ZWxfZ2VuKGludGVsX2dldF9kcm1fZGV2aWQoZmQpKTsKQEAgLTU0NCw3ICs1NDYsNyBAQCBz dGF0aWMgdm9pZCB0ZXN0X3BhcmFsbGVsKGludCBmZCwgdW5zaWduZWQgaW50IG1hc3RlcikKIAlv YmpbQkFUQ0hdLnJlbG9jYXRpb25fY291bnQgPSAxOwogCiAJLyogUXVldWUgYWxsIHNlY29uZGFy aWVzICovCi0JZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpIHsKKwlmb3JfZWFj aF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIGVuZ2luZSkgewogCQlpZiAo ZW5naW5lID09IG1hc3RlcikKIAkJCWNvbnRpbnVlOwogCkBAIC03MDUsNiArNzA3LDcgQEAgc3Rh dGljIHZvaWQgdGVzdF9rZWVwX2luX2ZlbmNlKGludCBmZCwgdW5zaWduZWQgaW50IGVuZ2luZSwg dW5zaWduZWQgaW50IGZsYWdzKQogI2RlZmluZSBFWFBJUkVEIDB4MTAwMDAKIHN0YXRpYyB2b2lk IHRlc3RfbG9uZ19oaXN0b3J5KGludCBmZCwgbG9uZyByaW5nX3NpemUsIHVuc2lnbmVkIGZsYWdz KQogeworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9p dGVyOwogCWNvbnN0IHVpbnQzMl90IHN6ID0gMSA8PCAyMDsKIAljb25zdCB1aW50MzJfdCBiYmUg PSBNSV9CQVRDSF9CVUZGRVJfRU5EOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3Qy IG9ialsyXTsKQEAgLTcyMCw3ICs3MjMsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2xvbmdfaGlzdG9y eShpbnQgZmQsIGxvbmcgcmluZ19zaXplLCB1bnNpZ25lZCBmbGFncykKIAkJbGltaXQgPSByaW5n X3NpemUgLyAzOwogCiAJbmVuZ2luZSA9IDA7Ci0JZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZk LCBlbmdpbmUpCisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVy LCBlbmdpbmUpCiAJCWVuZ2luZXNbbmVuZ2luZSsrXSA9IGVuZ2luZTsKIAlpZ3RfcmVxdWlyZShu ZW5naW5lKTsKIApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fZXhlY19ndHRmaWxsLmMgYi90 ZXN0cy9pOTE1L2dlbV9leGVjX2d0dGZpbGwuYwppbmRleCBlZmQ2MTJiYi4uNjA1ZGU2YmEgMTAw NjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZ3R0ZmlsbC5jCisrKyBiL3Rlc3RzL2k5MTUv Z2VtX2V4ZWNfZ3R0ZmlsbC5jCkBAIC0xMDYsNiArMTA2LDcgQEAgc3RhdGljIHZvaWQgc3VibWl0 KGludCBmZCwgaW50IGdlbiwKIAogc3RhdGljIHZvaWQgZmlsbGd0dChpbnQgZmQsIHVuc2lnbmVk IHJpbmcsIGludCB0aW1lb3V0KQogeworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5n aW5lICpleGVjX2VuZ2luZV9pdGVyOwogCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxf Z2V0X2RybV9kZXZpZChmZCkpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhl Y2J1ZjsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgcmVsb2NbMl07CkBA IC0xMjIsNyArMTIzLDcgQEAgc3RhdGljIHZvaWQgZmlsbGd0dChpbnQgZmQsIHVuc2lnbmVkIHJp bmcsIGludCB0aW1lb3V0KQogCiAJbmVuZ2luZSA9IDA7CiAJaWYgKHJpbmcgPT0gMCkgewotCQlm b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVuZ2luZSkgeworCQlmb3JfZWFjaF9waHlzaWNh bF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIGVuZ2luZSkgewogCQkJaWYgKCFnZW1fY2Fu X3N0b3JlX2R3b3JkKGZkLCBlbmdpbmUpKQogCQkJCWNvbnRpbnVlOwogCmRpZmYgLS1naXQgYS90 ZXN0cy9pOTE1L2dlbV9leGVjX2xhdGVuY3kuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbGF0ZW5j eS5jCmluZGV4IDM5ZjQ0MWQyLi4wMDJkOTA2MCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1f ZXhlY19sYXRlbmN5LmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19sYXRlbmN5LmMKQEAgLTI2 Myw2ICsyNjMsNyBAQCBzdGF0aWMgdm9pZCBsYXRlbmN5X2Zyb21fcmluZyhpbnQgZmQsCiAJCQkg ICAgICB1bnNpZ25lZCByaW5nLCBjb25zdCBjaGFyICpuYW1lLAogCQkJICAgICAgdW5zaWduZWQg ZmxhZ3MpCiB7CisJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5n aW5lX2l0ZXI7CiAJY29uc3QgaW50IGdlbiA9IGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2Rldmlk KGZkKSk7CiAJY29uc3QgaW50IGhhc182NGJpdF9yZWxvYyA9IGdlbiA+PSA4OwogCXN0cnVjdCBk cm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialszXTsKQEAgLTMxNSw3ICszMTYsNyBAQCBzdGF0 aWMgdm9pZCBsYXRlbmN5X2Zyb21fcmluZyhpbnQgZmQsCiAJcmVsb2MucHJlc3VtZWRfb2Zmc2V0 ID0gb2JqWzFdLm9mZnNldDsKIAlyZWxvYy50YXJnZXRfaGFuZGxlID0gZmxhZ3MgJiBDT1JLID8g MSA6IDA7CiAKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90aGVyKSB7CisJZm9yX2Vh Y2hfcGh5c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVyLCBvdGhlcikgewogCQlpZ3Rf c3Bpbl90ICpzcGluID0gTlVMTDsKIAkJSUdUX0NPUktfSEFORExFKGMpOwogCkBAIC0zOTYsNyAr Mzk3LDcgQEAgc3RhdGljIHZvaWQgbGF0ZW5jeV9mcm9tX3JpbmcoaW50IGZkLAogCQlpZ3Rfc3Bp bl9iYXRjaF9mcmVlKGZkLCBzcGluKTsKIAogCQlpZ3RfaW5mbygiJXMtJXMgZGVsYXk6ICUuMmZu c1xuIiwKLQkJCSBuYW1lLCBlX18tPm5hbWUsCisJCQkgbmFtZSwgZXhlY19lbmdpbmVfaXRlci0+ bmFtZSwKIAkJCSAocmVzdWx0c1syKnJlcGVhdHMtMV0gLSByZXN1bHRzWzBdKSAvIChkb3VibGUp cmVwZWF0cyAqIHJjc19jbG9jayk7CiAJfQogCkBAIC00NTcsNiArNDU4LDcgQEAgc3RhdGljIHZv aWQKIHJ0aG9nX2xhdGVuY3lfb25fcmluZyhpbnQgZmQsIHVuc2lnbmVkIGludCBlbmdpbmUsIGNv bnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGludCBmbGFncykKICNkZWZpbmUgUlRJRExFIDB4MQog eworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVy OwogCWNvbnN0IGNoYXIgKnBhc3NuYW1lW10gPSB7CiAJCSJ3YXJtdXAiLAogCQkibm9ybWFsIiwK QEAgLTQ4NiwxMiArNDg4LDEyIEBAIHJ0aG9nX2xhdGVuY3lfb25fcmluZyhpbnQgZmQsIHVuc2ln bmVkIGludCBlbmdpbmUsIGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGluCiAKIAluZW5naW5l ID0gMDsKIAlpZiAoZW5naW5lID09IEFMTF9FTkdJTkVTKSB7Ci0JCWZvcl9lYWNoX3BoeXNpY2Fs X2VuZ2luZShmZCwgZW5naW5lKSB7CisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhl Y19lbmdpbmVfaXRlciwgZW5naW5lKSB7CiAJCQlpZiAoIWdlbV9jYW5fc3RvcmVfZHdvcmQoZmQs IGVuZ2luZSkpCiAJCQkJY29udGludWU7CiAKIAkJCWVuZ2luZXNbbmVuZ2luZV0gPSBlbmdpbmU7 Ci0JCQluYW1lc1tuZW5naW5lXSA9IGVfXy0+bmFtZTsKKwkJCW5hbWVzW25lbmdpbmVdID0gZXhl Y19lbmdpbmVfaXRlci0+bmFtZTsKIAkJCW5lbmdpbmUrKzsKIAkJfQogCQlpZ3RfcmVxdWlyZShu ZW5naW5lID4gMSk7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9leGVjX25vcC5jIGIvdGVz dHMvaTkxNS9nZW1fZXhlY19ub3AuYwppbmRleCBiOTFiNGQwZi4uN2VkNmRjZjIgMTAwNjQ0Ci0t LSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbm9wLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19u b3AuYwpAQCAtMjE2LDYgKzIxNiw3IEBAIHN0YXRpYyB2b2lkIHBvbGxfcmluZyhpbnQgZmQsIHVu c2lnbmVkIGVuZ2luZSwgY29uc3QgY2hhciAqbmFtZSwgaW50IHRpbWVvdXQpCiAKIHN0YXRpYyB2 b2lkIHBvbGxfc2VxdWVudGlhbChpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGludCB0aW1lb3V0 KQogeworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9p dGVyOwogCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9kZXZpZChmZCkp OwogCWNvbnN0IHVpbnQzMl90IE1JX0FSQl9DSEsgPSAweDUgPDwgMjM7CiAJc3RydWN0IGRybV9p OTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOwpAQCAtMjMzLDcgKzIzNCw3IEBAIHN0YXRpYyB2 b2lkIHBvbGxfc2VxdWVudGlhbChpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGludCB0aW1lb3V0 KQogCQlmbGFncyB8PSBJOTE1X0VYRUNfU0VDVVJFOwogCiAJbmVuZ2luZSA9IDA7Ci0JZm9yX2Vh Y2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIGVuZ2luZSkgewogCQlpZiAoIWdlbV9jYW5fc3RvcmVf ZHdvcmQoZmQsIGVuZ2luZSkpCiAJCQljb250aW51ZTsKIApAQCAtNDI3LDYgKzQyOCw3IEBAIHN0 YXRpYyB2b2lkIGhlYWRsZXNzKGludCBmZCwgdWludDMyX3QgaGFuZGxlKQogCiBzdGF0aWMgdm9p ZCBwYXJhbGxlbChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgaW50IHRpbWVvdXQpCiB7CisJY29u c3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CiAJc3Ry dWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmOwogCXN0cnVjdCBkcm1faTkxNV9n ZW1fZXhlY19vYmplY3QyIG9iajsKIAl1bnNpZ25lZCBlbmdpbmVzWzE2XTsKQEAgLTQzOCwxNCAr NDQwLDE0IEBAIHN0YXRpYyB2b2lkIHBhcmFsbGVsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCBp bnQgdGltZW91dCkKIAogCXN1bSA9IDA7CiAJbmVuZ2luZSA9IDA7Ci0JZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGZkLCBlbmdpbmUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4 ZWNfZW5naW5lX2l0ZXIsIGVuZ2luZSkgewogCQllbmdpbmVzW25lbmdpbmVdID0gZW5naW5lOwot CQluYW1lc1tuZW5naW5lXSA9IGVfXy0+bmFtZTsKKwkJbmFtZXNbbmVuZ2luZV0gPSBleGVjX2Vu Z2luZV9pdGVyLT5uYW1lOwogCQluZW5naW5lKys7CiAKIAkJdGltZSA9IG5vcF9vbl9yaW5nKGZk LCBoYW5kbGUsIGVuZ2luZSwgMSwgJmNvdW50KSAvIGNvdW50OwogCQlzdW0gKz0gdGltZTsKLQkJ aWd0X2RlYnVnKCIlczogJS4zZnVzXG4iLCBlX18tPm5hbWUsIDFlNip0aW1lKTsKKwkJaWd0X2Rl YnVnKCIlczogJS4zZnVzXG4iLCBleGVjX2VuZ2luZV9pdGVyLT5uYW1lLCAxZTYqdGltZSk7CiAJ fQogCWlndF9yZXF1aXJlKG5lbmdpbmUpOwogCWlndF9pbmZvKCJhdmVyYWdlIChpbmRpdmlkdWFs bHkpOiAlLjNmdXNcbiIsIHN1bS9uZW5naW5lKjFlNik7CkBAIC00ODksNiArNDkxLDcgQEAgc3Rh dGljIHZvaWQgcGFyYWxsZWwoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIGludCB0aW1lb3V0KQog CiBzdGF0aWMgdm9pZCBzZXJpZXMoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIGludCB0aW1lb3V0 KQogeworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9p dGVyOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmo7CiAJc3RydWN0IHRpbWVzcGVjIHN0YXJ0LCBu b3csIHN5bmM7CkBAIC01MDAsMTAgKzUwMywxMCBAQCBzdGF0aWMgdm9pZCBzZXJpZXMoaW50IGZk LCB1aW50MzJfdCBoYW5kbGUsIGludCB0aW1lb3V0KQogCWNvbnN0IGNoYXIgKm5hbWU7CiAKIAlu ZW5naW5lID0gMDsKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVuZ2luZSkgeworCWZv cl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVfaXRlciwgZW5naW5lKSB7CiAJ CXRpbWUgPSBub3Bfb25fcmluZyhmZCwgaGFuZGxlLCBlbmdpbmUsIDEsICZjb3VudCkgLyBjb3Vu dDsKIAkJaWYgKHRpbWUgPiBtYXgpIHsKLQkJCW5hbWUgPSBlX18tPm5hbWU7CisJCQluYW1lID0g ZXhlY19lbmdpbmVfaXRlci0+bmFtZTsKIAkJCW1heCA9IHRpbWU7CiAJCX0KIAkJaWYgKHRpbWUg PCBtaW4pCkBAIC01NzksNiArNTgyLDcgQEAgc3RhdGljIHZvaWQgeGNoZyh2b2lkICphcnJheSwg dW5zaWduZWQgaSwgdW5zaWduZWQgaikKIAogc3RhdGljIHZvaWQgc2VxdWVudGlhbChpbnQgZmQs IHVpbnQzMl90IGhhbmRsZSwgdW5zaWduZWQgZmxhZ3MsIGludCB0aW1lb3V0KQogeworCWNvbnN0 IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVyOwogCWNvbnN0 IGludCBuY3B1cyA9IGZsYWdzICYgRk9SS0VEID8gc3lzY29uZihfU0NfTlBST0NFU1NPUlNfT05M TikgOiAxOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpbMl07CkBAIC01OTUsMTIgKzU5OSwxMiBA QCBzdGF0aWMgdm9pZCBzZXF1ZW50aWFsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLCB1bnNpZ25l ZCBmbGFncywgaW50IHRpbWVvdXQpCiAKIAluZW5naW5lID0gMDsKIAlzdW0gPSAwOwotCWZvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgbikgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShm ZCwgZXhlY19lbmdpbmVfaXRlciwgbikgewogCQl1bnNpZ25lZCBsb25nIGNvdW50OwogCiAJCXRp bWUgPSBub3Bfb25fcmluZyhmZCwgaGFuZGxlLCBuLCAxLCAmY291bnQpIC8gY291bnQ7CiAJCXN1 bSArPSB0aW1lOwotCQlpZ3RfZGVidWcoIiVzOiAlLjNmdXNcbiIsIGVfXy0+bmFtZSwgMWU2KnRp bWUpOworCQlpZ3RfZGVidWcoIiVzOiAlLjNmdXNcbiIsIGV4ZWNfZW5naW5lX2l0ZXItPm5hbWUs IDFlNip0aW1lKTsKIAogCQllbmdpbmVzW25lbmdpbmUrK10gPSBuOwogCX0KQEAgLTcyNiw3ICs3 MzAsOSBAQCBzdGF0aWMgdm9pZCBmZW5jZV9zaWduYWwoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUs CiAKIAluZW5naW5lID0gMDsKIAlpZiAocmluZ19pZCA9PSBBTExfRU5HSU5FUykgewotCQlmb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG4pCisJCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRp b25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVyOworCisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShmZCwgZXhlY19lbmdpbmVfaXRlciwgbikKIAkJCWVuZ2luZXNbbmVuZ2luZSsrXSA9IG47CiAJ fSBlbHNlIHsKIAkJZ2VtX3JlcXVpcmVfcmluZyhmZCwgcmluZ19pZCk7CmRpZmYgLS1naXQgYS90 ZXN0cy9pOTE1L2dlbV9leGVjX3BhcmFsbGVsLmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX3BhcmFs bGVsLmMKaW5kZXggYTZmYTY5OGUuLmVlNzRhMThiIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dl bV9leGVjX3BhcmFsbGVsLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19wYXJhbGxlbC5jCkBA IC0xNjksNyArMTY5LDkgQEAgc3RhdGljIHZvaWQgYWxsKGludCBmZCwgdW5zaWduZWQgZW5naW5l LCB1bnNpZ25lZCBmbGFncykKIAogCW5lbmdpbmUgPSAwOwogCWlmIChlbmdpbmUgPT0gQUxMX0VO R0lORVMpIHsKLQkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpIHsKKwkJY29u c3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CisKKwkJ Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVyLCBlbmdpbmUpIHsK IAkJCWlmIChnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCBlbmdpbmUpKQogCQkJCWVuZ2luZXNbbmVu Z2luZSsrXSA9IGVuZ2luZTsKIAkJfQpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fZXhlY19y ZWxvYy5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19yZWxvYy5jCmluZGV4IDgzN2Y2MGE2Li4wMjYz ZDdkZCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19yZWxvYy5jCisrKyBiL3Rlc3Rz L2k5MTUvZ2VtX2V4ZWNfcmVsb2MuYwpAQCAtMjU4LDcgKzI1OCw5IEBAIHN0YXRpYyB2b2lkIGFj dGl2ZShpbnQgZmQsIHVuc2lnbmVkIGVuZ2luZSkKIAogCW5lbmdpbmUgPSAwOwogCWlmIChlbmdp bmUgPT0gQUxMX0VOR0lORVMpIHsKLQkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdp bmUpIHsKKwkJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5l X2l0ZXI7CisKKwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVy LCBlbmdpbmUpIHsKIAkJCWlmIChnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCBlbmdpbmUpKQogCQkJ CWVuZ2luZXNbbmVuZ2luZSsrXSA9IGVuZ2luZTsKIAkJfQpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkx NS9nZW1fZXhlY19zY2hlZHVsZS5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19zY2hlZHVsZS5jCmlu ZGV4IDNkZjMxOWJjLi44YzYxNDc1ZCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19z Y2hlZHVsZS5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc2NoZWR1bGUuYwpAQCAtMTk5LDYg KzE5OSw3IEBAIHN0YXRpYyB2b2lkIGZpZm8oaW50IGZkLCB1bnNpZ25lZCByaW5nKQogc3RhdGlj IHZvaWQgaW5kZXBlbmRlbnQoaW50IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5lKQogewogCUlHVF9D T1JLX0hBTkRMRShjb3JrKTsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAq ZXhlY19lbmdpbmVfaXRlcjsKIAl1aW50MzJfdCBzY3JhdGNoLCBwbHVnLCBiYXRjaDsKIAlpZ3Rf c3Bpbl90ICpzcGluID0gTlVMTDsKIAl1bnNpZ25lZCBpbnQgb3RoZXI7CkBAIC0yMTMsNyArMjE0 LDcgQEAgc3RhdGljIHZvaWQgaW5kZXBlbmRlbnQoaW50IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5l KQogCXBsdWcgPSBpZ3RfY29ya19wbHVnKCZjb3JrLCBmZCk7CiAKIAkvKiBDaGVjayB0aGF0IHdl IGNhbiBzdWJtaXQgdG8gZW5naW5lIHdoaWxlIGFsbCBvdGhlcnMgYXJlIGJsb2NrZWQgKi8KLQlm b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90aGVyKSB7CisJZm9yX2VhY2hfcGh5c2ljYWxf ZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVyLCBvdGhlcikgewogCQlpZiAob3RoZXIgPT0gZW5n aW5lKQogCQkJY29udGludWU7CiAKQEAgLTI3NSw3ICsyNzYsOSBAQCBzdGF0aWMgdm9pZCBzbW9r ZXRlc3QoaW50IGZkLCB1bnNpZ25lZCByaW5nLCB1bnNpZ25lZCB0aW1lb3V0KQogCiAJbmVuZ2lu ZSA9IDA7CiAJaWYgKHJpbmcgPT0gQUxMX0VOR0lORVMpIHsKLQkJZm9yX2VhY2hfcGh5c2ljYWxf ZW5naW5lKGZkLCBlbmdpbmUpCisJCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5l ICpleGVjX2VuZ2luZV9pdGVyOworCisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhl Y19lbmdpbmVfaXRlciwgZW5naW5lKQogCQkJZW5naW5lc1tuZW5naW5lKytdID0gZW5naW5lOwog CX0gZWxzZSB7CiAJCWVuZ2luZXNbbmVuZ2luZSsrXSA9IHJpbmc7CkBAIC0zNDIsNiArMzQ1LDcg QEAgc3RhdGljIHVpbnQzMl90IGJhdGNoX2NyZWF0ZShpbnQgaTkxNSkKIAogc3RhdGljIHZvaWQg c2VtYXBob3JlX3VzZXJsb2NrKGludCBpOTE1KQogeworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVj dXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVyOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhl Y19vYmplY3QyIG9iaiA9IHsKIAkJLmhhbmRsZSA9IGJhdGNoX2NyZWF0ZShpOTE1KSwKIAl9OwpA QCAtMzU5LDcgKzM2Myw3IEBAIHN0YXRpYyB2b2lkIHNlbWFwaG9yZV91c2VybG9jayhpbnQgaTkx NSkKIAkgKi8KIAogCXNjcmF0Y2ggPSBnZW1fY3JlYXRlKGk5MTUsIDQwOTYpOwotCWZvcl9lYWNo X3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlbmdpbmUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUoaTkxNSwgZXhlY19lbmdpbmVfaXRlciwgZW5naW5lKSB7CiAJCWlmICghc3BpbikgewogCQkJ c3BpbiA9IGlndF9zcGluX2JhdGNoX25ldyhpOTE1LAogCQkJCQkJICAuZGVwZW5kZW5jeSA9IHNj cmF0Y2gsCkBAIC0zODQsNyArMzg4LDcgQEAgc3RhdGljIHZvaWQgc2VtYXBob3JlX3VzZXJsb2Nr KGludCBpOTE1KQogCSAqIHRha2luZyBwcmVjZWRlbmNlLgogCSAqLwogCXNjcmF0Y2ggPSBnZW1f Y29udGV4dF9jcmVhdGUoaTkxNSk7Ci0JZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGVu Z2luZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBleGVjX2VuZ2luZV9pdGVy LCBlbmdpbmUpIHsKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBleGVjYnVmID0g ewogCQkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZvYmopLAogCQkJLmJ1ZmZlcl9j b3VudCA9IDEsCkBAIC01NDksMTEgKzU1MywxMiBAQCBzdGF0aWMgdm9pZCBwcmVlbXB0KGludCBm ZCwgdW5zaWduZWQgcmluZywgdW5zaWduZWQgZmxhZ3MpCiAKIHN0YXRpYyBpZ3Rfc3Bpbl90ICpf X25vaXNlKGludCBmZCwgdWludDMyX3QgY3R4LCBpbnQgcHJpbywgaWd0X3NwaW5fdCAqc3BpbikK IHsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRl cjsKIAl1bnNpZ25lZCBvdGhlcjsKIAogCWdlbV9jb250ZXh0X3NldF9wcmlvcml0eShmZCwgY3R4 LCBwcmlvKTsKIAotCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpIHsKKwlmb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIG90aGVyKSB7CiAJCWlm IChzcGluID09IE5VTEwpIHsKIAkJCXNwaW4gPSBfX2lndF9zcGluX2JhdGNoX25ldyhmZCwKIAkJ CQkJCSAgICAuY3R4ID0gY3R4LApAQCAtNTkxLDcgKzU5Niw5IEBAIHN0YXRpYyB2b2lkIF9fcHJl ZW1wdF9vdGhlcihpbnQgZmQsCiAJbisrOwogCiAJaWYgKGZsYWdzICYgQ0hBSU4pIHsKLQkJZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgeworCQljb25zdCBzdHJ1Y3QgaW50ZWxf ZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsKKworCQlmb3JfZWFjaF9waHlzaWNh bF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIG90aGVyKSB7CiAJCQlzdG9yZV9kd29yZChm ZCwgY3R4W0xPXSwgb3RoZXIsCiAJCQkJICAgIHJlc3VsdCwgKG4gKyAxKSpzaXplb2YodWludDMy X3QpLCBuICsgMSwKIAkJCQkgICAgMCwgSTkxNV9HRU1fRE9NQUlOX1JFTkRFUik7CkBAIC02MTcs NiArNjI0LDcgQEAgc3RhdGljIHZvaWQgX19wcmVlbXB0X290aGVyKGludCBmZCwKIAogc3RhdGlj IHZvaWQgcHJlZW1wdF9vdGhlcihpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIHVuc2lnbmVkIGludCBm bGFncykKIHsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdp bmVfaXRlcjsKIAl1bnNpZ25lZCBpbnQgcHJpbWFyeTsKIAlpZ3Rfc3Bpbl90ICpzcGluID0gTlVM TDsKIAl1aW50MzJfdCBjdHhbM107CkBAIC02NDAsOCArNjQ4LDggQEAgc3RhdGljIHZvaWQgcHJl ZW1wdF9vdGhlcihpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIHVuc2lnbmVkIGludCBmbGFncykKIAlj dHhbSEldID0gZ2VtX2NvbnRleHRfY3JlYXRlKGZkKTsKIAlnZW1fY29udGV4dF9zZXRfcHJpb3Jp dHkoZmQsIGN0eFtISV0sIE1BWF9QUklPKTsKIAotCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShm ZCwgcHJpbWFyeSkgewotCQlpZ3RfZGVidWcoIlByaW1hcnkgZW5naW5lOiAlc1xuIiwgZV9fLT5u YW1lKTsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIHBy aW1hcnkpIHsKKwkJaWd0X2RlYnVnKCJQcmltYXJ5IGVuZ2luZTogJXNcbiIsIGV4ZWNfZW5naW5l X2l0ZXItPm5hbWUpOwogCQlfX3ByZWVtcHRfb3RoZXIoZmQsIGN0eCwgcmluZywgcHJpbWFyeSwg ZmxhZ3MpOwogCiAJfQpAQCAtNjk2LDcgKzcwNCw5IEBAIHN0YXRpYyB2b2lkIF9fcHJlZW1wdF9x dWV1ZShpbnQgZmQsCiAJbisrOwogCiAJaWYgKGZsYWdzICYgQ0hBSU4pIHsKLQkJZm9yX2VhY2hf cGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgeworCQljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0 aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsKKworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIG90aGVyKSB7CiAJCQlzdG9yZV9kd29yZChmZCwgY3R4 W0xPXSwgb3RoZXIsCiAJCQkJICAgIHJlc3VsdCwgKG4gKyAxKSpzaXplb2YodWludDMyX3QpLCBu ICsgMSwKIAkJCQkgICAgMCwgSTkxNV9HRU1fRE9NQUlOX1JFTkRFUik7CkBAIC03MzcsOSArNzQ3 LDEwIEBAIHN0YXRpYyB2b2lkIF9fcHJlZW1wdF9xdWV1ZShpbnQgZmQsCiAKIHN0YXRpYyB2b2lk IHByZWVtcHRfcXVldWUoaW50IGZkLCB1bnNpZ25lZCByaW5nLCB1bnNpZ25lZCBpbnQgZmxhZ3Mp CiB7CisJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0 ZXI7CiAJdW5zaWduZWQgb3RoZXI7CiAKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90 aGVyKSB7CisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVyLCBv dGhlcikgewogCQlmb3IgKHVuc2lnbmVkIGRlcHRoID0gMDsgZGVwdGggPD0gTUFYX0VMU1BfUUxF TjsgZGVwdGgrKykKIAkJCV9fcHJlZW1wdF9xdWV1ZShmZCwgcmluZywgb3RoZXIsIGRlcHRoLCBm bGFncyk7CiAJfQpAQCAtNzQ3LDYgKzc1OCw3IEBAIHN0YXRpYyB2b2lkIHByZWVtcHRfcXVldWUo aW50IGZkLCB1bnNpZ25lZCByaW5nLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAKIHN0YXRpYyB2b2lk IHByZWVtcHRfc2VsZihpbnQgZmQsIHVuc2lnbmVkIHJpbmcpCiB7CisJY29uc3Qgc3RydWN0IGlu dGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CiAJdWludDMyX3QgcmVzdWx0 ID0gZ2VtX2NyZWF0ZShmZCwgNDA5Nik7CiAJdWludDMyX3QgcmVzdWx0X3JlYWRbNDA5NiAvIHNp emVvZih1aW50MzJfdCldOwogCWlndF9zcGluX3QgKnNwaW5bTUFYX0VMU1BfUUxFTl07CkBAIC03 NjgsNyArNzgwLDcgQEAgc3RhdGljIHZvaWQgcHJlZW1wdF9zZWxmKGludCBmZCwgdW5zaWduZWQg cmluZykKIAogCW4gPSAwOwogCWdlbV9jb250ZXh0X3NldF9wcmlvcml0eShmZCwgY3R4W0hJXSwg TUlOX1BSSU8pOwotCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpIHsKKwlmb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIG90aGVyKSB7CiAJCXNw aW5bbl0gPSBfX2lndF9zcGluX2JhdGNoX25ldyhmZCwKIAkJCQkJICAgICAgIC5jdHggPSBjdHhb Tk9JU0VdLAogCQkJCQkgICAgICAgLmVuZ2luZSA9IG90aGVyKTsKQEAgLTEyODksMTIgKzEzMDEs MTQgQEAgc3RhdGljIHZvaWQgdGVzdF9waV9yaW5nZnVsbChpbnQgZmQsIHVuc2lnbmVkIGludCBl bmdpbmUpCiAKIHN0YXRpYyB2b2lkIG1lYXN1cmVfc2VtYXBob3JlX3Bvd2VyKGludCBpOTE1KQog eworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVy OwogCXN0cnVjdCBncHVfcG93ZXIgcG93ZXI7CiAJdW5zaWduZWQgaW50IGVuZ2luZSwgc2lnbmFs ZXI7CiAKIAlpZ3RfcmVxdWlyZShncHVfcG93ZXJfb3BlbigmcG93ZXIpID09IDApOwogCi0JZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIHNpZ25hbGVyKSB7CisJZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGk5MTUsIGV4ZWNfZW5naW5lX2l0ZXIsIHNpZ25hbGVyKSB7CisJCWNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVyMjsKIAkJc3RydWN0 IGdwdV9wb3dlcl9zYW1wbGUgc19zcGluWzJdOwogCQlzdHJ1Y3QgZ3B1X3Bvd2VyX3NhbXBsZSBz X3NlbWFbMl07CiAJCWRvdWJsZSBiYXNlbGluZSwgdG90YWw7CkBAIC0xMzEzLDcgKzEzMjcsNyBA QCBzdGF0aWMgdm9pZCBtZWFzdXJlX3NlbWFwaG9yZV9wb3dlcihpbnQgaTkxNSkKIAkJZ3B1X3Bv d2VyX3JlYWQoJnBvd2VyLCAmc19zcGluWzFdKTsKIAogCQkvKiBBZGQgYSB3YWl0ZXIgdG8gZWFj aCBlbmdpbmUgKi8KLQkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGVuZ2luZSkgewor CQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZXhlY19lbmdpbmVfaXRlcjIsIGVuZ2lu ZSkgewogCQkJaWd0X3NwaW5fdCAqc2VtYTsKIAogCQkJaWYgKGVuZ2luZSA9PSBzaWduYWxlcikK QEAgLTEzMzcsNyArMTM1MSw3IEBAIHN0YXRpYyB2b2lkIG1lYXN1cmVfc2VtYXBob3JlX3Bvd2Vy KGludCBpOTE1KQogCQl0b3RhbCA9IGdwdV9wb3dlcl9XKCZwb3dlciwgJnNfc2VtYVswXSwgJnNf c2VtYVsxXSk7CiAKIAkJaWd0X2luZm8oIiVzOiAlLjFmbVcgKyAlLjFmbVcgKHRvdGFsICUxLmZt VylcbiIsCi0JCQkgZV9fLT5uYW1lLAorCQkJIGV4ZWNfZW5naW5lX2l0ZXItPm5hbWUsCiAJCQkg MWUzICogYmFzZWxpbmUsCiAJCQkgMWUzICogKHRvdGFsIC0gYmFzZWxpbmUpLAogCQkJIDFlMyAq IHRvdGFsKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc3RvcmUuYyBiL3Rlc3Rz L2k5MTUvZ2VtX2V4ZWNfc3RvcmUuYwppbmRleCBhNzY3MzQ4OS4uZmI5MTZlMGEgMTAwNjQ0Ci0t LSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc3RvcmUuYworKysgYi90ZXN0cy9pOTE1L2dlbV9leGVj X3N0b3JlLmMKQEAgLTE3OCw2ICsxNzgsNyBAQCBzdGF0aWMgdm9pZCBzdG9yZV9jYWNoZWxpbmVz KGludCBmZCwgdW5zaWduZWQgcmluZywgdW5zaWduZWQgaW50IGZsYWdzKQogCiBzdGF0aWMgdm9p ZCBzdG9yZV9hbGwoaW50IGZkKQogeworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5n aW5lICpleGVjX2VuZ2luZV9pdGVyOwogCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxf Z2V0X2RybV9kZXZpZChmZCkpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9i alsyXTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgcmVsb2NbMzJdOwpA QCAtMjIwLDcgKzIyMSw3IEBAIHN0YXRpYyB2b2lkIHN0b3JlX2FsbChpbnQgZmQpCiAKIAluZW5n aW5lID0gMDsKIAlpbnRlbF9kZXRlY3RfYW5kX2NsZWFyX21pc3NlZF9pbnRlcnJ1cHRzKGZkKTsK LQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVuZ2luZSkgeworCWZvcl9lYWNoX3BoeXNp Y2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVfaXRlciwgZW5naW5lKSB7CiAJCWlmICghZ2VtX2Nh bl9zdG9yZV9kd29yZChmZCwgZW5naW5lKSkKIAkJCWNvbnRpbnVlOwogCmRpZmYgLS1naXQgYS90 ZXN0cy9pOTE1L2dlbV9leGVjX3N1c3BlbmQuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc3VzcGVu ZC5jCmluZGV4IDQzYzUyZDEwLi5kNzc5NTI1MSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1f ZXhlY19zdXNwZW5kLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19zdXNwZW5kLmMKQEAgLTY0 LDkgKzY0LDEwIEBAIHN0YXRpYyB2b2lkIGNoZWNrX2JvKGludCBmZCwgdWludDMyX3QgaGFuZGxl KQogCiBzdGF0aWMgdm9pZCB0ZXN0X2FsbChpbnQgZmQsIHVuc2lnbmVkIGZsYWdzKQogeworCWNv bnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVyOwogCXVu c2lnbmVkIGVuZ2luZTsKIAotCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5naW5lKQor CWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVfaXRlciwgZW5naW5lKQog CQlpZiAoZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwgZW5naW5lKSkKIAkJCXJ1bl90ZXN0KGZkLCBl bmdpbmUsIGZsYWdzICYgfjB4ZmYpOwogfQpAQCAtMTA2LDcgKzEwNyw5IEBAIHN0YXRpYyB2b2lk IHJ1bl90ZXN0KGludCBmZCwgdW5zaWduZWQgZW5naW5lLCB1bnNpZ25lZCBmbGFncykKIAkJICog R1BVIGlzIHRoZW4gdW5saWtlbHkgdG8gYmUgYWN0aXZlISkKIAkJICovCiAJCWlmIChoYXNfc2Vt YXBob3JlcyhmZCkpIHsKLQkJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5naW5lKSB7 CisJCQljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRl cjsKKworCQkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVyLCBl bmdpbmUpIHsKIAkJCQlpZiAoZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwgZW5naW5lKSkKIAkJCQkJ ZW5naW5lc1tuZW5naW5lKytdID0gZW5naW5lOwogCQkJfQpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkx NS9nZW1fZXhlY193aGlzcGVyLmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX3doaXNwZXIuYwppbmRl eCA2YzNiNTM3NS4uYjdlODhjOTggMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfd2hp c3Blci5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfd2hpc3Blci5jCkBAIC0yMDksNyArMjA5 LDkgQEAgc3RhdGljIHZvaWQgd2hpc3BlcihpbnQgZmQsIHVuc2lnbmVkIGVuZ2luZSwgdW5zaWdu ZWQgZmxhZ3MpCiAKIAluZW5naW5lID0gMDsKIAlpZiAoZW5naW5lID09IEFMTF9FTkdJTkVTKSB7 Ci0JCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5naW5lKSB7CisJCWNvbnN0IHN0cnVj dCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVyOworCisJCWZvcl9lYWNo X3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVfaXRlciwgZW5naW5lKSB7CiAJCQlpZiAo Z2VtX2Nhbl9zdG9yZV9kd29yZChmZCwgZW5naW5lKSkKIAkJCQllbmdpbmVzW25lbmdpbmUrK10g PSBlbmdpbmU7CiAJCX0KZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3Jpbmdfc3luY19sb29w LmMgYi90ZXN0cy9pOTE1L2dlbV9yaW5nX3N5bmNfbG9vcC5jCmluZGV4IDExOGYzNjM4Li5iYTRh ZGMwOSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fcmluZ19zeW5jX2xvb3AuYworKysgYi90 ZXN0cy9pOTE1L2dlbV9yaW5nX3N5bmNfbG9vcC5jCkBAIC0zOCw2ICszOCw3IEBAIElHVF9URVNU X0RFU0NSSVBUSU9OKCJCYXNpYyBjaGVjayBvZiByaW5nPC0+cmluZyB3cml0ZSBzeW5jaHJvbmlz YXRpb24uIik7CiBzdGF0aWMgdm9pZAogc3luY19sb29wKGludCBmZCkKIHsKKwljb25zdCBzdHJ1 Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsKIAljb25zdCB1aW50 MzJfdCBiYmUgPSBNSV9CQVRDSF9CVUZGRVJfRU5EOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhl Y2J1ZmZlcjIgZXhlY2J1ZjsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpl Y3RbMl07CkBAIC00OCw3ICs0OSw3IEBAIHN5bmNfbG9vcChpbnQgZmQpCiAJaW50IGk7CiAKIAlu ZW5naW5lID0gMDsKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVuZ2luZSkKKwlmb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIGVuZ2luZSkKIAkJZW5n aW5lc1tuZW5naW5lKytdID0gZW5naW5lOwogCWlndF9yZXF1aXJlKG5lbmdpbmUpOwogCmRpZmYg LS1naXQgYS90ZXN0cy9pOTE1L2dlbV9zcGluX2JhdGNoLmMgYi90ZXN0cy9pOTE1L2dlbV9zcGlu X2JhdGNoLmMKaW5kZXggNTI0MTAwMTAuLjk2NDI5MjU3IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1 L2dlbV9zcGluX2JhdGNoLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fc3Bpbl9iYXRjaC5jCkBAIC03 Myw5ICs3MywxMCBAQCBzdGF0aWMgdm9pZCBzcGluX2V4aXRfaGFuZGxlcihpbnQgc2lnKQogCiBz dGF0aWMgdm9pZCBzcGluX29uX2FsbF9lbmdpbmVzKGludCBmZCwgdW5zaWduZWQgaW50IHRpbWVv dXRfc2VjKQogeworCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2Vu Z2luZV9pdGVyOwogCXVuc2lnbmVkIGVuZ2luZTsKIAotCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShmZCwgZW5naW5lKSB7CisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2lu ZV9pdGVyLCBlbmdpbmUpIHsKIAkJaWd0X2ZvcmsoY2hpbGQsIDEpIHsKIAkJCWlndF9pbnN0YWxs X2V4aXRfaGFuZGxlcihzcGluX2V4aXRfaGFuZGxlcik7CiAJCQlzcGluKGZkLCBlbmdpbmUsIHRp bWVvdXRfc2VjKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3N5bmMuYyBiL3Rlc3RzL2k5 MTUvZ2VtX3N5bmMuYwppbmRleCAzZTRmZWZmMy4uYjQzNTJlNWIgMTAwNjQ0Ci0tLSBhL3Rlc3Rz L2k5MTUvZ2VtX3N5bmMuYworKysgYi90ZXN0cy9pOTE1L2dlbV9zeW5jLmMKQEAgLTg2LDggKzg2 LDEwIEBAIHN5bmNfcmluZyhpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCBudW1fY2hpbGRyZW4s IGludCB0aW1lb3V0KQogCWludCBudW1fZW5naW5lcyA9IDA7CiAKIAlpZiAocmluZyA9PSBBTExf RU5HSU5FUykgewotCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIHJpbmcpIHsKLQkJCW5h bWVzW251bV9lbmdpbmVzXSA9IGVfXy0+bmFtZTsKKwkJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1 dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CisKKwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5n aW5lKGZkLCBleGVjX2VuZ2luZV9pdGVyLCByaW5nKSB7CisJCQluYW1lc1tudW1fZW5naW5lc10g PSBleGVjX2VuZ2luZV9pdGVyLT5uYW1lOwogCQkJZW5naW5lc1tudW1fZW5naW5lcysrXSA9IHJp bmc7CiAJCQlpZiAobnVtX2VuZ2luZXMgPT0gQVJSQVlfU0laRShlbmdpbmVzKSkKIAkJCQlicmVh azsKQEAgLTE4NSwxMSArMTg3LDEzIEBAIHdha2V1cF9yaW5nKGludCBmZCwgdW5zaWduZWQgcmlu ZywgaW50IHRpbWVvdXQsIGludCB3bGVuKQogCWludCBudW1fZW5naW5lcyA9IDA7CiAKIAlpZiAo cmluZyA9PSBBTExfRU5HSU5FUykgewotCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIHJp bmcpIHsKKwkJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5l X2l0ZXI7CisKKwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVy LCByaW5nKSB7CiAJCQlpZiAoIWdlbV9jYW5fc3RvcmVfZHdvcmQoZmQsIHJpbmcpKQogCQkJCWNv bnRpbnVlOwogCi0JCQluYW1lc1tudW1fZW5naW5lc10gPSBlX18tPm5hbWU7CisJCQluYW1lc1tu dW1fZW5naW5lc10gPSBleGVjX2VuZ2luZV9pdGVyLT5uYW1lOwogCQkJZW5naW5lc1tudW1fZW5n aW5lcysrXSA9IHJpbmc7CiAJCQlpZiAobnVtX2VuZ2luZXMgPT0gQVJSQVlfU0laRShlbmdpbmVz KSkKIAkJCQlicmVhazsKQEAgLTMwMSwxMSArMzA1LDEzIEBAIHN0YXRpYyB2b2lkIGFjdGl2ZV9y aW5nKGludCBmZCwgdW5zaWduZWQgcmluZywgaW50IHRpbWVvdXQpCiAJaW50IG51bV9lbmdpbmVz ID0gMDsKIAogCWlmIChyaW5nID09IEFMTF9FTkdJTkVTKSB7Ci0JCWZvcl9lYWNoX3BoeXNpY2Fs X2VuZ2luZShmZCwgcmluZykgeworCQljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2lu ZSAqZXhlY19lbmdpbmVfaXRlcjsKKworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4 ZWNfZW5naW5lX2l0ZXIsIHJpbmcpIHsKIAkJCWlmICghZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwg cmluZykpCiAJCQkJY29udGludWU7CiAKLQkJCW5hbWVzW251bV9lbmdpbmVzXSA9IGVfXy0+bmFt ZTsKKwkJCW5hbWVzW251bV9lbmdpbmVzXSA9IGV4ZWNfZW5naW5lX2l0ZXItPm5hbWU7CiAJCQll bmdpbmVzW251bV9lbmdpbmVzKytdID0gcmluZzsKIAkJCWlmIChudW1fZW5naW5lcyA9PSBBUlJB WV9TSVpFKGVuZ2luZXMpKQogCQkJCWJyZWFrOwpAQCAtMzcwLDExICszNzYsMTMgQEAgYWN0aXZl X3dha2V1cF9yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZywgaW50IHRpbWVvdXQsIGludCB3bGVu KQogCWludCBudW1fZW5naW5lcyA9IDA7CiAKIAlpZiAocmluZyA9PSBBTExfRU5HSU5FUykgewot CQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIHJpbmcpIHsKKwkJY29uc3Qgc3RydWN0IGlu dGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5naW5lX2l0ZXI7CisKKwkJZm9yX2VhY2hfcGh5 c2ljYWxfZW5naW5lKGZkLCBleGVjX2VuZ2luZV9pdGVyLCByaW5nKSB7CiAJCQlpZiAoIWdlbV9j YW5fc3RvcmVfZHdvcmQoZmQsIHJpbmcpKQogCQkJCWNvbnRpbnVlOwogCi0JCQluYW1lc1tudW1f ZW5naW5lc10gPSBlX18tPm5hbWU7CisJCQluYW1lc1tudW1fZW5naW5lc10gPSBleGVjX2VuZ2lu ZV9pdGVyLT5uYW1lOwogCQkJZW5naW5lc1tudW1fZW5naW5lcysrXSA9IHJpbmc7CiAJCQlpZiAo bnVtX2VuZ2luZXMgPT0gQVJSQVlfU0laRShlbmdpbmVzKSkKIAkJCQlicmVhazsKQEAgLTUwOSwx MSArNTE3LDEzIEBAIHN0b3JlX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgbnVtX2No aWxkcmVuLCBpbnQgdGltZW91dCkKIAlpbnQgbnVtX2VuZ2luZXMgPSAwOwogCiAJaWYgKHJpbmcg PT0gQUxMX0VOR0lORVMpIHsKLQkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCByaW5nKSB7 CisJCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVy OworCisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZXhlY19lbmdpbmVfaXRlciwgcmlu ZykgewogCQkJaWYgKCFnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCByaW5nKSkKIAkJCQljb250aW51 ZTsKIAotCQkJbmFtZXNbbnVtX2VuZ2luZXNdID0gZV9fLT5uYW1lOworCQkJbmFtZXNbbnVtX2Vu Z2luZXNdID0gZXhlY19lbmdpbmVfaXRlci0+bmFtZTsKIAkJCWVuZ2luZXNbbnVtX2VuZ2luZXMr K10gPSByaW5nOwogCQkJaWYgKG51bV9lbmdpbmVzID09IEFSUkFZX1NJWkUoZW5naW5lcykpCiAJ CQkJYnJlYWs7CkBAIC02MjYsMTEgKzYzNiwxMyBAQCBzd2l0Y2hfcmluZyhpbnQgZmQsIHVuc2ln bmVkIHJpbmcsIGludCBudW1fY2hpbGRyZW4sIGludCB0aW1lb3V0KQogCWdlbV9yZXF1aXJlX2Nv bnRleHRzKGZkKTsKIAogCWlmIChyaW5nID09IEFMTF9FTkdJTkVTKSB7Ci0JCWZvcl9lYWNoX3Bo eXNpY2FsX2VuZ2luZShmZCwgcmluZykgeworCQljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9u X2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsKKworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUo ZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIHJpbmcpIHsKIAkJCWlmICghZ2VtX2Nhbl9zdG9yZV9kd29y ZChmZCwgcmluZykpCiAJCQkJY29udGludWU7CiAKLQkJCW5hbWVzW251bV9lbmdpbmVzXSA9IGVf Xy0+bmFtZTsKKwkJCW5hbWVzW251bV9lbmdpbmVzXSA9IGV4ZWNfZW5naW5lX2l0ZXItPm5hbWU7 CiAJCQllbmdpbmVzW251bV9lbmdpbmVzKytdID0gcmluZzsKIAkJCWlmIChudW1fZW5naW5lcyA9 PSBBUlJBWV9TSVpFKGVuZ2luZXMpKQogCQkJCWJyZWFrOwpAQCAtOTUzLDcgKzk2NSw5IEBAIHN0 b3JlX21hbnkoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgdGltZW91dCkKIAlpbnRlbF9kZXRl Y3RfYW5kX2NsZWFyX21pc3NlZF9pbnRlcnJ1cHRzKGZkKTsKIAogCWlmIChyaW5nID09IEFMTF9F TkdJTkVTKSB7Ci0JCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgcmluZykgeworCQljb25z dCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsKKworCQlm b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIHJpbmcpIHsKIAkJ CWlmICghZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwgcmluZykpCiAJCQkJY29udGludWU7CiAKQEAg LTk2Myw3ICs5NzcsNyBAQCBzdG9yZV9tYW55KGludCBmZCwgdW5zaWduZWQgcmluZywgaW50IHRp bWVvdXQpCiAJCQkJCSAgICAgdGltZW91dCwKIAkJCQkJICAgICAmc2hhcmVkW25dKTsKIAotCQkJ bmFtZXNbbisrXSA9IGVfXy0+bmFtZTsKKwkJCW5hbWVzW24rK10gPSBleGVjX2VuZ2luZV9pdGVy LT5uYW1lOwogCQl9CiAJCWlndF93YWl0Y2hpbGRyZW4oKTsKIAl9IGVsc2UgewpAQCAtOTg0LDEw ICs5OTgsMTEgQEAgc3RvcmVfbWFueShpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCB0aW1lb3V0 KQogc3RhdGljIHZvaWQKIHN5bmNfYWxsKGludCBmZCwgaW50IG51bV9jaGlsZHJlbiwgaW50IHRp bWVvdXQpCiB7CisJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmV4ZWNfZW5n aW5lX2l0ZXI7CiAJdW5zaWduZWQgZW5naW5lc1sxNl0sIGVuZ2luZTsKIAlpbnQgbnVtX2VuZ2lu ZXMgPSAwOwogCi0JZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpIHsKKwlmb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIGVuZ2luZSkgewogCQll bmdpbmVzW251bV9lbmdpbmVzKytdID0gZW5naW5lOwogCQlpZiAobnVtX2VuZ2luZXMgPT0gQVJS QVlfU0laRShlbmdpbmVzKSkKIAkJCWJyZWFrOwpAQCAtMTAzNSwxMiArMTA1MCwxMyBAQCBzeW5j X2FsbChpbnQgZmQsIGludCBudW1fY2hpbGRyZW4sIGludCB0aW1lb3V0KQogc3RhdGljIHZvaWQK IHN0b3JlX2FsbChpbnQgZmQsIGludCBudW1fY2hpbGRyZW4sIGludCB0aW1lb3V0KQogeworCWNv bnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpleGVjX2VuZ2luZV9pdGVyOwogCWNv bnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9kZXZpZChmZCkpOwogCXVuc2ln bmVkIGVuZ2luZXNbMTZdOwogCWludCBudW1fZW5naW5lcyA9IDA7CiAJdW5zaWduZWQgaW50IHJp bmc7CiAKLQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIHJpbmcpIHsKKwlmb3JfZWFjaF9w aHlzaWNhbF9lbmdpbmUoZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIHJpbmcpIHsKIAkJaWYgKCFnZW1f Y2FuX3N0b3JlX2R3b3JkKGZkLCByaW5nKSkKIAkJCWNvbnRpbnVlOwogCkBAIC0xMTQ5LDggKzEx NjUsMTAgQEAgcHJlZW1wdChpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCBudW1fY2hpbGRyZW4s IGludCB0aW1lb3V0KQogCXVpbnQzMl90IGN0eFsyXTsKIAogCWlmIChyaW5nID09IEFMTF9FTkdJ TkVTKSB7Ci0JCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgcmluZykgewotCQkJbmFtZXNb bnVtX2VuZ2luZXNdID0gZV9fLT5uYW1lOworCQljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9u X2VuZ2luZSAqZXhlY19lbmdpbmVfaXRlcjsKKworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUo ZmQsIGV4ZWNfZW5naW5lX2l0ZXIsIHJpbmcpIHsKKwkJCW5hbWVzW251bV9lbmdpbmVzXSA9IGV4 ZWNfZW5naW5lX2l0ZXItPm5hbWU7CiAJCQllbmdpbmVzW251bV9lbmdpbmVzKytdID0gcmluZzsK IAkJCWlmIChudW1fZW5naW5lcyA9PSBBUlJBWV9TSVpFKGVuZ2luZXMpKQogCQkJCWJyZWFrOwot LSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=