From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 04/16] drm/i915/selftests: Teach igt_flush_test and igt_live_test to take intel_gt Date: Mon, 21 Oct 2019 09:02:14 +0100 Message-ID: <20191021080226.537-4-chris@chris-wilson.co.uk> References: <20191021080226.537-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3223389B22 for ; Mon, 21 Oct 2019 08:02:46 +0000 (UTC) In-Reply-To: <20191021080226.537-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Qm90aCByb3V0aW5lcyBvcGVyYXRlIGxvY2FsIHRvIHRoZSBpbnRlbF9ndCwgc28gcGFzcyBpdCBh bG9uZyBhcyB0aGUKb2JqZWN0IHRvIHdvcmsgb24uCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiAuLi4vZHJtL2k5MTUvZ2VtL3NlbGZ0 ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMgfCAzMCArKysrKysrLS0tLS0tCiAuLi4vZHJtL2k5MTUv Z2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFuLmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Qvc2VsZnRlc3RfY29udGV4dC5jICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3NlbGZ0ZXN0X2hhbmdjaGVjay5jICB8IDE2ICsrKy0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3NlbGZ0ZXN0X2xyYy5jICAgICAgICB8IDQyICsrKysrKysrKy0tLS0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMgICB8ICA2ICstLQog Li4uL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF93b3JrYXJvdW5kcy5jICAgIHwgIDYgKy0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9hY3RpdmUuYyAgfCAgNCArLQogLi4u L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZXZpY3QuYyAgIHwgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYyB8ICAyICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0LmMgfCAxNCArKysrLS0tCiAuLi4v Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3NlbGZ0ZXN0LmMgICAgfCAgNCArLQogLi4uL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaWd0X2ZsdXNoX3Rlc3QuYyAgIHwgIDMgKy0KIC4uLi9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9mbHVzaF90ZXN0LmggICB8ICA0ICstCiAuLi4vZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pZ3RfbGl2ZV90ZXN0LmMgICAgfCAyOCArKysrKystLS0tLS0tCiAu Li4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3RfbGl2ZV90ZXN0LmggICAgfCAgOCArKy0tCiAx NiBmaWxlcyBjaGFuZ2VkLCA5MSBpbnNlcnRpb25zKCspLCA4NCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRl eHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4 dC5jCmluZGV4IGU1YzIzNTA1MWFlNS4uZDJkNzk2MmEwNDliIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtOTMs NyArOTMsOCBAQCBzdGF0aWMgaW50IGxpdmVfbm9wX3N3aXRjaCh2b2lkICphcmcpCiAJCXByX2lu Zm8oIlBvcHVsYXRlZCAlZCBjb250ZXh0cyBvbiAlcyBpbiAlbGx1bnNcbiIsCiAJCQluY3R4LCBl bmdpbmUtPm5hbWUsIGt0aW1lX3RvX25zKHRpbWVzWzFdIC0gdGltZXNbMF0pKTsKIAotCQllcnIg PSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBpOTE1LCBfX2Z1bmNfXywgZW5naW5lLT5uYW1lKTsK KwkJZXJyID0gaWd0X2xpdmVfdGVzdF9iZWdpbigmdCwgZW5naW5lLT5ndCwKKwkJCQkJICBfX2Z1 bmNfXywgZW5naW5lLT5uYW1lKTsKIAkJaWYgKGVycikKIAkJCWdvdG8gb3V0X2ZpbGU7CiAKQEAg LTMwNyw3ICszMDgsOCBAQCBzdGF0aWMgaW50IGxpdmVfcGFyYWxsZWxfc3dpdGNoKHZvaWQgKmFy ZykKIAkJc3RydWN0IGlndF9saXZlX3Rlc3QgdDsKIAkJaW50IG47CiAKLQkJZXJyID0gaWd0X2xp dmVfdGVzdF9iZWdpbigmdCwgaTkxNSwgX19mdW5jX18sICIiKTsKKwkJZXJyID0gaWd0X2xpdmVf dGVzdF9iZWdpbigmdCwgZGF0YVswXS5jZVswXS0+ZW5naW5lLT5ndCwKKwkJCQkJICBfX2Z1bmNf XywgIiIpOwogCQlpZiAoZXJyKQogCQkJYnJlYWs7CiAKQEAgLTYxNCw3ICs2MTYsOCBAQCBzdGF0 aWMgaW50IGlndF9jdHhfZXhlYyh2b2lkICphcmcpCiAJCWlmIChJU19FUlIoZmlsZSkpCiAJCQly ZXR1cm4gUFRSX0VSUihmaWxlKTsKIAotCQllcnIgPSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBp OTE1LCBfX2Z1bmNfXywgZW5naW5lLT5uYW1lKTsKKwkJZXJyID0gaWd0X2xpdmVfdGVzdF9iZWdp bigmdCwgZW5naW5lLT5ndCwKKwkJCQkJICBfX2Z1bmNfXywgZW5naW5lLT5uYW1lKTsKIAkJaWYg KGVycikKIAkJCWdvdG8gb3V0X2ZpbGU7CiAKQEAgLTczOSwxMCArNzQyLDYgQEAgc3RhdGljIGlu dCBpZ3Rfc2hhcmVkX2N0eF9leGVjKHZvaWQgKmFyZykKIAkJZ290byBvdXRfZmlsZTsKIAl9CiAK LQllcnIgPSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBpOTE1LCBfX2Z1bmNfXywgIiIpOwotCWlm IChlcnIpCi0JCWdvdG8gb3V0X2ZpbGU7Ci0KIAlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1 LCBpZCkgewogCQl1bnNpZ25lZCBsb25nIG5jb250ZXh0cywgbmR3b3JkcywgZHc7CiAJCXN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBOVUxMOwpAQCAtNzUyLDYgKzc1MSwxMSBAQCBz dGF0aWMgaW50IGlndF9zaGFyZWRfY3R4X2V4ZWModm9pZCAqYXJnKQogCQlpZiAoIWludGVsX2Vu Z2luZV9jYW5fc3RvcmVfZHdvcmQoZW5naW5lKSkKIAkJCWNvbnRpbnVlOwogCisJCWVyciA9IGln dF9saXZlX3Rlc3RfYmVnaW4oJnQsIGVuZ2luZS0+Z3QsCisJCQkJCSAgX19mdW5jX18sIGVuZ2lu ZS0+bmFtZSk7CisJCWlmIChlcnIpCisJCQlnb3RvIG91dF9maWxlOworCiAJCWR3ID0gMDsKIAkJ bmR3b3JkcyA9IDA7CiAJCW5jb250ZXh0cyA9IDA7CkBAIC04MjcsMTIgKzgzMSwxNCBAQCBzdGF0 aWMgaW50IGlndF9zaGFyZWRfY3R4X2V4ZWModm9pZCAqYXJnKQogCQkJZHcgKz0gcmVtOwogCQl9 CiAKKwkJZXJyID0gaWd0X2xpdmVfdGVzdF9lbmQoJnQpOworCQlpZiAoZXJyKQorCQkJZ290byBv dXRfdGVzdDsKKwogCQlpOTE1X2dlbV9kcmFpbl9mcmVlZF9vYmplY3RzKGk5MTUpOwogCX0KIG91 dF90ZXN0OgogCXRocm90dGxlX3JlbGVhc2UodHEsIEFSUkFZX1NJWkUodHEpKTsKLQlpZiAoaWd0 X2xpdmVfdGVzdF9lbmQoJnQpKQotCQllcnIgPSAtRUlPOwogb3V0X2ZpbGU6CiAJbW9ja19maWxl X2ZyZWUoaTkxNSwgZmlsZSk7CiAJcmV0dXJuIGVycjsKQEAgLTEyNDksNyArMTI1NSw3IEBAIF9f aWd0X2N0eF9zc2V1KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQlnb3RvIG91dF9m YWlsOwogCiBvdXRfZmFpbDoKLQlpZiAoaWd0X2ZsdXNoX3Rlc3QoaTkxNSkpCisJaWYgKGlndF9m bHVzaF90ZXN0KCZpOTE1LT5ndCkpCiAJCXJldCA9IC1FSU87CiAKIAlpbnRlbF9jb250ZXh0X3Vu cGluKGNlKTsKQEAgLTEzMTgsNyArMTMyNCw3IEBAIHN0YXRpYyBpbnQgaWd0X2N0eF9yZWFkb25s eSh2b2lkICphcmcpCiAJaWYgKElTX0VSUihmaWxlKSkKIAkJcmV0dXJuIFBUUl9FUlIoZmlsZSk7 CiAKLQllcnIgPSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBpOTE1LCBfX2Z1bmNfXywgIiIpOwor CWVyciA9IGlndF9saXZlX3Rlc3RfYmVnaW4oJnQsICZpOTE1LT5ndCwgX19mdW5jX18sICIiKTsK IAlpZiAoZXJyKQogCQlnb3RvIG91dF9maWxlOwogCkBAIC0xNjY3LDcgKzE2NzMsNyBAQCBzdGF0 aWMgaW50IGlndF92bV9pc29sYXRpb24odm9pZCAqYXJnKQogCWlmIChJU19FUlIoZmlsZSkpCiAJ CXJldHVybiBQVFJfRVJSKGZpbGUpOwogCi0JZXJyID0gaWd0X2xpdmVfdGVzdF9iZWdpbigmdCwg aTkxNSwgX19mdW5jX18sICIiKTsKKwllcnIgPSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCAmaTkx NS0+Z3QsIF9fZnVuY19fLCAiIik7CiAJaWYgKGVycikKIAkJZ290byBvdXRfZmlsZTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFu LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX21tYW4uYwpp bmRleCA2NWQ0ZGJmOTE5OTkuLmNkYWI4ODBjNTVkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFuLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9tbWFuLmMKQEAgLTU3OCw3ICs1NzgsNyBA QCBzdGF0aWMgdm9pZCBkaXNhYmxlX3JldGlyZV93b3JrZXIoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpCiAKIHN0YXRpYyB2b2lkIHJlc3RvcmVfcmV0aXJlX3dvcmtlcihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlpZ3RfZmx1c2hfdGVzdChpOTE1KTsKKwlpZ3RfZmx1 c2hfdGVzdCgmaTkxNS0+Z3QpOwogCWludGVsX2d0X3BtX3B1dCgmaTkxNS0+Z3QpOwogCWk5MTVf Z2VtX2RyaXZlcl9yZWdpc3Rlcl9fc2hyaW5rZXIoaTkxNSk7CiB9CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9zZWxmdGVzdF9jb250ZXh0LmMKaW5kZXggZjYzYTI2YTNlNjIwLi5iZTQzMTQ5Mzcz ZGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2NvbnRleHQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9jb250ZXh0LmMKQEAgLTMx MCw3ICszMTAsNyBAQCBzdGF0aWMgaW50IGxpdmVfYWN0aXZlX2NvbnRleHQodm9pZCAqYXJnKQog CQlpZiAoZXJyKQogCQkJYnJlYWs7CiAKLQkJZXJyID0gaWd0X2ZsdXNoX3Rlc3QoZ3QtPmk5MTUp OworCQllcnIgPSBpZ3RfZmx1c2hfdGVzdChndCk7CiAJCWlmIChlcnIpCiAJCQlicmVhazsKIAl9 CkBAIC00MjAsNyArNDIwLDcgQEAgc3RhdGljIGludCBsaXZlX3JlbW90ZV9jb250ZXh0KHZvaWQg KmFyZykKIAkJaWYgKGVycikKIAkJCWJyZWFrOwogCi0JCWVyciA9IGlndF9mbHVzaF90ZXN0KGd0 LT5pOTE1KTsKKwkJZXJyID0gaWd0X2ZsdXNoX3Rlc3QoZ3QpOwogCQlpZiAoZXJyKQogCQkJYnJl YWs7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfaGFu Z2NoZWNrLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9oYW5nY2hlY2suYwpp bmRleCA4ZTAwMTY0NjQzMjUuLjU0ZTRhOTYyYzMzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfaGFuZ2NoZWNrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3Qvc2VsZnRlc3RfaGFuZ2NoZWNrLmMKQEAgLTI5NSw3ICsyOTUsNyBAQCBzdGF0aWMgdm9p ZCBoYW5nX2Zpbmkoc3RydWN0IGhhbmcgKmgpCiAKIAlrZXJuZWxfY29udGV4dF9jbG9zZShoLT5j dHgpOwogCi0JaWd0X2ZsdXNoX3Rlc3QoaC0+Z3QtPmk5MTUpOworCWlndF9mbHVzaF90ZXN0KGgt Pmd0KTsKIH0KIAogc3RhdGljIGJvb2wgd2FpdF91bnRpbF9ydW5uaW5nKHN0cnVjdCBoYW5nICpo LCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKQEAgLTQzMSwxMyArNDMxLDEzIEBAIHN0YXRpYyBp bnQgaWd0X3Jlc2V0X25vcCh2b2lkICphcmcpCiAJCQlicmVhazsKIAkJfQogCi0JCWVyciA9IGln dF9mbHVzaF90ZXN0KGd0LT5pOTE1KTsKKwkJZXJyID0gaWd0X2ZsdXNoX3Rlc3QoZ3QpOwogCQlp ZiAoZXJyKQogCQkJYnJlYWs7CiAJfSB3aGlsZSAodGltZV9iZWZvcmUoamlmZmllcywgZW5kX3Rp bWUpKTsKIAlwcl9pbmZvKCIlczogJWQgcmVzZXRzXG4iLCBfX2Z1bmNfXywgY291bnQpOwogCi0J ZXJyID0gaWd0X2ZsdXNoX3Rlc3QoZ3QtPmk5MTUpOworCWVyciA9IGlndF9mbHVzaF90ZXN0KGd0 KTsKIG91dDoKIAltb2NrX2ZpbGVfZnJlZShndC0+aTkxNSwgZmlsZSk7CiAJaWYgKGludGVsX2d0 X2lzX3dlZGdlZChndCkpCkBAIC01MjgsMTIgKzUyOCwxMiBAQCBzdGF0aWMgaW50IGlndF9yZXNl dF9ub3BfZW5naW5lKHZvaWQgKmFyZykKIAkJaWYgKGVycikKIAkJCWJyZWFrOwogCi0JCWVyciA9 IGlndF9mbHVzaF90ZXN0KGd0LT5pOTE1KTsKKwkJZXJyID0gaWd0X2ZsdXNoX3Rlc3QoZ3QpOwog CQlpZiAoZXJyKQogCQkJYnJlYWs7CiAJfQogCi0JZXJyID0gaWd0X2ZsdXNoX3Rlc3QoZ3QtPmk5 MTUpOworCWVyciA9IGlndF9mbHVzaF90ZXN0KGd0KTsKIG91dDoKIAltb2NrX2ZpbGVfZnJlZShn dC0+aTkxNSwgZmlsZSk7CiAJaWYgKGludGVsX2d0X2lzX3dlZGdlZChndCkpCkBAIC02MzQsNyAr NjM0LDcgQEAgc3RhdGljIGludCBfX2lndF9yZXNldF9lbmdpbmUoc3RydWN0IGludGVsX2d0ICpn dCwgYm9vbCBhY3RpdmUpCiAJCWlmIChlcnIpCiAJCQlicmVhazsKIAotCQllcnIgPSBpZ3RfZmx1 c2hfdGVzdChndC0+aTkxNSk7CisJCWVyciA9IGlndF9mbHVzaF90ZXN0KGd0KTsKIAkJaWYgKGVy cikKIAkJCWJyZWFrOwogCX0KQEAgLTk1MSw3ICs5NTEsNyBAQCBzdGF0aWMgaW50IF9faWd0X3Jl c2V0X2VuZ2luZXMoc3RydWN0IGludGVsX2d0ICpndCwKIAkJaWYgKGVycikKIAkJCWJyZWFrOwog Ci0JCWVyciA9IGlndF9mbHVzaF90ZXN0KGd0LT5pOTE1KTsKKwkJZXJyID0gaWd0X2ZsdXNoX3Rl c3QoZ3QpOwogCQlpZiAoZXJyKQogCQkJYnJlYWs7CiAJfQpAQCAtMTQ3Myw3ICsxNDczLDcgQEAg c3RhdGljIGludCBpZ3RfcmVzZXRfcXVldWUodm9pZCAqYXJnKQogCiAJCWk5MTVfcmVxdWVzdF9w dXQocHJldik7CiAKLQkJZXJyID0gaWd0X2ZsdXNoX3Rlc3QoZ3QtPmk5MTUpOworCQllcnIgPSBp Z3RfZmx1c2hfdGVzdChndCk7CiAJCWlmIChlcnIpCiAJCQlicmVhazsKIAl9CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9scmMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3NlbGZ0ZXN0X2xyYy5jCmluZGV4IDc1MTZkMWM5MDkyNS4uMmM5Yzc1MTY2NTcw IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9scmMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9scmMuYwpAQCAtODcsNyArODcsNyBA QCBzdGF0aWMgaW50IGxpdmVfc2FuaXR5Y2hlY2sodm9pZCAqYXJnKQogCQl9CiAKIAkJaWd0X3Nw aW5uZXJfZW5kKCZzcGluKTsKLQkJaWYgKGlndF9mbHVzaF90ZXN0KGd0LT5pOTE1KSkgeworCQlp ZiAoaWd0X2ZsdXNoX3Rlc3QoZ3QpKSB7CiAJCQllcnIgPSAtRUlPOwogCQkJZ290byBlcnJfY3R4 OwogCQl9CkBAIC0xMzUsNyArMTM1LDcgQEAgc3RhdGljIGludCBsaXZlX3VubGl0ZV9yZXN0b3Jl KHN0cnVjdCBpbnRlbF9ndCAqZ3QsIGludCBwcmlvKQogCQlpZiAoIWludGVsX2VuZ2luZV9jYW5f c3RvcmVfZHdvcmQoZW5naW5lKSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChpZ3RfbGl2ZV90ZXN0 X2JlZ2luKCZ0LCBndC0+aTkxNSwgX19mdW5jX18sIGVuZ2luZS0+bmFtZSkpIHsKKwkJaWYgKGln dF9saXZlX3Rlc3RfYmVnaW4oJnQsIGd0LCBfX2Z1bmNfXywgZW5naW5lLT5uYW1lKSkgewogCQkJ ZXJyID0gLUVJTzsKIAkJCWJyZWFrOwogCQl9CkBAIC00NzQsNyArNDc0LDcgQEAgc3RhdGljIGlu dCBsaXZlX3RpbWVzbGljZV9wcmVlbXB0KHZvaWQgKmFyZykKIAkJCWlmIChlcnIpCiAJCQkJZ290 byBlcnJfcGluOwogCi0JCQlpZiAoaWd0X2ZsdXNoX3Rlc3QoZ3QtPmk5MTUpKSB7CisJCQlpZiAo aWd0X2ZsdXNoX3Rlc3QoZ3QpKSB7CiAJCQkJZXJyID0gLUVJTzsKIAkJCQlnb3RvIGVycl9waW47 CiAJCQl9CkBAIC02OTUsNyArNjk1LDcgQEAgc3RhdGljIGludCBsaXZlX2J1c3l3YWl0X3ByZWVt cHQodm9pZCAqYXJnKQogCQlpZiAoIWludGVsX2VuZ2luZV9jYW5fc3RvcmVfZHdvcmQoZW5naW5l KSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBndC0+aTkx NSwgX19mdW5jX18sIGVuZ2luZS0+bmFtZSkpIHsKKwkJaWYgKGlndF9saXZlX3Rlc3RfYmVnaW4o JnQsIGd0LCBfX2Z1bmNfXywgZW5naW5lLT5uYW1lKSkgewogCQkJZXJyID0gLUVJTzsKIAkJCWdv dG8gZXJyX3ZtYTsKIAkJfQpAQCAtODY3LDcgKzg2Nyw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9wcmVl bXB0KHZvaWQgKmFyZykKIAkJaWYgKCFpbnRlbF9lbmdpbmVfaGFzX3ByZWVtcHRpb24oZW5naW5l KSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBndC0+aTkx NSwgX19mdW5jX18sIGVuZ2luZS0+bmFtZSkpIHsKKwkJaWYgKGlndF9saXZlX3Rlc3RfYmVnaW4o JnQsIGd0LCBfX2Z1bmNfXywgZW5naW5lLT5uYW1lKSkgewogCQkJZXJyID0gLUVJTzsKIAkJCWdv dG8gZXJyX2N0eF9sbzsKIAkJfQpAQCAtOTYzLDcgKzk2Myw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9s YXRlX3ByZWVtcHQodm9pZCAqYXJnKQogCQlpZiAoIWludGVsX2VuZ2luZV9oYXNfcHJlZW1wdGlv bihlbmdpbmUpKQogCQkJY29udGludWU7CiAKLQkJaWYgKGlndF9saXZlX3Rlc3RfYmVnaW4oJnQs IGd0LT5pOTE1LCBfX2Z1bmNfXywgZW5naW5lLT5uYW1lKSkgeworCQlpZiAoaWd0X2xpdmVfdGVz dF9iZWdpbigmdCwgZ3QsIF9fZnVuY19fLCBlbmdpbmUtPm5hbWUpKSB7CiAJCQllcnIgPSAtRUlP OwogCQkJZ290byBlcnJfY3R4X2xvOwogCQl9CkBAIC0xMTQxLDcgKzExNDEsNyBAQCBzdGF0aWMg aW50IGxpdmVfbm9wcmVlbXB0KHZvaWQgKmFyZykKIAkJCWdvdG8gZXJyX3dlZGdlZDsKIAkJfQog Ci0JCWlmIChpZ3RfZmx1c2hfdGVzdChndC0+aTkxNSkpCisJCWlmIChpZ3RfZmx1c2hfdGVzdChn dCkpCiAJCQlnb3RvIGVycl93ZWRnZWQ7CiAJfQogCkBAIC0xMTk5LDcgKzExOTksNyBAQCBzdGF0 aWMgaW50IGxpdmVfc3VwcHJlc3Nfc2VsZl9wcmVlbXB0KHZvaWQgKmFyZykKIAkJaWYgKCFpbnRl bF9lbmdpbmVfaGFzX3ByZWVtcHRpb24oZW5naW5lKSkKIAkJCWNvbnRpbnVlOwogCi0JCWlmIChp Z3RfZmx1c2hfdGVzdChndC0+aTkxNSkpCisJCWlmIChpZ3RfZmx1c2hfdGVzdChndCkpCiAJCQln b3RvIGVycl93ZWRnZWQ7CiAKIAkJaW50ZWxfZW5naW5lX3BtX2dldChlbmdpbmUpOwpAQCAtMTI2 MCw3ICsxMjYwLDcgQEAgc3RhdGljIGludCBsaXZlX3N1cHByZXNzX3NlbGZfcHJlZW1wdCh2b2lk ICphcmcpCiAJCX0KIAogCQlpbnRlbF9lbmdpbmVfcG1fcHV0KGVuZ2luZSk7Ci0JCWlmIChpZ3Rf Zmx1c2hfdGVzdChndC0+aTkxNSkpCisJCWlmIChpZ3RfZmx1c2hfdGVzdChndCkpCiAJCQlnb3Rv IGVycl93ZWRnZWQ7CiAJfQogCkBAIC0xNDE0LDcgKzE0MTQsNyBAQCBzdGF0aWMgaW50IGxpdmVf c3VwcHJlc3Nfd2FpdF9wcmVlbXB0KHZvaWQgKmFyZykKIAkJCWZvciAoaSA9IDA7IGkgPCBBUlJB WV9TSVpFKGNsaWVudCk7IGkrKykKIAkJCQlpZ3Rfc3Bpbm5lcl9lbmQoJmNsaWVudFtpXS5zcGlu KTsKIAotCQkJaWYgKGlndF9mbHVzaF90ZXN0KGd0LT5pOTE1KSkKKwkJCWlmIChpZ3RfZmx1c2hf dGVzdChndCkpCiAJCQkJZ290byBlcnJfd2VkZ2VkOwogCiAJCQlpZiAoZW5naW5lLT5leGVjbGlz dHMucHJlZW1wdF9oYW5nLmNvdW50KSB7CkBAIC0xNTAxLDcgKzE1MDEsNyBAQCBzdGF0aWMgaW50 IGxpdmVfY2hhaW5fcHJlZW1wdCh2b2lkICphcmcpCiAJCQlnb3RvIGVycl93ZWRnZWQ7CiAJCX0K IAotCQlpZiAoaWd0X2xpdmVfdGVzdF9iZWdpbigmdCwgZ3QtPmk5MTUsIF9fZnVuY19fLCBlbmdp bmUtPm5hbWUpKSB7CisJCWlmIChpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBndCwgX19mdW5jX18s IGVuZ2luZS0+bmFtZSkpIHsKIAkJCWVyciA9IC1FSU87CiAJCQlnb3RvIGVycl93ZWRnZWQ7CiAJ CX0KQEAgLTE2NzksNyArMTY3OSw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9wcmVlbXB0X2hhbmcodm9p ZCAqYXJnKQogCiAJCWlndF9zcGlubmVyX2VuZCgmc3Bpbl9oaSk7CiAJCWlndF9zcGlubmVyX2Vu ZCgmc3Bpbl9sbyk7Ci0JCWlmIChpZ3RfZmx1c2hfdGVzdChndC0+aTkxNSkpIHsKKwkJaWYgKGln dF9mbHVzaF90ZXN0KGd0KSkgewogCQkJZXJyID0gLUVJTzsKIAkJCWdvdG8gZXJyX2N0eF9sbzsK IAkJfQpAQCAtMTkxNCw3ICsxOTE0LDcgQEAgc3RhdGljIGludCBsaXZlX3ByZWVtcHRfc21va2Uo dm9pZCAqYXJnKQogCWk5MTVfZ2VtX29iamVjdF9mbHVzaF9tYXAoc21va2UuYmF0Y2gpOwogCWk5 MTVfZ2VtX29iamVjdF91bnBpbl9tYXAoc21va2UuYmF0Y2gpOwogCi0JaWYgKGlndF9saXZlX3Rl c3RfYmVnaW4oJnQsIHNtb2tlLmd0LT5pOTE1LCBfX2Z1bmNfXywgImFsbCIpKSB7CisJaWYgKGln dF9saXZlX3Rlc3RfYmVnaW4oJnQsIHNtb2tlLmd0LCBfX2Z1bmNfXywgImFsbCIpKSB7CiAJCWVy ciA9IC1FSU87CiAJCWdvdG8gZXJyX2JhdGNoOwogCX0KQEAgLTE5OTcsNyArMTk5Nyw3IEBAIHN0 YXRpYyBpbnQgbm9wX3ZpcnR1YWxfZW5naW5lKHN0cnVjdCBpbnRlbF9ndCAqZ3QsCiAJCX0KIAl9 CiAKLQllcnIgPSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBndC0+aTkxNSwgX19mdW5jX18sIHZl WzBdLT5lbmdpbmUtPm5hbWUpOworCWVyciA9IGlndF9saXZlX3Rlc3RfYmVnaW4oJnQsIGd0LCBf X2Z1bmNfXywgdmVbMF0tPmVuZ2luZS0+bmFtZSk7CiAJaWYgKGVycikKIAkJZ290byBvdXQ7CiAK QEAgLTIwNjYsNyArMjA2Niw3IEBAIHN0YXRpYyBpbnQgbm9wX3ZpcnR1YWxfZW5naW5lKHN0cnVj dCBpbnRlbF9ndCAqZ3QsCiAJCXByaW1lLCBkaXY2NF91NjQoa3RpbWVfdG9fbnModGltZXNbMV0p LCBwcmltZSkpOwogCiBvdXQ6Ci0JaWYgKGlndF9mbHVzaF90ZXN0KGd0LT5pOTE1KSkKKwlpZiAo aWd0X2ZsdXNoX3Rlc3QoZ3QpKQogCQllcnIgPSAtRUlPOwogCiAJZm9yIChuYyA9IDA7IG5jIDwg bmN0eDsgbmMrKykgewpAQCAtMjE1Niw3ICsyMTU2LDcgQEAgc3RhdGljIGludCBtYXNrX3ZpcnR1 YWxfZW5naW5lKHN0cnVjdCBpbnRlbF9ndCAqZ3QsCiAJaWYgKGVycikKIAkJZ290byBvdXRfcHV0 OwogCi0JZXJyID0gaWd0X2xpdmVfdGVzdF9iZWdpbigmdCwgZ3QtPmk5MTUsIF9fZnVuY19fLCB2 ZS0+ZW5naW5lLT5uYW1lKTsKKwllcnIgPSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBndCwgX19m dW5jX18sIHZlLT5lbmdpbmUtPm5hbWUpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3VucGluOwog CkBAIC0yMjAzLDcgKzIyMDMsNyBAQCBzdGF0aWMgaW50IG1hc2tfdmlydHVhbF9lbmdpbmUoc3Ry dWN0IGludGVsX2d0ICpndCwKIAogCWVyciA9IGlndF9saXZlX3Rlc3RfZW5kKCZ0KTsKIG91dDoK LQlpZiAoaWd0X2ZsdXNoX3Rlc3QoZ3QtPmk5MTUpKQorCWlmIChpZ3RfZmx1c2hfdGVzdChndCkp CiAJCWVyciA9IC1FSU87CiAKIAlmb3IgKG4gPSAwOyBuIDwgbnNpYmxpbmc7IG4rKykKQEAgLTIy ODIsNyArMjI4Miw3IEBAIHN0YXRpYyBpbnQgcHJlc2VydmVkX3ZpcnR1YWxfZW5naW5lKHN0cnVj dCBpbnRlbF9ndCAqZ3QsCiAJaWYgKGVycikKIAkJZ290byBvdXRfcHV0OwogCi0JZXJyID0gaWd0 X2xpdmVfdGVzdF9iZWdpbigmdCwgZ3QtPmk5MTUsIF9fZnVuY19fLCB2ZS0+ZW5naW5lLT5uYW1l KTsKKwllcnIgPSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCBndCwgX19mdW5jX18sIHZlLT5lbmdp bmUtPm5hbWUpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X3VucGluOwogCkBAIC0yNTI3LDcgKzI1 MjcsNyBAQCBzdGF0aWMgaW50IGJvbmRfdmlydHVhbF9lbmdpbmUoc3RydWN0IGludGVsX2d0ICpn dCwKIG91dDoKIAlmb3IgKG4gPSAwOyAhSVNfRVJSKHJxW25dKTsgbisrKQogCQlpOTE1X3JlcXVl c3RfcHV0KHJxW25dKTsKLQlpZiAoaWd0X2ZsdXNoX3Rlc3QoZ3QtPmk5MTUpKQorCWlmIChpZ3Rf Zmx1c2hfdGVzdChndCkpCiAJCWVyciA9IC1FSU87CiAKIAlrZXJuZWxfY29udGV4dF9jbG9zZShj dHgpOwpAQCAtMjg2MCw3ICsyODYwLDcgQEAgc3RhdGljIGludCBsaXZlX2xyY19zdGF0ZSh2b2lk ICphcmcpCiAJCQlicmVhazsKIAl9CiAKLQlpZiAoaWd0X2ZsdXNoX3Rlc3QoZ3QtPmk5MTUpKQor CWlmIChpZ3RfZmx1c2hfdGVzdChndCkpCiAJCWVyciA9IC1FSU87CiAKIAlpOTE1X3ZtYV91bnBp bl9hbmRfcmVsZWFzZSgmc2NyYXRjaCwgMCk7CkBAIC0zMDAzLDcgKzMwMDMsNyBAQCBzdGF0aWMg aW50IGxpdmVfZ3ByX2NsZWFyKHZvaWQgKmFyZykKIAkJCWJyZWFrOwogCX0KIAotCWlmIChpZ3Rf Zmx1c2hfdGVzdChndC0+aTkxNSkpCisJaWYgKGlndF9mbHVzaF90ZXN0KGd0KSkKIAkJZXJyID0g LUVJTzsKIAogCWk5MTVfdm1hX3VucGluX2FuZF9yZWxlYXNlKCZzY3JhdGNoLCAwKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF90aW1lbGluZS5jCmluZGV4IGRhYzg2ZjY5OWE0 Yy4uYWJkY2JiM2I4NjMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxm dGVzdF90aW1lbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3Rp bWVsaW5lLmMKQEAgLTU1MSw3ICs1NTEsNyBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9lbmdpbmUo dm9pZCAqYXJnKQogCQkJYnJlYWs7CiAJfQogCi0JaWYgKGlndF9mbHVzaF90ZXN0KGd0LT5pOTE1 KSkKKwlpZiAoaWd0X2ZsdXNoX3Rlc3QoZ3QpKQogCQllcnIgPSAtRUlPOwogCiAJZm9yIChuID0g MDsgbiA8IGNvdW50OyBuKyspIHsKQEAgLTYyMyw3ICs2MjMsNyBAQCBzdGF0aWMgaW50IGxpdmVf aHdzcF9hbHRlcm5hdGUodm9pZCAqYXJnKQogCX0KIAogb3V0OgotCWlmIChpZ3RfZmx1c2hfdGVz dChndC0+aTkxNSkpCisJaWYgKGlndF9mbHVzaF90ZXN0KGd0KSkKIAkJZXJyID0gLUVJTzsKIAog CWZvciAobiA9IDA7IG4gPCBjb3VudDsgbisrKSB7CkBAIC03NDIsNyArNzQyLDcgQEAgc3RhdGlj IGludCBsaXZlX2h3c3Bfd3JhcCh2b2lkICphcmcpCiAJfQogCiBvdXQ6Ci0JaWYgKGlndF9mbHVz aF90ZXN0KGd0LT5pOTE1KSkKKwlpZiAoaWd0X2ZsdXNoX3Rlc3QoZ3QpKQogCQllcnIgPSAtRUlP OwogCiAJaW50ZWxfdGltZWxpbmVfdW5waW4odGwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMKaW5kZXggZWYwMjkyMGNlYzI5Li5jNDg3N2NjODFm Y2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3dvcmthcm91 bmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMu YwpAQCAtNjkzLDcgKzY5Myw3IEBAIHN0YXRpYyBpbnQgY2hlY2tfZGlydHlfd2hpdGVsaXN0KHN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJCQlicmVhazsKIAl9CiAKLQlpZiAoaWd0X2Zs dXNoX3Rlc3QoY3R4LT5pOTE1KSkKKwlpZiAoaWd0X2ZsdXNoX3Rlc3QoJmN0eC0+aTkxNS0+Z3Qp KQogCQllcnIgPSAtRUlPOwogb3V0X2JhdGNoOgogCWk5MTVfdm1hX3VucGluX2FuZF9yZWxlYXNl KCZiYXRjaCwgMCk7CkBAIC0xMTA1LDcgKzExMDUsNyBAQCBzdGF0aWMgaW50IGxpdmVfaXNvbGF0 ZWRfd2hpdGVsaXN0KHZvaWQgKmFyZykKIAkJa2VybmVsX2NvbnRleHRfY2xvc2UoY2xpZW50W2ld LmN0eCk7CiAJfQogCi0JaWYgKGlndF9mbHVzaF90ZXN0KGd0LT5pOTE1KSkKKwlpZiAoaWd0X2Zs dXNoX3Rlc3QoZ3QpKQogCQllcnIgPSAtRUlPOwogCiAJcmV0dXJuIGVycjsKQEAgLTEyNjEsNyAr MTI2MSw3IEBAIGxpdmVfZW5naW5lX3Jlc2V0X3dvcmthcm91bmRzKHZvaWQgKmFyZykKIAlpZ3Rf Z2xvYmFsX3Jlc2V0X3VubG9jayhndCk7CiAJa2VybmVsX2NvbnRleHRfY2xvc2UoY3R4KTsKIAot CWlndF9mbHVzaF90ZXN0KGd0LT5pOTE1KTsKKwlpZ3RfZmx1c2hfdGVzdChndCk7CiAKIAlyZXR1 cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5 MTVfYWN0aXZlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9hY3RpdmUu YwppbmRleCAyNjgxOTJiNTYxM2IuLmFkZTVlNGEwYzEyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfYWN0aXZlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL2k5MTVfYWN0aXZlLmMKQEAgLTE2Miw3ICsxNjIsNyBAQCBzdGF0aWMg aW50IGxpdmVfYWN0aXZlX3dhaXQodm9pZCAqYXJnKQogCiAJX19saXZlX3B1dChhY3RpdmUpOwog Ci0JaWYgKGlndF9mbHVzaF90ZXN0KGk5MTUpKQorCWlmIChpZ3RfZmx1c2hfdGVzdCgmaTkxNS0+ Z3QpKQogCQllcnIgPSAtRUlPOwogCiAJcmV0dXJuIGVycjsKQEAgLTE4MSw3ICsxODEsNyBAQCBz dGF0aWMgaW50IGxpdmVfYWN0aXZlX3JldGlyZSh2b2lkICphcmcpCiAJCXJldHVybiBQVFJfRVJS KGFjdGl2ZSk7CiAKIAkvKiB3YWl0cyBmb3IgJiByZXRpcmVzIGFsbCByZXF1ZXN0cyAqLwotCWlm IChpZ3RfZmx1c2hfdGVzdChpOTE1KSkKKwlpZiAoaWd0X2ZsdXNoX3Rlc3QoJmk5MTUtPmd0KSkK IAkJZXJyID0gLUVJTzsKIAogCWlmICghUkVBRF9PTkNFKGFjdGl2ZS0+cmV0aXJlZCkpIHsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ldmljdC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2V2aWN0LmMKaW5kZXgg MGFmOWE1OGQwMTFkLi4zMDA5NjdlYTYyNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ldmljdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ldmljdC5jCkBAIC01MjAsNyArNTIwLDcgQEAgc3RhdGljIGlu dCBpZ3RfZXZpY3RfY29udGV4dHModm9pZCAqYXJnKQogCiAJbXV0ZXhfbG9jaygmaTkxNS0+Z2d0 dC52bS5tdXRleCk7CiBvdXRfbG9ja2VkOgotCWlmIChpZ3RfZmx1c2hfdGVzdChpOTE1KSkKKwlp ZiAoaWd0X2ZsdXNoX3Rlc3QoJmk5MTUtPmd0KSkKIAkJZXJyID0gLUVJTzsKIAl3aGlsZSAocmVz ZXJ2ZWQpIHsKIAkJc3RydWN0IHJlc2VydmVkICpuZXh0ID0gcmVzZXJ2ZWQtPm5leHQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKaW5kZXggZWJlNzM1 ZGY2NTA0Li42MzIxYmY5MWY1YzcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvaTkxNV9nZW1fZ3R0LmMKQEAgLTIwMDMsNyArMjAwMyw3IEBAIHN0YXRpYyBpbnQgaWd0X2Nz X3RsYih2b2lkICphcmcpCiAJCX0KIAl9CiBlbmQ6Ci0JaWYgKGlndF9mbHVzaF90ZXN0KGk5MTUp KQorCWlmIChpZ3RfZmx1c2hfdGVzdCgmaTkxNS0+Z3QpKQogCQllcnIgPSAtRUlPOwogCWk5MTVf Z2VtX2NvbnRleHRfdW5sb2NrX2VuZ2luZXMoY3R4KTsKIAlpOTE1X2dlbV9vYmplY3RfdW5waW5f bWFwKG91dCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0 LmMKaW5kZXggMzBhZTM0ZjYyMTc2Li5jOWFjM2RkNGRiZGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3JlcXVlc3QuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0LmMKQEAgLTUzNSw3ICs1MzUsOCBAQCBzdGF0 aWMgaW50IGxpdmVfbm9wX3JlcXVlc3Qodm9pZCAqYXJnKQogCQlJR1RfVElNRU9VVChlbmRfdGlt ZSk7CiAJCWt0aW1lX3QgdGltZXNbMl0gPSB7fTsKIAotCQllcnIgPSBpZ3RfbGl2ZV90ZXN0X2Jl Z2luKCZ0LCBpOTE1LCBfX2Z1bmNfXywgZW5naW5lLT5uYW1lKTsKKwkJZXJyID0gaWd0X2xpdmVf dGVzdF9iZWdpbigmdCwgZW5naW5lLT5ndCwKKwkJCQkJICBfX2Z1bmNfXywgZW5naW5lLT5uYW1l KTsKIAkJaWYgKGVycikKIAkJCXJldHVybiBlcnI7CiAKQEAgLTY4Nyw3ICs2ODgsOCBAQCBzdGF0 aWMgaW50IGxpdmVfZW1wdHlfcmVxdWVzdCh2b2lkICphcmcpCiAJCXVuc2lnbmVkIGxvbmcgbiwg cHJpbWU7CiAJCWt0aW1lX3QgdGltZXNbMl0gPSB7fTsKIAotCQllcnIgPSBpZ3RfbGl2ZV90ZXN0 X2JlZ2luKCZ0LCBpOTE1LCBfX2Z1bmNfXywgZW5naW5lLT5uYW1lKTsKKwkJZXJyID0gaWd0X2xp dmVfdGVzdF9iZWdpbigmdCwgZW5naW5lLT5ndCwKKwkJCQkJICBfX2Z1bmNfXywgZW5naW5lLT5u YW1lKTsKIAkJaWYgKGVycikKIAkJCWdvdG8gb3V0X2JhdGNoOwogCkBAIC04MzEsNyArODMzLDcg QEAgc3RhdGljIGludCBsaXZlX2FsbF9lbmdpbmVzKHZvaWQgKmFyZykKIAlpZiAoIXJlcXVlc3Qp CiAJCXJldHVybiAtRU5PTUVNOwogCi0JZXJyID0gaWd0X2xpdmVfdGVzdF9iZWdpbigmdCwgaTkx NSwgX19mdW5jX18sICIiKTsKKwllcnIgPSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZ0LCAmaTkxNS0+ Z3QsIF9fZnVuY19fLCAiIik7CiAJaWYgKGVycikKIAkJZ290byBvdXRfZnJlZTsKIApAQCAtOTQ1 LDcgKzk0Nyw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9zZXF1ZW50aWFsX2VuZ2luZXModm9pZCAqYXJn KQogCWlmICghcmVxdWVzdCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQllcnIgPSBpZ3RfbGl2ZV90 ZXN0X2JlZ2luKCZ0LCBpOTE1LCBfX2Z1bmNfXywgIiIpOworCWVyciA9IGlndF9saXZlX3Rlc3Rf YmVnaW4oJnQsICZpOTE1LT5ndCwgX19mdW5jX18sICIiKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91 dF9mcmVlOwogCkBAIC0xMTQyLDcgKzExNDQsNyBAQCBzdGF0aWMgaW50IGxpdmVfcGFyYWxsZWxf ZW5naW5lcyh2b2lkICphcmcpCiAJCXN0cnVjdCBpZ3RfbGl2ZV90ZXN0IHQ7CiAJCXVuc2lnbmVk IGludCBpZHg7CiAKLQkJZXJyID0gaWd0X2xpdmVfdGVzdF9iZWdpbigmdCwgaTkxNSwgX19mdW5j X18sICIiKTsKKwkJZXJyID0gaWd0X2xpdmVfdGVzdF9iZWdpbigmdCwgJmk5MTUtPmd0LCBfX2Z1 bmNfXywgIiIpOwogCQlpZiAoZXJyKQogCQkJYnJlYWs7CiAKQEAgLTEyNzgsNyArMTI4MCw3IEBA IHN0YXRpYyBpbnQgbGl2ZV9icmVhZGNydW1ic19zbW9rZXRlc3Qodm9pZCAqYXJnKQogCQl9CiAJ fQogCi0JcmV0ID0gaWd0X2xpdmVfdGVzdF9iZWdpbigmbGl2ZSwgaTkxNSwgX19mdW5jX18sICIi KTsKKwlyZXQgPSBpZ3RfbGl2ZV90ZXN0X2JlZ2luKCZsaXZlLCAmaTkxNS0+Z3QsIF9fZnVuY19f LCAiIik7CiAJaWYgKHJldCkKIAkJZ290byBvdXRfY29udGV4dHM7CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3NlbGZ0ZXN0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9zZWxmdGVzdC5jCmluZGV4IDgyNWE4Mjg2Y2JlOC4u ZDgzNjc5ZDRmMWMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aTkxNV9zZWxmdGVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X3NlbGZ0ZXN0LmMKQEAgLTI2Myw3ICsyNjMsNyBAQCBpbnQgX19pOTE1X2xpdmVfdGVhcmRvd24o aW50IGVyciwgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 IGRhdGE7CiAKLQlpZiAoaWd0X2ZsdXNoX3Rlc3QoaTkxNSkpCisJaWYgKGlndF9mbHVzaF90ZXN0 KCZpOTE1LT5ndCkpCiAJCWVyciA9IC1FSU87CiAKIAlpOTE1X2dlbV9kcmFpbl9mcmVlZF9vYmpl Y3RzKGk5MTUpOwpAQCAtMjgyLDcgKzI4Miw3IEBAIGludCBfX2ludGVsX2d0X2xpdmVfdGVhcmRv d24oaW50IGVyciwgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZ3QgKmd0ID0gZGF0YTsK IAotCWlmIChpZ3RfZmx1c2hfdGVzdChndC0+aTkxNSkpCisJaWYgKGlndF9mbHVzaF90ZXN0KGd0 KSkKIAkJZXJyID0gLUVJTzsKIAogCWk5MTVfZ2VtX2RyYWluX2ZyZWVkX29iamVjdHMoZ3QtPmk5 MTUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9mbHVz aF90ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaWd0X2ZsdXNoX3Rlc3Qu YwppbmRleCA3YjA5MzllM2YwMDcuLjI1ZWY0MzVhZjA1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9mbHVzaF90ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9mbHVzaF90ZXN0LmMKQEAgLTEyLDkgKzEyLDggQEAKIAog I2luY2x1ZGUgImlndF9mbHVzaF90ZXN0LmgiCiAKLWludCBpZ3RfZmx1c2hfdGVzdChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK2ludCBpZ3RfZmx1c2hfdGVzdChzdHJ1Y3QgaW50ZWxf Z3QgKmd0KQogewotCXN0cnVjdCBpbnRlbF9ndCAqZ3QgPSAmaTkxNS0+Z3Q7CiAJaW50IHJldCA9 IGludGVsX2d0X2lzX3dlZGdlZChndCkgPyAtRUlPIDogMDsKIAogCWNvbmRfcmVzY2hlZCgpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9mbHVzaF90ZXN0 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaWd0X2ZsdXNoX3Rlc3QuaAppbmRl eCA3NTQxZmE3NGU2NDEuLmQ1MjJjZTExZjBlMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL2lndF9mbHVzaF90ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2lndF9mbHVzaF90ZXN0LmgKQEAgLTcsOCArNyw4IEBACiAjaWZuZGVmIElH VF9GTFVTSF9URVNUX0gKICNkZWZpbmUgSUdUX0ZMVVNIX1RFU1RfSAogCi1zdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZTsKK3N0cnVjdCBpbnRlbF9ndDsKIAotaW50IGlndF9mbHVzaF90ZXN0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKK2ludCBpZ3RfZmx1c2hfdGVzdChzdHJ1Y3QgaW50 ZWxfZ3QgKmd0KTsKIAogI2VuZGlmIC8qIElHVF9GTFVTSF9URVNUX0ggKi8KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3RfbGl2ZV90ZXN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaWd0X2xpdmVfdGVzdC5jCmluZGV4IDgxMGI2MDEwMGMy Yy4uMTI4OTNiZmZkMGExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvaWd0X2xpdmVfdGVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p Z3RfbGl2ZV90ZXN0LmMKQEAgLTEyLDU4ICsxMiw1OCBAQAogI2luY2x1ZGUgImlndF9saXZlX3Rl c3QuaCIKIAogaW50IGlndF9saXZlX3Rlc3RfYmVnaW4oc3RydWN0IGlndF9saXZlX3Rlc3QgKnQs Ci0JCQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCXN0cnVjdCBpbnRlbF9ndCAq Z3QsCiAJCQljb25zdCBjaGFyICpmdW5jLAogCQkJY29uc3QgY2hhciAqbmFtZSkKIHsKKwlzdHJ1 Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yID0gJmd0LT5pOTE1LT5ncHVfZXJyb3I7CiAJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwogCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOwogCWlu dCBlcnI7CiAKLQl0LT5pOTE1ID0gaTkxNTsKKwl0LT5ndCA9IGd0OwogCXQtPmZ1bmMgPSBmdW5j OwogCXQtPm5hbWUgPSBuYW1lOwogCi0JZXJyID0gaW50ZWxfZ3Rfd2FpdF9mb3JfaWRsZSgmaTkx NS0+Z3QsIE1BWF9TQ0hFRFVMRV9USU1FT1VUKTsKKwllcnIgPSBpbnRlbF9ndF93YWl0X2Zvcl9p ZGxlKGd0LCBNQVhfU0NIRURVTEVfVElNRU9VVCk7CiAJaWYgKGVycikgewogCQlwcl9lcnIoIiVz KCVzKTogZmFpbGVkIHRvIGlkbGUgYmVmb3JlLCB3aXRoIGVycj0lZCEiLAogCQkgICAgICAgZnVu YywgbmFtZSwgZXJyKTsKIAkJcmV0dXJuIGVycjsKIAl9CiAKLQl0LT5yZXNldF9nbG9iYWwgPSBp OTE1X3Jlc2V0X2NvdW50KCZpOTE1LT5ncHVfZXJyb3IpOworCXQtPnJlc2V0X2dsb2JhbCA9IGk5 MTVfcmVzZXRfY291bnQoZXJyb3IpOwogCi0JZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwg aWQpCi0JCXQtPnJlc2V0X2VuZ2luZVtpZF0gPQotCQkJaTkxNV9yZXNldF9lbmdpbmVfY291bnQo Jmk5MTUtPmdwdV9lcnJvciwgZW5naW5lKTsKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBndCwg aWQpCisJCXQtPnJlc2V0X2VuZ2luZVtpZF0gPSBpOTE1X3Jlc2V0X2VuZ2luZV9jb3VudChlcnJv ciwgZW5naW5lKTsKIAogCXJldHVybiAwOwogfQogCiBpbnQgaWd0X2xpdmVfdGVzdF9lbmQoc3Ry dWN0IGlndF9saXZlX3Rlc3QgKnQpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUg PSB0LT5pOTE1OworCXN0cnVjdCBpOTE1X2dwdV9lcnJvciAqZXJyb3IgPSAmdC0+Z3QtPmk5MTUt PmdwdV9lcnJvcjsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CiAJZW51bSBpbnRl bF9lbmdpbmVfaWQgaWQ7CiAKLQlpZiAoaWd0X2ZsdXNoX3Rlc3QoaTkxNSkpCisJaWYgKGlndF9m bHVzaF90ZXN0KHQtPmd0KSkKIAkJcmV0dXJuIC1FSU87CiAKLQlpZiAodC0+cmVzZXRfZ2xvYmFs ICE9IGk5MTVfcmVzZXRfY291bnQoJmk5MTUtPmdwdV9lcnJvcikpIHsKKwlpZiAodC0+cmVzZXRf Z2xvYmFsICE9IGk5MTVfcmVzZXRfY291bnQoZXJyb3IpKSB7CiAJCXByX2VycigiJXMoJXMpOiBH UFUgd2FzIHJlc2V0ICVkIHRpbWVzIVxuIiwKIAkJICAgICAgIHQtPmZ1bmMsIHQtPm5hbWUsCi0J CSAgICAgICBpOTE1X3Jlc2V0X2NvdW50KCZpOTE1LT5ncHVfZXJyb3IpIC0gdC0+cmVzZXRfZ2xv YmFsKTsKKwkJICAgICAgIGk5MTVfcmVzZXRfY291bnQoZXJyb3IpIC0gdC0+cmVzZXRfZ2xvYmFs KTsKIAkJcmV0dXJuIC1FSU87CiAJfQogCi0JZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwg aWQpIHsKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCB0LT5ndCwgaWQpIHsKIAkJaWYgKHQtPnJl c2V0X2VuZ2luZVtpZF0gPT0KLQkJICAgIGk5MTVfcmVzZXRfZW5naW5lX2NvdW50KCZpOTE1LT5n cHVfZXJyb3IsIGVuZ2luZSkpCisJCSAgICBpOTE1X3Jlc2V0X2VuZ2luZV9jb3VudChlcnJvciwg ZW5naW5lKSkKIAkJCWNvbnRpbnVlOwogCiAJCXByX2VycigiJXMoJXMpOiBlbmdpbmUgJyVzJyB3 YXMgcmVzZXQgJWQgdGltZXMhXG4iLAogCQkgICAgICAgdC0+ZnVuYywgdC0+bmFtZSwgZW5naW5l LT5uYW1lLAotCQkgICAgICAgaTkxNV9yZXNldF9lbmdpbmVfY291bnQoJmk5MTUtPmdwdV9lcnJv ciwgZW5naW5lKSAtCisJCSAgICAgICBpOTE1X3Jlc2V0X2VuZ2luZV9jb3VudChlcnJvciwgZW5n aW5lKSAtCiAJCSAgICAgICB0LT5yZXNldF9lbmdpbmVbaWRdKTsKIAkJcmV0dXJuIC1FSU87CiAJ fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9saXZlX3Rl c3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3RfbGl2ZV90ZXN0LmgKaW5k ZXggYzBlOWY5OWQ1MGRlLi4yMzQ2NjZlOTMyMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pZ3RfbGl2ZV90ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2lndF9saXZlX3Rlc3QuaApAQCAtNywxMiArNywxMiBAQAogI2lmbmRlZiBJ R1RfTElWRV9URVNUX0gKICNkZWZpbmUgSUdUX0xJVkVfVEVTVF9ICiAKLSNpbmNsdWRlICIuLi9p OTE1X2dlbS5oIgorI2luY2x1ZGUgImd0L2ludGVsX2VuZ2luZV90eXBlcy5oIiAvKiBJOTE1X05V TV9FTkdJTkVTICovCiAKLXN0cnVjdCBkcm1faTkxNV9wcml2YXRlOworc3RydWN0IGludGVsX2d0 OwogCiBzdHJ1Y3QgaWd0X2xpdmVfdGVzdCB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTU7CisJc3RydWN0IGludGVsX2d0ICpndDsKIAljb25zdCBjaGFyICpmdW5jOwogCWNvbnN0IGNo YXIgKm5hbWU7CiAKQEAgLTI3LDcgKzI3LDcgQEAgc3RydWN0IGlndF9saXZlX3Rlc3QgewogICog ZS5nLiBpZiB0aGUgR1BVIHdhcyByZXNldC4KICAqLwogaW50IGlndF9saXZlX3Rlc3RfYmVnaW4o c3RydWN0IGlndF9saXZlX3Rlc3QgKnQsCi0JCQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwKKwkJCXN0cnVjdCBpbnRlbF9ndCAqZ3QsCiAJCQljb25zdCBjaGFyICpmdW5jLAogCQkJY29u c3QgY2hhciAqbmFtZSk7CiBpbnQgaWd0X2xpdmVfdGVzdF9lbmQoc3RydWN0IGlndF9saXZlX3Rl c3QgKnQpOwotLSAKMi4yNC4wLnJjMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4