From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id C14E8891FD for ; Fri, 21 Jun 2019 10:02:22 +0000 (UTC) From: Ramalingam C Date: Fri, 21 Jun 2019 15:33:45 +0530 Message-Id: <20190621100345.20019-44-ramalingam.c@intel.com> In-Reply-To: <20190621100345.20019-1-ramalingam.c@intel.com> References: <20190621100345.20019-1-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC v2 43/43] lib/gem_engine_topology: rename the macros 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, tvrtko.ursulin@linux.intel.com, andi@etezian.org List-ID: JXMvX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUvZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lCiVz L19fZm9yX2VhY2hfc3RhdGljX2VuZ2luZS9mb3JfZWFjaF9zdGF0aWNfZW5naW5lCgpTaWduZWQt b2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQogbGliL2k5 MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5jICB8ICA2ICsrLS0tCiBsaWIvaTkxNS9nZW1fZW5naW5l X3RvcG9sb2d5LmggIHwgIDQgKystLQogbGliL2k5MTUvZ2VtX3N1Ym1pc3Npb24uYyAgICAgICB8 ICAyICstCiB0ZXN0cy9hbWRncHUvYW1kX3ByaW1lLmMgICAgICAgIHwgIDIgKy0KIHRlc3RzL2k5 MTUvZ2VtX2JhZF9yZWxvYy5jICAgICAgfCAgMiArLQogdGVzdHMvaTkxNS9nZW1fYnVzeS5jICAg ICAgICAgICB8IDIwICsrKysrKysrLS0tLS0tLS0tCiB0ZXN0cy9pOTE1L2dlbV9jb25jdXJyZW50 X2FsbC5jIHwgIDIgKy0KIHRlc3RzL2k5MTUvZ2VtX2NzX3ByZWZldGNoLmMgICAgfCAgMiArLQog dGVzdHMvaTkxNS9nZW1fY3NfdGxiLmMgICAgICAgICB8ICAyICstCiB0ZXN0cy9pOTE1L2dlbV9j dHhfY3JlYXRlLmMgICAgIHwgIDQgKystLQogdGVzdHMvaTkxNS9nZW1fY3R4X2VuZ2luZXMuYyAg ICB8IDEwICsrKystLS0tLQogdGVzdHMvaTkxNS9nZW1fY3R4X2V4ZWMuYyAgICAgICB8ICAyICst CiB0ZXN0cy9pOTE1L2dlbV9jdHhfc2hhcmVkLmMgICAgIHwgIDggKysrLS0tLQogdGVzdHMvaTkx NS9nZW1fY3R4X3N3aXRjaC5jICAgICB8ICA0ICsrLS0KIHRlc3RzL2k5MTUvZ2VtX2N0eF90aHJh c2guYyAgICAgfCAgNCArKy0tCiB0ZXN0cy9pOTE1L2dlbV9laW8uYyAgICAgICAgICAgIHwgMTIg KysrKystLS0tLQogdGVzdHMvaTkxNS9nZW1fZXhlY19hc3luYy5jICAgICB8ICA0ICsrLS0KIHRl c3RzL2k5MTUvZ2VtX2V4ZWNfYXdhaXQuYyAgICAgfCAgMiArLQogdGVzdHMvaTkxNS9nZW1fZXhl Y19iYXNpYy5jICAgICB8ICA4ICsrKy0tLS0KIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfY2FwdHVyZS5j ICAgfCAgMiArLQogdGVzdHMvaTkxNS9nZW1fZXhlY19jcmVhdGUuYyAgICB8ICAyICstCiB0ZXN0 cy9pOTE1L2dlbV9leGVjX2ZlbmNlLmMgICAgIHwgMTIgKysrKystLS0tLQogdGVzdHMvaTkxNS9n ZW1fZXhlY19mbHVzaC5jICAgICB8ICAyICstCiB0ZXN0cy9pOTE1L2dlbV9leGVjX2d0dGZpbGwu YyAgIHwgIDQgKystLQogdGVzdHMvaTkxNS9nZW1fZXhlY19sYXRlbmN5LmMgICB8ICA2ICsrLS0t CiB0ZXN0cy9pOTE1L2dlbV9leGVjX25vcC5jICAgICAgIHwgMTYgKysrKysrLS0tLS0tLQogdGVz dHMvaTkxNS9nZW1fZXhlY19wYXJhbGxlbC5jICB8ICA0ICsrLS0KIHRlc3RzL2k5MTUvZ2VtX2V4 ZWNfcGFyYW1zLmMgICAgfCAgNCArKy0tCiB0ZXN0cy9pOTE1L2dlbV9leGVjX3JlbG9jLmMgICAg IHwgIDQgKystLQogdGVzdHMvaTkxNS9nZW1fZXhlY19yZXVzZS5jICAgICB8ICAyICstCiB0ZXN0 cy9pOTE1L2dlbV9leGVjX3NjaGVkdWxlLmMgIHwgNDAgKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tCiB0ZXN0cy9pOTE1L2dlbV9leGVjX3N0b3JlLmMgICAgIHwgIDQgKystLQogdGVz dHMvaTkxNS9nZW1fZXhlY19zdXNwZW5kLmMgICB8ICA2ICsrLS0tCiB0ZXN0cy9pOTE1L2dlbV9l eGVjX3doaXNwZXIuYyAgIHwgIDQgKystLQogdGVzdHMvaTkxNS9nZW1fbW9jc19zZXR0aW5ncy5j ICB8ICAyICstCiB0ZXN0cy9pOTE1L2dlbV9yZXNldF9zdGF0cy5jICAgIHwgIDYgKystLS0KIHRl c3RzL2k5MTUvZ2VtX3Jpbmdfc3luY19sb29wLmMgfCAgMiArLQogdGVzdHMvaTkxNS9nZW1fcmlu Z2ZpbGwuYyAgICAgICB8ICAyICstCiB0ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYyAgICAgICAgIHwg IDQgKystLQogdGVzdHMvaTkxNS9nZW1fc3Bpbl9iYXRjaC5jICAgICB8ICA2ICsrLS0tCiB0ZXN0 cy9pOTE1L2dlbV9zdG9yZWR3X2xvb3AuYyAgIHwgIDIgKy0KIHRlc3RzL2k5MTUvZ2VtX3N5bmMu YyAgICAgICAgICAgfCAyNCArKysrKysrKysrLS0tLS0tLS0tLQogdGVzdHMvaTkxNS9nZW1fdXNl cnB0cl9ibGl0cy5jICB8ICAyICstCiB0ZXN0cy9pOTE1L2dlbV93YWl0LmMgICAgICAgICAgIHwg IDQgKystLQogdGVzdHMvaTkxNS9pOTE1X2hhbmdtYW4uYyAgICAgICB8ICAyICstCiB0ZXN0cy9p OTE1L2k5MTVfbW9kdWxlX2xvYWQuYyAgIHwgIDQgKystLQogdGVzdHMvcGVyZl9wbXUuYyAgICAg ICAgICAgICAgICB8IDEyICsrKysrLS0tLS0KIHRlc3RzL3ByaW1lX2J1c3kuYyAgICAgICAgICAg ICAgfCAgMiArLQogdGVzdHMvcHJpbWVfdmdlbS5jICAgICAgICAgICAgICB8ICA0ICsrLS0KIDQ5 IGZpbGVzIGNoYW5nZWQsIDE0NSBpbnNlcnRpb25zKCspLCAxNDUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbGliL2k5MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5jIGIvbGliL2k5MTUvZ2VtX2Vu Z2luZV90b3BvbG9neS5jCmluZGV4IGM2NGY3YTRkMDViYi4uNGRkODRjOWNmNGY3IDEwMDY0NAot LS0gYS9saWIvaTkxNS9nZW1fZW5naW5lX3RvcG9sb2d5LmMKKysrIGIvbGliL2k5MTUvZ2VtX2Vu Z2luZV90b3BvbG9neS5jCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIHZvaWQgaW5pdF9lbmdp bmUoc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplMiwKIAkJcmV0dXJuOwogCX0KIAot CV9fZm9yX2VhY2hfc3RhdGljX2VuZ2luZShfX2UyKQorCWZvcl9lYWNoX3N0YXRpY19lbmdpbmUo X19lMikKIAkJaWYgKF9fZTItPmNsYXNzID09IGNsYXNzICYmIF9fZTItPmluc3RhbmNlID09IGlu c3RhbmNlKQogCQkJYnJlYWs7CiAKQEAgLTIxOSw3ICsyMTksNyBAQCBzdHJ1Y3QgaW50ZWxfZW5n aW5lX2RhdGEgaW50ZWxfaW5pdF9lbmdpbmVfbGlzdChpbnQgZmQsIHVpbnQzMl90IGN0eF9pZCkK IAogCQlpZ3RfZGVidWcoInVzaW5nIHByZS1hbGxvY2F0ZWQgZW5naW5lIGxpc3RcbiIpOwogCi0J CV9fZm9yX2VhY2hfc3RhdGljX2VuZ2luZShlMikgeworCQlmb3JfZWFjaF9zdGF0aWNfZW5naW5l KGUyKSB7CiAJCQlzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKl9fZTIgPQogCQkJCSZl bmdpbmVfZGF0YS5lbmdpbmVzW2VuZ2luZV9kYXRhLm5lbmdpbmVzXTsKIApAQCAtMjk4LDcgKzI5 OCw3IEBAIGludCBnZW1fZW5naW5lX2NsYXNzX3RvX2V4ZWNidWZfZmxhZ3MoaW50IGZkLCB1aW50 MzJfdCBjdHhfaWQsIGludCBjbGFzcykKIAlpbnQgaTsKIAogCWlmIChnZW1fdG9wb2xvZ3lfZ2V0 X3BhcmFtKGZkLCAmcGFyYW0pKSB7Ci0JCV9fZm9yX2VhY2hfc3RhdGljX2VuZ2luZShlKSB7CisJ CWZvcl9lYWNoX3N0YXRpY19lbmdpbmUoZSkgewogCQkJaWYgKGUtPmNsYXNzID09IGNsYXNzKQog CQkJCXJldHVybiBlLT5mbGFnczsKIAkJfQpkaWZmIC0tZ2l0IGEvbGliL2k5MTUvZ2VtX2VuZ2lu ZV90b3BvbG9neS5oIGIvbGliL2k5MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5oCmluZGV4IGFhOTM0 NjIyY2FiMC4uZjExZTRiOTZhNmJjIDEwMDY0NAotLS0gYS9saWIvaTkxNS9nZW1fZW5naW5lX3Rv cG9sb2d5LmgKKysrIGIvbGliL2k5MTUvZ2VtX2VuZ2luZV90b3BvbG9neS5oCkBAIC01NSw3ICs1 NSw3IEBAIHZvaWQgZ2VtX2NvbnRleHRfc2V0X2FsbF9lbmdpbmVzKGludCBmZCwgdWludDMyX3Qg Y3R4KTsKIAogaW50IGdlbV9lbmdpbmVfY2xhc3NfdG9fZXhlY2J1Zl9mbGFncyhpbnQgZmQsIHVp bnQzMl90IGN0eF9pZCwgaW50IGNsYXNzKTsKIAotI2RlZmluZSBfX2Zvcl9lYWNoX3N0YXRpY19l bmdpbmUoZV9fKSBcCisjZGVmaW5lIGZvcl9lYWNoX3N0YXRpY19lbmdpbmUoZV9fKSBcCiAJZm9y ICgoZV9fKSA9IGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMjsgKGVfXyktPm5hbWU7IChlX18pKysp CiAKICNkZWZpbmUgZm9yX2VhY2hfY29udGV4dF9lbmdpbmUoZmRfXywgY3R4X18sIGVfXykgXApA QCAtNjQsNyArNjQsNyBAQCBpbnQgZ2VtX2VuZ2luZV9jbGFzc190b19leGVjYnVmX2ZsYWdzKGlu dCBmZCwgdWludDMyX3QgY3R4X2lkLCBpbnQgY2xhc3MpOwogCSAgICAgaW50ZWxfbmV4dF9lbmdp bmUoJmlfXykpCiAKIC8qIG5lZWRzIHRvIHJlcGxhY2UgImZvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZSIgd2hlbiBjb25mbGljdHMgYXJlIGZpeGVkICovCi0jZGVmaW5lIF9fZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGZkX18sIGVfXykgXAorI2RlZmluZSBmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUo ZmRfXywgZV9fKSBcCiAJZm9yIChzdHJ1Y3QgaW50ZWxfZW5naW5lX2RhdGEgaV9fID0gaW50ZWxf aW5pdF9lbmdpbmVfbGlzdChmZF9fLCAwKTsgXAogCSAgICAgKChlX18pID0gaW50ZWxfZ2V0X2N1 cnJlbnRfcGh5c2ljYWxfZW5naW5lKCZpX18pKTsgXAogCSAgICAgaW50ZWxfbmV4dF9lbmdpbmUo JmlfXykpCmRpZmYgLS1naXQgYS9saWIvaTkxNS9nZW1fc3VibWlzc2lvbi5jIGIvbGliL2k5MTUv Z2VtX3N1Ym1pc3Npb24uYwppbmRleCA5YmZiOTFiODlmODAuLjAxODVkYmJkZGI2OCAxMDA2NDQK LS0tIGEvbGliL2k5MTUvZ2VtX3N1Ym1pc3Npb24uYworKysgYi9saWIvaTkxNS9nZW1fc3VibWlz c2lvbi5jCkBAIC0yMTcsNyArMjE3LDcgQEAgdm9pZCBnZW1fdGVzdF9lbmdpbmUoaW50IGk5MTUs IHVuc2lnbmVkIGludCBlbmdpbmUpCiAJZ2VtX3dyaXRlKGk5MTUsIG9iai5oYW5kbGUsIDAsICZi YmUsIHNpemVvZihiYmUpKTsKIAogCWlmIChlbmdpbmUgPT0gQUxMX0VOR0lORVMpIHsKLQkJX19m b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgeworCQlmb3JfZWFjaF9waHlzaWNhbF9l bmdpbmUoaTkxNSwgZSkgewogCQkJZXhlY2J1Zi5mbGFncyA9IGUtPmZsYWdzOwogCQkJZ2VtX2V4 ZWNidWYoaTkxNSwgJmV4ZWNidWYpOwogCQl9CmRpZmYgLS1naXQgYS90ZXN0cy9hbWRncHUvYW1k X3ByaW1lLmMgYi90ZXN0cy9hbWRncHUvYW1kX3ByaW1lLmMKaW5kZXggY2QyMzY3ZmZkNTNlLi5k ZmJjOWIzNzIwZTEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2FtZGdwdS9hbWRfcHJpbWUuYworKysgYi90 ZXN0cy9hbWRncHUvYW1kX3ByaW1lLmMKQEAgLTE4MCw3ICsxODAsNyBAQCBzdGF0aWMgdm9pZCBp OTE1X3RvX2FtZChpbnQgaTkxNSwgaW50IGFtZCwgYW1kZ3B1X2RldmljZV9oYW5kbGUgZGV2aWNl KQogCXN0cnVjdCBjb3JrIGM7CiAKIAluZW5naW5lID0gMDsKLQlfX2Zvcl9lYWNoX3BoeXNpY2Fs X2VuZ2luZShpOTE1LCBlbmdpbmUpCisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGVu Z2luZSkKIAkJZW5naW5lc1tuZW5naW5lKytdID0gZW5naW5lLT5mbGFnczsKIAlpZ3RfcmVxdWly ZShuZW5naW5lKTsKIApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fYmFkX3JlbG9jLmMgYi90 ZXN0cy9pOTE1L2dlbV9iYWRfcmVsb2MuYwppbmRleCAyNmE5MzJhM2E5MzMuLjg3MzczOTFiMDA5 ZCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fYmFkX3JlbG9jLmMKKysrIGIvdGVzdHMvaTkx NS9nZW1fYmFkX3JlbG9jLmMKQEAgLTE5Myw3ICsxOTMsNyBAQCBpZ3RfbWFpbgogCQlpZ3RfcmVx dWlyZV9nZW0oZmQpOwogCX0KIAotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7 CisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CiAJCWlndF9zdWJ0ZXN0X2YoIm5l Z2F0aXZlLXJlbG9jLSVzIiwgZS0+bmFtZSkKIAkJCW5lZ2F0aXZlX3JlbG9jKGZkLCBlLCAwKTsK IApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fYnVzeS5jIGIvdGVzdHMvaTkxNS9nZW1fYnVz eS5jCmluZGV4IGY2NjEzNDgwMjEzNy4uNjhmNGJlOTc3YzYxIDEwMDY0NAotLS0gYS90ZXN0cy9p OTE1L2dlbV9idXN5LmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fYnVzeS5jCkBAIC0xMzQsNyArMTM0 LDcgQEAgc3RhdGljIHZvaWQgc2VtYXBob3JlKGludCBmZCwgY29uc3Qgc3RydWN0IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmUyICplKQogCiAJLyogTm93IHF1ZXVlIGl0IGZvciBhIHJlYWQgYWNyb3Nz IGFsbCBhdmFpbGFibGUgcmluZ3MgKi8KIAlhY3RpdmUgPSAwOwotCV9fZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGZkLCBfX2UpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIF9fZSkg ewogCQlpZiAoZXhlY19ub29wKGZkLCBoYW5kbGUsIF9fZS0+ZmxhZ3MsIGZhbHNlKSkKIAkJCWFj dGl2ZSB8PSAxIDw8IF9fZS0+Y2xhc3M7CiAJfQpAQCAtMjUxLDcgKzI1MSw3IEBAIHN0YXRpYyB2 b2lkIG9uZShpbnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwg dW5zaWduZWQgdGVzdF9mCiAJaWYgKHRlc3RfZmxhZ3MgJiBQQVJBTExFTCkgewogCQlzdHJ1Y3Qg aW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUyOwogCi0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5n aW5lKGZkLCBlMikgeworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUyKSB7CiAJCQlp ZiAoZTItPmNsYXNzID09IGUtPmNsYXNzICYmCiAJCQkgICAgZTItPmluc3RhbmNlID09IGUtPmlu c3RhbmNlKQogCQkJCWNvbnRpbnVlOwpAQCAtMzIwLDcgKzMyMCw3IEBAIHN0YXRpYyB2b2lkIGNs b3NlX3JhY2UoaW50IGZkKQogCSAqLwogCiAJbmVuZ2luZSA9IDA7Ci0JX19mb3JfZWFjaF9zdGF0 aWNfZW5naW5lKGUpCisJZm9yX2VhY2hfc3RhdGljX2VuZ2luZShlKQogCQllbmdpbmVzW25lbmdp bmUrK10gPSBlLT5mbGFnczsKIAlpZ3RfcmVxdWlyZShuZW5naW5lKTsKIApAQCAtNDY1LDcgKzQ2 NSw3IEBAIHN0YXRpYyB2b2lkIGFsbChpbnQgaTkxNSkKIHsKIAljb25zdCBzdHJ1Y3QgaW50ZWxf ZXhlY3V0aW9uX2VuZ2luZTIgKmU7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1 LCBlKQorCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKQogCQliYXNpYyhpOTE1LCBl LCAwKTsKIH0KIApAQCAtNDkxLDcgKzQ5MSw3IEBAIGlndF9tYWluCiAJCQlhbGwoZmQpOwogCQl9 CiAKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJZm9yX2VhY2hfcGh5 c2ljYWxfZW5naW5lKGZkLCBlKSB7CiAJCQlpZ3Rfc3VidGVzdF9ncm91cCB7CiAJCQkJaWd0X3N1 YnRlc3RfZigiYnVzeS0lcyIsIGUtPm5hbWUpIHsKIAkJCQkJZ2VtX3F1aWVzY2VudF9ncHUoZmQp OwpAQCAtNTA2LDcgKzUwNiw3IEBAIGlndF9tYWluCiAJCQkJZ2VtX3JlcXVpcmVfbW1hcF93Yyhm ZCk7CiAJCQl9CiAKLQkJCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CisJCQlm b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJCQlpZ3Rfc3VidGVzdF9mKCJleHRl bmRlZC0lcyIsIGUtPm5hbWUpIHsKIAkJCQkJaWd0X3JlcXVpcmUoZ2VtX2NsYXNzX2Nhbl9zdG9y ZV9kd29yZChmZCwKIAkJCQkJCSAgICAgZS0+Y2xhc3MpKTsKQEAgLTUxNiw3ICs1MTYsNyBAQCBp Z3RfbWFpbgogCQkJCX0KIAkJCX0KIAotCQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQs IGUpIHsKKwkJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewogCQkJCWlndF9zdWJ0 ZXN0X2YoImV4dGVuZGVkLXBhcmFsbGVsLSVzIiwgZS0+bmFtZSkgewogCQkJCQlpZ3RfcmVxdWly ZShnZW1fY2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5jbGFzcykpOwogCkBAIC01MzMsNyAr NTMzLDcgQEAgaWd0X21haW4KIAkJCQlpZ3RfcmVxdWlyZShoYXNfc2VtYXBob3JlcyhmZCkpOwog CQkJfQogCi0JCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCQkJZm9yX2Vh Y2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CiAJCQkJaWd0X3N1YnRlc3RfZigiZXh0ZW5kZWQt c2VtYXBob3JlLSVzIiwgZS0+bmFtZSkKIAkJCQkJc2VtYXBob3JlKGZkLCBlKTsKIAkJCX0KQEAg LTU1NCw3ICs1NTQsNyBAQCBpZ3RfbWFpbgogCQkJaGFuZyA9IGlndF9hbGxvd19oYW5nKGZkLCAw LCAwKTsKIAkJfQogCi0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CisJCWZv cl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewogCQkJaWd0X3N1YnRlc3RfZigiJXNoYW5n LSVzIiwKIAkJCQkgICAgICBlLT5jbGFzcyA9PSBJOTE1X0VOR0lORV9DTEFTU19SRU5ERVIKIAkJ CQkgICAgICA/ICJiYXNpYy0iIDogIiIsIGUtPm5hbWUpIHsKQEAgLTU3MCw3ICs1NzAsNyBAQCBp Z3RfbWFpbgogCQkJCWdlbV9yZXF1aXJlX21tYXBfd2MoZmQpOwogCQkJfQogCi0JCQlfX2Zvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCQkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5l KGZkLCBlKSB7CiAJCQkJaWd0X3N1YnRlc3RfZigiZXh0ZW5kZWQtaGFuZy0lcyIsIGUtPm5hbWUp IHsKIAkJCQkJaWd0X3NraXBfb25fc2ltdWxhdGlvbigpOwogCQkJCQlpZ3RfcmVxdWlyZShnZW1f Y2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5jbGFzcykpOwpkaWZmIC0tZ2l0IGEvdGVzdHMv aTkxNS9nZW1fY29uY3VycmVudF9hbGwuYyBiL3Rlc3RzL2k5MTUvZ2VtX2NvbmN1cnJlbnRfYWxs LmMKaW5kZXggOGE5NzU2NDA2M2UxLi5kYThhNzAwOGMwMWIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5 MTUvZ2VtX2NvbmN1cnJlbnRfYWxsLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fY29uY3VycmVudF9h bGwuYwpAQCAtOTUxLDcgKzk1MSw3IEBAIHN0YXRpYyBpZ3RfaGFuZ190IGFsbF9oYW5nKHZvaWQp CiAJaWd0X2hhbmdfdCBoYW5nID0gaWd0X2hhbmdfcmluZyhmZCwgSTkxNV9FWEVDX1JFTkRFUik7 CiAJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplOwogCi0JX19mb3JfZWFj aF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQs IGUpIHsKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiBlYiA9IGhhbmcuc3Bpbi0+ ZXhlY2J1ZjsKIAogCQlpZiAoZS0+Y2xhc3MgPT0gSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVSKQpk aWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fY3NfcHJlZmV0Y2guYyBiL3Rlc3RzL2k5MTUvZ2Vt X2NzX3ByZWZldGNoLmMKaW5kZXggOTM5ZDY0NTU2MTNlLi4yYjkyNWY1M2I4YzUgMTAwNjQ0Ci0t LSBhL3Rlc3RzL2k5MTUvZ2VtX2NzX3ByZWZldGNoLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fY3Nf cHJlZmV0Y2guYwpAQCAtMTQzLDcgKzE0Myw3IEBAIGlndF9tYWluCiAKIAlpZ3Rfc2tpcF9vbl9z aW11bGF0aW9uKCk7CiAKLQlfX2Zvcl9lYWNoX3N0YXRpY19lbmdpbmUoZSkKKwlmb3JfZWFjaF9z dGF0aWNfZW5naW5lKGUpCiAJCWlndF9zdWJ0ZXN0X2YoIiVzIiwgZS0+bmFtZSkKIAkJCXRlc3Rf cmluZyhlKTsKIH0KZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2NzX3RsYi5jIGIvdGVzdHMv aTkxNS9nZW1fY3NfdGxiLmMKaW5kZXggMTNkZTU0OTlmMWM3Li4zYmJmYTcyOWVjZGYgMTAwNjQ0 Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2NzX3RsYi5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2NzX3Rs Yi5jCkBAIC0xNTAsNyArMTUwLDcgQEAgaWd0X21haW4KIAkJaWd0X3JlcXVpcmVfZ2VtKGZkKTsK IAl9CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkKKwlmb3JfZWFjaF9waHlz aWNhbF9lbmdpbmUoZmQsIGUpCiAJCWlndF9zdWJ0ZXN0X2YoIiVzIiwgZS0+bmFtZSkKIAkJCXJ1 bl9vbl9yaW5nKGZkLCBlLT5mbGFncywgZS0+bmFtZSk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5 MTUvZ2VtX2N0eF9jcmVhdGUuYyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9jcmVhdGUuYwppbmRleCAw YmY1YWRiMzM2ZGMuLjJlMjhjMWUwNDEzNiAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fY3R4 X2NyZWF0ZS5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9jcmVhdGUuYwpAQCAtNTMyLDcgKzUz Miw3IEBAIGlndF9tYWluCiAJCWlndF9yZXF1aXJlX2dlbShmZCk7CiAJCWdlbV9yZXF1aXJlX2Nv bnRleHRzKGZkKTsKIAotCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkKKwkJZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKQogCQkJYWxsX2VuZ2luZXNbYWxsX25lbmdpbmUr K10gPSBlLT5mbGFnczsKIAkJaWd0X3JlcXVpcmUoYWxsX25lbmdpbmUpOwogCkBAIC01NzgsNyAr NTc4LDcgQEAgaWd0X21haW4KIAlpZ3Rfc3VidGVzdCgiZm9ya2VkLWFjdGl2ZS1hbGwiKQogCQlh Y3RpdmUoZmQsIE5VTEwsIDEyMCwgbmNwdXMpOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUoZmQsIGUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJaWd0X3N1 YnRlc3RfZigiYWN0aXZlLSVzIiwgZS0+bmFtZSkKIAkJCWFjdGl2ZShmZCwgZSwgMjAsIDEpOwog CQlpZ3Rfc3VidGVzdF9mKCJmb3JrZWQtYWN0aXZlLSVzIiwgZS0+bmFtZSkKZGlmZiAtLWdpdCBh L3Rlc3RzL2k5MTUvZ2VtX2N0eF9lbmdpbmVzLmMgYi90ZXN0cy9pOTE1L2dlbV9jdHhfZW5naW5l cy5jCmluZGV4IDhjNjZmYjI2MTE0Yy4uMTlkZGY5M2U2ZWQ5IDEwMDY0NAotLS0gYS90ZXN0cy9p OTE1L2dlbV9jdHhfZW5naW5lcy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9lbmdpbmVzLmMK QEAgLTE5Myw3ICsxOTMsNyBAQCBzdGF0aWMgdm9pZCBpZGVtcG90ZW50KGludCBpOTE1KQogCiAJ aWR4ID0gMDsKIAltZW1zZXQoJmVuZ2luZXMsIDAsIHNpemVvZihlbmdpbmVzKSk7Ci0JX19mb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShpOTE1LCBlKSB7CiAJCWVuZ2luZXMuZW5naW5lc1tpZHhdLmVuZ2luZV9jbGFzcyA9IGUtPmNs YXNzOwogCQllbmdpbmVzLmVuZ2luZXNbaWR4XS5lbmdpbmVfaW5zdGFuY2UgPSBlLT5pbnN0YW5j ZTsKIAkJaWR4Kys7CkBAIC0yNjksNyArMjY5LDcgQEAgc3RhdGljIHZvaWQgZXhlY3V0ZV9vbmUo aW50IGk5MTUpCiAJZ2VtX2V4ZWNidWYoaTkxNSwgJmV4ZWNidWYpOwogCWdlbV9zeW5jKGk5MTUs IG9iai5oYW5kbGUpOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgewor CWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9n ZW1fYnVzeSBidXN5ID0geyAuaGFuZGxlID0gb2JqLmhhbmRsZSB9OwogCiAJCWZvciAoaW50IGkg PSAtMTsgaSA8PSBJOTE1X0VYRUNfUklOR19NQVNLOyBpKyspIHsKQEAgLTMzOCw3ICszMzgsNyBA QCBzdGF0aWMgdm9pZCBleGVjdXRlX29uZWZvcmFsbChpbnQgaTkxNSkKIAl9OwogCWNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZTsKIAotCV9fZm9yX2VhY2hfcGh5c2ljYWxf ZW5naW5lKGk5MTUsIGUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgewog CQltZW1zZXQoJmVuZ2luZXMsIDAsIHNpemVvZihlbmdpbmVzKSk7CiAJCWZvciAoaW50IGkgPSAw OyBpIDw9IEk5MTVfRVhFQ19SSU5HX01BU0s7IGkrKykgewogCQkJZW5naW5lX2NsYXNzKCZlbmdp bmVzLCBpKSA9IGUtPmNsYXNzOwpAQCAtMzc4LDcgKzM3OCw3IEBAIHN0YXRpYyB2b2lkIGV4ZWN1 dGVfYWxsZm9yb25lKGludCBpOTE1KQogCiAJaSA9IDA7CiAJbWVtc2V0KCZlbmdpbmVzLCAwLCBz aXplb2YoZW5naW5lcykpOwotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGUpIHsK Kwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgewogCQllbmdpbmVfY2xhc3MoJmVu Z2luZXMsIGkpID0gZS0+Y2xhc3M7CiAJCWVuZ2luZV9pbnN0YW5jZSgmZW5naW5lcywgaSkgPSBl LT5pbnN0YW5jZTsKIAkJaSsrOwpAQCAtMzg3LDcgKzM4Nyw3IEBAIHN0YXRpYyB2b2lkIGV4ZWN1 dGVfYWxsZm9yb25lKGludCBpOTE1KQogCWdlbV9jb250ZXh0X3NldF9wYXJhbShpOTE1LCAmcGFy YW0pOwogCiAJaSA9IDA7Ci0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgewor CWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9n ZW1fYnVzeSBidXN5ID0ge307CiAJCWlndF9zcGluX3QgKnNwaW47CiAKZGlmZiAtLWdpdCBhL3Rl c3RzL2k5MTUvZ2VtX2N0eF9leGVjLmMgYi90ZXN0cy9pOTE1L2dlbV9jdHhfZXhlYy5jCmluZGV4 IDYxNGE5ZjQwMTkzMS4uYTRhZGY3N2E5NTgyIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9j dHhfZXhlYy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9leGVjLmMKQEAgLTIyOSw3ICsyMjks NyBAQCBpZ3RfbWFpbgogCQlnZW1fc3luYyhmZCwgaGFuZGxlKTsKIAl9CiAKLQlfX2Zvcl9lYWNo X3BoeXNpY2FsX2VuZ2luZShmZCwgZSkKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUp CiAJCWlndF9zdWJ0ZXN0X2YoImJhc2ljLWludmFsaWQtY29udGV4dC0lcyIsIGUtPm5hbWUpCiAJ CQlpbnZhbGlkX2NvbnRleHQoZmQsIGUsIGhhbmRsZSk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5 MTUvZ2VtX2N0eF9zaGFyZWQuYyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9zaGFyZWQuYwppbmRleCAz MjQ5NTk5MzlmZDQuLjM4ZWMxMThhYTkxNiAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fY3R4 X3NoYXJlZC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0eF9zaGFyZWQuYwpAQCAtMzY1LDcgKzM2 NSw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNfc2luZ2xlX3RpbWVsaW5lKGludCBpOTE1LAogCSAqLwog CWN0eCA9IDA7CiAJc3BpbiA9IE5VTEw7Ci0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkx NSwgb3RoZXIpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgb3RoZXIpIHsKIAkJ aWYgKG90aGVyID09IGVuZ2luZSkKIAkJCWNvbnRpbnVlOwogCkBAIC0zOTMsNyArMzkzLDcgQEAg c3RhdGljIHZvaWQgZXhlY19zaW5nbGVfdGltZWxpbmUoaW50IGk5MTUsCiAJY3R4ID0gZ2VtX2Nv bnRleHRfY2xvbmUoaTkxNSwgMCwgMCwKIAkJCQlJOTE1X0NPTlRFWFRfQ1JFQVRFX0ZMQUdTX1NJ TkdMRV9USU1FTElORSk7CiAJc3BpbiA9IE5VTEw7Ci0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUoaTkxNSwgb3RoZXIpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgb3RoZXIp IHsKIAkJaWYgKG90aGVyID09IGVuZ2luZSkKIAkJCWNvbnRpbnVlOwogCkBAIC03MjgsNyArNzI4 LDcgQEAgc3RhdGljIHZvaWQgc21va2V0ZXN0KGludCBpOTE1LCB1bnNpZ25lZCB0aW1lb3V0KQog CXVpbnQzMl90ICpwdHI7CiAKIAluZW5naW5lID0gMDsKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2Vu Z2luZShpOTE1LCBlbmdpbmUpCisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGVuZ2lu ZSkKIAkJZW5naW5lc1tuZW5naW5lKytdID0gZW5naW5lLT5mbGFnczsKIAlpZ3RfcmVxdWlyZShu ZW5naW5lKTsKIApAQCAtODEyLDcgKzgxMiw3IEBAIGlndF9tYWluCiAJCWlndF9zdWJ0ZXN0KCJl eGhhdXN0LXNoYXJlZC1ndHQtbHJjIikKIAkJCWV4aGF1c3Rfc2hhcmVkX2d0dChpOTE1LCBFWEhB VVNUX0xSQyk7CiAKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgeworCQlm b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgewogCQkJaWd0X3N1YnRlc3RfZigiZXhl Yy1zaGFyZWQtZ3R0LSVzIiwgZS0+bmFtZSkKIAkJCQlleGVjX3NoYXJlZF9ndHQoaTkxNSwgZSk7 CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2N0eF9zd2l0Y2guYyBiL3Rlc3RzL2k5MTUv Z2VtX2N0eF9zd2l0Y2guYwppbmRleCA4ZDY3NDAxNDhiMjIuLjYxMzYwM2RjODI2MCAxMDA2NDQK LS0tIGEvdGVzdHMvaTkxNS9nZW1fY3R4X3N3aXRjaC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0 eF9zd2l0Y2guYwpAQCAtMjI5LDcgKzIyOSw3IEBAIHN0YXRpYyB2b2lkIGFsbChpbnQgZmQsIHVp bnQzMl90IGhhbmRsZSwgdW5zaWduZWQgZmxhZ3MsIGludCB0aW1lb3V0KQogCWludCBuLCBxbGVu OwogCiAJbmVuZ2luZSA9IDA7Ci0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsK Kwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJZW5naW5lW25lbmdpbmVdID0g ZS0+ZmxhZ3M7CiAJCW5hbWVbbmVuZ2luZV0gPSBlLT5uYW1lOwogCQluZW5naW5lKys7CkBAIC0z MzcsNyArMzM3LDcgQEAgaWd0X21haW4KIAkJaWd0X2ZvcmtfaGFuZ19kZXRlY3RvcihmZCk7CiAJ fQogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwlmb3JfZWFjaF9waHlz aWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJZm9yICh0eXBlb2YoKnBoYXNlcykgKnAgPSBwaGFzZXM7 IHAtPm5hbWU7IHArKykgewogCQkJaWd0X3N1YnRlc3RfZ3JvdXAgewogCQkJCWlndF9maXh0dXJl IHsKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2N0eF90aHJhc2guYyBiL3Rlc3RzL2k5MTUv Z2VtX2N0eF90aHJhc2guYwppbmRleCBkOTIwMWMzZGQzMjcuLmY5ZjAzMjE4ZDQ3NyAxMDA2NDQK LS0tIGEvdGVzdHMvaTkxNS9nZW1fY3R4X3RocmFzaC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2N0 eF90aHJhc2guYwpAQCAtMTA1LDcgKzEwNSw3IEBAIHN0YXRpYyB2b2lkIHNpbmdsZShjb25zdCBj aGFyICpuYW1lLCBib29sIGFsbF9lbmdpbmVzKQogCWlmIChhbGxfZW5naW5lcykgewogCQljb25z dCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmU7CiAKLQkJX19mb3JfZWFjaF9waHlz aWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7 CiAJCQlpZiAoIWdlbV9jbGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIGUtPmNsYXNzKSkKIAkJCQlj b250aW51ZTsKIApAQCAtMjMxLDcgKzIzMSw3IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3Nlcyh2b2lk KQogCWZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7CiAKIAludW1fZW5naW5lcyA9 IDA7Ci0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwlmb3JfZWFjaF9waHlz aWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJZW5naW5lc1tudW1fZW5naW5lcysrXSA9IGUtPmZsYWdz OwogCQlpZiAobnVtX2VuZ2luZXMgPT0gQVJSQVlfU0laRShlbmdpbmVzKSkKIAkJCWJyZWFrOwpk aWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fZWlvLmMgYi90ZXN0cy9pOTE1L2dlbV9laW8uYwpp bmRleCBiOGNkNDZjMmI2MmQuLmM0Y2Y2NzIxYmUyMyAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9n ZW1fZWlvLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZWlvLmMKQEAgLTM0NSw3ICszNDUsNyBAQCBz dGF0aWMgdm9pZCBfX3Rlc3RfYmFubmVkKGludCBmZCkKIAkJfQogCiAJCS8qIFRyaWdnZXIgYSBy ZXNldCwgbWFraW5nIHN1cmUgd2UgYXJlIGRldGVjdGVkIGFzIGd1aWx0eSAqLwotCQlfX2Zvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkKKwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZk LCBlKQogCQkJaWYgKGUtPmNsYXNzID09IEk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUikgewogCQkJ CWhhbmcgPSBzcGluX3N5bmMoZmQsIDAsIGUpOwogCQkJCWJyZWFrOwpAQCAtMzg5LDcgKzM4OSw3 IEBAIHN0YXRpYyB2b2lkIHRlc3Rfd2FpdChpbnQgZmQsIHVuc2lnbmVkIGludCBmbGFncywgdW5z aWduZWQgaW50IHdhaXQpCiAJZWxzZQogCQlpZ3RfcmVxdWlyZShpOTE1X3Jlc2V0X2NvbnRyb2wo dHJ1ZSkpOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpCisJZm9yX2VhY2hf cGh5c2ljYWxfZW5naW5lKGZkLCBlKQogCQlpZiAoZS0+Y2xhc3MgPT0gSTkxNV9FTkdJTkVfQ0xB U1NfUkVOREVSKXsKIAkJCWhhbmcgPSBzcGluX3N5bmMoZmQsIDAsIGUpOwogCQkJYnJlYWs7CkBA IC00MzgsNyArNDM4LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9pbmZsaWdodChpbnQgZmQsIHVuc2ln bmVkIGludCB3YWl0KQogCWlndF9yZXF1aXJlKG1heCA+IDEpOwogCW1heCA9IG1pbihtYXggLSAx LCBBUlJBWV9TSVpFKGZlbmNlKSk7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShwYXJl bnRfZmQsIGVuZ2luZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShwYXJlbnRfZmQsIGVu Z2luZSkgewogCQljb25zdCB1aW50MzJfdCBiYmUgPSBNSV9CQVRDSF9CVUZGRVJfRU5EOwogCQlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpbMl07CiAJCXN0cnVjdCBkcm1faTkx NV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKQEAgLTU2Niw3ICs1NjYsNyBAQCBzdGF0aWMgdm9p ZCB0ZXN0X2luZmxpZ2h0X2NvbnRleHRzKGludCBmZCwgdW5zaWduZWQgaW50IHdhaXQpCiAJaWd0 X3JlcXVpcmUoZ2VtX2hhc19leGVjX2ZlbmNlKGZkKSk7CiAJZ2VtX3JlcXVpcmVfY29udGV4dHMo ZmQpOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUocGFyZW50X2ZkLCBlbmdpbmUpIHsK Kwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUocGFyZW50X2ZkLCBlbmdpbmUpIHsKIAkJY29uc3Qg dWludDMyX3QgYmJlID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsKIAkJc3RydWN0IGRybV9pOTE1X2dl bV9leGVjX29iamVjdDIgb2JqWzJdOwogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIy IGV4ZWNidWY7CkBAIC03MDYsNyArNzA2LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9pbmZsaWdodF9p bnRlcm5hbChpbnQgZmQsIHVuc2lnbmVkIGludCB3YWl0KQogCW1lbXNldCgmZXhlY2J1ZiwgMCwg c2l6ZW9mKGV4ZWNidWYpKTsKIAlleGVjYnVmLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVy KG9iaik7CiAJZXhlY2J1Zi5idWZmZXJfY291bnQgPSAyOwotCV9fZm9yX2VhY2hfcGh5c2ljYWxf ZW5naW5lKGZkLCBlbmdpbmUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVuZ2lu ZSkgewogCQlleGVjYnVmLmZsYWdzID0gZW5naW5lLT5mbGFncyB8IEk5MTVfRVhFQ19GRU5DRV9P VVQ7CiAKIAkJZ2VtX2V4ZWNidWZfd3IoZmQsICZleGVjYnVmKTsKQEAgLTgxMSw3ICs4MTEsNyBA QCBzdGF0aWMgdm9pZCB0ZXN0X3Jlc2V0X3N0cmVzcyhpbnQgZmQsIHVuc2lnbmVkIGludCBmbGFn cykKIAl1aW50MzJfdCBjdHgwID0gY29udGV4dF9jcmVhdGVfc2FmZShmZCk7CiAJY29uc3Qgc3Ry dWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplbmdpbmU7CiAKLQlfX2Zvcl9lYWNoX3BoeXNp Y2FsX2VuZ2luZShmZCwgZW5naW5lKQorCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5n aW5lKQogCQlyZXNldF9zdHJlc3MoZmQsIGN0eDAsIGVuZ2luZSwgZmxhZ3MpOwogCiAJZ2VtX2Nv bnRleHRfZGVzdHJveShmZCwgY3R4MCk7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9leGVj X2FzeW5jLmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2FzeW5jLmMKaW5kZXggMGRhOTdmMWYwNTA2 Li5iNDhkNjNhNTZkMjYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYXN5bmMuYwor KysgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2FzeW5jLmMKQEAgLTE0NCw3ICsxNDQsNyBAQCBzdGF0 aWMgdm9pZCBvbmUoaW50IGZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIg KmUpCiAKIAlpID0gMDsKIAotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUp IHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVuZ2luZSkgewogCQlpZiAoZW5naW5l LT5jbGFzcyA9PSBlLT5jbGFzcyAmJgogCQkgICAgZW5naW5lLT5pbnN0YW5jZSA9PSBlLT5pbnN0 YW5jZSkKIAkJCWNvbnRpbnVlOwpAQCAtMjAxLDcgKzIwMSw3IEBAIGlndF9tYWluCiAJCWlndF9m b3JrX2hhbmdfZGV0ZWN0b3IoZmQpOwogCX0KIAotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5l KGZkLCBlKQorCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkKIAkJaWd0X3N1YnRlc3Rf ZigiY29uY3VycmVudC13cml0ZXMtJXMiLCBlLT5uYW1lKSB7CiAJCQlpZ3RfcmVxdWlyZShnZW1f Y2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5jbGFzcykpOwogCQkJb25lKGZkLCBlKTsKZGlm ZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYXdhaXQuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4 ZWNfYXdhaXQuYwppbmRleCA1YTMyMjQxNTk5NDguLjdlNDlmZDg0YjE3ZCAxMDA2NDQKLS0tIGEv dGVzdHMvaTkxNS9nZW1fZXhlY19hd2FpdC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYXdh aXQuYwpAQCAtODAsNyArODAsNyBAQCBzdGF0aWMgdm9pZCB3aWRlKGludCBmZCwgaW50IHJpbmdf c2l6ZSwgaW50IHRpbWVvdXQsIHVuc2lnbmVkIGludCBmbGFncykKIAlkb3VibGUgdGltZTsKIAog CW5lbmdpbmUgPSAwOwotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpCisJ Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpCiAJCWVuZ2luZXNbbmVuZ2luZSsr XSA9IGVuZ2luZS0+ZmxhZ3M7CiAJaWd0X3JlcXVpcmUobmVuZ2luZSk7CiAKZGlmZiAtLWdpdCBh L3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFzaWMuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFzaWMu YwppbmRleCAxMjg3ODYwYmUzYjEuLjNkNTg2YTcwNjFiNCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkx NS9nZW1fZXhlY19iYXNpYy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFzaWMuYwpAQCAt MTE4LDcgKzExOCw3IEBAIHN0YXRpYyB2b2lkIGFsbChpbnQgaTkxNSkKIHsKIAljb25zdCBzdHJ1 Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmU7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2Vu Z2luZShpOTE1LCBlKQorCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKQogCQlub29w KGk5MTUsIGUtPmZsYWdzKTsKIH0KIApAQCAtMTI2LDcgKzEyNiw3IEBAIHN0YXRpYyB2b2lkIHJl YWRvbmx5X2FsbChpbnQgaTkxNSkKIHsKIAljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2Vu Z2luZTIgKmU7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKQorCWZvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKQogCQlyZWFkb25seShpOTE1LCBlLT5mbGFncyk7 CiB9CiAKQEAgLTEzNCw3ICsxMzQsNyBAQCBzdGF0aWMgdm9pZCBndHRfYWxsKGludCBpOTE1KQog ewogCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZTsKIAotCV9fZm9yX2Vh Y2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGUpCisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5 MTUsIGUpCiAJCWd0dChpOTE1LCBlLT5mbGFncyk7CiB9CiAKQEAgLTE1OSw3ICsxNTksNyBAQCBp Z3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJndHQtYWxsIikKIAkJZ3R0X2FsbChmZCk7CiAKLQlfX2Zv cl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShmZCwgZSkgewogCQlpZ3Rfc3VidGVzdF9mKCJiYXNpYy0lcyIsIGUtPm5hbWUpCiAJCQlub29w KGZkLCBlLT5mbGFncyk7CiAJCWlndF9zdWJ0ZXN0X2YoInJlYWRvbmx5LSVzIiwgZS0+bmFtZSkK ZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfY2FwdHVyZS5jIGIvdGVzdHMvaTkxNS9n ZW1fZXhlY19jYXB0dXJlLmMKaW5kZXggYzBjM2I4OGQ1ZmE3Li41OWM4MzBmNmYzMWMgMTAwNjQ0 Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfY2FwdHVyZS5jCisrKyBiL3Rlc3RzL2k5MTUvZ2Vt X2V4ZWNfY2FwdHVyZS5jCkBAIC01NTMsNyArNTUzLDcgQEAgaWd0X21haW4KIAkJaWd0X3JlcXVp cmUoc2FmZXJfc3RybGVuKGlndF9zeXNmc19nZXQoZGlyLCAiZXJyb3IiKSkgPiAwKTsKIAl9CiAK LQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCWZvcl9lYWNoX3BoeXNpY2Fs X2VuZ2luZShmZCwgZSkgewogCQlpZ3Rfc3VidGVzdF9mKCJjYXB0dXJlLSVzIiwgZS0+bmFtZSkg ewogCQkJaWd0X3JlcXVpcmUoZ2VtX2NsYXNzX2Nhbl9zdG9yZV9kd29yZChmZCwgZS0+Y2xhc3Mp KTsKIAkJCWNhcHR1cmUoZmQsIGRpciwgZSk7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9l eGVjX2NyZWF0ZS5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19jcmVhdGUuYwppbmRleCA5ZTIxMzIw ZDAyMjEuLmM4Yzc5MThhNjgzZSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19jcmVh dGUuYworKysgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2NyZWF0ZS5jCkBAIC02Niw3ICs2Niw3IEBA IHN0YXRpYyB2b2lkIGFsbChpbnQgZmQsIHVuc2lnbmVkIGZsYWdzLCBpbnQgdGltZW91dCwgaW50 IG5jcHVzKQogCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZTsKIAogCW5l bmdpbmUgPSAwOwotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKQorCWZvcl9lYWNo X3BoeXNpY2FsX2VuZ2luZShmZCwgZSkKIAkJZW5naW5lc1tuZW5naW5lKytdID0gZS0+ZmxhZ3M7 CiAJaWd0X3JlcXVpcmUobmVuZ2luZSk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4 ZWNfZmVuY2UuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZmVuY2UuYwppbmRleCAxZjRmM2JkOTEx NDIuLmFiNTE5MjU4ZGQ1ZCAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19mZW5jZS5j CisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZmVuY2UuYwpAQCAtMjY1LDcgKzI2NSw3IEBAIHN0 YXRpYyB2b2lkIHRlc3RfZmVuY2VfYnVzeV9hbGwoaW50IGZkLCB1bnNpZ25lZCBmbGFncykKIAlp Kys7CiAKIAlhbGwgPSAtMTsKLQlfX2Zvcl9lYWNoX3N0YXRpY19lbmdpbmUoZSkgeworCWZvcl9l YWNoX3N0YXRpY19lbmdpbmUoZSkgewogCQlpbnQgZmVuY2UsIG5ldzsKIAogCQlleGVjYnVmLmZs YWdzID0gZS0+ZmxhZ3MgfCBMT0NBTF9FWEVDX0ZFTkNFX09VVDsKQEAgLTMzOCw3ICszMzgsNyBA QCBzdGF0aWMgdm9pZCB0ZXN0X2ZlbmNlX2F3YWl0KGludCBmZCwgY29uc3Qgc3RydWN0IGludGVs X2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCWlndF9hc3NlcnQoc3Bpbi0+b3V0X2ZlbmNlICE9IC0x KTsKIAogCWkgPSAwOwotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgewor CWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpIHsKIAkJaWYgKCFnZW1fY2xhc3Nf Y2FuX3N0b3JlX2R3b3JkKGZkLCBvdGhlci0+Y2xhc3MpKQogCQkJY29udGludWU7CiAKQEAgLTUw MSw3ICs1MDEsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BhcmFsbGVsKGludCBmZCwgY29uc3Qgc3Ry dWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplKQogCW9ialtCQVRDSF0ucmVsb2NhdGlvbl9j b3VudCA9IDE7CiAKIAkvKiBRdWV1ZSBhbGwgc2Vjb25kYXJpZXMgKi8KLQlfX2Zvcl9lYWNoX3Bo eXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQs IG90aGVyKSB7CiAJCWlmIChvdGhlciA9PSBlKQogCQkJY29udGludWU7CiAKQEAgLTY3OSw3ICs2 NzksNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2xvbmdfaGlzdG9yeShpbnQgZmQsIGxvbmcgcmluZ19z aXplLCB1bnNpZ25lZCBmbGFncykKIAkJbGltaXQgPSByaW5nX3NpemUgLyAzOwogCiAJbmVuZ2lu ZSA9IDA7Ci0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpCisJZm9yX2VhY2hfcGh5 c2ljYWxfZW5naW5lKGZkLCBlKQogCQllbmdpbmVzW25lbmdpbmUrK10gPSBlLT5mbGFnczsKIAlp Z3RfcmVxdWlyZShuZW5naW5lKTsKIApAQCAtMTE5NCw3ICsxMTk0LDcgQEAgc3RhdGljIHZvaWQg dGVzdF9zeW5jb2JqX3dhaXQoaW50IGZkKQogCWdlbV93cml0ZShmZCwgb2JqLmhhbmRsZSwgMCwg JmJiZSwgc2l6ZW9mKGJiZSkpOwogCiAJbiA9IDA7Ci0JX19mb3JfZWFjaF9zdGF0aWNfZW5naW5l KGUpIHsKKwlmb3JfZWFjaF9zdGF0aWNfZW5naW5lKGUpIHsKIAkJb2JqLmhhbmRsZSA9IGdlbV9j cmVhdGUoZmQsIDQwOTYpOwogCQlnZW1fd3JpdGUoZmQsIG9iai5oYW5kbGUsIDAsICZiYmUsIHNp emVvZihiYmUpKTsKIApAQCAtMTU1MSw3ICsxNTUxLDcgQEAgaWd0X21haW4KIAkJCXRlc3RfZmVu Y2VfYnVzeV9hbGwoaTkxNSwgV0FJVCB8IEhBTkcpOwogCX0KIAotCV9fZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGk5MTUsIGUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkg ewogCQlpZ3Rfc3VidGVzdF9ncm91cCB7CiAJCQlpZ3RfZml4dHVyZSB7CiAJCQkJaWd0X3JlcXVp cmUoZ2VtX2NsYXNzX2Nhbl9zdG9yZV9kd29yZChpOTE1LCBlLT5jbGFzcykpOwpkaWZmIC0tZ2l0 IGEvdGVzdHMvaTkxNS9nZW1fZXhlY19mbHVzaC5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19mbHVz aC5jCmluZGV4IDJmMDQxODYzZTIzOC4uOWRmYjIzZTgxN2M2IDEwMDY0NAotLS0gYS90ZXN0cy9p OTE1L2dlbV9leGVjX2ZsdXNoLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19mbHVzaC5jCkBA IC02MDAsNyArNjAwLDcgQEAgaWd0X21haW4KIAkJaWd0X2ZvcmtfaGFuZ19kZXRlY3RvcihmZCk7 CiAJfQogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIGlndF9zdWJ0ZXN0X2dy b3VwIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIGlndF9zdWJ0ZXN0X2dyb3Vw IHsKIAkJdW5zaWduZWQgdGltZW91dCA9IDUgKyAxMjA7CiAKIAkJaWd0X2ZpeHR1cmUgewpkaWZm IC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fZXhlY19ndHRmaWxsLmMgYi90ZXN0cy9pOTE1L2dlbV9l eGVjX2d0dGZpbGwuYwppbmRleCA2MTQwZDM2MjYwZjcuLmQ2N2ZjOGU0MGFlYyAxMDA2NDQKLS0t IGEvdGVzdHMvaTkxNS9nZW1fZXhlY19ndHRmaWxsLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhl Y19ndHRmaWxsLmMKQEAgLTEyMiw3ICsxMjIsNyBAQCBzdGF0aWMgdm9pZCBmaWxsZ3R0KGludCBm ZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCiAJbmVuZ2luZSA9 IDA7CiAJaWYgKCFlKSB7Ci0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikg eworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90aGVyKSB7CiAJCQlpZiAoIWdlbV9j bGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIG90aGVyLT5jbGFzcykpCiAJCQkJY29udGludWU7CiAK QEAgLTIyMiw3ICsyMjIsNyBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJiYXNpYyIpCiAJCWZp bGxndHQoZGV2aWNlLCAwLCAxKTsgLyoganVzdCBlbm91Z2ggdG8gcnVuIGEgc2luZ2xlIHBhc3Mg Ki8KIAotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGRldmljZSwgZSkKKwlmb3JfZWFjaF9w aHlzaWNhbF9lbmdpbmUoZGV2aWNlLCBlKQogCQlpZ3Rfc3VidGVzdF9mKCIlcyIsIGUtPm5hbWUp CiAJCQlmaWxsZ3R0KGRldmljZSwgZSwgMjApOwogCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dl bV9leGVjX2xhdGVuY3kuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbGF0ZW5jeS5jCmluZGV4IDBh OTVjNDkxZWI1Ni4uZDMxZGNkYjFhYzE2IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9leGVj X2xhdGVuY3kuYworKysgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2xhdGVuY3kuYwpAQCAtMzExLDcg KzMxMSw3IEBAIHN0YXRpYyB2b2lkIGxhdGVuY3lfZnJvbV9yaW5nKGludCBmZCwKIAlyZWxvYy5w cmVzdW1lZF9vZmZzZXQgPSBvYmpbMV0ub2Zmc2V0OwogCXJlbG9jLnRhcmdldF9oYW5kbGUgPSBm bGFncyAmIENPUksgPyAxIDogMDsKIAotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBv dGhlcikgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpIHsKIAkJaWd0X3Nw aW5fdCAqc3BpbiA9IE5VTEw7CiAJCUlHVF9DT1JLX0hBTkRMRShjKTsKIApAQCAtNDc0LDcgKzQ3 NCw3IEBAIHJ0aG9nX2xhdGVuY3lfb25fcmluZyhpbnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9l eGVjdXRpb25fZW5naW5lMiAqZSwKIAogCW5lbmdpbmUgPSAwOwogCWlmICghZSkgewotCQlfX2Zv cl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUoZmQsIGUpIHsKIAkJCWlmICghZ2VtX2NsYXNzX2Nhbl9zdG9yZV9kd29yZChmZCwgZS0+Y2xh c3MpKQogCQkJCWNvbnRpbnVlOwogCkBAIC02ODQsNyArNjg0LDcgQEAgaWd0X21haW4KIAkJaWd0 X2ZpeHR1cmUKIAkJCWlndF9yZXF1aXJlKGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2RldmlkKGRl dmljZSkpID49IDcpOwogCi0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGRldmljZSwgZSkg eworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZGV2aWNlLCBlKSB7CiAJCQlpZ3Rfc3VidGVz dF9ncm91cCB7CiAJCQkJaWd0X3N1YnRlc3RfZigiJXMtZGlzcGF0Y2giLCBlLT5uYW1lKQogCQkJ CQlsYXRlbmN5X29uX3JpbmcoZGV2aWNlLApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fZXhl Y19ub3AuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbm9wLmMKaW5kZXggOTM3ZWMwMTQzM2I0Li40 Y2ViY2U0NTdiOTUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfbm9wLmMKKysrIGIv dGVzdHMvaTkxNS9nZW1fZXhlY19ub3AuYwpAQCAtMjM2LDcgKzIzNiw3IEBAIHN0YXRpYyB2b2lk IHBvbGxfc2VxdWVudGlhbChpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGludCB0aW1lb3V0KQog CQlmbGFncyB8PSBJOTE1X0VYRUNfU0VDVVJFOwogCiAJbmVuZ2luZSA9IDA7Ci0JX19mb3JfZWFj aF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQs IGUpIHsKIAkJaWYgKCFnZW1fY2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5jbGFzcykpCiAJ CQljb250aW51ZTsKIApAQCAtNDQzLDcgKzQ0Myw3IEBAIHN0YXRpYyB2b2lkIHBhcmFsbGVsKGlu dCBmZCwgdWludDMyX3QgaGFuZGxlLCBpbnQgdGltZW91dCkKIAogCXN1bSA9IDA7CiAJbmVuZ2lu ZSA9IDA7Ci0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwlmb3JfZWFjaF9w aHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJZW5naW5lc1tuZW5naW5lXSA9IGUtPmZsYWdzOwog CQluYW1lc1tuZW5naW5lXSA9IGUtPm5hbWU7CiAJCW5lbmdpbmUrKzsKQEAgLTUwNSw3ICs1MDUs NyBAQCBzdGF0aWMgdm9pZCBzZXJpZXMoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsIGludCB0aW1l b3V0KQogCWNvbnN0IGNoYXIgKm5hbWU7CiAKIAluZW5naW5lID0gMDsKLQlfX2Zvcl9lYWNoX3Bo eXNpY2FsX2VuZ2luZShmZCwgZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkg ewogCQl0aW1lID0gbm9wX29uX3JpbmcoZmQsIGhhbmRsZSwgZSwgMSwgJmNvdW50KSAvIGNvdW50 OwogCQlpZiAodGltZSA+IG1heCkgewogCQkJbmFtZSA9IGUtPm5hbWU7CkBAIC02MDEsNyArNjAx LDcgQEAgc3RhdGljIHZvaWQgc2VxdWVudGlhbChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgdW5z aWduZWQgZmxhZ3MsIGludCB0aW1lb3V0KQogCiAJbmVuZ2luZSA9IDA7CiAJc3VtID0gMDsKLQlf X2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2Vu Z2luZShmZCwgZSkgewogCQl1bnNpZ25lZCBsb25nIGNvdW50OwogCiAJCXRpbWUgPSBub3Bfb25f cmluZyhmZCwgaGFuZGxlLCBlLCAxLCAmY291bnQpIC8gY291bnQ7CkBAIC03MzMsNyArNzMzLDcg QEAgc3RhdGljIHZvaWQgZmVuY2Vfc2lnbmFsKGludCBmZCwgdWludDMyX3QgaGFuZGxlLAogCiAJ bmVuZ2luZSA9IDA7CiAJaWYgKCFlKSB7Ci0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZk LCBvdGhlcikKKwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikKIAkJCWVuZ2lu ZXNbbmVuZ2luZSsrXSA9IG90aGVyLT5mbGFnczsKIAl9IGVsc2UgewogCQlnZW1fcmVxdWlyZV9y aW5nKGZkLCBlLT5mbGFncyk7CkBAIC04ODEsNyArODgxLDcgQEAgaWd0X21haW4KIAlpZ3Rfc3Vi dGVzdCgiYmFzaWMtc2VxdWVudGlhbCIpCiAJCXNlcXVlbnRpYWwoZGV2aWNlLCBoYW5kbGUsIDAs IDUpOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZGV2aWNlLCBlKSB7CisJZm9yX2Vh Y2hfcGh5c2ljYWxfZW5naW5lKGRldmljZSwgZSkgewogCQlpZ3Rfc3VidGVzdF9mKCIlcyIsIGUt Pm5hbWUpCiAJCQlzaW5nbGUoZGV2aWNlLCBoYW5kbGUsIGUsIGUtPm5hbWUpOwogCQlpZ3Rfc3Vi dGVzdF9mKCJzaWduYWwtJXMiLCBlLT5uYW1lKQpAQCAtOTE2LDcgKzkxNiw3IEBAIGlndF9tYWlu CiAJCQlpZ3RfcmVxdWlyZShnZW1fc2NoZWR1bGVyX2hhc19wcmVlbXB0aW9uKGRldmljZSkpOwog CQl9CiAKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZGV2aWNlLCBlKSB7CisJCWZvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShkZXZpY2UsIGUpIHsKIAkJCWlndF9zdWJ0ZXN0X2YoInByZWVt cHQtJXMiLCBlLT5uYW1lKQogCQkJCXByZWVtcHQoZGV2aWNlLCBoYW5kbGUsIGUsIGUtPm5hbWUp OwogCQl9CkBAIC05MjcsNyArOTI3LDcgQEAgaWd0X21haW4KIAkJCWlndF9kZXZpY2Vfc2V0X21h c3RlcihkZXZpY2UpOwogCQl9CiAKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZGV2aWNl LCBlKSB7CisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShkZXZpY2UsIGUpIHsKIAkJCS8qIFJl cXVpcmVzIG1hc3RlciBmb3IgU1RPUkVfRFdPUkQgb24gZ2VuNC81ICovCiAJCQlpZ3Rfc3VidGVz dF9mKCJwb2xsLSVzIiwgZS0+bmFtZSkKIAkJCQlwb2xsX3JpbmcoZGV2aWNlLCBlLCBlLT5uYW1l LCAyMCk7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9leGVjX3BhcmFsbGVsLmMgYi90ZXN0 cy9pOTE1L2dlbV9leGVjX3BhcmFsbGVsLmMKaW5kZXggOGE0NDgyZTUyYTZlLi4zYmEwNjdkMGM4 ZmIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfcGFyYWxsZWwuYworKysgYi90ZXN0 cy9pOTE1L2dlbV9leGVjX3BhcmFsbGVsLmMKQEAgLTE3Miw3ICsxNzIsNyBAQCBzdGF0aWMgdm9p ZCBhbGwoaW50IGZkLCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmVuZ2luZSwgdW5z aWduZWQgZmxhZ3MpCiAJbmVuZ2luZSA9IDA7CiAJaWYgKCFlbmdpbmUpIHsKIAkJc3RydWN0IGlu dGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplOwotCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShm ZCwgZSkgeworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJCWlmIChnZW1f Y2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5jbGFzcykpCiAJCQkJZW5naW5lc1tuZW5naW5l KytdID0gZS0+ZmxhZ3M7CiAJCX0KQEAgLTI1NCw3ICsyNTQsNyBAQCBpZ3RfbWFpbgogCQkJLyog TlVMTCB2YWx1ZSBtZWFucyBhbGwgZW5naW5lcyAqLwogCQkJYWxsKGZkLCBOVUxMLCBtLT5mbGFn cyk7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCWZvcl9lYWNoX3Bo eXNpY2FsX2VuZ2luZShmZCwgZSkgewogCQlmb3IgKGNvbnN0IHN0cnVjdCBtb2RlICptID0gbW9k ZXM7IG0tPm5hbWU7IG0rKykKIAkJCWlndF9zdWJ0ZXN0X2YoIiVzJXMlcyIsCiAJCQkJICAgICAg ZS0+bmFtZSwKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfcGFyYW1zLmMgYi90ZXN0 cy9pOTE1L2dlbV9leGVjX3BhcmFtcy5jCmluZGV4IDNiYzViMGE5ZDUzMS4uNzY1OWFmNDMyMjg3 IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9leGVjX3BhcmFtcy5jCisrKyBiL3Rlc3RzL2k5 MTUvZ2VtX2V4ZWNfcGFyYW1zLmMKQEAgLTIxMSw3ICsyMTEsNyBAQCBpZ3RfbWFpbgogCX0KIAog CWlndF9zdWJ0ZXN0KCJjb250cm9sIikgewotCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShm ZCwgZSkgeworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJCWV4ZWNidWYu ZmxhZ3MgPSBlLT5mbGFnczsKIAkJCWdlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7CiAJCX0KQEAg LTM2Miw3ICszNjIsNyBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJycy1pbnZhbGlkIikgewog CQlib29sIGhhc19ycyA9IGhhc19yZXNvdXJjZV9zdHJlYW1lcihmZCk7CiAKLQkJX19mb3JfZWFj aF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZk LCBlKSB7CiAJCQlpbnQgZXhwZWN0ID0gLUVJTlZBTDsKIAkJCWlmIChoYXNfcnMgJiYgKGUtPmNs YXNzID09IEk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUikpCiAJCQkJZXhwZWN0ID0gMDsKZGlmZiAt LWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfcmVsb2MuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNf cmVsb2MuYwppbmRleCA1NDEyNzllZjUyNDMuLjc5ODNiZDg2ZTM5ZCAxMDA2NDQKLS0tIGEvdGVz dHMvaTkxNS9nZW1fZXhlY19yZWxvYy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfcmVsb2Mu YwpAQCAtMjU4LDcgKzI1OCw3IEBAIHN0YXRpYyB2b2lkIGFjdGl2ZShpbnQgZmQsIGNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSkKIAogCW5lbmdpbmUgPSAwOwogCWlmICgh ZSkgewotCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCQlmb3JfZWFjaF9w aHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJCWlmIChnZW1fY2xhc3NfY2FuX3N0b3JlX2R3b3Jk KGZkLCBlLT5jbGFzcykpCiAJCQkJZW5naW5lc1tuZW5naW5lKytdID0gZS0+ZmxhZ3M7CiAJCX0K QEAgLTc1Myw3ICs3NTMsNyBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJhY3RpdmUiKQogCQlh Y3RpdmUoZmQsIE5VTEwpOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpCisJ Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKQogCQlpZ3Rfc3VidGVzdF9mKCJhY3RpdmUt JXMiLCBlLT5uYW1lKQogCQkJYWN0aXZlKGZkLCBlKTsKIApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkx NS9nZW1fZXhlY19yZXVzZS5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19yZXVzZS5jCmluZGV4IDU1 ZTQ5ZDY0NDAxMy4uMWYyZDMxNTQ3NGFjIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9leGVj X3JldXNlLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19yZXVzZS5jCkBAIC0xMTgsNyArMTE4 LDcgQEAgaWd0X21haW4KIAkJbm8ub2JqID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgZHJtX2k5MTVf Z2VtX2V4ZWNfb2JqZWN0MikgKiAobm8ubWF4X2FnZSArIDEpKTsKIAogCQluZW5naW5lID0gMDsK LQkJX19mb3JfZWFjaF9zdGF0aWNfZW5naW5lKGUpCisJCWZvcl9lYWNoX3N0YXRpY19lbmdpbmUo ZSkKIAkJCWlmIChlKQogCQkJCWVuZ2luZXNbbmVuZ2luZSsrXSA9IGUtPmZsYWdzOwogCQlpZ3Rf cmVxdWlyZShuZW5naW5lKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc2NoZWR1 bGUuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc2NoZWR1bGUuYwppbmRleCAyMWIwZDkzNTU5ZTAu LmUwZTI5YWMyZTJjZiAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhlY19zY2hlZHVsZS5j CisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc2NoZWR1bGUuYwpAQCAtMjI1LDcgKzIyNSw3IEBA IHN0YXRpYyB2b2lkIGluZGVwZW5kZW50KGludCBmZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1 dGlvbl9lbmdpbmUyICplKQogCXBsdWcgPSBpZ3RfY29ya19wbHVnKCZjb3JrLCBmZCk7CiAKIAkv KiBDaGVjayB0aGF0IHdlIGNhbiBzdWJtaXQgdG8gZW5naW5lIHdoaWxlIGFsbCBvdGhlcnMgYXJl IGJsb2NrZWQgKi8KLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpIHsKKwlm b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90aGVyKSB7CiAJCWlmIChvdGhlciA9PSBlKQog CQkJY29udGludWU7CiAKQEAgLTI4NSw3ICsyODUsNyBAQCBzdGF0aWMgdm9pZCBzbW9rZXRlc3Qo aW50IGZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUsCiAKIAluZW5n aW5lID0gMDsKIAlpZiAoIWUpIHsKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90 aGVyKQorCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90aGVyKQogCQkJZW5naW5lc1tu ZW5naW5lKytdID0gb3RoZXI7CiAJfSBlbHNlIHsKIAkJZW5naW5lc1tuZW5naW5lKytdID0gZTsK QEAgLTM2OSw3ICszNjksNyBAQCBzdGF0aWMgdm9pZCBzZW1hcGhvcmVfdXNlcmxvY2soaW50IGk5 MTUpCiAJICovCiAKIAlzY3JhdGNoID0gZ2VtX2NyZWF0ZShpOTE1LCA0MDk2KTsKLQlfX2Zvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKSB7CisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5l KGk5MTUsIGUpIHsKIAkJaWYgKCFzcGluKSB7CiAJCQlzcGluID0gaWd0X3NwaW5fbmV3KGk5MTUs CiAJCQkJCSAgICAuZGVwZW5kZW5jeSA9IHNjcmF0Y2gsCkBAIC0zOTQsNyArMzk0LDcgQEAgc3Rh dGljIHZvaWQgc2VtYXBob3JlX3VzZXJsb2NrKGludCBpOTE1KQogCSAqIHRha2luZyBwcmVjZWRl bmNlLgogCSAqLwogCXNjcmF0Y2ggPSBnZW1fY29udGV4dF9jcmVhdGUoaTkxNSk7Ci0JX19mb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShpOTE1LCBlKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZiA9 IHsKIAkJCS5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmb2JqKSwKIAkJCS5idWZmZXJf Y291bnQgPSAxLApAQCAtNDMzLDcgKzQzMyw3IEBAIHN0YXRpYyB2b2lkIHNlbWFwaG9yZV9jb2Rl cGVuZGVuY3koaW50IGk5MTUpCiAJICovCiAKIAlpID0gMDsKLQlfX2Zvcl9lYWNoX3BoeXNpY2Fs X2VuZ2luZShpOTE1LCBlKSB7CisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGUpIHsK IAkJdWludDMyX3QgY3R4OwogCiAJCWlmIChlLT5jbGFzcyA9PSBJOTE1X0VOR0lORV9DTEFTU19S RU5ERVIpCkBAIC00NTEsNyArNDUxLDcgQEAgc3RhdGljIHZvaWQgc2VtYXBob3JlX2NvZGVwZW5k ZW5jeShpbnQgaTkxNSkKIAkJCQkgICAgICAgLmZsYWdzID0gSUdUX1NQSU5fUE9MTF9SVU4pOwog CQlpZ3Rfc3Bpbl9idXN5d2FpdF91bnRpbF9zdGFydGVkKHRhc2tbaV0ueGNzKTsKIAotCQlfX2Zv cl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBvdGhlcikgeworCQlmb3JfZWFjaF9waHlzaWNh bF9lbmdpbmUoaTkxNSwgb3RoZXIpIHsKIAkJCWlmIChvdGhlci0+Y2xhc3MgPT0gSTkxNV9FTkdJ TkVfQ0xBU1NfUkVOREVSKQogCQkJCS8qIENvbW1vbiByY3MgdGFza3Mgd2lsbCBiZSBxdWV1ZWQg aW4gRklGTyAqLwogCQkJCXRhc2tbaV0ucmNzID0KQEAgLTUwOCw3ICs1MDgsNyBAQCBzdGF0aWMg dm9pZCBzZW1hcGhvcmVfcmVzb2x2ZShpbnQgaTkxNSkKIAlzZW1hcGhvcmUgPSBnZW1fY3JlYXRl KGk5MTUsIDQwOTYpOwogCXNlbWEgPSBnZW1fbW1hcF9fd2MoaTkxNSwgc2VtYXBob3JlLCAwLCA0 MDk2LCBQUk9UX1dSSVRFKTsKIAotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGUp IHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZSkgewogCQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpbM107CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1 ZmZlcjIgZWI7CiAJCXVpbnQzMl90IGhhbmRsZSwgY2FuY2VsOwpAQCAtNjIzLDggKzYyMyw4IEBA IHN0YXRpYyB2b2lkIHNlbWFwaG9yZV9ub3NraXAoaW50IGk5MTUpCiAKIAljdHggPSBnZW1fY29u dGV4dF9jcmVhdGUoaTkxNSk7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBl bmdpbmUpIHsKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBvdGhlcikgeworCWZv cl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlbmdpbmUpIHsKKwlmb3JfZWFjaF9waHlzaWNh bF9lbmdpbmUoaTkxNSwgb3RoZXIpIHsKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVj dDIgb2JqWzNdOwogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGViOwogCQl1aW50 MzJfdCBoYW5kbGUsICpjcywgKm1hcDsKQEAgLTg0Niw3ICs4NDYsNyBAQCBzdGF0aWMgaWd0X3Nw aW5fdCAqX19ub2lzZShpbnQgZmQsIHVpbnQzMl90IGN0eCwgaW50IHByaW8sIGlndF9zcGluX3Qg KnNwaW4pCiAKIAlnZW1fY29udGV4dF9zZXRfcHJpb3JpdHkoZmQsIGN0eCwgcHJpbyk7CiAKLQlf X2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpIHsKKwlmb3JfZWFjaF9waHlzaWNh bF9lbmdpbmUoZmQsIG90aGVyKSB7CiAJCWlmIChzcGluID09IE5VTEwpIHsKIAkJCXNwaW4gPSBf X2lndF9zcGluX25ldyhmZCwKIAkJCQkJICAgICAgLmN0eCA9IGN0eCwKQEAgLTg4Myw3ICs4ODMs NyBAQCBzdGF0aWMgdm9pZCBfX3ByZWVtcHRfb3RoZXIoaW50IGZkLAogCW4rKzsKIAogCWlmIChm bGFncyAmIENIQUlOKSB7Ci0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikg eworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90aGVyKSB7CiAJCQlzdG9yZV9kd29y ZChmZCwgY3R4W0xPXSwgb3RoZXIsCiAJCQkJICAgIHJlc3VsdCwgKG4gKyAxKSpzaXplb2YodWlu dDMyX3QpLCBuICsgMSwKIAkJCQkgICAgMCwgSTkxNV9HRU1fRE9NQUlOX1JFTkRFUik7CkBAIC05 MzMsNyArOTMzLDcgQEAgc3RhdGljIHZvaWQgcHJlZW1wdF9vdGhlcihpbnQgZmQsIGNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAljdHhbSEldID0gZ2VtX2NvbnRleHRf Y3JlYXRlKGZkKTsKIAlnZW1fY29udGV4dF9zZXRfcHJpb3JpdHkoZmQsIGN0eFtISV0sIE1BWF9Q UklPKTsKIAotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBwcmltYXJ5KSB7CisJZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBwcmltYXJ5KSB7CiAJCWlndF9kZWJ1ZygiUHJpbWFy eSBlbmdpbmU6ICVzXG4iLCBlLT5uYW1lKTsKIAkJX19wcmVlbXB0X290aGVyKGZkLCBjdHgsIGUs IHByaW1hcnksIGZsYWdzKTsKIAl9CkBAIC05OTAsNyArOTkwLDcgQEAgc3RhdGljIHZvaWQgX19w cmVlbXB0X3F1ZXVlKGludCBmZCwKIAluKys7CiAKIAlpZiAoZmxhZ3MgJiBDSEFJTikgewotCQlf X2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgb3RoZXIpIHsKKwkJZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGZkLCBvdGhlcikgewogCQkJc3RvcmVfZHdvcmQoZmQsIGN0eFtMT10sIG90aGVy LAogCQkJCSAgICByZXN1bHQsIChuICsgMSkqc2l6ZW9mKHVpbnQzMl90KSwgbiArIDEsCiAJCQkJ ICAgIDAsIEk5MTVfR0VNX0RPTUFJTl9SRU5ERVIpOwpAQCAtMTAzNCw3ICsxMDM0LDcgQEAgc3Rh dGljIHZvaWQgcHJlZW1wdF9xdWV1ZShpbnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRp b25fZW5naW5lMiAqZSwKIHsKIAljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIg Km90aGVyOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90aGVyKSB7CisJZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgewogCQlmb3IgKHVuc2lnbmVkIGRlcHRo ID0gMDsgZGVwdGggPD0gTUFYX0VMU1BfUUxFTjsgZGVwdGgrKykKIAkJCV9fcHJlZW1wdF9xdWV1 ZShmZCwgZSwgb3RoZXIsIGRlcHRoLCBmbGFncyk7CiAJfQpAQCAtMTA2Myw3ICsxMDYzLDcgQEAg c3RhdGljIHZvaWQgcHJlZW1wdF9zZWxmKGludCBmZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1 dGlvbl9lbmdpbmUyICplKQogCiAJbiA9IDA7CiAJZ2VtX2NvbnRleHRfc2V0X3ByaW9yaXR5KGZk LCBjdHhbSEldLCBNSU5fUFJJTyk7Ci0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90 aGVyKSB7CisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgewogCQlzcGluW25d ID0gX19pZ3Rfc3Bpbl9uZXcoZmQsCiAJCQkJCSAuY3R4ID0gY3R4W05PSVNFXSwKIAkJCQkJIC5l bmdpbmUgPSBvdGhlci0+ZmxhZ3MpOwpAQCAtMTU4OSw3ICsxNTg5LDcgQEAgc3RhdGljIHZvaWQg bWVhc3VyZV9zZW1hcGhvcmVfcG93ZXIoaW50IGk5MTUpCiAKIAlpZ3RfcmVxdWlyZShncHVfcG93 ZXJfb3BlbigmcG93ZXIpID09IDApOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkx NSwgc2lnbmFsZXIpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgc2lnbmFsZXIp IHsKIAkJc3RydWN0IGdwdV9wb3dlcl9zYW1wbGUgc19zcGluWzJdOwogCQlzdHJ1Y3QgZ3B1X3Bv d2VyX3NhbXBsZSBzX3NlbWFbMl07CiAJCWRvdWJsZSBiYXNlbGluZSwgdG90YWw7CkBAIC0xNjA3 LDcgKzE2MDcsNyBAQCBzdGF0aWMgdm9pZCBtZWFzdXJlX3NlbWFwaG9yZV9wb3dlcihpbnQgaTkx NSkKIAkJZ3B1X3Bvd2VyX3JlYWQoJnBvd2VyLCAmc19zcGluWzFdKTsKIAogCQkvKiBBZGQgYSB3 YWl0ZXIgdG8gZWFjaCBlbmdpbmUgKi8KLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkx NSwgZW5naW5lKSB7CisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlbmdpbmUpIHsK IAkJCWlndF9zcGluX3QgKnNlbWE7CiAKIAkJCWlmIChlbmdpbmUgPT0gc2lnbmFsZXIpCkBAIC0x NjYwLDcgKzE2NjAsNyBAQCBpZ3RfbWFpbgogCX0KIAogCWlndF9zdWJ0ZXN0X2dyb3VwIHsKLQkJ X19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJZm9yX2VhY2hfcGh5c2ljYWxf ZW5naW5lKGZkLCBlKSB7CiAJCQlpZ3Rfc3VidGVzdF9mKCJmaWZvLSVzIiwgZS0+bmFtZSkgewog CQkJCWlndF9yZXF1aXJlKGdlbV9jbGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIGUtPmNsYXNzKSk7 CiAJCQkJZmlmbyhmZCwgZSk7CkBAIC0xNjkxLDcgKzE2OTEsNyBAQCBpZ3RfbWFpbgogCQlpZ3Rf c3VidGVzdCgic21va2V0ZXN0LWFsbCIpCiAJCQlzbW9rZXRlc3QoZmQsIE5VTEwsIDMwKTsKIAot CQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCQlmb3JfZWFjaF9waHlzaWNh bF9lbmdpbmUoZmQsIGUpIHsKIAkJCWlndF9zdWJ0ZXN0X2dyb3VwIHsKIAkJCQlpZ3RfZml4dHVy ZSB7CiAJCQkJCWlndF9yZXF1aXJlKGdlbV9jbGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIGUtPmNs YXNzKSk7CkBAIC0xNzgzLDcgKzE3ODMsNyBAQCBpZ3RfbWFpbgogCQkJaWd0X3JlcXVpcmUoZ2Vt X2hhc19leGVjbGlzdHMoZmQpKTsKIAkJfQogCi0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5l KGZkLCBlKSB7CisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewogCQkJaWd0X3N1 YnRlc3RfZ3JvdXAgewogCQkJCWlndF9maXh0dXJlIHsKIAkJCQkJaWd0X3JlcXVpcmUoZ2VtX3Nj aGVkdWxlcl9oYXNfcHJlZW1wdGlvbihmZCkpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1f ZXhlY19zdG9yZS5jIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19zdG9yZS5jCmluZGV4IGI3NGMzZDg0 YmNjMi4uZGJhNzFiMzg5Yzc2IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9leGVjX3N0b3Jl LmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY19zdG9yZS5jCkBAIC0yMjAsNyArMjIwLDcgQEAg c3RhdGljIHZvaWQgc3RvcmVfYWxsKGludCBmZCkKIAogCW5lbmdpbmUgPSAwOwogCWludGVsX2Rl dGVjdF9hbmRfY2xlYXJfbWlzc2VkX2ludGVycnVwdHMoZmQpOwotCV9fZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGZkLCBlbmdpbmUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGVu Z2luZSkgewogCQlpZiAoIWdlbV9jbGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIGVuZ2luZS0+Y2xh c3MpKQogCQkJY29udGludWU7CiAKQEAgLTMyOSw3ICszMjksNyBAQCBpZ3RfbWFpbgogCQlpZ3Rf Zm9ya19oYW5nX2RldGVjdG9yKGZkKTsKIAl9CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShmZCwgZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewogCQlpZ3Rfc3Vi dGVzdF9mKCJiYXNpYy0lcyIsIGUtPm5hbWUpCiAJCQlzdG9yZV9kd29yZChmZCwgZSk7CiAKZGlm ZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc3VzcGVuZC5jIGIvdGVzdHMvaTkxNS9nZW1f ZXhlY19zdXNwZW5kLmMKaW5kZXggMzIzOGUzMDdlMjE3Li4xYWM3YTEwNDFkYzkgMTAwNjQ0Ci0t LSBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfc3VzcGVuZC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX2V4 ZWNfc3VzcGVuZC5jCkBAIC02Nyw3ICs2Nyw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfYWxsKGludCBm ZCwgdW5zaWduZWQgZmxhZ3MpCiB7CiAJY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdp bmUyICplbmdpbmU7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5naW5lKQor CWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5naW5lKQogCQlpZiAoZ2VtX2NsYXNzX2Nh bl9zdG9yZV9kd29yZChmZCwgZW5naW5lLT5jbGFzcykpCiAJCQlydW5fdGVzdChmZCwgZW5naW5l LCBmbGFncyAmIH4weGZmKTsKIH0KQEAgLTEwOCw3ICsxMDgsNyBAQCBzdGF0aWMgdm9pZCBydW5f dGVzdChpbnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAkJ ICogR1BVIGlzIHRoZW4gdW5saWtlbHkgdG8gYmUgYWN0aXZlISkKIAkJICovCiAJCWlmIChoYXNf c2VtYXBob3JlcyhmZCkpIHsKLQkJCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7 CisJCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJCQlpZiAoZ2VtX2NsYXNz X2Nhbl9zdG9yZV9kd29yZChmZCwgZS0+Y2xhc3MpKQogCQkJCQllbmdpbmVzW25lbmdpbmUrK10g PSBlLT5mbGFnczsKIAkJCX0KQEAgLTI2Niw3ICsyNjYsNyBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0 ZXN0KCJiYXNpYy1TNCIpCiAJCXJ1bl90ZXN0KGZkLCBOVUxMLCBISUJFUk5BVEUpOwogCi0JX19m b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUoZmQsIGUpIHsKIAkJZm9yIChtID0gbW9kZXM7IG0tPnN1ZmZpeDsgbSsrKSB7CiAJCQlpZ3Rf c3VidGVzdF9mKCIlcy11bmNhY2hlZCVzIiwgZS0+bmFtZSwgbS0+c3VmZml4KQogCQkJCXJ1bl90 ZXN0KGZkLCBlLCBtLT5tb2RlIHwgVU5DQUNIRUQpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9n ZW1fZXhlY193aGlzcGVyLmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX3doaXNwZXIuYwppbmRleCA0 Mzk5OGI0OWI3NzMuLjI4YWM4NmI2YjNmYSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fZXhl Y193aGlzcGVyLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fZXhlY193aGlzcGVyLmMKQEAgLTIwNCw3 ICsyMDQsNyBAQCBzdGF0aWMgdm9pZCB3aGlzcGVyKGludCBmZCwgY29uc3Qgc3RydWN0IGludGVs X2V4ZWN1dGlvbl9lbmdpbmUyICplbmdpbmUsCiAKIAluZW5naW5lID0gMDsKIAlpZiAoIWVuZ2lu ZSkgewotCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5naW5lKSB7CisJCWZvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5naW5lKSB7CiAJCQlpZiAoZ2VtX2NsYXNzX2Nhbl9z dG9yZV9kd29yZChmZCwgZW5naW5lLT5jbGFzcykpCiAJCQkJZW5naW5lc1tuZW5naW5lKytdID0g ZW5naW5lLT5mbGFnczsKIAkJfQpAQCAtNTcyLDcgKzU3Miw3IEBAIGlndF9tYWluCiAJCQl3aGlz cGVyKGZkLCBOVUxMLCBtLT5mbGFncyB8IEFMTCk7CiAJfQogCi0JX19mb3JfZWFjaF9waHlzaWNh bF9lbmdpbmUoZmQsIGUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJ Zm9yIChjb25zdCBzdHJ1Y3QgbW9kZSAqbSA9IG1vZGVzOyBtLT5uYW1lOyBtKyspIHsKIAkJCWlm IChtLT5mbGFncyAmIENIQUlOKQogCQkJCWNvbnRpbnVlOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkx NS9nZW1fbW9jc19zZXR0aW5ncy5jIGIvdGVzdHMvaTkxNS9nZW1fbW9jc19zZXR0aW5ncy5jCmlu ZGV4IGQ1Y2VkZmM0NzhjMS4uNTQwZDY0MGVkYzgyIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dl bV9tb2NzX3NldHRpbmdzLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fbW9jc19zZXR0aW5ncy5jCkBA IC01MTYsNyArNTE2LDcgQEAgaWd0X21haW4KIAkJaWd0X3JlcXVpcmUoZ2V0X21vY3Nfc2V0dGlu Z3MoZmQsICZ0YWJsZSwgZmFsc2UpKTsKIAl9CiAKLQlfX2Zvcl9lYWNoX3N0YXRpY19lbmdpbmUo ZSkgeworCWZvcl9lYWNoX3N0YXRpY19lbmdpbmUoZSkgewogCQlmb3IgKHVuc2lnbmVkIG1vZGUg PSBOT05FOyBtb2RlIDwgTUFYX01PQ1NfVEVTVF9NT0RFUzsgbW9kZSsrKSB7CiAJCQlpZ3Rfc3Vi dGVzdF9ncm91cCB7CiAJCQkJaWd0X2hhbmdfdCBoYW5nID0ge307CmRpZmYgLS1naXQgYS90ZXN0 cy9pOTE1L2dlbV9yZXNldF9zdGF0cy5jIGIvdGVzdHMvaTkxNS9nZW1fcmVzZXRfc3RhdHMuYwpp bmRleCBkZDBiYTgyMWY3ZDguLjZhOTE1OWE4MTYyMSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9n ZW1fcmVzZXRfc3RhdHMuYworKysgYi90ZXN0cy9pOTE1L2dlbV9yZXNldF9zdGF0cy5jCkBAIC01 MjAsMTQgKzUyMCwxNCBAQCBzdGF0aWMgdm9pZCBub29wX29uX2VhY2hfcmluZyhpbnQgZmQsIGNv bnN0IGJvb2wgcmV2ZXJzZSkKIAllYi5idWZmZXJfY291bnQgPSAxOwogCiAJaWYgKHJldmVyc2Up IHsKLQkJX19mb3JfZWFjaF9zdGF0aWNfZW5naW5lKGUpCisJCWZvcl9lYWNoX3N0YXRpY19lbmdp bmUoZSkKIAkJCTsKIAkJd2hpbGUgKC0tZSA+PSBpbnRlbF9leGVjdXRpb25fZW5naW5lczIpIHsK IAkJCWViLmZsYWdzID0gZS0+ZmxhZ3M7CiAJCQlfX2dlbV9leGVjYnVmKGZkLCAmZWIpOwogCQl9 CiAJfSBlbHNlIHsKLQkJX19mb3JfZWFjaF9zdGF0aWNfZW5naW5lKGUpIHsKKwkJZm9yX2VhY2hf c3RhdGljX2VuZ2luZShlKSB7CiAJCQllYi5mbGFncyA9IGUtPmZsYWdzOwogCQkJX19nZW1fZXhl Y2J1ZihmZCwgJmViKTsKIAkJfQpAQCAtODAzLDcgKzgwMyw3IEBAIGlndF9tYWluCiAJaWd0X3N1 YnRlc3RfZigicGFyYW1zLWN0eCIpCiAJCVJVTl9URVNUKHRlc3RfcGFyYW1zX2N0eCgpKTsKIAot CV9fZm9yX2VhY2hfc3RhdGljX2VuZ2luZShlKSB7CisJZm9yX2VhY2hfc3RhdGljX2VuZ2luZShl KSB7CiAJCWlndF9zdWJ0ZXN0X2YoInJlc2V0LXN0YXRzLSVzIiwgZS0+bmFtZSkKIAkJCVJVTl9U RVNUKHRlc3RfcnMoZSwgNCwgMSwgMCkpOwogCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9y aW5nX3N5bmNfbG9vcC5jIGIvdGVzdHMvaTkxNS9nZW1fcmluZ19zeW5jX2xvb3AuYwppbmRleCAz OTgyY2Y5YjkzMTkuLjYzZWUzZjJkNzA5NSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fcmlu Z19zeW5jX2xvb3AuYworKysgYi90ZXN0cy9pOTE1L2dlbV9yaW5nX3N5bmNfbG9vcC5jCkBAIC00 OCw3ICs0OCw3IEBAIHN5bmNfbG9vcChpbnQgZmQpCiAJaW50IGk7CiAKIAluZW5naW5lID0gMDsK LQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZW5naW5lKQorCWZvcl9lYWNoX3BoeXNp Y2FsX2VuZ2luZShmZCwgZW5naW5lKQogCQllbmdpbmVzW25lbmdpbmUrK10gPSBlbmdpbmUtPmZs YWdzOwogCWlndF9yZXF1aXJlKG5lbmdpbmUpOwogCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dl bV9yaW5nZmlsbC5jIGIvdGVzdHMvaTkxNS9nZW1fcmluZ2ZpbGwuYwppbmRleCBhMDJjN2U3NmVj ZDkuLjhiMzg5NWJjOWUzMiAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9nZW1fcmluZ2ZpbGwuYwor KysgYi90ZXN0cy9pOTE1L2dlbV9yaW5nZmlsbC5jCkBAIC0yODAsNyArMjgwLDcgQEAgaWd0X21h aW4KIAlmb3IgKG0gPSBtb2RlczsgbS0+c3VmZml4OyBtKyspIHsKIAkJY29uc3Qgc3RydWN0IGlu dGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplOwogCi0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5l KGZkLCBlKSB7CisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewogCQkJaWd0X3N1 YnRlc3RfZigiJXMlcyIsIGUtPm5hbWUsIG0tPnN1ZmZpeCkgewogCQkJCWlndF9za2lwX29uKG0t PmZsYWdzICYgTkVXRkQgJiYgbWFzdGVyKTsKIAkJCQlpZiAobS0+ZmxhZ3MgJiAoSEFOR3xTVVNQ RU5EfEhJQkVSTkFURSkpCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYyBiL3Rl c3RzL2k5MTUvZ2VtX3Nocmluay5jCmluZGV4IGJjYTZmYjg4YzZkYS4uMmNiZDIzNzJhMzI0IDEw MDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYworKysgYi90ZXN0cy9pOTE1L2dlbV9z aHJpbmsuYwpAQCAtNDIzLDcgKzQyMyw3IEBAIGlndF9tYWluCiAJCQkJICAgICBDSEVDS19TV0FQ IHwgQ0hFQ0tfUkFNKTsKIAogCQluZW5naW5lID0gMDsKLQkJX19mb3JfZWFjaF9zdGF0aWNfZW5n aW5lKGVuZ2luZSkKKwkJZm9yX2VhY2hfc3RhdGljX2VuZ2luZShlbmdpbmUpCiAJCQllbmdpbmVz W25lbmdpbmUrK10gPSBlbmdpbmUtPmZsYWdzOwogCQlpZ3RfcmVxdWlyZShuZW5naW5lKTsKIApA QCAtNDMxLDcgKzQzMSw3IEBAIGlndF9tYWluCiAJfQogCiAJaWd0X3N1YnRlc3QoInJlY2xhaW0i KSB7Ci0JCV9fZm9yX2VhY2hfc3RhdGljX2VuZ2luZShlbmdpbmUpIHsKKwkJZm9yX2VhY2hfc3Rh dGljX2VuZ2luZShlbmdpbmUpIHsKIAkJCWlmIChlbmdpbmUtPmNsYXNzID09IEk5MTVfRU5HSU5F X0NMQVNTX1JFTkRFUikKIAkJCQlicmVhazsKIAkJfQpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9n ZW1fc3Bpbl9iYXRjaC5jIGIvdGVzdHMvaTkxNS9nZW1fc3Bpbl9iYXRjaC5jCmluZGV4IDcxNzc1 MWJkZGMxZi4uODViNGU5YWM4NTdhIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9zcGluX2Jh dGNoLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fc3Bpbl9iYXRjaC5jCkBAIC04Niw3ICs4Niw3IEBA IHN0YXRpYyB2b2lkIHNwaW5fcmVzdWJtaXQoaW50IGZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhl Y3V0aW9uX2VuZ2luZTIgKmUsCiAJfTsKIAogCWlmIChmbGFncyAmIFJFU1VCTUlUX0FMTF9FTkdJ TkVTKSB7Ci0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgeworCQlmb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIG90aGVyKSB7CiAJCQlpZiAgKG90aGVyID09IGUpCiAJ CQkJY29udGludWU7CiAKQEAgLTExOSw3ICsxMTksNyBAQCBzdGF0aWMgdm9pZCBzcGluX29uX2Fs bF9lbmdpbmVzKGludCBmZCwgdW5zaWduZWQgaW50IHRpbWVvdXRfc2VjKQogewogCWNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZW5naW5lOwogCi0JX19mb3JfZWFjaF9waHlz aWNhbF9lbmdpbmUoZmQsIGVuZ2luZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwg ZW5naW5lKSB7CiAJCWlndF9mb3JrKGNoaWxkLCAxKSB7CiAJCQlpZ3RfaW5zdGFsbF9leGl0X2hh bmRsZXIoc3Bpbl9leGl0X2hhbmRsZXIpOwogCQkJc3BpbihmZCwgZW5naW5lLCB0aW1lb3V0X3Nl Yyk7CkBAIC0xNDIsNyArMTQyLDcgQEAgaWd0X21haW4KIAkJaWd0X2ZvcmtfaGFuZ19kZXRlY3Rv cihmZCk7CiAJfQogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwlmb3Jf ZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJaWd0X3N1YnRlc3RfZigiYmFzaWMtJXMi LCBlLT5uYW1lKQogCQkJc3BpbihmZCwgZSwgMyk7CiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUv Z2VtX3N0b3JlZHdfbG9vcC5jIGIvdGVzdHMvaTkxNS9nZW1fc3RvcmVkd19sb29wLmMKaW5kZXgg ZjdlYjVhNjQxNjlmLi41N2I0MTgyZDUyNzMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX3N0 b3JlZHdfbG9vcC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX3N0b3JlZHdfbG9vcC5jCkBAIC0xODIs NyArMTgyLDcgQEAgaWd0X21haW4KIAkJaWd0X3JlcXVpcmUoZ2VtX3VzZXNfcHBndHQoZmQpKTsK IAl9CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCWZvcl9lYWNoX3Bo eXNpY2FsX2VuZ2luZShmZCwgZSkgewogCQlpZ3Rfc3VidGVzdF9mKCJzdG9yZS0lcyIsIGUtPm5h bWUpIHsKIAkJCWNoZWNrX3Rlc3RfcmVxdWlyZW1lbnRzKGZkLCBlKTsKIAkJCXN0b3JlX3Rlc3Qo ZmQsIGUpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fc3luYy5jIGIvdGVzdHMvaTkxNS9n ZW1fc3luYy5jCmluZGV4IDYyOWRlY2ZjZmUxOC4uNDg2MWIxZDI5NzE0IDEwMDY0NAotLS0gYS90 ZXN0cy9pOTE1L2dlbV9zeW5jLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fc3luYy5jCkBAIC04Nyw3 ICs4Nyw3IEBAIHN5bmNfcmluZyhpbnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25f ZW5naW5lMiAqZSwgaW50IG51bV9jaGlsZHJlbiwKIAlpbnQgbnVtX2VuZ2luZXMgPSAwOwogCiAJ aWYgKCFlKSB7Ci0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CisJCWZvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewogCQkJbmFtZXNbbnVtX2VuZ2luZXNdID0gZS0+ bmFtZTsKIAkJCWVuZ2luZXNbbnVtX2VuZ2luZXMrK10gPSBlLT5mbGFnczsKIAkJCWlmIChudW1f ZW5naW5lcyA9PSBBUlJBWV9TSVpFKGVuZ2luZXMpKQpAQCAtMTg3LDcgKzE4Nyw3IEBAIHdha2V1 cF9yaW5nKGludCBmZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLCBp bnQgdGltZW91dCwKIAlpbnQgbnVtX2VuZ2luZXMgPSAwOwogCiAJaWYgKCFlKSB7Ci0JCV9fZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShmZCwgZSkgewogCQkJaWYgKCFnZW1fY2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5jbGFz cykpCiAJCQkJY29udGludWU7CiAKQEAgLTI5OSw3ICsyOTksNyBAQCBzdGF0aWMgdm9pZCBhY3Rp dmVfcmluZyhpbnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwg aW50IHRpbQogCWludCBudW1fZW5naW5lcyA9IDA7CiAKIAlpZiAoIWUpIHsKLQkJX19mb3JfZWFj aF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZk LCBlKSB7CiAJCQlpZiAoIWdlbV9jbGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIGUtPmNsYXNzKSkK IAkJCQljb250aW51ZTsKIApAQCAtMzY3LDcgKzM2Nyw3IEBAIGFjdGl2ZV93YWtldXBfcmluZyhp bnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwgaW50IHRpbWVv dXQsCiAJaW50IG51bV9lbmdpbmVzID0gMDsKIAogCWlmICghZSkgewotCQlfX2Zvcl9lYWNoX3Bo eXNpY2FsX2VuZ2luZShmZCwgZSkgeworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUp IHsKIAkJCWlmICghZ2VtX2NsYXNzX2Nhbl9zdG9yZV9kd29yZChmZCwgZS0+Y2xhc3MpKQogCQkJ CWNvbnRpbnVlOwogCkBAIC01MDIsNyArNTAyLDcgQEAgc3RvcmVfcmluZyhpbnQgZmQsIGNvbnN0 IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwgaW50IG51bV9jaGlsZHJlbiwgaW4K IAlpbnQgbnVtX2VuZ2luZXMgPSAwOwogCiAJaWYgKCFlKSB7Ci0JCV9fZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGZkLCBlKSB7CisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgewog CQkJaWYgKCFnZW1fY2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5jbGFzcykpCiAJCQkJY29u dGludWU7CiAKQEAgLTYxOSw3ICs2MTksNyBAQCBzd2l0Y2hfcmluZyhpbnQgZmQsIGNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwgaW50IG51bV9jaGlsZHJlbiwgaQogCWdl bV9yZXF1aXJlX2NvbnRleHRzKGZkKTsKIAogCWlmICghZSkgewotCQlfX2Zvcl9lYWNoX3BoeXNp Y2FsX2VuZ2luZShmZCwgZSkgeworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsK IAkJCWlmICghZ2VtX2NsYXNzX2Nhbl9zdG9yZV9kd29yZChmZCwgZS0+Y2xhc3MpKQogCQkJCWNv bnRpbnVlOwogCkBAIC05NDYsNyArOTQ2LDcgQEAgc3RvcmVfbWFueShpbnQgZmQsIGNvbnN0IHN0 cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwgaW50IHRpbWVvdXQpCiAJaW50ZWxfZGV0 ZWN0X2FuZF9jbGVhcl9taXNzZWRfaW50ZXJydXB0cyhmZCk7CiAKIAlpZiAoIWUpIHsKLQkJX19m b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5n aW5lKGZkLCBlKSB7CiAJCQlpZiAoIWdlbV9jbGFzc19jYW5fc3RvcmVfZHdvcmQoZmQsIGUtPmNs YXNzKSkKIAkJCQljb250aW51ZTsKIApAQCAtOTc5LDcgKzk3OSw3IEBAIHN5bmNfYWxsKGludCBm ZCwgaW50IG51bV9jaGlsZHJlbiwgaW50IHRpbWVvdXQpCiAJY29uc3Qgc3RydWN0IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmUyICplbmdpbmU7CiAJaW50IG51bV9lbmdpbmVzID0gMDsKIAotCV9fZm9y X2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9l bmdpbmUoZmQsIGVuZ2luZSkgewogCQllbmdpbmVzW251bV9lbmdpbmVzKytdID0gZW5naW5lLT5m bGFnczsKIAkJaWYgKG51bV9lbmdpbmVzID09IEFSUkFZX1NJWkUoZW5naW5lcykpCiAJCQlicmVh azsKQEAgLTEwMzIsNyArMTAzMiw3IEBAIHN0b3JlX2FsbChpbnQgZmQsIGludCBudW1fY2hpbGRy ZW4sIGludCB0aW1lb3V0KQogCWludCBudW1fZW5naW5lcyA9IDA7CiAJY29uc3Qgc3RydWN0IGlu dGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUo ZmQsIGUpIHsKKwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJaWYgKCFnZW1f Y2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5jbGFzcykpCiAJCQljb250aW51ZTsKIApAQCAt MTE0MSw3ICsxMTQxLDcgQEAgcHJlZW1wdChpbnQgZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVj dXRpb25fZW5naW5lMiAqZSwgaW50IG51bV9jaGlsZHJlbiwgaW50IHQKIAl1aW50MzJfdCBjdHhb Ml07CiAKIAlpZiAoIWUpIHsKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsK KwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CiAJCQluYW1lc1tudW1fZW5naW5l c10gPSBlLT5uYW1lOwogCQkJZW5naW5lc1tudW1fZW5naW5lcysrXSA9IGUtPmZsYWdzOwogCQkJ aWYgKG51bV9lbmdpbmVzID09IEFSUkFZX1NJWkUoZW5naW5lcykpCkBAIC0xMjI3LDcgKzEyMjcs NyBAQCBpZ3RfbWFpbgogCQlpZ3RfZm9ya19oYW5nX2RldGVjdG9yKGZkKTsKIAl9CiAKLQlfX2Zv cl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkgeworCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2lu ZShmZCwgZSkgewogCQlpZ3Rfc3VidGVzdF9mKCIlcyIsIGUtPm5hbWUpCiAJCQlzeW5jX3Jpbmco ZmQsIGUsIDEsIDE1MCk7CiAJCWlndF9zdWJ0ZXN0X2YoImlkbGUtJXMiLCBlLT5uYW1lKQpAQCAt MTMwMSw3ICsxMzAxLDcgQEAgaWd0X21haW4KIAkJaWd0X3N1YnRlc3QoInByZWVtcHQtYWxsIikK IAkJCXByZWVtcHQoZmQsIE5VTEwsIDEsIDIwKTsKIAotCQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2Vu Z2luZShmZCwgZSkgeworCQlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKIAkJCWln dF9zdWJ0ZXN0X2YoInByZWVtcHQtJXMiLCBlLT5uYW1lKQogCQkJCXByZWVtcHQoZmQsIGUsIG5j cHVzLCAxNTApOwogCQl9CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV91c2VycHRyX2JsaXRz LmMgYi90ZXN0cy9pOTE1L2dlbV91c2VycHRyX2JsaXRzLmMKaW5kZXggMjQzM2NjNjY2OGE3Li5i ZDRlMDI4MzJhM2IgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX3VzZXJwdHJfYmxpdHMuYwor KysgYi90ZXN0cy9pOTE1L2dlbV91c2VycHRyX2JsaXRzLmMKQEAgLTExNDcsNyArMTE0Nyw3IEBA IHN0YXRpYyB2b2lkIHRlc3RfcmVhZG9ubHkoaW50IGk5MTUpCiAKIAkJZ2VtX3VzZXJwdHIoaTkx NSwgc3BhY2UsIHRvdGFsLCB0cnVlLCB1c2VycHRyX2ZsYWdzLCAmcmhhbmRsZSk7CiAKLQkJX19m b3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoaTkxNSwgZW5naW5lKSB7CisJCWZvcl9lYWNoX3BoeXNp Y2FsX2VuZ2luZShpOTE1LCBlbmdpbmUpIHsKIAkJCWNoYXIgKnJlZiwgKnJlc3VsdDsKIAogCQkJ LyogRmlyc3QgdHdlYWsgdGhlIGJhY2tpbmcgc3RvcmUgdGhyb3VnaCB0aGUgd3JpdGUgKi8KZGlm ZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3dhaXQuYyBiL3Rlc3RzL2k5MTUvZ2VtX3dhaXQuYwpp bmRleCBiNWUzMjIxOWQ3N2IuLmMxYjJjZjNlNjM0ZSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9n ZW1fd2FpdC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX3dhaXQuYwpAQCAtMTc3LDcgKzE3Nyw3IEBA IGlndF9tYWluCiAJCQliYXNpYyhmZCwgQUxMX0VOR0lORVMsIFdSSVRFKTsKIAkJfQogCi0JCV9f Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CisJCWZvcl9lYWNoX3BoeXNpY2FsX2Vu Z2luZShmZCwgZSkgewogCQkJaWd0X3N1YnRlc3RfZ3JvdXAgewogCQkJCWlndF9zdWJ0ZXN0X2Yo ImJ1c3ktJXMiLCBlLT5uYW1lKSB7CiAJCQkJCWdlbV9xdWllc2NlbnRfZ3B1KGZkKTsKQEAgLTIz NCw3ICsyMzQsNyBAQCBpZ3RfbWFpbgogCQkJYmFzaWMoZmQsIEFMTF9FTkdJTkVTLCBXUklURSB8 IEhBTkcpOwogCQl9CiAKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZmQsIGUpIHsKKwkJ Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CiAJCQlpZ3Rfc3VidGVzdF9mKCJoYW5n LWJ1c3ktJXMiLCBlLT5uYW1lKSB7CiAJCQkJZ2VtX3F1aWVzY2VudF9ncHUoZmQpOwogCQkJCWJh c2ljKGZkLCBlLT5mbGFncywgSEFORyB8IEJVU1kpOwpkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9p OTE1X2hhbmdtYW4uYyBiL3Rlc3RzL2k5MTUvaTkxNV9oYW5nbWFuLmMKaW5kZXggMDQ3ZDdkNWY1 ZDA0Li5iN2Y0MWVjMWU1ZDcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvaTkxNV9oYW5nbWFuLmMK KysrIGIvdGVzdHMvaTkxNS9pOTE1X2hhbmdtYW4uYwpAQCAtMjc2LDcgKzI3Niw3IEBAIGlndF9t YWluCiAJaWd0X3N1YnRlc3QoImVycm9yLXN0YXRlLWJhc2ljIikKIAkJdGVzdF9lcnJvcl9zdGF0 ZV9iYXNpYygpOwogCi0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZGV2aWNlLCBlKQorCWZv cl9lYWNoX3BoeXNpY2FsX2VuZ2luZShkZXZpY2UsIGUpCiAJCWlndF9zdWJ0ZXN0X2YoImVycm9y LXN0YXRlLWNhcHR1cmUtJXMiLCBlLT5uYW1lKQogCQkJdGVzdF9lcnJvcl9zdGF0ZV9jYXB0dXJl KGUsIGUtPm5hbWUpOwogCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2k5MTVfbW9kdWxlX2xvYWQu YyBiL3Rlc3RzL2k5MTUvaTkxNV9tb2R1bGVfbG9hZC5jCmluZGV4IGFhYmI3MDFkNTkyYy4uMDk1 MTliZjZiMjg3IDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2k5MTVfbW9kdWxlX2xvYWQuYworKysg Yi90ZXN0cy9pOTE1L2k5MTVfbW9kdWxlX2xvYWQuYwpAQCAtMTUyLDcgKzE1Miw3IEBAIHN0YXRp YyB2b2lkIHN0b3JlX2FsbChpbnQgZmQpCiAKIAluZW5naW5lID0gMDsKIAlpbnRlbF9kZXRlY3Rf YW5kX2NsZWFyX21pc3NlZF9pbnRlcnJ1cHRzKGZkKTsKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2Vu Z2luZShmZCwgZW5naW5lKSB7CisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlbmdpbmUp IHsKIAkJaWYgKCFnZW1fY2xhc3NfY2FuX3N0b3JlX2R3b3JkKGZkLCBlbmdpbmUtPmNsYXNzKSkK IAkJCWNvbnRpbnVlOwogCkBAIC0yODcsNyArMjg3LDcgQEAgZ2VtX2V4ZWNfc3RvcmUodm9pZCkK IAlmZCA9IF9fZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7CiAJaWd0X2ZvcmtfaGFuZ19k ZXRlY3RvcihmZCk7CiAKLQlfX2Zvcl9lYWNoX3N0YXRpY19lbmdpbmUoZSkgeworCWZvcl9lYWNo X3N0YXRpY19lbmdpbmUoZSkgewogCQlpZiAoZ2VtX2NsYXNzX2Nhbl9zdG9yZV9kd29yZChmZCwg ZS0+Y2xhc3MpKQogCQkJc3RvcmVfZHdvcmQoZmQsIGUpOwogCX0KZGlmZiAtLWdpdCBhL3Rlc3Rz L3BlcmZfcG11LmMgYi90ZXN0cy9wZXJmX3BtdS5jCmluZGV4IDcyYjkxNjZhZmI0Yy4uNjc2MTQ4 YjdhZmFkIDEwMDY0NAotLS0gYS90ZXN0cy9wZXJmX3BtdS5jCisrKyBiL3Rlc3RzL3BlcmZfcG11 LmMKQEAgLTQ0NSw3ICs0NDUsNyBAQCBidXN5X2NoZWNrX2FsbChpbnQgZ2VtX2ZkLCBjb25zdCBz dHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUsCiAKIAlpID0gMDsKIAlmZFswXSA9IC0x OwotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGdlbV9mZCwgZV8pIHsKKwlmb3JfZWFjaF9w aHlzaWNhbF9lbmdpbmUoZ2VtX2ZkLCBlXykgewogCQlpZiAoZS0+Y2xhc3MgPT0gZV8tPmNsYXNz ICYmIGUtPmluc3RhbmNlID09IGVfLT5pbnN0YW5jZSkKIAkJCWJ1c3lfaWR4ID0gaTsKIApAQCAt NTA4LDcgKzUwOCw3IEBAIG1vc3RfYnVzeV9jaGVja19hbGwoaW50IGdlbV9mZCwgY29uc3Qgc3Ry dWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCXVuc2lnbmVkIGludCBpZGxlX2lkeCwg aTsKIAogCWkgPSAwOwotCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGdlbV9mZCwgZV8pIHsK Kwlmb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZ2VtX2ZkLCBlXykgewogCQlpZiAoZS0+Y2xhc3Mg PT0gZV8tPmNsYXNzICYmIGUtPmluc3RhbmNlID09IGVfLT5pbnN0YW5jZSkKIAkJCWlkbGVfaWR4 ID0gaTsKIAkJZWxzZSBpZiAoc3BpbikKQEAgLTU2NSw3ICs1NjUsNyBAQCBhbGxfYnVzeV9jaGVj a19hbGwoaW50IGdlbV9mZCwgY29uc3QgdW5zaWduZWQgaW50IG51bV9lbmdpbmVzLAogCXVuc2ln bmVkIGludCBpOwogCiAJaSA9IDA7Ci0JX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUoZ2VtX2Zk LCBlKSB7CisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGdlbV9mZCwgZSkgewogCQlpZiAoc3Bp bikKIAkJCV9fc3VibWl0X3NwaW4oZ2VtX2ZkLCBzcGluLCBlLCA2NCk7CiAJCWVsc2UKQEAgLTE2 ODYsNyArMTY4Niw3IEBAIGlndF9tYWluCiAJCWlndF9yZXF1aXJlX2dlbShmZCk7CiAJCWlndF9y ZXF1aXJlKGk5MTVfdHlwZV9pZCgpID4gMCk7CiAKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdp bmUoZmQsIGUpCisJCWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgZSkKIAkJCW51bV9lbmdp bmVzKys7CiAJfQogCkBAIC0xNjk2LDcgKzE2OTYsNyBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0 KCJpbnZhbGlkLWluaXQiKQogCQlpbnZhbGlkX2luaXQoKTsKIAotCV9fZm9yX2VhY2hfcGh5c2lj YWxfZW5naW5lKGZkLCBlKSB7CisJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBlKSB7CiAJ CWNvbnN0IHVuc2lnbmVkIGludCBwY3RbXSA9IHsgMiwgNTAsIDk4IH07CiAKIAkJLyoqCkBAIC0x OTAwLDcgKzE5MDAsNyBAQCBpZ3RfbWFpbgogCQkJZ2VtX3F1aWVzY2VudF9ncHUoZmQpOwogCQl9 CiAKLQkJX19mb3JfZWFjaF9waHlzaWNhbF9lbmdpbmUocmVuZGVyX2ZkLCBlKSB7CisJCWZvcl9l YWNoX3BoeXNpY2FsX2VuZ2luZShyZW5kZXJfZmQsIGUpIHsKIAkJCWlndF9zdWJ0ZXN0X2dyb3Vw IHsKIAkJCQlpZ3RfZml4dHVyZSB7CiAJCQkJCWdlbV9jb250ZXh0X2hhc19lbmdpbmUocmVuZGVy X2ZkLApkaWZmIC0tZ2l0IGEvdGVzdHMvcHJpbWVfYnVzeS5jIGIvdGVzdHMvcHJpbWVfYnVzeS5j CmluZGV4IDY2MWRhMmE1NjY4OC4uOGIxMDJiNDhkYTZkIDEwMDY0NAotLS0gYS90ZXN0cy9wcmlt ZV9idXN5LmMKKysrIGIvdGVzdHMvcHJpbWVfYnVzeS5jCkBAIC0yNDEsNyArMjQxLDcgQEAgaWd0 X21haW4KIAkJaWd0X2ZpeHR1cmUKIAkJCWdlbV9yZXF1aXJlX21tYXBfd2MoZmQpOwogCi0JCV9f Zm9yX2VhY2hfc3RhdGljX2VuZ2luZShlKSB7CisJCWZvcl9lYWNoX3N0YXRpY19lbmdpbmUoZSkg ewogCQkJZm9yIChjb25zdCBzdHJ1Y3QgbW9kZSAqbSA9IG1vZGVzOyBtLT5uYW1lOyBtKyspCiAJ CQkJdGVzdF9lbmdpbmVfbW9kZShmZCwgZSwgbS0+bmFtZSwgbS0+ZmxhZ3MpOwogCQl9CmRpZmYg LS1naXQgYS90ZXN0cy9wcmltZV92Z2VtLmMgYi90ZXN0cy9wcmltZV92Z2VtLmMKaW5kZXggMDMw Y2EzOWRlMDhjLi4yZmZmOTNjMWYxMmUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3ByaW1lX3ZnZW0uYwor KysgYi90ZXN0cy9wcmltZV92Z2VtLmMKQEAgLTg0NCw3ICs4NDQsNyBAQCBpZ3RfbWFpbgogCWln dF9zdWJ0ZXN0KCJjb2hlcmVuY3ktZ3R0IikKIAkJdGVzdF9ndHRfaW50ZXJsZWF2ZWQodmdlbSwg aTkxNSk7CiAKLQlfX2Zvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShpOTE1LCBlKSB7CisJZm9yX2Vh Y2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGUpIHsKIAkJaWd0X3N1YnRlc3RfZigiJXNzeW5jLSVz IiwKIAkJCSAgICAgIGUtPmNsYXNzID09IEk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUiA/CiAJCQkg ICAgICAiYmFzaWMtIiA6ICIiLCBlLT5uYW1lKSB7CkBAIC04ODQsNyArODg0LDcgQEAgaWd0X21h aW4KIAkJaWd0X3N1YnRlc3QoImJhc2ljLWZlbmNlLW1tYXAiKQogCQkJdGVzdF9mZW5jZV9tbWFw KGk5MTUsIHZnZW0pOwogCi0JCV9fZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGUpIHsK KwkJZm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGk5MTUsIGUpIHsKIAkJCWlndF9zdWJ0ZXN0X2Yo IiVzZmVuY2Utd2FpdC0lcyIsCiAJCQkJCWUtPmNsYXNzID09IEk5MTVfRU5HSU5FX0NMQVNTX1JF TkRFUiA/CiAJCQkJCSJiYXNpYy0iIDogIiIsIGUtPm5hbWUpIHsKLS0gCjIuMTkuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5n IGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2