From mboxrd@z Thu Jan 1 00:00:00 1970 From: Umesh Nerlige Ramappa Subject: [PATCH] drm/i915/perf: Refactor oa object to better manage resources Date: Mon, 5 Aug 2019 09:53:20 -0700 Message-ID: <20190805165320.14464-1-umesh.nerlige.ramappa@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id C7F3C6E506 for ; Mon, 5 Aug 2019 16:53:50 +0000 (UTC) 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 VGhlIG9hIG9iamVjdCBtYW5hZ2VzIHRoZSBvYSBidWZmZXIgYW5kIG11c3QgYmUgYWxsb2NhdGVk IHdoZW4gdGhlIHVzZXIKaW50ZW5kcyB0byByZWFkIHBlcmZvcm1hbmNlIGNvdW50ZXIgc25hcHNo b3RzLiBUaGlzIGNhbiBiZSBhY2hpZXZlZCBieQptYWtpbmcgdGhlIG9hIG9iamVjdCBwYXJ0IG9m IHRoZSBzdHJlYW0gb2JqZWN0IHdoaWNoIGlzIGFsbG9jYXRlZCB3aGVuIGEKc3RyZWFtIGlzIG9w ZW5lZCBieSB0aGUgdXNlci4KCkF0dHJpYnV0ZXMgaW4gdGhlIG9hIG9iamVjdCB0aGF0IGFyZSBn ZW4tc3BlY2lmaWMgYXJlIG1vdmVkIHRvIHRoZSBwZXJmCm9iamVjdCBzbyB0aGF0IHRoZXkgY2Fu IGJlIGluaXRpYWxpemVkIG9uIGRyaXZlciBsb2FkLgoKVGhlIHNwbGl0IHByb3ZpZGVzIGEgYmV0 dGVyIHNlcGFyYXRpb24gb2YgdGhlIG9iamVjdHMgdXNlZCBpbiBwZXJmCmltcGxlbWVudGF0aW9u IG9mIGk5MTUgZHJpdmVyIHNvIHRoYXQgcmVzb3VyY2VzIGFyZSBhbGxvY2F0ZWQgYW5kCmluaXRp YWxpemVkIG9ubHkgd2hlbiBuZWVkZWQuCgp2MjogRml4IGNoZWNrcGF0Y2ggd2FybmluZ3MKdjM6 IEFkZHJlc3NlZCBMaW9uZWwncyByZXZpZXcgY29tbWVudAp2NDogUmViYXNlCgpTaWduZWQtb2Zm LWJ5OiBVbWVzaCBOZXJsaWdlIFJhbWFwcGEgPHVtZXNoLm5lcmxpZ2UucmFtYXBwYUBpbnRlbC5j b20+ClJldmlld2VkLWJ5OiBMaW9uZWwgTGFuZHdlcmxpbiA8bGlvbmVsLmcubGFuZHdlcmxpbkBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5jICAgICB8 ICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jICAgICB8ICAgNCAr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICB8IDIxOSArKysrKy0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyAgICAgICAgIHwgNTM0ICsrKysr KysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2Jkdy5j ICAgIHwgIDMwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2J4dC5jICAgIHwg IDMwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2NmbGd0Mi5jIHwgIDMwICst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2NmbGd0My5jIHwgIDMwICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2Nodi5jICAgIHwgIDMwICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9vYS9pOTE1X29hX2NubC5jICAgIHwgIDMwICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9vYS9pOTE1X29hX2dsay5jICAgIHwgIDMwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9v YS9pOTE1X29hX2hzdy5jICAgIHwgIDMwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1 X29hX2ljbC5jICAgIHwgIDMwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2ti bGd0Mi5jIHwgIDMwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2tibGd0My5j IHwgIDMwICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX3NrbGd0Mi5jIHwgIDMw ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX3NrbGd0My5jIHwgIDMwICstCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX3NrbGd0NC5jIHwgIDMwICstCiAxOCBmaWxl cyBjaGFuZ2VkLCA1ODcgaW5zZXJ0aW9ucygrKSwgNTkyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3NzZXUuYwppbmRleCBhMDc1NmYwMDZmNWYuLjZiZjJkODdkYTEwOSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfc3NldS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3NzZXUuYwpAQCAtNDksNyArNDksNyBAQCB1MzIg aW50ZWxfc3NldV9tYWtlX3JwY3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJICog Y2FzZXMgd2hpY2ggZGlzYWJsZSBzbGljZXMgZm9yIGZ1bmN0aW9uYWwsIGFwYXJ0IGZvciBwZXJm b3JtYW5jZQogCSAqIHJlYXNvbnMuIFNvIGluIHRoaXMgY2FzZSB3ZSBzZWxlY3QgYSBrbm93biBz dGFibGUgc3Vic2V0LgogCSAqLwotCWlmICghaTkxNS0+cGVyZi5vYS5leGNsdXNpdmVfc3RyZWFt KSB7CisJaWYgKCFpOTE1LT5wZXJmLmV4Y2x1c2l2ZV9zdHJlYW0pIHsKIAkJY3R4X3NzZXUgPSAq cmVxX3NzZXU7CiAJfSBlbHNlIHsKIAkJY3R4X3NzZXUgPSBpbnRlbF9zc2V1X2Zyb21fZGV2aWNl X2luZm8oc3NldSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1 bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKaW5kZXggMzJhZTZi NWI3ZTE2Li4zZWY4YmVmYTg5MGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2 dC9zY2hlZHVsZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMK QEAgLTg0LDggKzg0LDggQEAgc3RhdGljIHZvaWQgc3Jfb2FfcmVncyhzdHJ1Y3QgaW50ZWxfdmdw dV93b3JrbG9hZCAqd29ya2xvYWQsCiAJCXUzMiAqcmVnX3N0YXRlLCBib29sIHNhdmUpCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gd29ya2xvYWQtPnZncHUtPmd2dC0+ ZGV2X3ByaXY7Ci0JdTMyIGN0eF9vYWN0eGN0cmwgPSBkZXZfcHJpdi0+cGVyZi5vYS5jdHhfb2Fj dHhjdHJsX29mZnNldDsKLQl1MzIgY3R4X2ZsZXhldTAgPSBkZXZfcHJpdi0+cGVyZi5vYS5jdHhf ZmxleGV1MF9vZmZzZXQ7CisJdTMyIGN0eF9vYWN0eGN0cmwgPSBkZXZfcHJpdi0+cGVyZi5jdHhf b2FjdHhjdHJsX29mZnNldDsKKwl1MzIgY3R4X2ZsZXhldTAgPSBkZXZfcHJpdi0+cGVyZi5jdHhf ZmxleGV1MF9vZmZzZXQ7CiAJaW50IGkgPSAwOwogCXUzMiBmbGV4X21taW9bXSA9IHsKIAkJaTkx NV9tbWlvX3JlZ19vZmZzZXQoRVVfUEVSRl9DTlRMMCksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApp bmRleCA3NGFiNzYyNDcwMTguLjY3Yzk2MDBhNzNiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CkBAIC0xMjM5LDYgKzEyMzksODYgQEAgc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gewogCSAqIEBv YV9jb25maWc6IFRoZSBPQSBjb25maWd1cmF0aW9uIHVzZWQgYnkgdGhlIHN0cmVhbS4KIAkgKi8K IAlzdHJ1Y3QgaTkxNV9vYV9jb25maWcgKm9hX2NvbmZpZzsKKworCS8qKgorCSAqIFRoZSBPQSBj b250ZXh0IHNwZWNpZmljIGluZm9ybWF0aW9uLgorCSAqLworCXN0cnVjdCBpbnRlbF9jb250ZXh0 ICpwaW5uZWRfY3R4OworCXUzMiBzcGVjaWZpY19jdHhfaWQ7CisJdTMyIHNwZWNpZmljX2N0eF9p ZF9tYXNrOworCisJc3RydWN0IGhydGltZXIgcG9sbF9jaGVja190aW1lcjsKKwl3YWl0X3F1ZXVl X2hlYWRfdCBwb2xsX3dxOworCWJvb2wgcG9sbGluOworCisJYm9vbCBwZXJpb2RpYzsKKwlpbnQg cGVyaW9kX2V4cG9uZW50OworCisJLyoqCisJICogU3RhdGUgb2YgdGhlIE9BIGJ1ZmZlci4KKwkg Ki8KKwlzdHJ1Y3QgeworCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKKwkJdTggKnZhZGRyOworCQl1 MzIgbGFzdF9jdHhfaWQ7CisJCWludCBmb3JtYXQ7CisJCWludCBmb3JtYXRfc2l6ZTsKKwkJaW50 IHNpemVfZXhwb25lbnQ7CisKKwkJLyoqCisJCSAqIExvY2tzIHJlYWRzIGFuZCB3cml0ZXMgdG8g YWxsIGhlYWQvdGFpbCBzdGF0ZQorCQkgKgorCQkgKiBDb25zaWRlcjogdGhlIGhlYWQgYW5kIHRh aWwgcG9pbnRlciBzdGF0ZSBuZWVkcyB0byBiZSByZWFkCisJCSAqIGNvbnNpc3RlbnRseSBmcm9t IGEgaHJ0aW1lciBjYWxsYmFjayAoYXRvbWljIGNvbnRleHQpIGFuZAorCQkgKiByZWFkKCkgZm9w ICh1c2VyIGNvbnRleHQpIHdpdGggdGFpbCBwb2ludGVyIHVwZGF0ZXMgaGFwcGVuaW5nCisJCSAq IGluIGF0b21pYyBjb250ZXh0IGFuZCBoZWFkIHVwZGF0ZXMgaW4gdXNlciBjb250ZXh0IGFuZCB0 aGUKKwkJICogKHVubGlrZWx5KSBwb3NzaWJpbGl0eSBvZiByZWFkKCkgZXJyb3JzIG5lZWRpbmcg dG8gcmVzZXQgYWxsCisJCSAqIGhlYWQvdGFpbCBzdGF0ZS4KKwkJICoKKwkJICogTm90ZTogQ29u dGVudGlvbi9wZXJmb3JtYW5jZSBhcmVuJ3QgY3VycmVudGx5IGEgc2lnbmlmaWNhbnQKKwkJICog Y29uY2VybiBoZXJlIGNvbnNpZGVyaW5nIHRoZSByZWxhdGl2ZWx5IGxvdyBmcmVxdWVuY3kgb2YK KwkJICogaHJ0aW1lciBjYWxsYmFja3MgKDVtcyBwZXJpb2QpIGFuZCB0aGF0IHJlYWRzIHR5cGlj YWxseSBvbmx5CisJCSAqIGhhcHBlbiBpbiByZXNwb25zZSB0byBhIGhydGltZXIgZXZlbnQgYW5k IGxpa2VseSBjb21wbGV0ZQorCQkgKiBiZWZvcmUgdGhlIG5leHQgY2FsbGJhY2suCisJCSAqCisJ CSAqIE5vdGU6IFRoaXMgbG9jayBpcyBub3QgaGVsZCAqd2hpbGUqIHJlYWRpbmcgYW5kIGNvcHlp bmcgZGF0YQorCQkgKiB0byB1c2Vyc3BhY2Ugc28gdGhlIHZhbHVlIG9mIGhlYWQgb2JzZXJ2ZWQg aW4gaHRyaW1lcgorCQkgKiBjYWxsYmFja3Mgd29uJ3QgcmVwcmVzZW50IGFueSBwYXJ0aWFsIGNv bnN1bXB0aW9uIG9mIGRhdGEuCisJCSAqLworCQlzcGlubG9ja190IHB0cl9sb2NrOworCisJCS8q KgorCQkgKiBPbmUgJ2FnaW5nJyB0YWlsIHBvaW50ZXIgYW5kIG9uZSAnYWdlZCcgdGFpbCBwb2lu dGVyIHJlYWR5IHRvCisJCSAqIHVzZWQgZm9yIHJlYWRpbmcuCisJCSAqCisJCSAqIEluaXRpYWwg dmFsdWVzIG9mIDB4ZmZmZmZmZmYgYXJlIGludmFsaWQgYW5kIGltcGx5IHRoYXQgYW4KKwkJICog dXBkYXRlIGlzIHJlcXVpcmVkIChhbmQgc2hvdWxkIGJlIGlnbm9yZWQgYnkgYW4gYXR0ZW1wdGVk CisJCSAqIHJlYWQpCisJCSAqLworCQlzdHJ1Y3QgeworCQkJdTMyIG9mZnNldDsKKwkJfSB0YWls c1syXTsKKworCQkvKioKKwkJICogSW5kZXggZm9yIHRoZSBhZ2VkIHRhaWwgcmVhZHkgdG8gcmVh ZCgpIGRhdGEgdXAgdG8uCisJCSAqLworCQl1bnNpZ25lZCBpbnQgYWdlZF90YWlsX2lkeDsKKwor CQkvKioKKwkJICogQSBtb25vdG9uaWMgdGltZXN0YW1wIGZvciB3aGVuIHRoZSBjdXJyZW50IGFn aW5nIHRhaWwgcG9pbnRlcgorCQkgKiB3YXMgcmVhZDsgdXNlZCB0byBkZXRlcm1pbmUgd2hlbiBp dCBpcyBvbGQgZW5vdWdoIHRvIHRydXN0LgorCQkgKi8KKwkJdTY0IGFnaW5nX3RpbWVzdGFtcDsK KworCQkvKioKKwkJICogQWx0aG91Z2ggd2UgY2FuIGFsd2F5cyByZWFkIGJhY2sgdGhlIGhlYWQg cG9pbnRlciByZWdpc3RlciwKKwkJICogd2UgcHJlZmVyIHRvIGF2b2lkIHRydXN0aW5nIHRoZSBI VyBzdGF0ZSwganVzdCB0byBhdm9pZCBhbnkKKwkJICogcmlzayB0aGF0IHNvbWUgaGFyZHdhcmUg Y29uZGl0aW9uIGNvdWxkICogc29tZWhvdyBidW1wIHRoZQorCQkgKiBoZWFkIHBvaW50ZXIgdW5w cmVkaWN0YWJseSBhbmQgY2F1c2UgdXMgdG8gZm9yd2FyZCB0aGUgd3JvbmcKKwkJICogT0EgYnVm ZmVyIGRhdGEgdG8gdXNlcnNwYWNlLgorCQkgKi8KKwkJdTMyIGhlYWQ7CisJfSBvYV9idWZmZXI7 CiB9OwogCiAvKioKQEAgLTEyNzYsNyArMTM1Niw3IEBAIHN0cnVjdCBpOTE1X29hX29wcyB7CiAJ ICogQGRpc2FibGVfbWV0cmljX3NldDogUmVtb3ZlIHN5c3RlbSBjb25zdHJhaW50cyBhc3NvY2lh dGVkIHdpdGggdXNpbmcKIAkgKiB0aGUgT0EgdW5pdC4KIAkgKi8KLQl2b2lkICgqZGlzYWJsZV9t ZXRyaWNfc2V0KShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworCXZvaWQgKCpk aXNhYmxlX21ldHJpY19zZXQpKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pOwogCiAJ LyoqCiAJICogQG9hX2VuYWJsZTogRW5hYmxlIHBlcmlvZGljIHNhbXBsaW5nCkBAIC0xMzA0LDcg KzEzODQsNyBAQCBzdHJ1Y3QgaTkxNV9vYV9vcHMgewogCSAqIGhhbmRsaW5nIHRoZSBPQSB1bml0 IHRhaWwgcG9pbnRlciByYWNlIHRoYXQgYWZmZWN0cyBtdWx0aXBsZQogCSAqIGdlbmVyYXRpb25z LgogCSAqLwotCXUzMiAoKm9hX2h3X3RhaWxfcmVhZCkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKKwl1MzIgKCpvYV9od190YWlsX3JlYWQpKHN0cnVjdCBpOTE1X3BlcmZfc3Ry ZWFtICpzdHJlYW0pOwogfTsKIAogc3RydWN0IGludGVsX2NkY2xrX3N0YXRlIHsKQEAgLTE3MDIs MTIwICsxNzgyLDM1IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAkJc3RydWN0IG11dGV4 IGxvY2s7CiAJCXN0cnVjdCBsaXN0X2hlYWQgc3RyZWFtczsKIAotCQlzdHJ1Y3QgewotCQkJLyoK LQkJCSAqIFRoZSBzdHJlYW0gY3VycmVudGx5IHVzaW5nIHRoZSBPQSB1bml0LiBJZiBhY2Nlc3Nl ZAotCQkJICogb3V0c2lkZSBhIHN5c2NhbGwgYXNzb2NpYXRlZCB0byBpdHMgZmlsZQotCQkJICog ZGVzY3JpcHRvciwgeW91IG5lZWQgdG8gaG9sZAotCQkJICogZGV2X3ByaXYtPmRybS5zdHJ1Y3Rf bXV0ZXguCi0JCQkgKi8KLQkJCXN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpleGNsdXNpdmVfc3Ry ZWFtOworCQkvKgorCQkgKiBUaGUgc3RyZWFtIGN1cnJlbnRseSB1c2luZyB0aGUgT0EgdW5pdC4g SWYgYWNjZXNzZWQKKwkJICogb3V0c2lkZSBhIHN5c2NhbGwgYXNzb2NpYXRlZCB0byBpdHMgZmls ZQorCQkgKiBkZXNjcmlwdG9yLCB5b3UgbmVlZCB0byBob2xkCisJCSAqIGRldl9wcml2LT5kcm0u c3RydWN0X211dGV4LgorCQkgKi8KKwkJc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKmV4Y2x1c2l2 ZV9zdHJlYW07CisKKwkJLyoqCisJCSAqIEZvciByYXRlIGxpbWl0aW5nIGFueSBub3RpZmljYXRp b25zIG9mIHNwdXJpb3VzCisJCSAqIGludmFsaWQgT0EgcmVwb3J0cworCQkgKi8KKwkJc3RydWN0 IHJhdGVsaW1pdF9zdGF0ZSBzcHVyaW91c19yZXBvcnRfcnM7CiAKLQkJCXN0cnVjdCBpbnRlbF9j b250ZXh0ICpwaW5uZWRfY3R4OwotCQkJdTMyIHNwZWNpZmljX2N0eF9pZDsKLQkJCXUzMiBzcGVj aWZpY19jdHhfaWRfbWFzazsKKwkJc3RydWN0IGk5MTVfb2FfY29uZmlnIHRlc3RfY29uZmlnOwog Ci0JCQlzdHJ1Y3QgaHJ0aW1lciBwb2xsX2NoZWNrX3RpbWVyOwotCQkJd2FpdF9xdWV1ZV9oZWFk X3QgcG9sbF93cTsKLQkJCWJvb2wgcG9sbGluOworCQl1MzIgZ2VuN19sYXRjaGVkX29hc3RhdHVz MTsKKwkJdTMyIGN0eF9vYWN0eGN0cmxfb2Zmc2V0OworCQl1MzIgY3R4X2ZsZXhldTBfb2Zmc2V0 OwogCi0JCQkvKioKLQkJCSAqIEZvciByYXRlIGxpbWl0aW5nIGFueSBub3RpZmljYXRpb25zIG9m IHNwdXJpb3VzCi0JCQkgKiBpbnZhbGlkIE9BIHJlcG9ydHMKLQkJCSAqLwotCQkJc3RydWN0IHJh dGVsaW1pdF9zdGF0ZSBzcHVyaW91c19yZXBvcnRfcnM7Ci0KLQkJCWJvb2wgcGVyaW9kaWM7Ci0J CQlpbnQgcGVyaW9kX2V4cG9uZW50OwotCi0JCQlzdHJ1Y3QgaTkxNV9vYV9jb25maWcgdGVzdF9j b25maWc7Ci0KLQkJCXN0cnVjdCB7Ci0JCQkJc3RydWN0IGk5MTVfdm1hICp2bWE7Ci0JCQkJdTgg KnZhZGRyOwotCQkJCXUzMiBsYXN0X2N0eF9pZDsKLQkJCQlpbnQgZm9ybWF0OwotCQkJCWludCBm b3JtYXRfc2l6ZTsKLQotCQkJCS8qKgotCQkJCSAqIExvY2tzIHJlYWRzIGFuZCB3cml0ZXMgdG8g YWxsIGhlYWQvdGFpbCBzdGF0ZQotCQkJCSAqCi0JCQkJICogQ29uc2lkZXI6IHRoZSBoZWFkIGFu ZCB0YWlsIHBvaW50ZXIgc3RhdGUKLQkJCQkgKiBuZWVkcyB0byBiZSByZWFkIGNvbnNpc3RlbnRs eSBmcm9tIGEgaHJ0aW1lcgotCQkJCSAqIGNhbGxiYWNrIChhdG9taWMgY29udGV4dCkgYW5kIHJl YWQoKSBmb3AKLQkJCQkgKiAodXNlciBjb250ZXh0KSB3aXRoIHRhaWwgcG9pbnRlciB1cGRhdGVz Ci0JCQkJICogaGFwcGVuaW5nIGluIGF0b21pYyBjb250ZXh0IGFuZCBoZWFkIHVwZGF0ZXMKLQkJ CQkgKiBpbiB1c2VyIGNvbnRleHQgYW5kIHRoZSAodW5saWtlbHkpCi0JCQkJICogcG9zc2liaWxp dHkgb2YgcmVhZCgpIGVycm9ycyBuZWVkaW5nIHRvCi0JCQkJICogcmVzZXQgYWxsIGhlYWQvdGFp bCBzdGF0ZS4KLQkJCQkgKgotCQkJCSAqIE5vdGU6IENvbnRlbnRpb24gb3IgcGVyZm9ybWFuY2Ug YXJlbid0Ci0JCQkJICogY3VycmVudGx5IGEgc2lnbmlmaWNhbnQgY29uY2VybiBoZXJlCi0JCQkJ ICogY29uc2lkZXJpbmcgdGhlIHJlbGF0aXZlbHkgbG93IGZyZXF1ZW5jeSBvZgotCQkJCSAqIGhy dGltZXIgY2FsbGJhY2tzICg1bXMgcGVyaW9kKSBhbmQgdGhhdAotCQkJCSAqIHJlYWRzIHR5cGlj YWxseSBvbmx5IGhhcHBlbiBpbiByZXNwb25zZSB0byBhCi0JCQkJICogaHJ0aW1lciBldmVudCBh bmQgbGlrZWx5IGNvbXBsZXRlIGJlZm9yZSB0aGUKLQkJCQkgKiBuZXh0IGNhbGxiYWNrLgotCQkJ CSAqCi0JCQkJICogTm90ZTogVGhpcyBsb2NrIGlzIG5vdCBoZWxkICp3aGlsZSogcmVhZGluZwot CQkJCSAqIGFuZCBjb3B5aW5nIGRhdGEgdG8gdXNlcnNwYWNlIHNvIHRoZSB2YWx1ZQotCQkJCSAq IG9mIGhlYWQgb2JzZXJ2ZWQgaW4gaHRyaW1lciBjYWxsYmFja3Mgd29uJ3QKLQkJCQkgKiByZXBy ZXNlbnQgYW55IHBhcnRpYWwgY29uc3VtcHRpb24gb2YgZGF0YS4KLQkJCQkgKi8KLQkJCQlzcGlu bG9ja190IHB0cl9sb2NrOwotCi0JCQkJLyoqCi0JCQkJICogT25lICdhZ2luZycgdGFpbCBwb2lu dGVyIGFuZCBvbmUgJ2FnZWQnCi0JCQkJICogdGFpbCBwb2ludGVyIHJlYWR5IHRvIHVzZWQgZm9y IHJlYWRpbmcuCi0JCQkJICoKLQkJCQkgKiBJbml0aWFsIHZhbHVlcyBvZiAweGZmZmZmZmZmIGFy ZSBpbnZhbGlkCi0JCQkJICogYW5kIGltcGx5IHRoYXQgYW4gdXBkYXRlIGlzIHJlcXVpcmVkCi0J CQkJICogKGFuZCBzaG91bGQgYmUgaWdub3JlZCBieSBhbiBhdHRlbXB0ZWQKLQkJCQkgKiByZWFk KQotCQkJCSAqLwotCQkJCXN0cnVjdCB7Ci0JCQkJCXUzMiBvZmZzZXQ7Ci0JCQkJfSB0YWlsc1sy XTsKLQotCQkJCS8qKgotCQkJCSAqIEluZGV4IGZvciB0aGUgYWdlZCB0YWlsIHJlYWR5IHRvIHJl YWQoKQotCQkJCSAqIGRhdGEgdXAgdG8uCi0JCQkJICovCi0JCQkJdW5zaWduZWQgaW50IGFnZWRf dGFpbF9pZHg7Ci0KLQkJCQkvKioKLQkJCQkgKiBBIG1vbm90b25pYyB0aW1lc3RhbXAgZm9yIHdo ZW4gdGhlIGN1cnJlbnQKLQkJCQkgKiBhZ2luZyB0YWlsIHBvaW50ZXIgd2FzIHJlYWQ7IHVzZWQg dG8KLQkJCQkgKiBkZXRlcm1pbmUgd2hlbiBpdCBpcyBvbGQgZW5vdWdoIHRvIHRydXN0LgotCQkJ CSAqLwotCQkJCXU2NCBhZ2luZ190aW1lc3RhbXA7Ci0KLQkJCQkvKioKLQkJCQkgKiBBbHRob3Vn aCB3ZSBjYW4gYWx3YXlzIHJlYWQgYmFjayB0aGUgaGVhZAotCQkJCSAqIHBvaW50ZXIgcmVnaXN0 ZXIsIHdlIHByZWZlciB0byBhdm9pZAotCQkJCSAqIHRydXN0aW5nIHRoZSBIVyBzdGF0ZSwganVz dCB0byBhdm9pZCBhbnkKLQkJCQkgKiByaXNrIHRoYXQgc29tZSBoYXJkd2FyZSBjb25kaXRpb24g Y291bGQKLQkJCQkgKiBzb21laG93IGJ1bXAgdGhlIGhlYWQgcG9pbnRlciB1bnByZWRpY3RhYmx5 Ci0JCQkJICogYW5kIGNhdXNlIHVzIHRvIGZvcndhcmQgdGhlIHdyb25nIE9BIGJ1ZmZlcgotCQkJ CSAqIGRhdGEgdG8gdXNlcnNwYWNlLgotCQkJCSAqLwotCQkJCXUzMiBoZWFkOwotCQkJfSBvYV9i dWZmZXI7Ci0KLQkJCXUzMiBnZW43X2xhdGNoZWRfb2FzdGF0dXMxOwotCQkJdTMyIGN0eF9vYWN0 eGN0cmxfb2Zmc2V0OwotCQkJdTMyIGN0eF9mbGV4ZXUwX29mZnNldDsKLQotCQkJLyoqCi0JCQkg KiBUaGUgUlBUX0lEL3JlYXNvbiBmaWVsZCBmb3IgR2VuOCsgaW5jbHVkZXMgYSBiaXQKLQkJCSAq IHRvIGRldGVybWluZSBpZiB0aGUgQ1RYIElEIGluIHRoZSByZXBvcnQgaXMgdmFsaWQKLQkJCSAq IGJ1dCB0aGUgc3BlY2lmaWMgYml0IGRpZmZlcnMgYmV0d2VlbiBHZW4gOCBhbmQgOQotCQkJICov Ci0JCQl1MzIgZ2VuOF92YWxpZF9jdHhfYml0OworCQkvKioKKwkJICogVGhlIFJQVF9JRC9yZWFz b24gZmllbGQgZm9yIEdlbjgrIGluY2x1ZGVzIGEgYml0CisJCSAqIHRvIGRldGVybWluZSBpZiB0 aGUgQ1RYIElEIGluIHRoZSByZXBvcnQgaXMgdmFsaWQKKwkJICogYnV0IHRoZSBzcGVjaWZpYyBi aXQgZGlmZmVycyBiZXR3ZWVuIEdlbiA4IGFuZCA5CisJCSAqLworCQl1MzIgZ2VuOF92YWxpZF9j dHhfYml0OwogCi0JCQlzdHJ1Y3QgaTkxNV9vYV9vcHMgb3BzOwotCQkJY29uc3Qgc3RydWN0IGk5 MTVfb2FfZm9ybWF0ICpvYV9mb3JtYXRzOwotCQl9IG9hOworCQlzdHJ1Y3QgaTkxNV9vYV9vcHMg b3BzOworCQljb25zdCBzdHJ1Y3QgaTkxNV9vYV9mb3JtYXQgKm9hX2Zvcm1hdHM7CiAJfSBwZXJm OwogCiAJLyogQWJzdHJhY3QgdGhlIHN1Ym1pc3Npb24gbWVjaGFuaXNtIChsZWdhY3kgcmluZ2J1 ZmZlciBvciBleGVjbGlzdHMpIGF3YXkgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKaW5kZXgg ZjJjYzY5Y2NiNjM1Li44YWFhY2E0OGRiYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGVyZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCkBA IC0zNjQsNiArMzY0LDggQEAgc3RydWN0IHBlcmZfb3Blbl9wcm9wZXJ0aWVzIHsKIAlpbnQgb2Ff cGVyaW9kX2V4cG9uZW50OwogfTsKIAorc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IG9hX3Bv bGxfY2hlY2tfdGltZXJfY2Ioc3RydWN0IGhydGltZXIgKmhydGltZXIpOworCiBzdGF0aWMgdm9p ZCBmcmVlX29hX2NvbmZpZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkg ICBzdHJ1Y3QgaTkxNV9vYV9jb25maWcgKm9hX2NvbmZpZykKIHsKQEAgLTM5Miw4ICszOTQsOCBA QCBzdGF0aWMgaW50IGdldF9vYV9jb25maWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCWludCByZXQ7CiAKIAlpZiAobWV0cmljc19zZXQgPT0gMSkgewotCQkqb3V0X2NvbmZp ZyA9ICZkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZzsKLQkJYXRvbWljX2luYygmZGV2X3By aXYtPnBlcmYub2EudGVzdF9jb25maWcucmVmX2NvdW50KTsKKwkJKm91dF9jb25maWcgPSAmZGV2 X3ByaXYtPnBlcmYudGVzdF9jb25maWc7CisJCWF0b21pY19pbmMoJmRldl9wcml2LT5wZXJmLnRl c3RfY29uZmlnLnJlZl9jb3VudCk7CiAJCXJldHVybiAwOwogCX0KIApAQCAtNDEyLDEzICs0MTQs MTYgQEAgc3RhdGljIGludCBnZXRfb2FfY29uZmlnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdTMyIGdlbjhfb2FfaHdfdGFpbF9y ZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3N0YXRpYyB1MzIgZ2VuOF9v YV9od190YWlsX3JlYWQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIHsKKwlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBzdHJlYW0tPmRldl9wcml2OworCiAJcmV0 dXJuIEk5MTVfUkVBRChHRU44X09BVEFJTFBUUikgJiBHRU44X09BVEFJTFBUUl9NQVNLOwogfQog Ci1zdGF0aWMgdTMyIGdlbjdfb2FfaHdfdGFpbF9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKK3N0YXRpYyB1MzIgZ2VuN19vYV9od190YWlsX3JlYWQoc3RydWN0IGk5MTVf cGVyZl9zdHJlYW0gKnN0cmVhbSkKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBzdHJlYW0tPmRldl9wcml2OwogCXUzMiBvYXN0YXR1czEgPSBJOTE1X1JFQUQoR0VON19P QVNUQVRVUzEpOwogCiAJcmV0dXJuIG9hc3RhdHVzMSAmIEdFTjdfT0FTVEFUVVMxX1RBSUxfTUFT SzsKQEAgLTQyNiw3ICs0MzEsNyBAQCBzdGF0aWMgdTMyIGdlbjdfb2FfaHdfdGFpbF9yZWFkKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogLyoqCiAgKiBvYV9idWZmZXJfY2hl Y2tfdW5sb2NrZWQgLSBjaGVjayBmb3IgZGF0YSBhbmQgdXBkYXRlIHRhaWwgcHRyIHN0YXRlCi0g KiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlIGluc3RhbmNlCisgKiBAc3RyZWFtOiBpOTE1IHN0cmVh bSBpbnN0YW5jZQogICoKICAqIFRoaXMgaXMgZWl0aGVyIGNhbGxlZCB2aWEgZm9wcyAoZm9yIGJs b2NraW5nIHJlYWRzIGluIHVzZXIgY3R4KSBvciB0aGUgcG9sbAogICogY2hlY2sgaHJ0aW1lciAo YXRvbWljIGN0eCkgdG8gY2hlY2sgdGhlIE9BIGJ1ZmZlciB0YWlsIHBvaW50ZXIgYW5kIGNoZWNr CkBAIC00NDgsOSArNDUzLDEwIEBAIHN0YXRpYyB1MzIgZ2VuN19vYV9od190YWlsX3JlYWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogICoKICAqIFJldHVybnM6ICV0cnVlIGlm IHRoZSBPQSBidWZmZXIgY29udGFpbnMgZGF0YSwgZWxzZSAlZmFsc2UKICAqLwotc3RhdGljIGJv b2wgb2FfYnVmZmVyX2NoZWNrX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKK3N0YXRpYyBib29sIG9hX2J1ZmZlcl9jaGVja191bmxvY2tlZChzdHJ1Y3QgaTkxNV9w ZXJmX3N0cmVhbSAqc3RyZWFtKQogewotCWludCByZXBvcnRfc2l6ZSA9IGRldl9wcml2LT5wZXJm Lm9hLm9hX2J1ZmZlci5mb3JtYXRfc2l6ZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBzdHJlYW0tPmRldl9wcml2OworCWludCByZXBvcnRfc2l6ZSA9IHN0cmVhbS0+b2Ff YnVmZmVyLmZvcm1hdF9zaXplOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdW5zaWduZWQgaW50 IGFnZWRfaWR4OwogCXUzMiBoZWFkLCBod190YWlsLCBhZ2VkX3RhaWwsIGFnaW5nX3RhaWw7CkBA IC00NjAsMTkgKzQ2NiwxOSBAQCBzdGF0aWMgYm9vbCBvYV9idWZmZXJfY2hlY2tfdW5sb2NrZWQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqIGNvdWxkIHJlc3VsdCBpbiBh biBPQSBidWZmZXIgcmVzZXQgd2hpY2ggbWlnaHQgcmVzZXQgdGhlIGhlYWQsCiAJICogdGFpbHNb XSBhbmQgYWdlZF90YWlsIHN0YXRlLgogCSAqLwotCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJp di0+cGVyZi5vYS5vYV9idWZmZXIucHRyX2xvY2ssIGZsYWdzKTsKKwlzcGluX2xvY2tfaXJxc2F2 ZSgmc3RyZWFtLT5vYV9idWZmZXIucHRyX2xvY2ssIGZsYWdzKTsKIAogCS8qIE5COiBUaGUgaGVh ZCB3ZSBvYnNlcnZlIGhlcmUgbWlnaHQgZWZmZWN0aXZlbHkgYmUgYSBsaXR0bGUgb3V0IG9mCiAJ ICogZGF0ZSAoYmV0d2VlbiBoZWFkIGFuZCB0YWlsc1thZ2VkX2lkeF0ub2Zmc2V0IGlmIHRoZXJl IGlzIGN1cnJlbnRseQogCSAqIGEgcmVhZCgpIGluIHByb2dyZXNzLgogCSAqLwotCWhlYWQgPSBk ZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIuaGVhZDsKKwloZWFkID0gc3RyZWFtLT5vYV9idWZm ZXIuaGVhZDsKIAotCWFnZWRfaWR4ID0gZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLmFnZWRf dGFpbF9pZHg7Ci0JYWdlZF90YWlsID0gZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnRhaWxz W2FnZWRfaWR4XS5vZmZzZXQ7Ci0JYWdpbmdfdGFpbCA9IGRldl9wcml2LT5wZXJmLm9hLm9hX2J1 ZmZlci50YWlsc1shYWdlZF9pZHhdLm9mZnNldDsKKwlhZ2VkX2lkeCA9IHN0cmVhbS0+b2FfYnVm ZmVyLmFnZWRfdGFpbF9pZHg7CisJYWdlZF90YWlsID0gc3RyZWFtLT5vYV9idWZmZXIudGFpbHNb YWdlZF9pZHhdLm9mZnNldDsKKwlhZ2luZ190YWlsID0gc3RyZWFtLT5vYV9idWZmZXIudGFpbHNb IWFnZWRfaWR4XS5vZmZzZXQ7CiAKLQlod190YWlsID0gZGV2X3ByaXYtPnBlcmYub2Eub3BzLm9h X2h3X3RhaWxfcmVhZChkZXZfcHJpdik7CisJaHdfdGFpbCA9IGRldl9wcml2LT5wZXJmLm9wcy5v YV9od190YWlsX3JlYWQoc3RyZWFtKTsKIAogCS8qIFRoZSB0YWlsIHBvaW50ZXIgaW5jcmVhc2Vz IGluIDY0IGJ5dGUgaW5jcmVtZW50cywKIAkgKiBub3QgaW4gcmVwb3J0X3NpemUgc3RlcHMuLi4K QEAgLTQ5MiwxNiArNDk4LDE2IEBAIHN0YXRpYyBib29sIG9hX2J1ZmZlcl9jaGVja191bmxvY2tl ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogYXZhaWxhYmxlKSB3aXRo b3V0IG5lZWRpbmcgdG8gd2FpdCBmb3IgYSBsYXRlciBocnRpbWVyIGNhbGxiYWNrLgogCSAqLwog CWlmIChhZ2luZ190YWlsICE9IElOVkFMSURfVEFJTF9QVFIgJiYKLQkgICAgKChub3cgLSBkZXZf cHJpdi0+cGVyZi5vYS5vYV9idWZmZXIuYWdpbmdfdGltZXN0YW1wKSA+CisJICAgICgobm93IC0g c3RyZWFtLT5vYV9idWZmZXIuYWdpbmdfdGltZXN0YW1wKSA+CiAJICAgICBPQV9UQUlMX01BUkdJ Tl9OU0VDKSkgewogCiAJCWFnZWRfaWR4IF49IDE7Ci0JCWRldl9wcml2LT5wZXJmLm9hLm9hX2J1 ZmZlci5hZ2VkX3RhaWxfaWR4ID0gYWdlZF9pZHg7CisJCXN0cmVhbS0+b2FfYnVmZmVyLmFnZWRf dGFpbF9pZHggPSBhZ2VkX2lkeDsKIAogCQlhZ2VkX3RhaWwgPSBhZ2luZ190YWlsOwogCiAJCS8q IE1hcmsgdGhhdCB3ZSBuZWVkIGEgbmV3IHBvaW50ZXIgdG8gc3RhcnQgYWdpbmcuLi4gKi8KLQkJ ZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnRhaWxzWyFhZ2VkX2lkeF0ub2Zmc2V0ID0gSU5W QUxJRF9UQUlMX1BUUjsKKwkJc3RyZWFtLT5vYV9idWZmZXIudGFpbHNbIWFnZWRfaWR4XS5vZmZz ZXQgPSBJTlZBTElEX1RBSUxfUFRSOwogCQlhZ2luZ190YWlsID0gSU5WQUxJRF9UQUlMX1BUUjsK IAl9CiAKQEAgLTUxNiw3ICs1MjIsNyBAQCBzdGF0aWMgYm9vbCBvYV9idWZmZXJfY2hlY2tfdW5s b2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChhZ2luZ190YWls ID09IElOVkFMSURfVEFJTF9QVFIgJiYKIAkgICAgKGFnZWRfdGFpbCA9PSBJTlZBTElEX1RBSUxf UFRSIHx8CiAJICAgICBPQV9UQUtFTihod190YWlsLCBhZ2VkX3RhaWwpID49IHJlcG9ydF9zaXpl KSkgewotCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSA9IGRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZl ci52bWE7CisJCXN0cnVjdCBpOTE1X3ZtYSAqdm1hID0gc3RyZWFtLT5vYV9idWZmZXIudm1hOwog CQl1MzIgZ3R0X29mZnNldCA9IGk5MTVfZ2d0dF9vZmZzZXQodm1hKTsKIAogCQkvKiBCZSBwYXJh bm9pZCBhbmQgZG8gYSBib3VuZHMgY2hlY2sgb24gdGhlIHBvaW50ZXIgcmVhZCBiYWNrCkBAIC01 MjUsMTYgKzUzMSwxNiBAQCBzdGF0aWMgYm9vbCBvYV9idWZmZXJfY2hlY2tfdW5sb2NrZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkgKi8KIAkJaWYgKGh3X3RhaWwgPj0g Z3R0X29mZnNldCAmJgogCQkgICAgaHdfdGFpbCA8IChndHRfb2Zmc2V0ICsgT0FfQlVGRkVSX1NJ WkUpKSB7Ci0JCQlkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIudGFpbHNbIWFnZWRfaWR4XS5v ZmZzZXQgPQorCQkJc3RyZWFtLT5vYV9idWZmZXIudGFpbHNbIWFnZWRfaWR4XS5vZmZzZXQgPQog CQkJCWFnaW5nX3RhaWwgPSBod190YWlsOwotCQkJZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVy LmFnaW5nX3RpbWVzdGFtcCA9IG5vdzsKKwkJCXN0cmVhbS0+b2FfYnVmZmVyLmFnaW5nX3RpbWVz dGFtcCA9IG5vdzsKIAkJfSBlbHNlIHsKIAkJCURSTV9FUlJPUigiSWdub3Jpbmcgc3B1cmlvdXMg b3V0IG9mIHJhbmdlIE9BIGJ1ZmZlciB0YWlsIHBvaW50ZXIgPSAldVxuIiwKIAkJCQkgIGh3X3Rh aWwpOwogCQl9CiAJfQogCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPnBlcmYu b2Eub2FfYnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm c3RyZWFtLT5vYV9idWZmZXIucHRyX2xvY2ssIGZsYWdzKTsKIAogCXJldHVybiBhZ2VkX3RhaWwg PT0gSU5WQUxJRF9UQUlMX1BUUiA/CiAJCWZhbHNlIDogT0FfVEFLRU4oYWdlZF90YWlsLCBoZWFk KSA+PSByZXBvcnRfc2l6ZTsKQEAgLTU5Nyw4ICs2MDMsNyBAQCBzdGF0aWMgaW50IGFwcGVuZF9v YV9zYW1wbGUoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKIAkJCSAgICBzaXplX3Qg Km9mZnNldCwKIAkJCSAgICBjb25zdCB1OCAqcmVwb3J0KQogewotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHN0cmVhbS0+ZGV2X3ByaXY7Ci0JaW50IHJlcG9ydF9zaXplID0g ZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLmZvcm1hdF9zaXplOworCWludCByZXBvcnRfc2l6 ZSA9IHN0cmVhbS0+b2FfYnVmZmVyLmZvcm1hdF9zaXplOwogCXN0cnVjdCBkcm1faTkxNV9wZXJm X3JlY29yZF9oZWFkZXIgaGVhZGVyOwogCXUzMiBzYW1wbGVfZmxhZ3MgPSBzdHJlYW0tPnNhbXBs ZV9mbGFnczsKIApAQCAtNjUwLDkgKzY1NSw5IEBAIHN0YXRpYyBpbnQgZ2VuOF9hcHBlbmRfb2Ff cmVwb3J0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCQkJCSAgc2l6ZV90ICpv ZmZzZXQpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gc3RyZWFtLT5k ZXZfcHJpdjsKLQlpbnQgcmVwb3J0X3NpemUgPSBkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIu Zm9ybWF0X3NpemU7Ci0JdTggKm9hX2J1Zl9iYXNlID0gZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVm ZmVyLnZhZGRyOwotCXUzMiBndHRfb2Zmc2V0ID0gaTkxNV9nZ3R0X29mZnNldChkZXZfcHJpdi0+ cGVyZi5vYS5vYV9idWZmZXIudm1hKTsKKwlpbnQgcmVwb3J0X3NpemUgPSBzdHJlYW0tPm9hX2J1 ZmZlci5mb3JtYXRfc2l6ZTsKKwl1OCAqb2FfYnVmX2Jhc2UgPSBzdHJlYW0tPm9hX2J1ZmZlci52 YWRkcjsKKwl1MzIgZ3R0X29mZnNldCA9IGk5MTVfZ2d0dF9vZmZzZXQoc3RyZWFtLT5vYV9idWZm ZXIudm1hKTsKIAl1MzIgbWFzayA9IChPQV9CVUZGRVJfU0laRSAtIDEpOwogCXNpemVfdCBzdGFy dF9vZmZzZXQgPSAqb2Zmc2V0OwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC02NjQsMTMgKzY2 OSwxMyBAQCBzdGF0aWMgaW50IGdlbjhfYXBwZW5kX29hX3JlcG9ydHMoc3RydWN0IGk5MTVfcGVy Zl9zdHJlYW0gKnN0cmVhbSwKIAlpZiAoV0FSTl9PTighc3RyZWFtLT5lbmFibGVkKSkKIAkJcmV0 dXJuIC1FSU87CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVm ZmVyLnB0cl9sb2NrLCBmbGFncyk7CisJc3Bpbl9sb2NrX2lycXNhdmUoJnN0cmVhbS0+b2FfYnVm ZmVyLnB0cl9sb2NrLCBmbGFncyk7CiAKLQloZWFkID0gZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVm ZmVyLmhlYWQ7Ci0JYWdlZF90YWlsX2lkeCA9IGRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci5h Z2VkX3RhaWxfaWR4OwotCXRhaWwgPSBkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIudGFpbHNb YWdlZF90YWlsX2lkeF0ub2Zmc2V0OworCWhlYWQgPSBzdHJlYW0tPm9hX2J1ZmZlci5oZWFkOwor CWFnZWRfdGFpbF9pZHggPSBzdHJlYW0tPm9hX2J1ZmZlci5hZ2VkX3RhaWxfaWR4OworCXRhaWwg PSBzdHJlYW0tPm9hX2J1ZmZlci50YWlsc1thZ2VkX3RhaWxfaWR4XS5vZmZzZXQ7CiAKLQlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIucHRyX2xvY2ss IGZsYWdzKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzdHJlYW0tPm9hX2J1ZmZlci5wdHJf bG9jaywgZmxhZ3MpOwogCiAJLyoKIAkgKiBBbiBpbnZhbGlkIHRhaWwgcG9pbnRlciBoZXJlIG1l YW5zIHdlJ3JlIHN0aWxsIHdhaXRpbmcgZm9yIHRoZSBwb2xsCkBAIC03MzQsMTIgKzczOSwxMiBA QCBzdGF0aWMgaW50IGdlbjhfYXBwZW5kX29hX3JlcG9ydHMoc3RydWN0IGk5MTVfcGVyZl9zdHJl YW0gKnN0cmVhbSwKIAkJcmVhc29uID0gKChyZXBvcnQzMlswXSA+PiBPQVJFUE9SVF9SRUFTT05f U0hJRlQpICYKIAkJCSAgT0FSRVBPUlRfUkVBU09OX01BU0spOwogCQlpZiAocmVhc29uID09IDAp IHsKLQkJCWlmIChfX3JhdGVsaW1pdCgmZGV2X3ByaXYtPnBlcmYub2Euc3B1cmlvdXNfcmVwb3J0 X3JzKSkKKwkJCWlmIChfX3JhdGVsaW1pdCgmZGV2X3ByaXYtPnBlcmYuc3B1cmlvdXNfcmVwb3J0 X3JzKSkKIAkJCQlEUk1fTk9URSgiU2tpcHBpbmcgc3B1cmlvdXMsIGludmFsaWQgT0EgcmVwb3J0 XG4iKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJY3R4X2lkID0gcmVwb3J0MzJbMl0gJiBkZXZf cHJpdi0+cGVyZi5vYS5zcGVjaWZpY19jdHhfaWRfbWFzazsKKwkJY3R4X2lkID0gcmVwb3J0MzJb Ml0gJiBzdHJlYW0tPnNwZWNpZmljX2N0eF9pZF9tYXNrOwogCiAJCS8qCiAJCSAqIFNxdWFzaCB3 aGF0ZXZlciBpcyBpbiB0aGUgQ1RYX0lEIGZpZWxkIGlmIGl0J3MgbWFya2VkIGFzCkBAIC03NDks NyArNzU0LDcgQEAgc3RhdGljIGludCBnZW44X2FwcGVuZF9vYV9yZXBvcnRzKHN0cnVjdCBpOTE1 X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJCSAqIE5vdGU6IHRoYXQgd2UgZG9uJ3QgY2xlYXIgdGhl IHZhbGlkX2N0eF9iaXQgc28gdXNlcnNwYWNlIGNhbgogCQkgKiB1bmRlcnN0YW5kIHRoYXQgdGhl IElEIGhhcyBiZWVuIHNxdWFzaGVkIGJ5IHRoZSBrZXJuZWwuCiAJCSAqLwotCQlpZiAoIShyZXBv cnQzMlswXSAmIGRldl9wcml2LT5wZXJmLm9hLmdlbjhfdmFsaWRfY3R4X2JpdCkpCisJCWlmICgh KHJlcG9ydDMyWzBdICYgZGV2X3ByaXYtPnBlcmYuZ2VuOF92YWxpZF9jdHhfYml0KSkKIAkJCWN0 eF9pZCA9IHJlcG9ydDMyWzJdID0gSU5WQUxJRF9DVFhfSUQ7CiAKIAkJLyoKQEAgLTc4MywxOCAr Nzg4LDE3IEBAIHN0YXRpYyBpbnQgZ2VuOF9hcHBlbmRfb2FfcmVwb3J0cyhzdHJ1Y3QgaTkxNV9w ZXJmX3N0cmVhbSAqc3RyZWFtLAogCQkgKiBzd2l0Y2hlcyBzaW5jZSBpdCdzIG5vdC11bmNvbW1v biBmb3IgcGVyaW9kaWMgc2FtcGxlcyB0bwogCQkgKiBpZGVudGlmeSBhIHN3aXRjaCBiZWZvcmUg YW55ICdjb250ZXh0IHN3aXRjaCcgcmVwb3J0LgogCQkgKi8KLQkJaWYgKCFkZXZfcHJpdi0+cGVy Zi5vYS5leGNsdXNpdmVfc3RyZWFtLT5jdHggfHwKLQkJICAgIGRldl9wcml2LT5wZXJmLm9hLnNw ZWNpZmljX2N0eF9pZCA9PSBjdHhfaWQgfHwKLQkJICAgIChkZXZfcHJpdi0+cGVyZi5vYS5vYV9i dWZmZXIubGFzdF9jdHhfaWQgPT0KLQkJICAgICBkZXZfcHJpdi0+cGVyZi5vYS5zcGVjaWZpY19j dHhfaWQpIHx8CisJCWlmICghZGV2X3ByaXYtPnBlcmYuZXhjbHVzaXZlX3N0cmVhbS0+Y3R4IHx8 CisJCSAgICBzdHJlYW0tPnNwZWNpZmljX2N0eF9pZCA9PSBjdHhfaWQgfHwKKwkJICAgIHN0cmVh bS0+b2FfYnVmZmVyLmxhc3RfY3R4X2lkID09IHN0cmVhbS0+c3BlY2lmaWNfY3R4X2lkIHx8CiAJ CSAgICByZWFzb24gJiBPQVJFUE9SVF9SRUFTT05fQ1RYX1NXSVRDSCkgewogCiAJCQkvKgogCQkJ ICogV2hpbGUgZmlsdGVyaW5nIGZvciBhIHNpbmdsZSBjb250ZXh0IHdlIGF2b2lkCiAJCQkgKiBs ZWFraW5nIHRoZSBJRHMgb2Ygb3RoZXIgY29udGV4dHMuCiAJCQkgKi8KLQkJCWlmIChkZXZfcHJp di0+cGVyZi5vYS5leGNsdXNpdmVfc3RyZWFtLT5jdHggJiYKLQkJCSAgICBkZXZfcHJpdi0+cGVy Zi5vYS5zcGVjaWZpY19jdHhfaWQgIT0gY3R4X2lkKSB7CisJCQlpZiAoZGV2X3ByaXYtPnBlcmYu ZXhjbHVzaXZlX3N0cmVhbS0+Y3R4ICYmCisJCQkgICAgc3RyZWFtLT5zcGVjaWZpY19jdHhfaWQg IT0gY3R4X2lkKSB7CiAJCQkJcmVwb3J0MzJbMl0gPSBJTlZBTElEX0NUWF9JRDsKIAkJCX0KIApA QCAtODAzLDcgKzgwNyw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9hcHBlbmRfb2FfcmVwb3J0cyhzdHJ1 Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCQkJaWYgKHJldCkKIAkJCQlicmVhazsKIAot CQkJZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLmxhc3RfY3R4X2lkID0gY3R4X2lkOworCQkJ c3RyZWFtLT5vYV9idWZmZXIubGFzdF9jdHhfaWQgPSBjdHhfaWQ7CiAJCX0KIAogCQkvKgpAQCAt ODE3LDcgKzgyMSw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9hcHBlbmRfb2FfcmVwb3J0cyhzdHJ1Y3Qg aTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCX0KIAogCWlmIChzdGFydF9vZmZzZXQgIT0gKm9m ZnNldCkgewotCQlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVy LnB0cl9sb2NrLCBmbGFncyk7CisJCXNwaW5fbG9ja19pcnFzYXZlKCZzdHJlYW0tPm9hX2J1ZmZl ci5wdHJfbG9jaywgZmxhZ3MpOwogCiAJCS8qCiAJCSAqIFdlIHJlbW92ZWQgdGhlIGd0dF9vZmZz ZXQgZm9yIHRoZSBjb3B5IGxvb3AgYWJvdmUsIGluZGV4aW5nCkBAIC04MjYsOSArODMwLDkgQEAg c3RhdGljIGludCBnZW44X2FwcGVuZF9vYV9yZXBvcnRzKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFt ICpzdHJlYW0sCiAJCWhlYWQgKz0gZ3R0X29mZnNldDsKIAogCQlJOTE1X1dSSVRFKEdFTjhfT0FI RUFEUFRSLCBoZWFkICYgR0VOOF9PQUhFQURQVFJfTUFTSyk7Ci0JCWRldl9wcml2LT5wZXJmLm9h Lm9hX2J1ZmZlci5oZWFkID0gaGVhZDsKKwkJc3RyZWFtLT5vYV9idWZmZXIuaGVhZCA9IGhlYWQ7 CiAKLQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVy LnB0cl9sb2NrLCBmbGFncyk7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnN0cmVhbS0+b2Ff YnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CiAJfQogCiAJcmV0dXJuIHJldDsKQEAgLTg2Myw3ICs4 NjcsNyBAQCBzdGF0aWMgaW50IGdlbjhfb2FfcmVhZChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAq c3RyZWFtLAogCXUzMiBvYXN0YXR1czsKIAlpbnQgcmV0OwogCi0JaWYgKFdBUk5fT04oIWRldl9w cml2LT5wZXJmLm9hLm9hX2J1ZmZlci52YWRkcikpCisJaWYgKFdBUk5fT04oIXN0cmVhbS0+b2Ff YnVmZmVyLnZhZGRyKSkKIAkJcmV0dXJuIC1FSU87CiAKIAlvYXN0YXR1cyA9IEk5MTVfUkVBRChH RU44X09BU1RBVFVTKTsKQEAgLTg4OSwxMCArODkzLDEwIEBAIHN0YXRpYyBpbnQgZ2VuOF9vYV9y ZWFkKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJCQlyZXR1cm4gcmV0OwogCiAJ CURSTV9ERUJVRygiT0EgYnVmZmVyIG92ZXJmbG93IChleHBvbmVudCA9ICVkKTogZm9yY2UgcmVz dGFydFxuIiwKLQkJCSAgZGV2X3ByaXYtPnBlcmYub2EucGVyaW9kX2V4cG9uZW50KTsKKwkJCSAg c3RyZWFtLT5wZXJpb2RfZXhwb25lbnQpOwogCi0JCWRldl9wcml2LT5wZXJmLm9hLm9wcy5vYV9k aXNhYmxlKHN0cmVhbSk7Ci0JCWRldl9wcml2LT5wZXJmLm9hLm9wcy5vYV9lbmFibGUoc3RyZWFt KTsKKwkJZGV2X3ByaXYtPnBlcmYub3BzLm9hX2Rpc2FibGUoc3RyZWFtKTsKKwkJZGV2X3ByaXYt PnBlcmYub3BzLm9hX2VuYWJsZShzdHJlYW0pOwogCiAJCS8qCiAJCSAqIE5vdGU6IC5vYV9lbmFi bGUoKSBpcyBleHBlY3RlZCB0byByZS1pbml0IHRoZSBvYWJ1ZmZlciBhbmQKQEAgLTkzOSw5ICs5 NDMsOSBAQCBzdGF0aWMgaW50IGdlbjdfYXBwZW5kX29hX3JlcG9ydHMoc3RydWN0IGk5MTVfcGVy Zl9zdHJlYW0gKnN0cmVhbSwKIAkJCQkgIHNpemVfdCAqb2Zmc2V0KQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHN0cmVhbS0+ZGV2X3ByaXY7Ci0JaW50IHJlcG9ydF9z aXplID0gZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLmZvcm1hdF9zaXplOwotCXU4ICpvYV9i dWZfYmFzZSA9IGRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci52YWRkcjsKLQl1MzIgZ3R0X29m ZnNldCA9IGk5MTVfZ2d0dF9vZmZzZXQoZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnZtYSk7 CisJaW50IHJlcG9ydF9zaXplID0gc3RyZWFtLT5vYV9idWZmZXIuZm9ybWF0X3NpemU7CisJdTgg Km9hX2J1Zl9iYXNlID0gc3RyZWFtLT5vYV9idWZmZXIudmFkZHI7CisJdTMyIGd0dF9vZmZzZXQg PSBpOTE1X2dndHRfb2Zmc2V0KHN0cmVhbS0+b2FfYnVmZmVyLnZtYSk7CiAJdTMyIG1hc2sgPSAo T0FfQlVGRkVSX1NJWkUgLSAxKTsKIAlzaXplX3Qgc3RhcnRfb2Zmc2V0ID0gKm9mZnNldDsKIAl1 bnNpZ25lZCBsb25nIGZsYWdzOwpAQCAtOTUzLDEzICs5NTcsMTMgQEAgc3RhdGljIGludCBnZW43 X2FwcGVuZF9vYV9yZXBvcnRzKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJaWYg KFdBUk5fT04oIXN0cmVhbS0+ZW5hYmxlZCkpCiAJCXJldHVybiAtRUlPOwogCi0Jc3Bpbl9sb2Nr X2lycXNhdmUoJmRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci5wdHJfbG9jaywgZmxhZ3MpOwor CXNwaW5fbG9ja19pcnFzYXZlKCZzdHJlYW0tPm9hX2J1ZmZlci5wdHJfbG9jaywgZmxhZ3MpOwog Ci0JaGVhZCA9IGRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci5oZWFkOwotCWFnZWRfdGFpbF9p ZHggPSBkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIuYWdlZF90YWlsX2lkeDsKLQl0YWlsID0g ZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnRhaWxzW2FnZWRfdGFpbF9pZHhdLm9mZnNldDsK KwloZWFkID0gc3RyZWFtLT5vYV9idWZmZXIuaGVhZDsKKwlhZ2VkX3RhaWxfaWR4ID0gc3RyZWFt LT5vYV9idWZmZXIuYWdlZF90YWlsX2lkeDsKKwl0YWlsID0gc3RyZWFtLT5vYV9idWZmZXIudGFp bHNbYWdlZF90YWlsX2lkeF0ub2Zmc2V0OwogCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2 X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CisJc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmc3RyZWFtLT5vYV9idWZmZXIucHRyX2xvY2ssIGZsYWdzKTsKIAogCS8qIEFu IGludmFsaWQgdGFpbCBwb2ludGVyIGhlcmUgbWVhbnMgd2UncmUgc3RpbGwgd2FpdGluZyBmb3Ig dGhlIHBvbGwKIAkgKiBocnRpbWVyIGNhbGxiYWNrIHRvIGdpdmUgdXMgYSBwb2ludGVyCkBAIC0x MDEyLDcgKzEwMTYsNyBAQCBzdGF0aWMgaW50IGdlbjdfYXBwZW5kX29hX3JlcG9ydHMoc3RydWN0 IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKIAkJICogY29weWluZyBpdCB0byB1c2Vyc3BhY2Uu Li4KIAkJICovCiAJCWlmIChyZXBvcnQzMlswXSA9PSAwKSB7Ci0JCQlpZiAoX19yYXRlbGltaXQo JmRldl9wcml2LT5wZXJmLm9hLnNwdXJpb3VzX3JlcG9ydF9ycykpCisJCQlpZiAoX19yYXRlbGlt aXQoJmRldl9wcml2LT5wZXJmLnNwdXJpb3VzX3JlcG9ydF9ycykpCiAJCQkJRFJNX05PVEUoIlNr aXBwaW5nIHNwdXJpb3VzLCBpbnZhbGlkIE9BIHJlcG9ydFxuIik7CiAJCQljb250aW51ZTsKIAkJ fQpAQCAtMTAzMSw3ICsxMDM1LDcgQEAgc3RhdGljIGludCBnZW43X2FwcGVuZF9vYV9yZXBvcnRz KHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJfQogCiAJaWYgKHN0YXJ0X29mZnNl dCAhPSAqb2Zmc2V0KSB7Ci0JCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+cGVyZi5vYS5v YV9idWZmZXIucHRyX2xvY2ssIGZsYWdzKTsKKwkJc3Bpbl9sb2NrX2lycXNhdmUoJnN0cmVhbS0+ b2FfYnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CiAKIAkJLyogV2UgcmVtb3ZlZCB0aGUgZ3R0X29m ZnNldCBmb3IgdGhlIGNvcHkgbG9vcCBhYm92ZSwgaW5kZXhpbmcKIAkJICogcmVsYXRpdmUgdG8g b2FfYnVmX2Jhc2Ugc28gcHV0IGJhY2sgaGVyZS4uLgpAQCAtMTA0MSw5ICsxMDQ1LDkgQEAgc3Rh dGljIGludCBnZW43X2FwcGVuZF9vYV9yZXBvcnRzKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpz dHJlYW0sCiAJCUk5MTVfV1JJVEUoR0VON19PQVNUQVRVUzIsCiAJCQkgICAoKGhlYWQgJiBHRU43 X09BU1RBVFVTMl9IRUFEX01BU0spIHwKIAkJCSAgICBHRU43X09BU1RBVFVTMl9NRU1fU0VMRUNU X0dHVFQpKTsKLQkJZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLmhlYWQgPSBoZWFkOworCQlz dHJlYW0tPm9hX2J1ZmZlci5oZWFkID0gaGVhZDsKIAotCQlzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIucHRyX2xvY2ssIGZsYWdzKTsKKwkJc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmc3RyZWFtLT5vYV9idWZmZXIucHRyX2xvY2ssIGZsYWdzKTsKIAl9 CiAKIAlyZXR1cm4gcmV0OwpAQCAtMTA3NCw3ICsxMDc4LDcgQEAgc3RhdGljIGludCBnZW43X29h X3JlYWQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSwKIAl1MzIgb2FzdGF0dXMxOwog CWludCByZXQ7CiAKLQlpZiAoV0FSTl9PTighZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnZh ZGRyKSkKKwlpZiAoV0FSTl9PTighc3RyZWFtLT5vYV9idWZmZXIudmFkZHIpKQogCQlyZXR1cm4g LUVJTzsKIAogCW9hc3RhdHVzMSA9IEk5MTVfUkVBRChHRU43X09BU1RBVFVTMSk7CkBAIC0xMDg0 LDcgKzEwODgsNyBAQCBzdGF0aWMgaW50IGdlbjdfb2FfcmVhZChzdHJ1Y3QgaTkxNV9wZXJmX3N0 cmVhbSAqc3RyZWFtLAogCSAqIG1heSBiZSB1cGRhdGVkIGFzeW5jaHJvbm91c2x5KSBzbyB3ZSBp Z25vcmUgc3RhdHVzIGJpdHMKIAkgKiB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIHJlcG9ydGVkIHRv IHVzZXJzcGFjZS4KIAkgKi8KLQlvYXN0YXR1czEgJj0gfmRldl9wcml2LT5wZXJmLm9hLmdlbjdf bGF0Y2hlZF9vYXN0YXR1czE7CisJb2FzdGF0dXMxICY9IH5kZXZfcHJpdi0+cGVyZi5nZW43X2xh dGNoZWRfb2FzdGF0dXMxOwogCiAJLyogV2UgdHJlYXQgT0FCVUZGRVJfT1ZFUkZMT1cgYXMgYSBz aWduaWZpY2FudCBlcnJvcjoKIAkgKgpAQCAtMTExMywxMCArMTExNywxMCBAQCBzdGF0aWMgaW50 IGdlbjdfb2FfcmVhZChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCQkJcmV0dXJu IHJldDsKIAogCQlEUk1fREVCVUcoIk9BIGJ1ZmZlciBvdmVyZmxvdyAoZXhwb25lbnQgPSAlZCk6 IGZvcmNlIHJlc3RhcnRcbiIsCi0JCQkgIGRldl9wcml2LT5wZXJmLm9hLnBlcmlvZF9leHBvbmVu dCk7CisJCQkgIHN0cmVhbS0+cGVyaW9kX2V4cG9uZW50KTsKIAotCQlkZXZfcHJpdi0+cGVyZi5v YS5vcHMub2FfZGlzYWJsZShzdHJlYW0pOwotCQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMub2FfZW5h YmxlKHN0cmVhbSk7CisJCWRldl9wcml2LT5wZXJmLm9wcy5vYV9kaXNhYmxlKHN0cmVhbSk7CisJ CWRldl9wcml2LT5wZXJmLm9wcy5vYV9lbmFibGUoc3RyZWFtKTsKIAogCQlvYXN0YXR1czEgPSBJ OTE1X1JFQUQoR0VON19PQVNUQVRVUzEpOwogCX0KQEAgLTExMjYsNyArMTEzMCw3IEBAIHN0YXRp YyBpbnQgZ2VuN19vYV9yZWFkKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJCQkJ ICAgICAgIERSTV9JOTE1X1BFUkZfUkVDT1JEX09BX1JFUE9SVF9MT1NUKTsKIAkJaWYgKHJldCkK IAkJCXJldHVybiByZXQ7Ci0JCWRldl9wcml2LT5wZXJmLm9hLmdlbjdfbGF0Y2hlZF9vYXN0YXR1 czEgfD0KKwkJZGV2X3ByaXYtPnBlcmYuZ2VuN19sYXRjaGVkX29hc3RhdHVzMSB8PQogCQkJR0VO N19PQVNUQVRVUzFfUkVQT1JUX0xPU1Q7CiAJfQogCkBAIC0xMTQ5LDE0ICsxMTUzLDEyIEBAIHN0 YXRpYyBpbnQgZ2VuN19vYV9yZWFkKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAg Ki8KIHN0YXRpYyBpbnQgaTkxNV9vYV93YWl0X3VubG9ja2VkKHN0cnVjdCBpOTE1X3BlcmZfc3Ry ZWFtICpzdHJlYW0pCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gc3Ry ZWFtLT5kZXZfcHJpdjsKLQogCS8qIFdlIHdvdWxkIHdhaXQgaW5kZWZpbml0ZWx5IGlmIHBlcmlv ZGljIHNhbXBsaW5nIGlzIG5vdCBlbmFibGVkICovCi0JaWYgKCFkZXZfcHJpdi0+cGVyZi5vYS5w ZXJpb2RpYykKKwlpZiAoIXN0cmVhbS0+cGVyaW9kaWMpCiAJCXJldHVybiAtRUlPOwogCi0JcmV0 dXJuIHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShkZXZfcHJpdi0+cGVyZi5vYS5wb2xsX3dxLAot CQkJCQlvYV9idWZmZXJfY2hlY2tfdW5sb2NrZWQoZGV2X3ByaXYpKTsKKwlyZXR1cm4gd2FpdF9l dmVudF9pbnRlcnJ1cHRpYmxlKHN0cmVhbS0+cG9sbF93cSwKKwkJCQkJb2FfYnVmZmVyX2NoZWNr X3VubG9ja2VkKHN0cmVhbSkpOwogfQogCiAvKioKQEAgLTExNzMsOSArMTE3NSw3IEBAIHN0YXRp YyB2b2lkIGk5MTVfb2FfcG9sbF93YWl0KHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0s CiAJCQkgICAgICBzdHJ1Y3QgZmlsZSAqZmlsZSwKIAkJCSAgICAgIHBvbGxfdGFibGUgKndhaXQp CiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gc3RyZWFtLT5kZXZfcHJp djsKLQotCXBvbGxfd2FpdChmaWxlLCAmZGV2X3ByaXYtPnBlcmYub2EucG9sbF93cSwgd2FpdCk7 CisJcG9sbF93YWl0KGZpbGUsICZzdHJlYW0tPnBvbGxfd3EsIHdhaXQpOwogfQogCiAvKioKQEAg LTExOTcsMTMgKzExOTcsMTQgQEAgc3RhdGljIGludCBpOTE1X29hX3JlYWQoc3RydWN0IGk5MTVf cGVyZl9zdHJlYW0gKnN0cmVhbSwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBzdHJlYW0tPmRldl9wcml2OwogCi0JcmV0dXJuIGRldl9wcml2LT5wZXJmLm9hLm9wcy5y ZWFkKHN0cmVhbSwgYnVmLCBjb3VudCwgb2Zmc2V0KTsKKwlyZXR1cm4gZGV2X3ByaXYtPnBlcmYu b3BzLnJlYWQoc3RyZWFtLCBidWYsIGNvdW50LCBvZmZzZXQpOwogfQogCi1zdGF0aWMgc3RydWN0 IGludGVsX2NvbnRleHQgKm9hX3Bpbl9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1LAotCQkJCQkgICAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKK3N0YXRpYyBzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqb2FfcGluX2NvbnRleHQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0g KnN0cmVhbSkKIHsKIAlzdHJ1Y3QgaTkxNV9nZW1fZW5naW5lc19pdGVyIGl0OworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1ID0gc3RyZWFtLT5kZXZfcHJpdjsKKwlzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqY3R4ID0gc3RyZWFtLT5jdHg7CiAJc3RydWN0IGludGVsX2NvbnRleHQgKmNl OwogCWludCBlcnI7CiAKQEAgLTEyMjEsNyArMTIyMiw3IEBAIHN0YXRpYyBzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqb2FfcGluX2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJ CSAqLwogCQllcnIgPSBpbnRlbF9jb250ZXh0X3BpbihjZSk7CiAJCWlmIChlcnIgPT0gMCkgewot CQkJaTkxNS0+cGVyZi5vYS5waW5uZWRfY3R4ID0gY2U7CisJCQlzdHJlYW0tPnBpbm5lZF9jdHgg PSBjZTsKIAkJCWJyZWFrOwogCQl9CiAJfQpAQCAtMTIzMSw3ICsxMjMyLDcgQEAgc3RhdGljIHN0 cnVjdCBpbnRlbF9jb250ZXh0ICpvYV9waW5fY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwKIAlpZiAoZXJyKQogCQlyZXR1cm4gRVJSX1BUUihlcnIpOwogCi0JcmV0dXJuIGk5 MTUtPnBlcmYub2EucGlubmVkX2N0eDsKKwlyZXR1cm4gc3RyZWFtLT5waW5uZWRfY3R4OwogfQog CiAvKioKQEAgLTEyNDksNyArMTI1MCw3IEBAIHN0YXRpYyBpbnQgb2FfZ2V0X3JlbmRlcl9jdHhf aWQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9IHN0cmVhbS0+ZGV2X3ByaXY7CiAJc3RydWN0IGludGVsX2NvbnRleHQgKmNl OwogCi0JY2UgPSBvYV9waW5fY29udGV4dChpOTE1LCBzdHJlYW0tPmN0eCk7CisJY2UgPSBvYV9w aW5fY29udGV4dChzdHJlYW0pOwogCWlmIChJU19FUlIoY2UpKQogCQlyZXR1cm4gUFRSX0VSUihj ZSk7CiAKQEAgLTEyNTksOCArMTI2MCw4IEBAIHN0YXRpYyBpbnQgb2FfZ2V0X3JlbmRlcl9jdHhf aWQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIAkJICogT24gSGFzd2VsbCB3ZSBk b24ndCBkbyBhbnkgcG9zdCBwcm9jZXNzaW5nIG9mIHRoZSByZXBvcnRzCiAJCSAqIGFuZCBkb24n dCBuZWVkIHRvIHVzZSB0aGUgbWFzay4KIAkJICovCi0JCWk5MTUtPnBlcmYub2Euc3BlY2lmaWNf Y3R4X2lkID0gaTkxNV9nZ3R0X29mZnNldChjZS0+c3RhdGUpOwotCQlpOTE1LT5wZXJmLm9hLnNw ZWNpZmljX2N0eF9pZF9tYXNrID0gMDsKKwkJc3RyZWFtLT5zcGVjaWZpY19jdHhfaWQgPSBpOTE1 X2dndHRfb2Zmc2V0KGNlLT5zdGF0ZSk7CisJCXN0cmVhbS0+c3BlY2lmaWNfY3R4X2lkX21hc2sg PSAwOwogCQlicmVhazsKIAl9CiAKQEAgLTEyNzgsMzMgKzEyNzksMzYgQEAgc3RhdGljIGludCBv YV9nZXRfcmVuZGVyX2N0eF9pZChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogCQkJ ICogZHJvcHBlZCBieSBHdUMuIFRoZXkgd29uJ3QgYmUgcGFydCBvZiB0aGUgY29udGV4dAogCQkJ ICogSUQgaW4gdGhlIE9BIHJlcG9ydHMsIHNvIHNxdWFzaCB0aG9zZSBsb3dlciBiaXRzLgogCQkJ ICovCi0JCQlpOTE1LT5wZXJmLm9hLnNwZWNpZmljX2N0eF9pZCA9CisJCQlzdHJlYW0tPnNwZWNp ZmljX2N0eF9pZCA9CiAJCQkJbG93ZXJfMzJfYml0cyhjZS0+bHJjX2Rlc2MpID4+IDEyOwogCiAJ CQkvKgogCQkJICogR3VDIHVzZXMgdGhlIHRvcCBiaXQgdG8gc2lnbmFsIHByb3h5IHN1Ym1pc3Np b24sIHNvCiAJCQkgKiBpZ25vcmUgdGhhdCBiaXQuCiAJCQkgKi8KLQkJCWk5MTUtPnBlcmYub2Eu c3BlY2lmaWNfY3R4X2lkX21hc2sgPQorCQkJc3RyZWFtLT5zcGVjaWZpY19jdHhfaWRfbWFzayA9 CiAJCQkJKDFVIDw8IChHRU44X0NUWF9JRF9XSURUSCAtIDEpKSAtIDE7CiAJCX0gZWxzZSB7Ci0J CQlpOTE1LT5wZXJmLm9hLnNwZWNpZmljX2N0eF9pZF9tYXNrID0KKwkJCXN0cmVhbS0+c3BlY2lm aWNfY3R4X2lkX21hc2sgPQogCQkJCSgxVSA8PCBHRU44X0NUWF9JRF9XSURUSCkgLSAxOwotCQkJ aTkxNS0+cGVyZi5vYS5zcGVjaWZpY19jdHhfaWQgPQorCQkJc3RyZWFtLT5zcGVjaWZpY19jdHhf aWQgPQogCQkJCXVwcGVyXzMyX2JpdHMoY2UtPmxyY19kZXNjKTsKLQkJCWk5MTUtPnBlcmYub2Eu c3BlY2lmaWNfY3R4X2lkICY9Ci0JCQkJaTkxNS0+cGVyZi5vYS5zcGVjaWZpY19jdHhfaWRfbWFz azsKKwkJCXN0cmVhbS0+c3BlY2lmaWNfY3R4X2lkICY9CisJCQkJc3RyZWFtLT5zcGVjaWZpY19j dHhfaWRfbWFzazsKIAkJfQogCQlicmVhazsKIAogCWNhc2UgMTE6IHsKLQkJaTkxNS0+cGVyZi5v YS5zcGVjaWZpY19jdHhfaWRfbWFzayA9Ci0JCQkoKDFVIDw8IEdFTjExX1NXX0NUWF9JRF9XSURU SCkgLSAxKSA8PCAoR0VOMTFfU1dfQ1RYX0lEX1NISUZUIC0gMzIpIHwKLQkJCSgoMVUgPDwgR0VO MTFfRU5HSU5FX0lOU1RBTkNFX1dJRFRIKSAtIDEpIDw8IChHRU4xMV9FTkdJTkVfSU5TVEFOQ0Vf U0hJRlQgLSAzMikgfAotCQkJKCgxIDw8IEdFTjExX0VOR0lORV9DTEFTU19XSURUSCkgLSAxKSA8 PCAoR0VOMTFfRU5HSU5FX0NMQVNTX1NISUZUIC0gMzIpOwotCQlpOTE1LT5wZXJmLm9hLnNwZWNp ZmljX2N0eF9pZCA9IHVwcGVyXzMyX2JpdHMoY2UtPmxyY19kZXNjKTsKLQkJaTkxNS0+cGVyZi5v YS5zcGVjaWZpY19jdHhfaWQgJj0KLQkJCWk5MTUtPnBlcmYub2Euc3BlY2lmaWNfY3R4X2lkX21h c2s7CisJCXN0cmVhbS0+c3BlY2lmaWNfY3R4X2lkX21hc2sgPQorCQkJKCgxVSA8PCBHRU4xMV9T V19DVFhfSURfV0lEVEgpIC0gMSkKKwkJCQk8PCAoR0VOMTFfU1dfQ1RYX0lEX1NISUZUIC0gMzIp IHwKKwkJCSgoMVUgPDwgR0VOMTFfRU5HSU5FX0lOU1RBTkNFX1dJRFRIKSAtIDEpCisJCQkJPDwg KEdFTjExX0VOR0lORV9JTlNUQU5DRV9TSElGVCAtIDMyKSB8CisJCQkoKDEgPDwgR0VOMTFfRU5H SU5FX0NMQVNTX1dJRFRIKSAtIDEpCisJCQkJPDwgKEdFTjExX0VOR0lORV9DTEFTU19TSElGVCAt IDMyKTsKKwkJc3RyZWFtLT5zcGVjaWZpY19jdHhfaWQgPSB1cHBlcl8zMl9iaXRzKGNlLT5scmNf ZGVzYyk7CisJCXN0cmVhbS0+c3BlY2lmaWNfY3R4X2lkICY9CisJCQlzdHJlYW0tPnNwZWNpZmlj X2N0eF9pZF9tYXNrOwogCQlicmVhazsKIAl9CiAKQEAgLTEzMTMsOCArMTMxNyw4IEBAIHN0YXRp YyBpbnQgb2FfZ2V0X3JlbmRlcl9jdHhfaWQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVh bSkKIAl9CiAKIAlEUk1fREVCVUdfRFJJVkVSKCJmaWx0ZXJpbmcgb24gY3R4X2lkPTB4JXggY3R4 X2lkX21hc2s9MHgleFxuIiwKLQkJCSBpOTE1LT5wZXJmLm9hLnNwZWNpZmljX2N0eF9pZCwKLQkJ CSBpOTE1LT5wZXJmLm9hLnNwZWNpZmljX2N0eF9pZF9tYXNrKTsKKwkJCSBzdHJlYW0tPnNwZWNp ZmljX2N0eF9pZCwKKwkJCSBzdHJlYW0tPnNwZWNpZmljX2N0eF9pZF9tYXNrKTsKIAogCXJldHVy biAwOwogfQpAQCAtMTMzMSwxMCArMTMzNSwxMCBAQCBzdGF0aWMgdm9pZCBvYV9wdXRfcmVuZGVy X2N0eF9pZChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHN0cmVhbS0+ZGV2X3ByaXY7CiAJc3RydWN0IGludGVsX2Nv bnRleHQgKmNlOwogCi0JZGV2X3ByaXYtPnBlcmYub2Euc3BlY2lmaWNfY3R4X2lkID0gSU5WQUxJ RF9DVFhfSUQ7Ci0JZGV2X3ByaXYtPnBlcmYub2Euc3BlY2lmaWNfY3R4X2lkX21hc2sgPSAwOwor CXN0cmVhbS0+c3BlY2lmaWNfY3R4X2lkID0gSU5WQUxJRF9DVFhfSUQ7CisJc3RyZWFtLT5zcGVj aWZpY19jdHhfaWRfbWFzayA9IDA7CiAKLQljZSA9IGZldGNoX2FuZF96ZXJvKCZkZXZfcHJpdi0+ cGVyZi5vYS5waW5uZWRfY3R4KTsKKwljZSA9IGZldGNoX2FuZF96ZXJvKCZzdHJlYW0tPnBpbm5l ZF9jdHgpOwogCWlmIChjZSkgewogCQltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9t dXRleCk7CiAJCWludGVsX2NvbnRleHRfdW5waW4oY2UpOwpAQCAtMTM0MywzNCArMTM0NywzNiBA QCBzdGF0aWMgdm9pZCBvYV9wdXRfcmVuZGVyX2N0eF9pZChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVh bSAqc3RyZWFtKQogfQogCiBzdGF0aWMgdm9pZAotZnJlZV9vYV9idWZmZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCitmcmVlX29hX2J1ZmZlcihzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVh bSAqc3RyZWFtKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gc3RyZWFtLT5k ZXZfcHJpdjsKKwogCW11dGV4X2xvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCi0JaTkx NV92bWFfdW5waW5fYW5kX3JlbGVhc2UoJmk5MTUtPnBlcmYub2Eub2FfYnVmZmVyLnZtYSwKKwlp OTE1X3ZtYV91bnBpbl9hbmRfcmVsZWFzZSgmc3RyZWFtLT5vYV9idWZmZXIudm1hLAogCQkJCSAg IEk5MTVfVk1BX1JFTEVBU0VfTUFQKTsKIAogCW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVj dF9tdXRleCk7CiAKLQlpOTE1LT5wZXJmLm9hLm9hX2J1ZmZlci52YWRkciA9IE5VTEw7CisJc3Ry ZWFtLT5vYV9idWZmZXIudmFkZHIgPSBOVUxMOwogfQogCiBzdGF0aWMgdm9pZCBpOTE1X29hX3N0 cmVhbV9kZXN0cm95KHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gc3RyZWFtLT5kZXZfcHJpdjsKIAotCUJVR19P TihzdHJlYW0gIT0gZGV2X3ByaXYtPnBlcmYub2EuZXhjbHVzaXZlX3N0cmVhbSk7CisJQlVHX09O KHN0cmVhbSAhPSBkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtKTsKIAogCS8qCiAJICog VW5zZXQgZXhjbHVzaXZlX3N0cmVhbSBmaXJzdCwgaXQgd2lsbCBiZSBjaGVja2VkIHdoaWxlIGRp c2FibGluZwogCSAqIHRoZSBtZXRyaWMgc2V0IG9uIGdlbjgrLgogCSAqLwogCW11dGV4X2xvY2so JmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKLQlkZXZfcHJpdi0+cGVyZi5vYS5leGNsdXNp dmVfc3RyZWFtID0gTlVMTDsKLQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMuZGlzYWJsZV9tZXRyaWNf c2V0KGRldl9wcml2KTsKKwlkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtID0gTlVMTDsK KwlkZXZfcHJpdi0+cGVyZi5vcHMuZGlzYWJsZV9tZXRyaWNfc2V0KHN0cmVhbSk7CiAJbXV0ZXhf dW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKLQlmcmVlX29hX2J1ZmZlcihk ZXZfcHJpdik7CisJZnJlZV9vYV9idWZmZXIoc3RyZWFtKTsKIAogCWludGVsX3VuY29yZV9mb3Jj ZXdha2VfcHV0KCZkZXZfcHJpdi0+dW5jb3JlLCBGT1JDRVdBS0VfQUxMKTsKIAlpbnRlbF9ydW50 aW1lX3BtX3B1dCgmZGV2X3ByaXYtPnJ1bnRpbWVfcG0sIHN0cmVhbS0+d2FrZXJlZik7CkBAIC0x MzgwLDQxICsxMzg2LDQyIEBAIHN0YXRpYyB2b2lkIGk5MTVfb2Ffc3RyZWFtX2Rlc3Ryb3koc3Ry dWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIAogCXB1dF9vYV9jb25maWcoZGV2X3ByaXYs IHN0cmVhbS0+b2FfY29uZmlnKTsKIAotCWlmIChkZXZfcHJpdi0+cGVyZi5vYS5zcHVyaW91c19y ZXBvcnRfcnMubWlzc2VkKSB7CisJaWYgKGRldl9wcml2LT5wZXJmLnNwdXJpb3VzX3JlcG9ydF9y cy5taXNzZWQpIHsKIAkJRFJNX05PVEUoIiVkIHNwdXJpb3VzIE9BIHJlcG9ydCBub3RpY2VzIHN1 cHByZXNzZWQgZHVlIHRvIHJhdGVsaW1pdGluZ1xuIiwKLQkJCSBkZXZfcHJpdi0+cGVyZi5vYS5z cHVyaW91c19yZXBvcnRfcnMubWlzc2VkKTsKKwkJCSBkZXZfcHJpdi0+cGVyZi5zcHVyaW91c19y ZXBvcnRfcnMubWlzc2VkKTsKIAl9CiB9CiAKLXN0YXRpYyB2b2lkIGdlbjdfaW5pdF9vYV9idWZm ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQorc3RhdGljIHZvaWQgZ2VuN19p bml0X29hX2J1ZmZlcihzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogewotCXUzMiBn dHRfb2Zmc2V0ID0gaTkxNV9nZ3R0X29mZnNldChkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIu dm1hKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBzdHJlYW0tPmRldl9w cml2OworCXUzMiBndHRfb2Zmc2V0ID0gaTkxNV9nZ3R0X29mZnNldChzdHJlYW0tPm9hX2J1ZmZl ci52bWEpOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2 X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CisJc3Bpbl9sb2NrX2ly cXNhdmUoJnN0cmVhbS0+b2FfYnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CiAKIAkvKiBQcmUtRGV2 QkRXOiBPQUJVRkZFUiBtdXN0IGJlIHNldCB3aXRoIGNvdW50ZXJzIG9mZiwKIAkgKiBiZWZvcmUg T0FTVEFUVVMxLCBidXQgYWZ0ZXIgT0FTVEFUVVMyCiAJICovCiAJSTkxNV9XUklURShHRU43X09B U1RBVFVTMiwKIAkJICAgZ3R0X29mZnNldCB8IEdFTjdfT0FTVEFUVVMyX01FTV9TRUxFQ1RfR0dU VCk7IC8qIGhlYWQgKi8KLQlkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIuaGVhZCA9IGd0dF9v ZmZzZXQ7CisJc3RyZWFtLT5vYV9idWZmZXIuaGVhZCA9IGd0dF9vZmZzZXQ7CiAKIAlJOTE1X1dS SVRFKEdFTjdfT0FCVUZGRVIsIGd0dF9vZmZzZXQpOwogCiAJSTkxNV9XUklURShHRU43X09BU1RB VFVTMSwgZ3R0X29mZnNldCB8IE9BQlVGRkVSX1NJWkVfMTZNKTsgLyogdGFpbCAqLwogCiAJLyog TWFyayB0aGF0IHdlIG5lZWQgdXBkYXRlZCB0YWlsIHBvaW50ZXJzIHRvIHJlYWQgZnJvbS4uLiAq LwotCWRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci50YWlsc1swXS5vZmZzZXQgPSBJTlZBTElE X1RBSUxfUFRSOwotCWRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci50YWlsc1sxXS5vZmZzZXQg PSBJTlZBTElEX1RBSUxfUFRSOworCXN0cmVhbS0+b2FfYnVmZmVyLnRhaWxzWzBdLm9mZnNldCA9 IElOVkFMSURfVEFJTF9QVFI7CisJc3RyZWFtLT5vYV9idWZmZXIudGFpbHNbMV0ub2Zmc2V0ID0g SU5WQUxJRF9UQUlMX1BUUjsKIAotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldl9wcml2LT5w ZXJmLm9hLm9hX2J1ZmZlci5wdHJfbG9jaywgZmxhZ3MpOworCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJnN0cmVhbS0+b2FfYnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CiAKIAkvKiBPbiBIYXN3ZWxs IHdlIGhhdmUgdG8gdHJhY2sgd2hpY2ggT0FTVEFUVVMxIGZsYWdzIHdlJ3ZlCiAJICogYWxyZWFk eSBzZWVuIHNpbmNlIHRoZXkgY2FuJ3QgYmUgY2xlYXJlZCB3aGlsZSBwZXJpb2RpYwogCSAqIHNh bXBsaW5nIGlzIGVuYWJsZWQuCiAJICovCi0JZGV2X3ByaXYtPnBlcmYub2EuZ2VuN19sYXRjaGVk X29hc3RhdHVzMSA9IDA7CisJZGV2X3ByaXYtPnBlcmYuZ2VuN19sYXRjaGVkX29hc3RhdHVzMSA9 IDA7CiAKIAkvKiBOQjogYWx0aG91Z2ggdGhlIE9BIGJ1ZmZlciB3aWxsIGluaXRpYWxseSBiZSBh bGxvY2F0ZWQKIAkgKiB6ZXJvZWQgdmlhIHNobWZzIChhbmQgc28gdGhpcyBtZW1zZXQgaXMgcmVk dW5kYW50IHdoZW4KQEAgLTE0MjcsMjQgKzE0MzQsMjUgQEAgc3RhdGljIHZvaWQgZ2VuN19pbml0 X29hX2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogdGhlIGFz c3VtcHRpb24gdGhhdCBuZXcgcmVwb3J0cyBhcmUgYmVpbmcgd3JpdHRlbiB0byB6ZXJvZWQKIAkg KiBtZW1vcnkuLi4KIAkgKi8KLQltZW1zZXQoZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnZh ZGRyLCAwLCBPQV9CVUZGRVJfU0laRSk7CisJbWVtc2V0KHN0cmVhbS0+b2FfYnVmZmVyLnZhZGRy LCAwLCBPQV9CVUZGRVJfU0laRSk7CiAKIAkvKiBNYXliZSBtYWtlIC0+cG9sbGluIHBlci1zdHJl YW0gc3RhdGUgaWYgd2Ugc3VwcG9ydCBtdWx0aXBsZQogCSAqIGNvbmN1cnJlbnQgc3RyZWFtcyBp biB0aGUgZnV0dXJlLgogCSAqLwotCWRldl9wcml2LT5wZXJmLm9hLnBvbGxpbiA9IGZhbHNlOwor CXN0cmVhbS0+cG9sbGluID0gZmFsc2U7CiB9CiAKLXN0YXRpYyB2b2lkIGdlbjhfaW5pdF9vYV9i dWZmZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQorc3RhdGljIHZvaWQgZ2Vu OF9pbml0X29hX2J1ZmZlcihzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogewotCXUz MiBndHRfb2Zmc2V0ID0gaTkxNV9nZ3R0X29mZnNldChkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZm ZXIudm1hKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBzdHJlYW0tPmRl dl9wcml2OworCXUzMiBndHRfb2Zmc2V0ID0gaTkxNV9nZ3R0X29mZnNldChzdHJlYW0tPm9hX2J1 ZmZlci52bWEpOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgm ZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CisJc3Bpbl9sb2Nr X2lycXNhdmUoJnN0cmVhbS0+b2FfYnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CiAKIAlJOTE1X1dS SVRFKEdFTjhfT0FTVEFUVVMsIDApOwogCUk5MTVfV1JJVEUoR0VOOF9PQUhFQURQVFIsIGd0dF9v ZmZzZXQpOwotCWRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci5oZWFkID0gZ3R0X29mZnNldDsK KwlzdHJlYW0tPm9hX2J1ZmZlci5oZWFkID0gZ3R0X29mZnNldDsKIAogCUk5MTVfV1JJVEUoR0VO OF9PQUJVRkZFUl9VRFcsIDApOwogCkBAIC0xNDYxLDE3ICsxNDY5LDE3IEBAIHN0YXRpYyB2b2lk IGdlbjhfaW5pdF9vYV9idWZmZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog CUk5MTVfV1JJVEUoR0VOOF9PQVRBSUxQVFIsIGd0dF9vZmZzZXQgJiBHRU44X09BVEFJTFBUUl9N QVNLKTsKIAogCS8qIE1hcmsgdGhhdCB3ZSBuZWVkIHVwZGF0ZWQgdGFpbCBwb2ludGVycyB0byBy ZWFkIGZyb20uLi4gKi8KLQlkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIudGFpbHNbMF0ub2Zm c2V0ID0gSU5WQUxJRF9UQUlMX1BUUjsKLQlkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIudGFp bHNbMV0ub2Zmc2V0ID0gSU5WQUxJRF9UQUlMX1BUUjsKKwlzdHJlYW0tPm9hX2J1ZmZlci50YWls c1swXS5vZmZzZXQgPSBJTlZBTElEX1RBSUxfUFRSOworCXN0cmVhbS0+b2FfYnVmZmVyLnRhaWxz WzFdLm9mZnNldCA9IElOVkFMSURfVEFJTF9QVFI7CiAKIAkvKgogCSAqIFJlc2V0IHN0YXRlIHVz ZWQgdG8gcmVjb2duaXNlIGNvbnRleHQgc3dpdGNoZXMsIGFmZmVjdGluZyB3aGljaAogCSAqIHJl cG9ydHMgd2Ugd2lsbCBmb3J3YXJkIHRvIHVzZXJzcGFjZSB3aGlsZSBmaWx0ZXJpbmcgZm9yIGEg c2luZ2xlCiAJICogY29udGV4dC4KIAkgKi8KLQlkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIu bGFzdF9jdHhfaWQgPSBJTlZBTElEX0NUWF9JRDsKKwlzdHJlYW0tPm9hX2J1ZmZlci5sYXN0X2N0 eF9pZCA9IElOVkFMSURfQ1RYX0lEOwogCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3By aXYtPnBlcmYub2Eub2FfYnVmZmVyLnB0cl9sb2NrLCBmbGFncyk7CisJc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmc3RyZWFtLT5vYV9idWZmZXIucHRyX2xvY2ssIGZsYWdzKTsKIAogCS8qCiAJICog TkI6IGFsdGhvdWdoIHRoZSBPQSBidWZmZXIgd2lsbCBpbml0aWFsbHkgYmUgYWxsb2NhdGVkCkBA IC0xNDg1LDIyICsxNDkzLDIzIEBAIHN0YXRpYyB2b2lkIGdlbjhfaW5pdF9vYV9idWZmZXIoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqIHRoZSBhc3N1bXB0aW9uIHRoYXQg bmV3IHJlcG9ydHMgYXJlIGJlaW5nIHdyaXR0ZW4gdG8gemVyb2VkCiAJICogbWVtb3J5Li4uCiAJ ICovCi0JbWVtc2V0KGRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci52YWRkciwgMCwgT0FfQlVG RkVSX1NJWkUpOworCW1lbXNldChzdHJlYW0tPm9hX2J1ZmZlci52YWRkciwgMCwgT0FfQlVGRkVS X1NJWkUpOwogCiAJLyoKIAkgKiBNYXliZSBtYWtlIC0+cG9sbGluIHBlci1zdHJlYW0gc3RhdGUg aWYgd2Ugc3VwcG9ydCBtdWx0aXBsZQogCSAqIGNvbmN1cnJlbnQgc3RyZWFtcyBpbiB0aGUgZnV0 dXJlLgogCSAqLwotCWRldl9wcml2LT5wZXJmLm9hLnBvbGxpbiA9IGZhbHNlOworCXN0cmVhbS0+ cG9sbGluID0gZmFsc2U7CiB9CiAKLXN0YXRpYyBpbnQgYWxsb2Nfb2FfYnVmZmVyKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3N0YXRpYyBpbnQgYWxsb2Nfb2FfYnVmZmVyKHN0 cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKmJvOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHN0cmVhbS0+ ZGV2X3ByaXY7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJaW50IHJldDsKIAotCWlmIChXQVJO X09OKGRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci52bWEpKQorCWlmIChXQVJOX09OKHN0cmVh bS0+b2FfYnVmZmVyLnZtYSkpCiAJCXJldHVybiAtRU5PREVWOwogCiAJcmV0ID0gaTkxNV9tdXRl eF9sb2NrX2ludGVycnVwdGlibGUoJmRldl9wcml2LT5kcm0pOwpAQCAtMTUyNSwxOCArMTUzNCwx OCBAQCBzdGF0aWMgaW50IGFsbG9jX29hX2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAJCXJldCA9IFBUUl9FUlIodm1hKTsKIAkJZ290byBlcnJfdW5yZWY7CiAJfQot CWRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci52bWEgPSB2bWE7CisJc3RyZWFtLT5vYV9idWZm ZXIudm1hID0gdm1hOwogCi0JZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnZhZGRyID0KKwlz dHJlYW0tPm9hX2J1ZmZlci52YWRkciA9CiAJCWk5MTVfZ2VtX29iamVjdF9waW5fbWFwKGJvLCBJ OTE1X01BUF9XQik7Ci0JaWYgKElTX0VSUihkZXZfcHJpdi0+cGVyZi5vYS5vYV9idWZmZXIudmFk ZHIpKSB7Ci0JCXJldCA9IFBUUl9FUlIoZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLnZhZGRy KTsKKwlpZiAoSVNfRVJSKHN0cmVhbS0+b2FfYnVmZmVyLnZhZGRyKSkgeworCQlyZXQgPSBQVFJf RVJSKHN0cmVhbS0+b2FfYnVmZmVyLnZhZGRyKTsKIAkJZ290byBlcnJfdW5waW47CiAJfQogCiAJ RFJNX0RFQlVHX0RSSVZFUigiT0EgQnVmZmVyIGluaXRpYWxpemVkLCBndHQgb2Zmc2V0ID0gMHgl eCwgdmFkZHIgPSAlcFxuIiwKLQkJCSBpOTE1X2dndHRfb2Zmc2V0KGRldl9wcml2LT5wZXJmLm9h Lm9hX2J1ZmZlci52bWEpLAotCQkJIGRldl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci52YWRkcik7 CisJCQkgaTkxNV9nZ3R0X29mZnNldChzdHJlYW0tPm9hX2J1ZmZlci52bWEpLAorCQkJIHN0cmVh bS0+b2FfYnVmZmVyLnZhZGRyKTsKIAogCWdvdG8gdW5sb2NrOwogCkBAIC0xNTQ2LDggKzE1NTUs OCBAQCBzdGF0aWMgaW50IGFsbG9jX29hX2J1ZmZlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiBlcnJfdW5yZWY6CiAJaTkxNV9nZW1fb2JqZWN0X3B1dChibyk7CiAKLQlkZXZf cHJpdi0+cGVyZi5vYS5vYV9idWZmZXIudmFkZHIgPSBOVUxMOwotCWRldl9wcml2LT5wZXJmLm9h Lm9hX2J1ZmZlci52bWEgPSBOVUxMOworCXN0cmVhbS0+b2FfYnVmZmVyLnZhZGRyID0gTlVMTDsK KwlzdHJlYW0tPm9hX2J1ZmZlci52bWEgPSBOVUxMOwogCiB1bmxvY2s6CiAJbXV0ZXhfdW5sb2Nr KCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CkBAIC0xNjIzLDggKzE2MzIsMTAgQEAgc3Rh dGljIGludCBoc3dfZW5hYmxlX21ldHJpY19zZXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0 cmVhbSkKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHZvaWQgaHN3X2Rpc2FibGVfbWV0cmljX3Nl dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCitzdGF0aWMgdm9pZCBoc3dfZGlz YWJsZV9tZXRyaWNfc2V0KHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiB7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gc3RyZWFtLT5kZXZfcHJpdjsKKwogCUk5 MTVfV1JJVEUoR0VONl9VQ0dDVEwxLCAoSTkxNV9SRUFEKEdFTjZfVUNHQ1RMMSkgJgogCQkJCSAg fkdFTjZfQ1NVTklUX0NMT0NLX0dBVEVfRElTQUJMRSkpOwogCUk5MTVfV1JJVEUoR0VON19NSVND Q1BDVEwsIChJOTE1X1JFQUQoR0VON19NSVNDQ1BDVEwpIHwKQEAgLTE2NjMsMTMgKzE2NzQsMTQg QEAgc3RhdGljIHUzMiBvYV9jb25maWdfZmxleF9yZWcoY29uc3Qgc3RydWN0IGk5MTVfb2FfY29u ZmlnICpvYV9jb25maWcsCiAgKiBpbiB0aGUgY2FzZSB0aGF0IHRoZSBPQSB1bml0IGhhcyBiZWVu IGRpc2FibGVkLgogICovCiBzdGF0aWMgdm9pZAotZ2VuOF91cGRhdGVfcmVnX3N0YXRlX3VubG9j a2VkKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKK2dlbjhfdXBkYXRlX3JlZ19zdGF0ZV91bmxv Y2tlZChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAorCQkJICAgICAgIHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjZSwKIAkJCSAgICAgICB1MzIgKnJlZ19zdGF0ZSwKIAkJCSAgICAgICBj b25zdCBzdHJ1Y3QgaTkxNV9vYV9jb25maWcgKm9hX2NvbmZpZykKIHsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSA9IGNlLT5lbmdpbmUtPmk5MTU7Ci0JdTMyIGN0eF9vYWN0eGN0cmwg PSBpOTE1LT5wZXJmLm9hLmN0eF9vYWN0eGN0cmxfb2Zmc2V0OwotCXUzMiBjdHhfZmxleGV1MCA9 IGk5MTUtPnBlcmYub2EuY3R4X2ZsZXhldTBfb2Zmc2V0OworCXUzMiBjdHhfb2FjdHhjdHJsID0g aTkxNS0+cGVyZi5jdHhfb2FjdHhjdHJsX29mZnNldDsKKwl1MzIgY3R4X2ZsZXhldTAgPSBpOTE1 LT5wZXJmLmN0eF9mbGV4ZXUwX29mZnNldDsKIAkvKiBUaGUgTU1JTyBvZmZzZXRzIGZvciBGbGV4 IEVVIHJlZ2lzdGVycyBhcmVuJ3QgY29udGlndW91cyAqLwogCWk5MTVfcmVnX3QgZmxleF9yZWdz W10gPSB7CiAJCUVVX1BFUkZfQ05UTDAsCkBAIC0xNjgzLDggKzE2OTUsOCBAQCBnZW44X3VwZGF0 ZV9yZWdfc3RhdGVfdW5sb2NrZWQoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAogCWludCBpOwog CiAJQ1RYX1JFRyhyZWdfc3RhdGUsIGN0eF9vYWN0eGN0cmwsIEdFTjhfT0FDVFhDT05UUk9MLAot CQkoaTkxNS0+cGVyZi5vYS5wZXJpb2RfZXhwb25lbnQgPDwgR0VOOF9PQV9USU1FUl9QRVJJT0Rf U0hJRlQpIHwKLQkJKGk5MTUtPnBlcmYub2EucGVyaW9kaWMgPyBHRU44X09BX1RJTUVSX0VOQUJM RSA6IDApIHwKKwkJKHN0cmVhbS0+cGVyaW9kX2V4cG9uZW50IDw8IEdFTjhfT0FfVElNRVJfUEVS SU9EX1NISUZUKSB8CisJCShzdHJlYW0tPnBlcmlvZGljID8gR0VOOF9PQV9USU1FUl9FTkFCTEUg OiAwKSB8CiAJCUdFTjhfT0FfQ09VTlRFUl9SRVNVTUUpOwogCiAJZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUoZmxleF9yZWdzKTsgaSsrKSB7CkBAIC0xODQ2LDExICsxODU4LDEyIEBAIHN0YXRp YyBpbnQgZ2VuOF9jb25maWd1cmVfY29udGV4dChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4 LAogICoKICAqIE5vdGU6IGl0J3Mgb25seSB0aGUgUkNTL1JlbmRlciBjb250ZXh0IHRoYXQgaGFz IGFueSBPQSBzdGF0ZS4KICAqLwotc3RhdGljIGludCBnZW44X2NvbmZpZ3VyZV9hbGxfY29udGV4 dHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCitzdGF0aWMgaW50IGdlbjhfY29uZmln dXJlX2FsbF9jb250ZXh0cyhzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtLAogCQkJCSAg ICAgICBjb25zdCBzdHJ1Y3QgaTkxNV9vYV9jb25maWcgKm9hX2NvbmZpZykKIHsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHN0cmVhbS0+ZGV2X3ByaXY7CiAJLyogVGhlIE1NSU8g b2Zmc2V0cyBmb3IgRmxleCBFVSByZWdpc3RlcnMgYXJlbid0IGNvbnRpZ3VvdXMgKi8KLQljb25z dCB1MzIgY3R4X2ZsZXhldTAgPSBpOTE1LT5wZXJmLm9hLmN0eF9mbGV4ZXUwX29mZnNldDsKKwlj b25zdCB1MzIgY3R4X2ZsZXhldTAgPSBpOTE1LT5wZXJmLmN0eF9mbGV4ZXUwX29mZnNldDsKICNk ZWZpbmUgY3R4X2ZsZXhldU4oTikgKGN0eF9mbGV4ZXUwICsgMiAqIChOKSkKIAlzdHJ1Y3QgZmxl eCByZWdzW10gPSB7CiAJCXsKQEAgLTE4NTksOSArMTg3Miw5IEBAIHN0YXRpYyBpbnQgZ2VuOF9j b25maWd1cmVfYWxsX2NvbnRleHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQl9 LAogCQl7CiAJCQlHRU44X09BQ1RYQ09OVFJPTCwKLQkJCWk5MTUtPnBlcmYub2EuY3R4X29hY3R4 Y3RybF9vZmZzZXQsCi0JCQkoKGk5MTUtPnBlcmYub2EucGVyaW9kX2V4cG9uZW50IDw8IEdFTjhf T0FfVElNRVJfUEVSSU9EX1NISUZUKSB8Ci0JCQkgKGk5MTUtPnBlcmYub2EucGVyaW9kaWMgPyBH RU44X09BX1RJTUVSX0VOQUJMRSA6IDApIHwKKwkJCWk5MTUtPnBlcmYuY3R4X29hY3R4Y3RybF9v ZmZzZXQsCisJCQkoKHN0cmVhbS0+cGVyaW9kX2V4cG9uZW50IDw8IEdFTjhfT0FfVElNRVJfUEVS SU9EX1NISUZUKSB8CisJCQkgKHN0cmVhbS0+cGVyaW9kaWMgPyBHRU44X09BX1RJTUVSX0VOQUJM RSA6IDApIHwKIAkJCSBHRU44X09BX0NPVU5URVJfUkVTVU1FKQogCQl9LAogCQl7IEVVX1BFUkZf Q05UTDAsIGN0eF9mbGV4ZXVOKDApIH0sCkBAIC0xOTcyLDcgKzE5ODUsNyBAQCBzdGF0aWMgaW50 IGdlbjhfZW5hYmxlX21ldHJpY19zZXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkK IAkgKiB0byBtYWtlIHN1cmUgYWxsIHNsaWNlcy9zdWJzbGljZXMgYXJlIE9OIGJlZm9yZSB3cml0 aW5nIHRvIE5PQQogCSAqIHJlZ2lzdGVycy4KIAkgKi8KLQlyZXQgPSBnZW44X2NvbmZpZ3VyZV9h bGxfY29udGV4dHMoZGV2X3ByaXYsIG9hX2NvbmZpZyk7CisJcmV0ID0gZ2VuOF9jb25maWd1cmVf YWxsX2NvbnRleHRzKHN0cmVhbSwgb2FfY29uZmlnKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0 OwogCkBAIC0xOTg1LDE5ICsxOTk4LDIzIEBAIHN0YXRpYyBpbnQgZ2VuOF9lbmFibGVfbWV0cmlj X3NldChzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogCXJldHVybiAwOwogfQogCi1z dGF0aWMgdm9pZCBnZW44X2Rpc2FibGVfbWV0cmljX3NldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCitzdGF0aWMgdm9pZCBnZW44X2Rpc2FibGVfbWV0cmljX3NldChzdHJ1Y3Qg aTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHN0cmVhbS0+ZGV2X3ByaXY7CisKIAkvKiBSZXNldCBhbGwgY29udGV4dHMnIHNs aWNlcy9zdWJzbGljZXMgY29uZmlndXJhdGlvbnMuICovCi0JZ2VuOF9jb25maWd1cmVfYWxsX2Nv bnRleHRzKGRldl9wcml2LCBOVUxMKTsKKwlnZW44X2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3Ry ZWFtLCBOVUxMKTsKIAogCUk5MTVfV1JJVEUoR0RUX0NISUNLRU5fQklUUywgKEk5MTVfUkVBRChH RFRfQ0hJQ0tFTl9CSVRTKSAmCiAJCQkJICAgICAgfkdUX05PQV9FTkFCTEUpKTsKIH0KIAotc3Rh dGljIHZvaWQgZ2VuMTBfZGlzYWJsZV9tZXRyaWNfc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKK3N0YXRpYyB2b2lkIGdlbjEwX2Rpc2FibGVfbWV0cmljX3NldChzdHJ1Y3Qg aTkxNV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHN0cmVhbS0+ZGV2X3ByaXY7CisKIAkvKiBSZXNldCBhbGwgY29udGV4dHMnIHNs aWNlcy9zdWJzbGljZXMgY29uZmlndXJhdGlvbnMuICovCi0JZ2VuOF9jb25maWd1cmVfYWxsX2Nv bnRleHRzKGRldl9wcml2LCBOVUxMKTsKKwlnZW44X2NvbmZpZ3VyZV9hbGxfY29udGV4dHMoc3Ry ZWFtLCBOVUxMKTsKIAogCS8qIE1ha2Ugc3VyZSB3ZSBkaXNhYmxlIG5vYSB0byBzYXZlIHBvd2Vy LiAqLwogCUk5MTVfV1JJVEUoUlBNX0NPTkZJRzEsCkBAIC0yMDA4LDEwICsyMDI1LDEwIEBAIHN0 YXRpYyB2b2lkIGdlbjdfb2FfZW5hYmxlKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0p CiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gc3RyZWFtLT5kZXZfcHJp djsKIAlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4ID0gc3RyZWFtLT5jdHg7Ci0JdTMyIGN0 eF9pZCA9IGRldl9wcml2LT5wZXJmLm9hLnNwZWNpZmljX2N0eF9pZDsKLQlib29sIHBlcmlvZGlj ID0gZGV2X3ByaXYtPnBlcmYub2EucGVyaW9kaWM7Ci0JdTMyIHBlcmlvZF9leHBvbmVudCA9IGRl dl9wcml2LT5wZXJmLm9hLnBlcmlvZF9leHBvbmVudDsKLQl1MzIgcmVwb3J0X2Zvcm1hdCA9IGRl dl9wcml2LT5wZXJmLm9hLm9hX2J1ZmZlci5mb3JtYXQ7CisJdTMyIGN0eF9pZCA9IHN0cmVhbS0+ c3BlY2lmaWNfY3R4X2lkOworCWJvb2wgcGVyaW9kaWMgPSBzdHJlYW0tPnBlcmlvZGljOworCXUz MiBwZXJpb2RfZXhwb25lbnQgPSBzdHJlYW0tPnBlcmlvZF9leHBvbmVudDsKKwl1MzIgcmVwb3J0 X2Zvcm1hdCA9IHN0cmVhbS0+b2FfYnVmZmVyLmZvcm1hdDsKIAogCS8qCiAJICogUmVzZXQgYnVm IHBvaW50ZXJzIHNvIHdlIGRvbid0IGZvcndhcmQgcmVwb3J0cyBmcm9tIGJlZm9yZSBub3cuCkBA IC0yMDIyLDcgKzIwMzksNyBAQCBzdGF0aWMgdm9pZCBnZW43X29hX2VuYWJsZShzdHJ1Y3QgaTkx NV9wZXJmX3N0cmVhbSAqc3RyZWFtKQogCSAqIG9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgY2VydGFp biBmaWVsZHMgYXJlIHdyaXR0ZW4gdG8gemVyb2VkCiAJICogbWVtb3J5IHdoaWNoIHRoaXMgaGVs cHMgbWFpbnRhaW5zLgogCSAqLwotCWdlbjdfaW5pdF9vYV9idWZmZXIoZGV2X3ByaXYpOworCWdl bjdfaW5pdF9vYV9idWZmZXIoc3RyZWFtKTsKIAogCUk5MTVfV1JJVEUoR0VON19PQUNPTlRST0ws CiAJCSAgIChjdHhfaWQgJiBHRU43X09BQ09OVFJPTF9DVFhfTUFTSykgfApAQCAtMjAzNyw3ICsy MDU0LDcgQEAgc3RhdGljIHZvaWQgZ2VuN19vYV9lbmFibGUoc3RydWN0IGk5MTVfcGVyZl9zdHJl YW0gKnN0cmVhbSkKIHN0YXRpYyB2b2lkIGdlbjhfb2FfZW5hYmxlKHN0cnVjdCBpOTE1X3BlcmZf c3RyZWFtICpzdHJlYW0pCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g c3RyZWFtLT5kZXZfcHJpdjsKLQl1MzIgcmVwb3J0X2Zvcm1hdCA9IGRldl9wcml2LT5wZXJmLm9h Lm9hX2J1ZmZlci5mb3JtYXQ7CisJdTMyIHJlcG9ydF9mb3JtYXQgPSBzdHJlYW0tPm9hX2J1ZmZl ci5mb3JtYXQ7CiAKIAkvKgogCSAqIFJlc2V0IGJ1ZiBwb2ludGVycyBzbyB3ZSBkb24ndCBmb3J3 YXJkIHJlcG9ydHMgZnJvbSBiZWZvcmUgbm93LgpAQCAtMjA0OCw3ICsyMDY1LDcgQEAgc3RhdGlj IHZvaWQgZ2VuOF9vYV9lbmFibGUoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVhbSkKIAkg KiBvbiB0aGUgYXNzdW1wdGlvbiB0aGF0IGNlcnRhaW4gZmllbGRzIGFyZSB3cml0dGVuIHRvIHpl cm9lZAogCSAqIG1lbW9yeSB3aGljaCB0aGlzIGhlbHBzIG1haW50YWlucy4KIAkgKi8KLQlnZW44 X2luaXRfb2FfYnVmZmVyKGRldl9wcml2KTsKKwlnZW44X2luaXRfb2FfYnVmZmVyKHN0cmVhbSk7 CiAKIAkvKgogCSAqIE5vdGU6IHdlIGRvbid0IHJlbHkgb24gdGhlIGhhcmR3YXJlIHRvIHBlcmZv cm0gc2luZ2xlIGNvbnRleHQKQEAgLTIwNzMsMTAgKzIwOTAsMTAgQEAgc3RhdGljIHZvaWQgaTkx NV9vYV9zdHJlYW1fZW5hYmxlKHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0pCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gc3RyZWFtLT5kZXZfcHJpdjsKIAot CWRldl9wcml2LT5wZXJmLm9hLm9wcy5vYV9lbmFibGUoc3RyZWFtKTsKKwlkZXZfcHJpdi0+cGVy Zi5vcHMub2FfZW5hYmxlKHN0cmVhbSk7CiAKLQlpZiAoZGV2X3ByaXYtPnBlcmYub2EucGVyaW9k aWMpCi0JCWhydGltZXJfc3RhcnQoJmRldl9wcml2LT5wZXJmLm9hLnBvbGxfY2hlY2tfdGltZXIs CisJaWYgKHN0cmVhbS0+cGVyaW9kaWMpCisJCWhydGltZXJfc3RhcnQoJnN0cmVhbS0+cG9sbF9j aGVja190aW1lciwKIAkJCSAgICAgIG5zX3RvX2t0aW1lKFBPTExfUEVSSU9EKSwKIAkJCSAgICAg IEhSVElNRVJfTU9ERV9SRUxfUElOTkVEKTsKIH0KQEAgLTIxMTUsMTAgKzIxMzIsMTAgQEAgc3Rh dGljIHZvaWQgaTkxNV9vYV9zdHJlYW1fZGlzYWJsZShzdHJ1Y3QgaTkxNV9wZXJmX3N0cmVhbSAq c3RyZWFtKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHN0cmVhbS0+ ZGV2X3ByaXY7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMub2FfZGlzYWJsZShzdHJlYW0pOwor CWRldl9wcml2LT5wZXJmLm9wcy5vYV9kaXNhYmxlKHN0cmVhbSk7CiAKLQlpZiAoZGV2X3ByaXYt PnBlcmYub2EucGVyaW9kaWMpCi0JCWhydGltZXJfY2FuY2VsKCZkZXZfcHJpdi0+cGVyZi5vYS5w b2xsX2NoZWNrX3RpbWVyKTsKKwlpZiAoc3RyZWFtLT5wZXJpb2RpYykKKwkJaHJ0aW1lcl9jYW5j ZWwoJnN0cmVhbS0+cG9sbF9jaGVja190aW1lcik7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg aTkxNV9wZXJmX3N0cmVhbV9vcHMgaTkxNV9vYV9zdHJlYW1fb3BzID0gewpAQCAtMjE3MCw3ICsy MTg3LDcgQEAgc3RhdGljIGludCBpOTE1X29hX3N0cmVhbV9pbml0KHN0cnVjdCBpOTE1X3BlcmZf c3RyZWFtICpzdHJlYW0sCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCWlmICghZGV2X3ByaXYt PnBlcmYub2Eub3BzLmVuYWJsZV9tZXRyaWNfc2V0KSB7CisJaWYgKCFkZXZfcHJpdi0+cGVyZi5v cHMuZW5hYmxlX21ldHJpY19zZXQpIHsKIAkJRFJNX0RFQlVHKCJPQSB1bml0IG5vdCBzdXBwb3J0 ZWRcbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CkBAIC0yMTc5LDcgKzIxOTYsNyBAQCBzdGF0 aWMgaW50IGk5MTVfb2Ffc3RyZWFtX2luaXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0gKnN0cmVh bSwKIAkgKiBjb3VudGVyIHJlcG9ydHMgYW5kIG1hcnNoYWwgdG8gdGhlIGFwcHJvcHJpYXRlIGNs aWVudAogCSAqIHdlIGN1cnJlbnRseSBvbmx5IGFsbG93IGV4Y2x1c2l2ZSBhY2Nlc3MKIAkgKi8K LQlpZiAoZGV2X3ByaXYtPnBlcmYub2EuZXhjbHVzaXZlX3N0cmVhbSkgeworCWlmIChkZXZfcHJp di0+cGVyZi5leGNsdXNpdmVfc3RyZWFtKSB7CiAJCURSTV9ERUJVRygiT0EgdW5pdCBhbHJlYWR5 IGluIHVzZVxuIik7CiAJCXJldHVybiAtRUJVU1k7CiAJfQpAQCAtMjE4OSw0MyArMjIwNiwyMyBA QCBzdGF0aWMgaW50IGk5MTVfb2Ffc3RyZWFtX2luaXQoc3RydWN0IGk5MTVfcGVyZl9zdHJlYW0g KnN0cmVhbSwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JLyogV2Ugc2V0IHVwIHNvbWUgcmF0 ZWxpbWl0IHN0YXRlIHRvIHBvdGVudGlhbGx5IHRocm90dGxlIGFueSBfTk9URVMKLQkgKiBhYm91 dCBzcHVyaW91cywgaW52YWxpZCBPQSByZXBvcnRzIHdoaWNoIHdlIGRvbid0IGZvcndhcmQgdG8K LQkgKiB1c2Vyc3BhY2UuCi0JICoKLQkgKiBUaGUgaW5pdGlhbGl6YXRpb24gaXMgYXNzb2NpYXRl ZCB3aXRoIG9wZW5pbmcgdGhlIHN0cmVhbSAobm90IGRyaXZlcgotCSAqIGluaXQpIGNvbnNpZGVy aW5nIHdlIHByaW50IGEgX05PVEUgYWJvdXQgYW55IHRocm90dGxpbmcgd2hlbiBjbG9zaW5nCi0J ICogdGhlIHN0cmVhbSBpbnN0ZWFkIG9mIHdhaXRpbmcgdW50aWwgZHJpdmVyIF9maW5pIHdoaWNo IG5vIG9uZSB3b3VsZAotCSAqIGV2ZXIgc2VlLgotCSAqCi0JICogVXNpbmcgdGhlIHNhbWUgbGlt aXRpbmcgZmFjdG9ycyBhcyBwcmludGtfcmF0ZWxpbWl0KCkKLQkgKi8KLQlyYXRlbGltaXRfc3Rh dGVfaW5pdCgmZGV2X3ByaXYtPnBlcmYub2Euc3B1cmlvdXNfcmVwb3J0X3JzLAotCQkJICAgICA1 ICogSFosIDEwKTsKLQkvKiBTaW5jZSB3ZSB1c2UgYSBEUk1fTk9URSBmb3Igc3B1cmlvdXMgcmVw b3J0cyBpdCB3b3VsZCBiZQotCSAqIGluY29uc2lzdGVudCB0byBsZXQgX19yYXRlbGltaXQoKSBh dXRvbWF0aWNhbGx5IHByaW50IGEgd2FybmluZyBmb3IKLQkgKiB0aHJvdHRsaW5nLgotCSAqLwot CXJhdGVsaW1pdF9zZXRfZmxhZ3MoJmRldl9wcml2LT5wZXJmLm9hLnNwdXJpb3VzX3JlcG9ydF9y cywKLQkJCSAgICBSQVRFTElNSVRfTVNHX09OX1JFTEVBU0UpOwotCiAJc3RyZWFtLT5zYW1wbGVf c2l6ZSA9IHNpemVvZihzdHJ1Y3QgZHJtX2k5MTVfcGVyZl9yZWNvcmRfaGVhZGVyKTsKIAotCWZv cm1hdF9zaXplID0gZGV2X3ByaXYtPnBlcmYub2Eub2FfZm9ybWF0c1twcm9wcy0+b2FfZm9ybWF0 XS5zaXplOworCWZvcm1hdF9zaXplID0gZGV2X3ByaXYtPnBlcmYub2FfZm9ybWF0c1twcm9wcy0+ b2FfZm9ybWF0XS5zaXplOwogCiAJc3RyZWFtLT5zYW1wbGVfZmxhZ3MgfD0gU0FNUExFX09BX1JF UE9SVDsKIAlzdHJlYW0tPnNhbXBsZV9zaXplICs9IGZvcm1hdF9zaXplOwogCi0JZGV2X3ByaXYt PnBlcmYub2Eub2FfYnVmZmVyLmZvcm1hdF9zaXplID0gZm9ybWF0X3NpemU7Ci0JaWYgKFdBUk5f T04oZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLmZvcm1hdF9zaXplID09IDApKQorCXN0cmVh bS0+b2FfYnVmZmVyLmZvcm1hdF9zaXplID0gZm9ybWF0X3NpemU7CisJaWYgKFdBUk5fT04oc3Ry ZWFtLT5vYV9idWZmZXIuZm9ybWF0X3NpemUgPT0gMCkpCiAJCXJldHVybiAtRUlOVkFMOwogCi0J ZGV2X3ByaXYtPnBlcmYub2Eub2FfYnVmZmVyLmZvcm1hdCA9Ci0JCWRldl9wcml2LT5wZXJmLm9h Lm9hX2Zvcm1hdHNbcHJvcHMtPm9hX2Zvcm1hdF0uZm9ybWF0OworCXN0cmVhbS0+b2FfYnVmZmVy LmZvcm1hdCA9CisJCWRldl9wcml2LT5wZXJmLm9hX2Zvcm1hdHNbcHJvcHMtPm9hX2Zvcm1hdF0u Zm9ybWF0OwogCi0JZGV2X3ByaXYtPnBlcmYub2EucGVyaW9kaWMgPSBwcm9wcy0+b2FfcGVyaW9k aWM7Ci0JaWYgKGRldl9wcml2LT5wZXJmLm9hLnBlcmlvZGljKQotCQlkZXZfcHJpdi0+cGVyZi5v YS5wZXJpb2RfZXhwb25lbnQgPSBwcm9wcy0+b2FfcGVyaW9kX2V4cG9uZW50OworCXN0cmVhbS0+ cGVyaW9kaWMgPSBwcm9wcy0+b2FfcGVyaW9kaWM7CisJaWYgKHN0cmVhbS0+cGVyaW9kaWMpCisJ CXN0cmVhbS0+cGVyaW9kX2V4cG9uZW50ID0gcHJvcHMtPm9hX3BlcmlvZF9leHBvbmVudDsKIAog CWlmIChzdHJlYW0tPmN0eCkgewogCQlyZXQgPSBvYV9nZXRfcmVuZGVyX2N0eF9pZChzdHJlYW0p OwpAQCAtMjI1Niw3ICsyMjUzLDcgQEAgc3RhdGljIGludCBpOTE1X29hX3N0cmVhbV9pbml0KHN0 cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAJc3RyZWFtLT53YWtlcmVmID0gaW50ZWxf cnVudGltZV9wbV9nZXQoJmRldl9wcml2LT5ydW50aW1lX3BtKTsKIAlpbnRlbF91bmNvcmVfZm9y Y2V3YWtlX2dldCgmZGV2X3ByaXYtPnVuY29yZSwgRk9SQ0VXQUtFX0FMTCk7CiAKLQlyZXQgPSBh bGxvY19vYV9idWZmZXIoZGV2X3ByaXYpOworCXJldCA9IGFsbG9jX29hX2J1ZmZlcihzdHJlYW0p OwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX29hX2J1Zl9hbGxvYzsKIApAQCAtMjI2NSw5ICsyMjYy LDkgQEAgc3RhdGljIGludCBpOTE1X29hX3N0cmVhbV9pbml0KHN0cnVjdCBpOTE1X3BlcmZfc3Ry ZWFtICpzdHJlYW0sCiAJCWdvdG8gZXJyX2xvY2s7CiAKIAlzdHJlYW0tPm9wcyA9ICZpOTE1X29h X3N0cmVhbV9vcHM7Ci0JZGV2X3ByaXYtPnBlcmYub2EuZXhjbHVzaXZlX3N0cmVhbSA9IHN0cmVh bTsKKwlkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtID0gc3RyZWFtOwogCi0JcmV0ID0g ZGV2X3ByaXYtPnBlcmYub2Eub3BzLmVuYWJsZV9tZXRyaWNfc2V0KHN0cmVhbSk7CisJcmV0ID0g ZGV2X3ByaXYtPnBlcmYub3BzLmVuYWJsZV9tZXRyaWNfc2V0KHN0cmVhbSk7CiAJaWYgKHJldCkg ewogCQlEUk1fREVCVUcoIlVuYWJsZSB0byBlbmFibGUgbWV0cmljIHNldFxuIik7CiAJCWdvdG8g ZXJyX2VuYWJsZTsKQEAgLTIyNzUsMTUgKzIyNzIsMjEgQEAgc3RhdGljIGludCBpOTE1X29hX3N0 cmVhbV9pbml0KHN0cnVjdCBpOTE1X3BlcmZfc3RyZWFtICpzdHJlYW0sCiAKIAltdXRleF91bmxv Y2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIAorCWhydGltZXJfaW5pdCgmc3RyZWFt LT5wb2xsX2NoZWNrX3RpbWVyLAorCQkgICAgIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RF X1JFTCk7CisJc3RyZWFtLT5wb2xsX2NoZWNrX3RpbWVyLmZ1bmN0aW9uID0gb2FfcG9sbF9jaGVj a190aW1lcl9jYjsKKwlpbml0X3dhaXRxdWV1ZV9oZWFkKCZzdHJlYW0tPnBvbGxfd3EpOworCXNw aW5fbG9ja19pbml0KCZzdHJlYW0tPm9hX2J1ZmZlci5wdHJfbG9jayk7CisKIAlyZXR1cm4gMDsK IAogZXJyX2VuYWJsZToKLQlkZXZfcHJpdi0+cGVyZi5vYS5leGNsdXNpdmVfc3RyZWFtID0gTlVM TDsKLQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMuZGlzYWJsZV9tZXRyaWNfc2V0KGRldl9wcml2KTsK KwlkZXZfcHJpdi0+cGVyZi5leGNsdXNpdmVfc3RyZWFtID0gTlVMTDsKKwlkZXZfcHJpdi0+cGVy Zi5vcHMuZGlzYWJsZV9tZXRyaWNfc2V0KHN0cmVhbSk7CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJp di0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKIGVycl9sb2NrOgotCWZyZWVfb2FfYnVmZmVyKGRldl9w cml2KTsKKwlmcmVlX29hX2J1ZmZlcihzdHJlYW0pOwogCiBlcnJfb2FfYnVmX2FsbG9jOgogCXB1 dF9vYV9jb25maWcoZGV2X3ByaXYsIHN0cmVhbS0+b2FfY29uZmlnKTsKQEAgLTIzMDcsOSArMjMx MCwxMiBAQCB2b2lkIGk5MTVfb2FfaW5pdF9yZWdfc3RhdGUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lLAogCWlmIChlbmdpbmUtPmNsYXNzICE9IFJFTkRFUl9DTEFTUykKIAkJcmV0dXJu OwogCi0Jc3RyZWFtID0gZW5naW5lLT5pOTE1LT5wZXJmLm9hLmV4Y2x1c2l2ZV9zdHJlYW07CisJ c3RyZWFtID0gZW5naW5lLT5pOTE1LT5wZXJmLmV4Y2x1c2l2ZV9zdHJlYW07CiAJaWYgKHN0cmVh bSkKLQkJZ2VuOF91cGRhdGVfcmVnX3N0YXRlX3VubG9ja2VkKGNlLCByZWdzLCBzdHJlYW0tPm9h X2NvbmZpZyk7CisJCWdlbjhfdXBkYXRlX3JlZ19zdGF0ZV91bmxvY2tlZChzdHJlYW0sCisJCQkJ CSAgICAgICBjZSwKKwkJCQkJICAgICAgIHJlZ3MsCisJCQkJCSAgICAgICBzdHJlYW0tPm9hX2Nv bmZpZyk7CiB9CiAKIC8qKgpAQCAtMjQyNSw3ICsyNDMxLDcgQEAgc3RhdGljIHNzaXplX3QgaTkx NV9wZXJmX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsCiAJCS8qIE1heWJlIG1ha2UgLT5wb2xsaW4g cGVyLXN0cmVhbSBzdGF0ZSBpZiB3ZSBzdXBwb3J0IG11bHRpcGxlCiAJCSAqIGNvbmN1cnJlbnQg c3RyZWFtcyBpbiB0aGUgZnV0dXJlLgogCQkgKi8KLQkJZGV2X3ByaXYtPnBlcmYub2EucG9sbGlu ID0gZmFsc2U7CisJCXN0cmVhbS0+cG9sbGluID0gZmFsc2U7CiAJfQogCiAJcmV0dXJuIHJldDsK QEAgLTI0MzMsMTMgKzI0MzksMTMgQEAgc3RhdGljIHNzaXplX3QgaTkxNV9wZXJmX3JlYWQoc3Ry dWN0IGZpbGUgKmZpbGUsCiAKIHN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCBvYV9wb2xsX2No ZWNrX3RpbWVyX2NiKHN0cnVjdCBocnRpbWVyICpocnRpbWVyKQogewotCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9Ci0JCWNvbnRhaW5lcl9vZihocnRpbWVyLCB0eXBlb2YoKmRl dl9wcml2KSwKLQkJCSAgICAgcGVyZi5vYS5wb2xsX2NoZWNrX3RpbWVyKTsKKwlzdHJ1Y3QgaTkx NV9wZXJmX3N0cmVhbSAqc3RyZWFtID0gY29udGFpbmVyX29mKGhydGltZXIsCisJCQkJCQkgICAg ICAgdHlwZW9mKCpzdHJlYW0pLAorCQkJCQkJICAgICAgIHBvbGxfY2hlY2tfdGltZXIpOwogCi0J aWYgKG9hX2J1ZmZlcl9jaGVja191bmxvY2tlZChkZXZfcHJpdikpIHsKLQkJZGV2X3ByaXYtPnBl cmYub2EucG9sbGluID0gdHJ1ZTsKLQkJd2FrZV91cCgmZGV2X3ByaXYtPnBlcmYub2EucG9sbF93 cSk7CisJaWYgKG9hX2J1ZmZlcl9jaGVja191bmxvY2tlZChzdHJlYW0pKSB7CisJCXN0cmVhbS0+ cG9sbGluID0gdHJ1ZTsKKwkJd2FrZV91cCgmc3RyZWFtLT5wb2xsX3dxKTsKIAl9CiAKIAlocnRp bWVyX2ZvcndhcmRfbm93KGhydGltZXIsIG5zX3RvX2t0aW1lKFBPTExfUEVSSU9EKSk7CkBAIC0y NDc4LDcgKzI0ODQsNyBAQCBzdGF0aWMgX19wb2xsX3QgaTkxNV9wZXJmX3BvbGxfbG9ja2VkKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkgKiB0aGUgaHJ0aW1lci9vYV9wb2xs X2NoZWNrX3RpbWVyX2NiIHRvIG5vdGlmeSB1cyB3aGVuIHRoZXJlIGFyZQogCSAqIHNhbXBsZXMg dG8gcmVhZC4KIAkgKi8KLQlpZiAoZGV2X3ByaXYtPnBlcmYub2EucG9sbGluKQorCWlmIChzdHJl YW0tPnBvbGxpbikKIAkJZXZlbnRzIHw9IEVQT0xMSU47CiAKIAlyZXR1cm4gZXZlbnRzOwpAQCAt MjkwNCw3ICsyOTEwLDcgQEAgc3RhdGljIGludCByZWFkX3Byb3BlcnRpZXNfdW5sb2NrZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkgIHZhbHVlKTsKIAkJCQlyZXR1 cm4gLUVJTlZBTDsKIAkJCX0KLQkJCWlmICghZGV2X3ByaXYtPnBlcmYub2Eub2FfZm9ybWF0c1t2 YWx1ZV0uc2l6ZSkgeworCQkJaWYgKCFkZXZfcHJpdi0+cGVyZi5vYV9mb3JtYXRzW3ZhbHVlXS5z aXplKSB7CiAJCQkJRFJNX0RFQlVHKCJVbnN1cHBvcnRlZCBPQSByZXBvcnQgZm9ybWF0ICVsbHVc biIsCiAJCQkJCSAgdmFsdWUpOwogCQkJCXJldHVybiAtRUlOVkFMOwpAQCAtMzA0OCw3ICszMDU0 LDcgQEAgdm9pZCBpOTE1X3BlcmZfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCWlmICghZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqKQogCQlnb3RvIGV4aXQ7 CiAKLQlzeXNmc19hdHRyX2luaXQoJmRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLnN5c2Zz X21ldHJpY19pZC5hdHRyKTsKKwlzeXNmc19hdHRyX2luaXQoJmRldl9wcml2LT5wZXJmLnRlc3Rf Y29uZmlnLnN5c2ZzX21ldHJpY19pZC5hdHRyKTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDExKSB7CiAJCWk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2ljbChkZXZfcHJpdik7CkBA IC0zMDgzLDE1ICszMDg5LDE1IEBAIHZvaWQgaTkxNV9wZXJmX3JlZ2lzdGVyKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJaTkxNV9wZXJmX2xvYWRfdGVzdF9jb25maWdfaHN3 KGRldl9wcml2KTsKIH0KIAotCWlmIChkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5pZCA9 PSAwKQorCWlmIChkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5pZCA9PSAwKQogCQlnb3RvIHN5 c2ZzX2Vycm9yOwogCiAJcmV0ID0gc3lzZnNfY3JlYXRlX2dyb3VwKGRldl9wcml2LT5wZXJmLm1l dHJpY3Nfa29iaiwKLQkJCQkgJmRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLnN5c2ZzX21l dHJpYyk7CisJCQkJICZkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMpOwog CWlmIChyZXQpCiAJCWdvdG8gc3lzZnNfZXJyb3I7CiAKLQlhdG9taWNfc2V0KCZkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy5yZWZfY291bnQsIDEpOworCWF0b21pY19zZXQoJmRldl9wcml2 LT5wZXJmLnRlc3RfY29uZmlnLnJlZl9jb3VudCwgMSk7CiAKIAlnb3RvIGV4aXQ7CiAKQEAgLTMx MTgsNyArMzEyNCw3IEBAIHZvaWQgaTkxNV9wZXJmX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogCQlyZXR1cm47CiAKIAlzeXNmc19yZW1vdmVfZ3JvdXAoZGV2 X3ByaXYtPnBlcmYubWV0cmljc19rb2JqLAotCQkJICAgJmRldl9wcml2LT5wZXJmLm9hLnRlc3Rf Y29uZmlnLnN5c2ZzX21ldHJpYyk7CisJCQkgICAmZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcu c3lzZnNfbWV0cmljKTsKIAogCWtvYmplY3RfcHV0KGRldl9wcml2LT5wZXJmLm1ldHJpY3Nfa29i aik7CiAJZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqID0gTlVMTDsKQEAgLTMzNjMsNyArMzM2 OSw3IEBAIGludCBpOTE1X3BlcmZfYWRkX2NvbmZpZ19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAogCW9hX2NvbmZpZy0+bXV4X3JlZ3NfbGVuID0gYXJncy0+bl9tdXhf cmVnczsKIAlvYV9jb25maWctPm11eF9yZWdzID0KIAkJYWxsb2Nfb2FfcmVncyhkZXZfcHJpdiwK LQkJCSAgICAgIGRldl9wcml2LT5wZXJmLm9hLm9wcy5pc192YWxpZF9tdXhfcmVnLAorCQkJICAg ICAgZGV2X3ByaXYtPnBlcmYub3BzLmlzX3ZhbGlkX211eF9yZWcsCiAJCQkgICAgICB1NjRfdG9f dXNlcl9wdHIoYXJncy0+bXV4X3JlZ3NfcHRyKSwKIAkJCSAgICAgIGFyZ3MtPm5fbXV4X3JlZ3Mp OwogCkBAIC0zMzc2LDcgKzMzODIsNyBAQCBpbnQgaTkxNV9wZXJmX2FkZF9jb25maWdfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlvYV9jb25maWctPmJfY291bnRl cl9yZWdzX2xlbiA9IGFyZ3MtPm5fYm9vbGVhbl9yZWdzOwogCW9hX2NvbmZpZy0+Yl9jb3VudGVy X3JlZ3MgPQogCQlhbGxvY19vYV9yZWdzKGRldl9wcml2LAotCQkJICAgICAgZGV2X3ByaXYtPnBl cmYub2Eub3BzLmlzX3ZhbGlkX2JfY291bnRlcl9yZWcsCisJCQkgICAgICBkZXZfcHJpdi0+cGVy Zi5vcHMuaXNfdmFsaWRfYl9jb3VudGVyX3JlZywKIAkJCSAgICAgIHU2NF90b191c2VyX3B0cihh cmdzLT5ib29sZWFuX3JlZ3NfcHRyKSwKIAkJCSAgICAgIGFyZ3MtPm5fYm9vbGVhbl9yZWdzKTsK IApAQCAtMzM5NSw3ICszNDAxLDcgQEAgaW50IGk5MTVfcGVyZl9hZGRfY29uZmlnX2lvY3RsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCW9hX2NvbmZpZy0+ZmxleF9yZWdz X2xlbiA9IGFyZ3MtPm5fZmxleF9yZWdzOwogCQlvYV9jb25maWctPmZsZXhfcmVncyA9CiAJCQlh bGxvY19vYV9yZWdzKGRldl9wcml2LAotCQkJCSAgICAgIGRldl9wcml2LT5wZXJmLm9hLm9wcy5p c192YWxpZF9mbGV4X3JlZywKKwkJCQkgICAgICBkZXZfcHJpdi0+cGVyZi5vcHMuaXNfdmFsaWRf ZmxleF9yZWcsCiAJCQkJICAgICAgdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPmZsZXhfcmVnc19wdHIp LAogCQkJCSAgICAgIGFyZ3MtPm5fZmxleF9yZWdzKTsKIApAQCAtMzU2MiwyMCArMzU2OCwyMCBA QCBzdGF0aWMgc3RydWN0IGN0bF90YWJsZSBkZXZfcm9vdFtdID0gewogdm9pZCBpOTE1X3BlcmZf aW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJaWYgKElTX0hBU1dF TEwoZGV2X3ByaXYpKSB7Ci0JCWRldl9wcml2LT5wZXJmLm9hLm9wcy5pc192YWxpZF9iX2NvdW50 ZXJfcmVnID0KKwkJZGV2X3ByaXYtPnBlcmYub3BzLmlzX3ZhbGlkX2JfY291bnRlcl9yZWcgPQog CQkJZ2VuN19pc192YWxpZF9iX2NvdW50ZXJfYWRkcjsKLQkJZGV2X3ByaXYtPnBlcmYub2Eub3Bz LmlzX3ZhbGlkX211eF9yZWcgPQorCQlkZXZfcHJpdi0+cGVyZi5vcHMuaXNfdmFsaWRfbXV4X3Jl ZyA9CiAJCQloc3dfaXNfdmFsaWRfbXV4X2FkZHI7Ci0JCWRldl9wcml2LT5wZXJmLm9hLm9wcy5p c192YWxpZF9mbGV4X3JlZyA9IE5VTEw7Ci0JCWRldl9wcml2LT5wZXJmLm9hLm9wcy5lbmFibGVf bWV0cmljX3NldCA9IGhzd19lbmFibGVfbWV0cmljX3NldDsKLQkJZGV2X3ByaXYtPnBlcmYub2Eu b3BzLmRpc2FibGVfbWV0cmljX3NldCA9IGhzd19kaXNhYmxlX21ldHJpY19zZXQ7Ci0JCWRldl9w cml2LT5wZXJmLm9hLm9wcy5vYV9lbmFibGUgPSBnZW43X29hX2VuYWJsZTsKLQkJZGV2X3ByaXYt PnBlcmYub2Eub3BzLm9hX2Rpc2FibGUgPSBnZW43X29hX2Rpc2FibGU7Ci0JCWRldl9wcml2LT5w ZXJmLm9hLm9wcy5yZWFkID0gZ2VuN19vYV9yZWFkOwotCQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMu b2FfaHdfdGFpbF9yZWFkID0KKwkJZGV2X3ByaXYtPnBlcmYub3BzLmlzX3ZhbGlkX2ZsZXhfcmVn ID0gTlVMTDsKKwkJZGV2X3ByaXYtPnBlcmYub3BzLmVuYWJsZV9tZXRyaWNfc2V0ID0gaHN3X2Vu YWJsZV9tZXRyaWNfc2V0OworCQlkZXZfcHJpdi0+cGVyZi5vcHMuZGlzYWJsZV9tZXRyaWNfc2V0 ID0gaHN3X2Rpc2FibGVfbWV0cmljX3NldDsKKwkJZGV2X3ByaXYtPnBlcmYub3BzLm9hX2VuYWJs ZSA9IGdlbjdfb2FfZW5hYmxlOworCQlkZXZfcHJpdi0+cGVyZi5vcHMub2FfZGlzYWJsZSA9IGdl bjdfb2FfZGlzYWJsZTsKKwkJZGV2X3ByaXYtPnBlcmYub3BzLnJlYWQgPSBnZW43X29hX3JlYWQ7 CisJCWRldl9wcml2LT5wZXJmLm9wcy5vYV9od190YWlsX3JlYWQgPQogCQkJZ2VuN19vYV9od190 YWlsX3JlYWQ7CiAKLQkJZGV2X3ByaXYtPnBlcmYub2Eub2FfZm9ybWF0cyA9IGhzd19vYV9mb3Jt YXRzOworCQlkZXZfcHJpdi0+cGVyZi5vYV9mb3JtYXRzID0gaHN3X29hX2Zvcm1hdHM7CiAJfSBl bHNlIGlmIChIQVNfTE9HSUNBTF9SSU5HX0NPTlRFWFRTKGRldl9wcml2KSkgewogCQkvKiBOb3Rl OiB0aGF0IGFsdGhvdWdoIHdlIGNvdWxkIHRoZW9yZXRpY2FsbHkgYWxzbyBzdXBwb3J0IHRoZQog CQkgKiBsZWdhY3kgcmluZ2J1ZmZlciBtb2RlIG9uIEJEVyAoYW5kIGVhcmxpZXIgaXRlcmF0aW9u cyBvZgpAQCAtMzU4Myw3MSArMzU4OSw2NSBAQCB2b2lkIGk5MTVfcGVyZl9pbml0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJICogd29ydGggdGhlIGNvbXBsZXhpdHkgdG8g bWFpbnRhaW4gbm93IHRoYXQgQkRXKyBlbmFibGUKIAkJICogZXhlY2xpc3QgbW9kZSBieSBkZWZh dWx0LgogCQkgKi8KLQkJZGV2X3ByaXYtPnBlcmYub2Eub2FfZm9ybWF0cyA9IGdlbjhfcGx1c19v YV9mb3JtYXRzOworCQlkZXZfcHJpdi0+cGVyZi5vYV9mb3JtYXRzID0gZ2VuOF9wbHVzX29hX2Zv cm1hdHM7CiAKLQkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLm9hX2VuYWJsZSA9IGdlbjhfb2FfZW5h YmxlOwotCQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMub2FfZGlzYWJsZSA9IGdlbjhfb2FfZGlzYWJs ZTsKLQkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLnJlYWQgPSBnZW44X29hX3JlYWQ7Ci0JCWRldl9w cml2LT5wZXJmLm9hLm9wcy5vYV9od190YWlsX3JlYWQgPSBnZW44X29hX2h3X3RhaWxfcmVhZDsK KwkJZGV2X3ByaXYtPnBlcmYub3BzLm9hX2VuYWJsZSA9IGdlbjhfb2FfZW5hYmxlOworCQlkZXZf cHJpdi0+cGVyZi5vcHMub2FfZGlzYWJsZSA9IGdlbjhfb2FfZGlzYWJsZTsKKwkJZGV2X3ByaXYt PnBlcmYub3BzLnJlYWQgPSBnZW44X29hX3JlYWQ7CisJCWRldl9wcml2LT5wZXJmLm9wcy5vYV9o d190YWlsX3JlYWQgPSBnZW44X29hX2h3X3RhaWxfcmVhZDsKIAogCQlpZiAoSVNfR0VOX1JBTkdF KGRldl9wcml2LCA4LCA5KSkgewotCQkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLmlzX3ZhbGlkX2Jf Y291bnRlcl9yZWcgPQorCQkJZGV2X3ByaXYtPnBlcmYub3BzLmlzX3ZhbGlkX2JfY291bnRlcl9y ZWcgPQogCQkJCWdlbjdfaXNfdmFsaWRfYl9jb3VudGVyX2FkZHI7Ci0JCQlkZXZfcHJpdi0+cGVy Zi5vYS5vcHMuaXNfdmFsaWRfbXV4X3JlZyA9CisJCQlkZXZfcHJpdi0+cGVyZi5vcHMuaXNfdmFs aWRfbXV4X3JlZyA9CiAJCQkJZ2VuOF9pc192YWxpZF9tdXhfYWRkcjsKLQkJCWRldl9wcml2LT5w ZXJmLm9hLm9wcy5pc192YWxpZF9mbGV4X3JlZyA9CisJCQlkZXZfcHJpdi0+cGVyZi5vcHMuaXNf dmFsaWRfZmxleF9yZWcgPQogCQkJCWdlbjhfaXNfdmFsaWRfZmxleF9hZGRyOwogCiAJCQlpZiAo SVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpIHsKLQkJCQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMuaXNf dmFsaWRfbXV4X3JlZyA9CisJCQkJZGV2X3ByaXYtPnBlcmYub3BzLmlzX3ZhbGlkX211eF9yZWcg PQogCQkJCQljaHZfaXNfdmFsaWRfbXV4X2FkZHI7CiAJCQl9CiAKLQkJCWRldl9wcml2LT5wZXJm Lm9hLm9wcy5lbmFibGVfbWV0cmljX3NldCA9IGdlbjhfZW5hYmxlX21ldHJpY19zZXQ7Ci0JCQlk ZXZfcHJpdi0+cGVyZi5vYS5vcHMuZGlzYWJsZV9tZXRyaWNfc2V0ID0gZ2VuOF9kaXNhYmxlX21l dHJpY19zZXQ7CisJCQlkZXZfcHJpdi0+cGVyZi5vcHMuZW5hYmxlX21ldHJpY19zZXQgPSBnZW44 X2VuYWJsZV9tZXRyaWNfc2V0OworCQkJZGV2X3ByaXYtPnBlcmYub3BzLmRpc2FibGVfbWV0cmlj X3NldCA9IGdlbjhfZGlzYWJsZV9tZXRyaWNfc2V0OwogCiAJCQlpZiAoSVNfR0VOKGRldl9wcml2 LCA4KSkgewotCQkJCWRldl9wcml2LT5wZXJmLm9hLmN0eF9vYWN0eGN0cmxfb2Zmc2V0ID0gMHgx MjA7Ci0JCQkJZGV2X3ByaXYtPnBlcmYub2EuY3R4X2ZsZXhldTBfb2Zmc2V0ID0gMHgyY2U7CisJ CQkJZGV2X3ByaXYtPnBlcmYuY3R4X29hY3R4Y3RybF9vZmZzZXQgPSAweDEyMDsKKwkJCQlkZXZf cHJpdi0+cGVyZi5jdHhfZmxleGV1MF9vZmZzZXQgPSAweDJjZTsKIAotCQkJCWRldl9wcml2LT5w ZXJmLm9hLmdlbjhfdmFsaWRfY3R4X2JpdCA9ICgxPDwyNSk7CisJCQkJZGV2X3ByaXYtPnBlcmYu Z2VuOF92YWxpZF9jdHhfYml0ID0gKDE8PDI1KTsKIAkJCX0gZWxzZSB7Ci0JCQkJZGV2X3ByaXYt PnBlcmYub2EuY3R4X29hY3R4Y3RybF9vZmZzZXQgPSAweDEyODsKLQkJCQlkZXZfcHJpdi0+cGVy Zi5vYS5jdHhfZmxleGV1MF9vZmZzZXQgPSAweDNkZTsKKwkJCQlkZXZfcHJpdi0+cGVyZi5jdHhf b2FjdHhjdHJsX29mZnNldCA9IDB4MTI4OworCQkJCWRldl9wcml2LT5wZXJmLmN0eF9mbGV4ZXUw X29mZnNldCA9IDB4M2RlOwogCi0JCQkJZGV2X3ByaXYtPnBlcmYub2EuZ2VuOF92YWxpZF9jdHhf Yml0ID0gKDE8PDE2KTsKKwkJCQlkZXZfcHJpdi0+cGVyZi5nZW44X3ZhbGlkX2N0eF9iaXQgPSAo MTw8MTYpOwogCQkJfQogCQl9IGVsc2UgaWYgKElTX0dFTl9SQU5HRShkZXZfcHJpdiwgMTAsIDEx KSkgewotCQkJZGV2X3ByaXYtPnBlcmYub2Eub3BzLmlzX3ZhbGlkX2JfY291bnRlcl9yZWcgPQor CQkJZGV2X3ByaXYtPnBlcmYub3BzLmlzX3ZhbGlkX2JfY291bnRlcl9yZWcgPQogCQkJCWdlbjdf aXNfdmFsaWRfYl9jb3VudGVyX2FkZHI7Ci0JCQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMuaXNfdmFs aWRfbXV4X3JlZyA9CisJCQlkZXZfcHJpdi0+cGVyZi5vcHMuaXNfdmFsaWRfbXV4X3JlZyA9CiAJ CQkJZ2VuMTBfaXNfdmFsaWRfbXV4X2FkZHI7Ci0JCQlkZXZfcHJpdi0+cGVyZi5vYS5vcHMuaXNf dmFsaWRfZmxleF9yZWcgPQorCQkJZGV2X3ByaXYtPnBlcmYub3BzLmlzX3ZhbGlkX2ZsZXhfcmVn ID0KIAkJCQlnZW44X2lzX3ZhbGlkX2ZsZXhfYWRkcjsKIAotCQkJZGV2X3ByaXYtPnBlcmYub2Eu b3BzLmVuYWJsZV9tZXRyaWNfc2V0ID0gZ2VuOF9lbmFibGVfbWV0cmljX3NldDsKLQkJCWRldl9w cml2LT5wZXJmLm9hLm9wcy5kaXNhYmxlX21ldHJpY19zZXQgPSBnZW4xMF9kaXNhYmxlX21ldHJp Y19zZXQ7CisJCQlkZXZfcHJpdi0+cGVyZi5vcHMuZW5hYmxlX21ldHJpY19zZXQgPSBnZW44X2Vu YWJsZV9tZXRyaWNfc2V0OworCQkJZGV2X3ByaXYtPnBlcmYub3BzLmRpc2FibGVfbWV0cmljX3Nl dCA9IGdlbjEwX2Rpc2FibGVfbWV0cmljX3NldDsKIAogCQkJaWYgKElTX0dFTihkZXZfcHJpdiwg MTApKSB7Ci0JCQkJZGV2X3ByaXYtPnBlcmYub2EuY3R4X29hY3R4Y3RybF9vZmZzZXQgPSAweDEy ODsKLQkJCQlkZXZfcHJpdi0+cGVyZi5vYS5jdHhfZmxleGV1MF9vZmZzZXQgPSAweDNkZTsKKwkJ CQlkZXZfcHJpdi0+cGVyZi5jdHhfb2FjdHhjdHJsX29mZnNldCA9IDB4MTI4OworCQkJCWRldl9w cml2LT5wZXJmLmN0eF9mbGV4ZXUwX29mZnNldCA9IDB4M2RlOwogCQkJfSBlbHNlIHsKLQkJCQlk ZXZfcHJpdi0+cGVyZi5vYS5jdHhfb2FjdHhjdHJsX29mZnNldCA9IDB4MTI0OwotCQkJCWRldl9w cml2LT5wZXJmLm9hLmN0eF9mbGV4ZXUwX29mZnNldCA9IDB4NzhlOworCQkJCWRldl9wcml2LT5w ZXJmLmN0eF9vYWN0eGN0cmxfb2Zmc2V0ID0gMHgxMjQ7CisJCQkJZGV2X3ByaXYtPnBlcmYuY3R4 X2ZsZXhldTBfb2Zmc2V0ID0gMHg3OGU7CiAJCQl9Ci0JCQlkZXZfcHJpdi0+cGVyZi5vYS5nZW44 X3ZhbGlkX2N0eF9iaXQgPSAoMTw8MTYpOworCQkJZGV2X3ByaXYtPnBlcmYuZ2VuOF92YWxpZF9j dHhfYml0ID0gKDE8PDE2KTsKIAkJfQogCX0KIAotCWlmIChkZXZfcHJpdi0+cGVyZi5vYS5vcHMu ZW5hYmxlX21ldHJpY19zZXQpIHsKLQkJaHJ0aW1lcl9pbml0KCZkZXZfcHJpdi0+cGVyZi5vYS5w b2xsX2NoZWNrX3RpbWVyLAotCQkJCUNMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX1JFTCk7 Ci0JCWRldl9wcml2LT5wZXJmLm9hLnBvbGxfY2hlY2tfdGltZXIuZnVuY3Rpb24gPSBvYV9wb2xs X2NoZWNrX3RpbWVyX2NiOwotCQlpbml0X3dhaXRxdWV1ZV9oZWFkKCZkZXZfcHJpdi0+cGVyZi5v YS5wb2xsX3dxKTsKLQorCWlmIChkZXZfcHJpdi0+cGVyZi5vcHMuZW5hYmxlX21ldHJpY19zZXQp IHsKIAkJSU5JVF9MSVNUX0hFQUQoJmRldl9wcml2LT5wZXJmLnN0cmVhbXMpOwogCQltdXRleF9p bml0KCZkZXZfcHJpdi0+cGVyZi5sb2NrKTsKLQkJc3Bpbl9sb2NrX2luaXQoJmRldl9wcml2LT5w ZXJmLm9hLm9hX2J1ZmZlci5wdHJfbG9jayk7CiAKIAkJb2Ffc2FtcGxlX3JhdGVfaGFyZF9saW1p dCA9IDEwMDAgKgogCQkJKFJVTlRJTUVfSU5GTyhkZXZfcHJpdiktPmNzX3RpbWVzdGFtcF9mcmVx dWVuY3lfa2h6IC8gMik7CkBAIC0zNjg0LDcgKzM2ODQsNyBAQCB2b2lkIGk5MTVfcGVyZl9maW5p KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCXVucmVnaXN0ZXJfc3lzY3Rs X3RhYmxlKGRldl9wcml2LT5wZXJmLnN5c2N0bF9oZWFkZXIpOwogCi0JbWVtc2V0KCZkZXZfcHJp di0+cGVyZi5vYS5vcHMsIDAsIHNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS5vcHMpKTsKKwltZW1z ZXQoJmRldl9wcml2LT5wZXJmLm9wcywgMCwgc2l6ZW9mKGRldl9wcml2LT5wZXJmLm9wcykpOwog CiAJZGV2X3ByaXYtPnBlcmYuaW5pdGlhbGl6ZWQgPSBmYWxzZTsKIH0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2FfYmR3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9vYS9pOTE1X29hX2Jkdy5jCmluZGV4IDQ0MGI2YjkwNThkYS4uMTRkYTVjM2I1NjlkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2Jkdy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2FfYmR3LmMKQEAgLTY1LDI2ICs2NSwyNiBAQCBzaG93 X3Rlc3Rfb2FfaWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUg KmF0dHIsIGNoYXIgKmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2Jkdyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RybGNweShkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2X3ByaXYtPnBlcmYudGVzdF9j b25maWcudXVpZCwKIAkJImQ2ZGU2ZjU1LWU1MjYtNGY3OS1hNmE2LWQ3MzE1YzA5MDQ0ZSIsCi0J CXNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkKSk7Ci0JZGV2X3ByaXYt PnBlcmYub2EudGVzdF9jb25maWcuaWQgPSAxOworCQlzaXplb2YoZGV2X3ByaXYtPnBlcmYudGVz dF9jb25maWcudXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmlkID0gMTsKIAot CWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzID0gbXV4X2NvbmZpZ190ZXN0 X29hOwotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzX2xlbiA9IEFSUkFZ X1NJWkUobXV4X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5t dXhfcmVncyA9IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZp Zy5tdXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfdGVzdF9vYSk7CiAKLQlkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9IGJfY291bnRlcl9jb25m aWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVn c19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVzdF9vYSk7CisJZGV2X3ByaXYt PnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50ZXJfY29uZmlnX3Rlc3Rf b2E7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3NfbGVuID0gQVJS QVlfU0laRShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2Eu dGVzdF9jb25maWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJp di0+cGVyZi5vYS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJSQVlfU0laRShmbGV4X2V1 X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5mbGV4X3JlZ3Mg PSBmbGV4X2V1X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmZs ZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2 X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLm5hbWUgPSAiZDZkZTZmNTUt ZTUyNi00Zjc5LWE2YTYtZDczMTVjMDkwNDRlIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2Nv bmZpZy5zeXNmc19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5h dHRyczsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMubmFtZSA9ICJk NmRlNmY1NS1lNTI2LTRmNzktYTZhNi1kNzMxNWMwOTA0NGUiOworCWRldl9wcml2LT5wZXJmLnRl c3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5wZXJmLnRlc3RfY29uZmln LmF0dHJzOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2 X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CisJZGV2X3By aXYtPnBlcmYudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYudGVzdF9jb25m aWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZp Zy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50 ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKLQlkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9p ZDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1l ID0gImlkIjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0 ci5tb2RlID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNf aWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L29hL2k5MTVfb2FfYnh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29h X2J4dC5jCmluZGV4IDBiMjY4ZTNmZTJhYi4uM2U3ODViYWZjZjk5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2J4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L29hL2k5MTVfb2FfYnh0LmMKQEAgLTYzLDI2ICs2MywyNiBAQCBzaG93X3Rlc3Rfb2FfaWQo c3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIg KmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2J4dChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RybGNweShkZXZfcHJpdi0+cGVyZi5vYS50ZXN0 X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCwK IAkJIjVlZTcyZjVjLTA5MmYtNDIxZS04YjcwLTIyNWY3YzNlOTYxMiIsCi0JCXNpemVvZihkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkKSk7Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVz dF9jb25maWcuaWQgPSAxOworCQlzaXplb2YoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVp ZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmlkID0gMTsKIAotCWRldl9wcml2LT5w ZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzID0gbXV4X2NvbmZpZ190ZXN0X29hOwotCWRldl9w cml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzX2xlbiA9IEFSUkFZX1NJWkUobXV4X2Nv bmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVncyA9IG11 eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVnc19s ZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfdGVzdF9vYSk7CiAKLQlkZXZfcHJpdi0+cGVyZi5v YS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9IGJfY291bnRlcl9jb25maWdfdGVzdF9vYTsK LQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVnc19sZW4gPSBBUlJB WV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVzdF9vYSk7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9j b25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2E7CisJZGV2X3By aXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3NfbGVuID0gQVJSQVlfU0laRShiX2Nv dW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcu ZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50 ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJSQVlfU0laRShmbGV4X2V1X2NvbmZpZ190ZXN0 X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5mbGV4X3JlZ3MgPSBmbGV4X2V1X2Nv bmZpZ190ZXN0X29hOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmZsZXhfcmVnc19sZW4g PSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYu b2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLm5hbWUgPSAiNWVlNzJmNWMtMDkyZi00MjFlLThi NzAtMjI1ZjdjM2U5NjEyIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19t ZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5hdHRyczsKKwlkZXZf cHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMubmFtZSA9ICI1ZWU3MmY1Yy0wOTJm LTQyMWUtOGI3MC0yMjVmN2MzZTk2MTIiOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLnN5 c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmF0dHJzOwogCi0J ZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYu b2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CisJZGV2X3ByaXYtPnBlcmYudGVz dF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuc3lzZnNfbWV0 cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRy aWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5z eXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0 X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKKwlkZXZfcHJp di0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKKwlk ZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0 NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNo b3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5 MTVfb2FfY2ZsZ3QyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2NmbGd0Mi5j CmluZGV4IDg5NTQyZDMwYzU1Yy4uMGVhODZmNzBhMDZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9vYS9pOTE1X29hX2NmbGd0Mi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L29hL2k5MTVfb2FfY2ZsZ3QyLmMKQEAgLTY0LDI2ICs2NCwyNiBAQCBzaG93X3Rlc3Rfb2FfaWQo c3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIg KmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2NmbGd0MihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RybGNweShkZXZfcHJpdi0+cGVyZi5vYS50 ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVp ZCwKIAkJIjc0ZmI0OTAyLWQzZDMtNDIzNy05ZTkwLWNiZGM2OGQwYTQ0NiIsCi0JCXNpemVvZihk ZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkKSk7Ci0JZGV2X3ByaXYtPnBlcmYub2Eu dGVzdF9jb25maWcuaWQgPSAxOworCQlzaXplb2YoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcu dXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmlkID0gMTsKIAotCWRldl9wcml2 LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzID0gbXV4X2NvbmZpZ190ZXN0X29hOwotCWRl dl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzX2xlbiA9IEFSUkFZX1NJWkUobXV4 X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVncyA9 IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVn c19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfdGVzdF9vYSk7CiAKLQlkZXZfcHJpdi0+cGVy Zi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9IGJfY291bnRlcl9jb25maWdfdGVzdF9v YTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVnc19sZW4gPSBB UlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVzdF9vYSk7CisJZGV2X3ByaXYtPnBlcmYudGVz dF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2E7CisJZGV2 X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3NfbGVuID0gQVJSQVlfU0laRShi X2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25m aWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5v YS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJSQVlfU0laRShmbGV4X2V1X2NvbmZpZ190 ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5mbGV4X3JlZ3MgPSBmbGV4X2V1 X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmZsZXhfcmVnc19s ZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBl cmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLm5hbWUgPSAiNzRmYjQ5MDItZDNkMy00MjM3 LTllOTAtY2JkYzY4ZDBhNDQ2IjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNm c19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5hdHRyczsKKwlk ZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMubmFtZSA9ICI3NGZiNDkwMi1k M2QzLTQyMzctOWU5MC1jYmRjNjhkMGE0NDYiOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmln LnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmF0dHJzOwog Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBl cmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CisJZGV2X3ByaXYtPnBlcmYu dGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuc3lzZnNf bWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19t ZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZp Zy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKLQlkZXZfcHJpdi0+cGVyZi5vYS50 ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKKwlkZXZf cHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsK KwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0g MDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9 IHNob3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29h L2k5MTVfb2FfY2ZsZ3QzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2NmbGd0 My5jCmluZGV4IDUxYjExOGIwMzcxNi4uZmM2MzJkZDg5MGJmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2NmbGd0My5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L29hL2k5MTVfb2FfY2ZsZ3QzLmMKQEAgLTY0LDI2ICs2NCwyNiBAQCBzaG93X3Rlc3Rfb2Ff aWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNo YXIgKmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2NmbGd0MyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RybGNweShkZXZfcHJpdi0+cGVyZi5v YS50ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcu dXVpZCwKIAkJIjU3N2U4ZTJjLTNmYTAtNDg3NS04NzQzLTM1MzhkNTg1ZTNiMCIsCi0JCXNpemVv ZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkKSk7Ci0JZGV2X3ByaXYtPnBlcmYu b2EudGVzdF9jb25maWcuaWQgPSAxOworCQlzaXplb2YoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25m aWcudXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmlkID0gMTsKIAotCWRldl9w cml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzID0gbXV4X2NvbmZpZ190ZXN0X29hOwot CWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzX2xlbiA9IEFSUkFZX1NJWkUo bXV4X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVn cyA9IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhf cmVnc19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfdGVzdF9vYSk7CiAKLQlkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9IGJfY291bnRlcl9jb25maWdfdGVz dF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVnc19sZW4g PSBBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVzdF9vYSk7CisJZGV2X3ByaXYtPnBlcmYu dGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2E7CisJ ZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3NfbGVuID0gQVJSQVlfU0la RShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9j b25maWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVy Zi5vYS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJSQVlfU0laRShmbGV4X2V1X2NvbmZp Z190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5mbGV4X3JlZ3MgPSBmbGV4 X2V1X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmZsZXhfcmVn c19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYt PnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLm5hbWUgPSAiNTc3ZThlMmMtM2ZhMC00 ODc1LTg3NDMtMzUzOGQ1ODVlM2IwIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5z eXNmc19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5hdHRyczsK KwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMubmFtZSA9ICI1NzdlOGUy Yy0zZmEwLTQ4NzUtODc0My0zNTM4ZDU4NWUzYjAiOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29u ZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmF0dHJz OwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYt PnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CisJZGV2X3ByaXYtPnBl cmYudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuc3lz ZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNm c19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2Nv bmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKLQlkZXZfcHJpdi0+cGVyZi5v YS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKKwlk ZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlk IjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2Rl ID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hv dyA9IHNob3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L29hL2k5MTVfb2FfY2h2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2Nodi5j CmluZGV4IGM3MGM1YWY4YTc2NS4uNmNkNGU5OTIxYThhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9vYS9pOTE1X29hX2Nodi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29h L2k5MTVfb2FfY2h2LmMKQEAgLTY0LDI2ICs2NCwyNiBAQCBzaG93X3Rlc3Rfb2FfaWQoc3RydWN0 IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikK IHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmlnX2NodihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RybGNweShkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZp Zy51dWlkLAorCXN0cmxjcHkoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCwKIAkJIjRh NTM0YjA3LWNiYTMtNDE0ZC04ZDYwLTg3NDgzMGU4ODNhYSIsCi0JCXNpemVvZihkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkKSk7Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25m aWcuaWQgPSAxOworCQlzaXplb2YoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCkpOwor CWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmlkID0gMTsKIAotCWRldl9wcml2LT5wZXJmLm9h LnRlc3RfY29uZmlnLm11eF9yZWdzID0gbXV4X2NvbmZpZ190ZXN0X29hOwotCWRldl9wcml2LT5w ZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzX2xlbiA9IEFSUkFZX1NJWkUobXV4X2NvbmZpZ190 ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVncyA9IG11eF9jb25m aWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVnc19sZW4gPSBB UlJBWV9TSVpFKG11eF9jb25maWdfdGVzdF9vYSk7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0 X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9IGJfY291bnRlcl9jb25maWdfdGVzdF9vYTsKLQlkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpF KGJfY291bnRlcl9jb25maWdfdGVzdF9vYSk7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcu Yl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2E7CisJZGV2X3ByaXYtPnBl cmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3NfbGVuID0gQVJSQVlfU0laRShiX2NvdW50ZXJf Y29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuZmxleF9y ZWdzID0gZmxleF9ldV9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2Nv bmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJSQVlfU0laRShmbGV4X2V1X2NvbmZpZ190ZXN0X29hKTsK KwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5mbGV4X3JlZ3MgPSBmbGV4X2V1X2NvbmZpZ190 ZXN0X29hOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJB WV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVz dF9jb25maWcuc3lzZnNfbWV0cmljLm5hbWUgPSAiNGE1MzRiMDctY2JhMy00MTRkLThkNjAtODc0 ODMwZTg4M2FhIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMu YXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5hdHRyczsKKwlkZXZfcHJpdi0+ cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMubmFtZSA9ICI0YTUzNGIwNy1jYmEzLTQxNGQt OGQ2MC04NzQ4MzBlODgzYWEiOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21l dHJpYy5hdHRycyA9IGRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmF0dHJzOwogCi0JZGV2X3By aXYtPnBlcmYub2EudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYub2EudGVz dF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25m aWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lk LmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQu YXR0ci5uYW1lID0gImlkIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19t ZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZp Zy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKKwlkZXZfcHJpdi0+cGVy Zi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKKwlkZXZfcHJp di0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKKwlk ZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVz dF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ff Y25sLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2NubC5jCmluZGV4IDZkMTM5 ODM2MDBlNy4uMTA0MWU4OTE0OTkzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9v YS9pOTE1X29hX2NubC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2FfY25s LmMKQEAgLTc2LDI2ICs3NiwyNiBAQCBzaG93X3Rlc3Rfb2FfaWQoc3RydWN0IGRldmljZSAqa2Rl diwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHZvaWQKIGk5MTVf cGVyZl9sb2FkX3Rlc3RfY29uZmlnX2NubChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiB7Ci0Jc3RybGNweShkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkLAorCXN0 cmxjcHkoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCwKIAkJImRiNDFlZGQ0LWQ4ZTct NDczMC1hZDExLWI5YTJkNjgzMzUwMyIsCi0JCXNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0 X2NvbmZpZy51dWlkKSk7Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuaWQgPSAxOwor CQlzaXplb2YoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCkpOworCWRldl9wcml2LT5w ZXJmLnRlc3RfY29uZmlnLmlkID0gMTsKIAotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmln Lm11eF9yZWdzID0gbXV4X2NvbmZpZ190ZXN0X29hOwotCWRldl9wcml2LT5wZXJmLm9hLnRlc3Rf Y29uZmlnLm11eF9yZWdzX2xlbiA9IEFSUkFZX1NJWkUobXV4X2NvbmZpZ190ZXN0X29hKTsKKwlk ZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVncyA9IG11eF9jb25maWdfdGVzdF9vYTsK KwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKG11 eF9jb25maWdfdGVzdF9vYSk7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2Nv dW50ZXJfcmVncyA9IGJfY291bnRlcl9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5v YS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRlcl9j b25maWdfdGVzdF9vYSk7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3Jl Z3MgPSBiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2E7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25m aWcuYl9jb3VudGVyX3JlZ3NfbGVuID0gQVJSQVlfU0laRShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rf b2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuZmxleF9yZWdzID0gZmxleF9l dV9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5mbGV4X3Jl Z3NfbGVuID0gQVJSQVlfU0laRShmbGV4X2V1X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+ cGVyZi50ZXN0X2NvbmZpZy5mbGV4X3JlZ3MgPSBmbGV4X2V1X2NvbmZpZ190ZXN0X29hOworCWRl dl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhf ZXVfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lz ZnNfbWV0cmljLm5hbWUgPSAiZGI0MWVkZDQtZDhlNy00NzMwLWFkMTEtYjlhMmQ2ODMzNTAzIjsK LQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMuYXR0cnMgPSBkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5hdHRyczsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2Nv bmZpZy5zeXNmc19tZXRyaWMubmFtZSA9ICJkYjQxZWRkNC1kOGU3LTQ3MzAtYWQxMS1iOWEyZDY4 MzM1MDMiOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9 IGRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmF0dHJzOwogCi0JZGV2X3ByaXYtPnBlcmYub2Eu dGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lz ZnNfbWV0cmljX2lkLmF0dHI7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYXR0cnNbMF0g PSAmZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlk ZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0g ImlkIjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0 ci5tb2RlID0gMDQ0NDsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRy aWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZp Zy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0 X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVy Zi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKIH0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2FfZ2xrLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2dsay5jCmluZGV4IDY2OGM5YWExNWJjNS4uYmQx NWViZTlhZWViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2ds ay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2FfZ2xrLmMKQEAgLTYzLDI2 ICs2MywyNiBAQCBzaG93X3Rlc3Rfb2FfaWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRl dmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rl c3RfY29uZmlnX2dsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3Ry bGNweShkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2X3By aXYtPnBlcmYudGVzdF9jb25maWcudXVpZCwKIAkJImRkM2ZkNzg5LWU3ODMtNDIwNC04Y2QwLWI2 NzFiYmNjYjBjZiIsCi0JCXNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlk KSk7Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuaWQgPSAxOworCQlzaXplb2YoZGV2 X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29u ZmlnLmlkID0gMTsKIAotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzID0g bXV4X2NvbmZpZ190ZXN0X29hOwotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9y ZWdzX2xlbiA9IEFSUkFZX1NJWkUobXV4X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVy Zi50ZXN0X2NvbmZpZy5tdXhfcmVncyA9IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+ cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfdGVz dF9vYSk7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9 IGJfY291bnRlcl9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZp Zy5iX2NvdW50ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVzdF9v YSk7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50 ZXJfY29uZmlnX3Rlc3Rfb2E7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVy X3JlZ3NfbGVuID0gQVJSQVlfU0laRShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2 X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfdGVz dF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJS QVlfU0laRShmbGV4X2V1X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2Nv bmZpZy5mbGV4X3JlZ3MgPSBmbGV4X2V1X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2LT5wZXJm LnRlc3RfY29uZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rl c3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLm5h bWUgPSAiZGQzZmQ3ODktZTc4My00MjA0LThjZDAtYjY3MWJiY2NiMGNmIjsKLQlkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5v YS50ZXN0X2NvbmZpZy5hdHRyczsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19t ZXRyaWMubmFtZSA9ICJkZDNmZDc4OS1lNzgzLTQyMDQtOGNkMC1iNjcxYmJjY2IwY2YiOworCWRl dl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5w ZXJmLnRlc3RfY29uZmlnLmF0dHJzOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcu YXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lk LmF0dHI7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYt PnBlcmYudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVy Zi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0 NDsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9 IHNob3dfdGVzdF9vYV9pZDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRy aWNfaWQuYXR0ci5uYW1lID0gImlkIjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNm c19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZp Zy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2FfaHN3LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9vYS9pOTE1X29hX2hzdy5jCmluZGV4IDJlMTBhNzMxMjdhMi4uMTMzNzIxYTg2MTlmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2hzdy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2FfaHN3LmMKQEAgLTkzLDI2ICs5MywyNiBAQCBz aG93X3JlbmRlcl9iYXNpY19pZChzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0 dHJpYnV0ZSAqYXR0ciwgY2hhciAqYgogdm9pZAogaTkxNV9wZXJmX2xvYWRfdGVzdF9jb25maWdf aHN3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQlzdHJsY3B5KGRldl9w cml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLnV1aWQsCisJc3RybGNweShkZXZfcHJpdi0+cGVyZi50 ZXN0X2NvbmZpZy51dWlkLAogCQkiNDAzZDg4MzItMWEyNy00YWE2LWE2NGUtZjUzODljZTdiMjEy IiwKLQkJc2l6ZW9mKGRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLnV1aWQpKTsKLQlkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5pZCA9IDE7CisJCXNpemVvZihkZXZfcHJpdi0+cGVy Zi50ZXN0X2NvbmZpZy51dWlkKSk7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuaWQgPSAx OwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcubXV4X3JlZ3MgPSBtdXhfY29uZmln X3JlbmRlcl9iYXNpYzsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5tdXhfcmVnc19s ZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfcmVuZGVyX2Jhc2ljKTsKKwlkZXZfcHJpdi0+cGVy Zi50ZXN0X2NvbmZpZy5tdXhfcmVncyA9IG11eF9jb25maWdfcmVuZGVyX2Jhc2ljOworCWRldl9w cml2LT5wZXJmLnRlc3RfY29uZmlnLm11eF9yZWdzX2xlbiA9IEFSUkFZX1NJWkUobXV4X2NvbmZp Z19yZW5kZXJfYmFzaWMpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuYl9jb3Vu dGVyX3JlZ3MgPSBiX2NvdW50ZXJfY29uZmlnX3JlbmRlcl9iYXNpYzsKLQlkZXZfcHJpdi0+cGVy Zi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRl cl9jb25maWdfcmVuZGVyX2Jhc2ljKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5iX2Nv dW50ZXJfcmVncyA9IGJfY291bnRlcl9jb25maWdfcmVuZGVyX2Jhc2ljOworCWRldl9wcml2LT5w ZXJmLnRlc3RfY29uZmlnLmJfY291bnRlcl9yZWdzX2xlbiA9IEFSUkFZX1NJWkUoYl9jb3VudGVy X2NvbmZpZ19yZW5kZXJfYmFzaWMpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcu ZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfcmVuZGVyX2Jhc2ljOwotCWRldl9wcml2LT5wZXJm Lm9hLnRlc3RfY29uZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmln X3JlbmRlcl9iYXNpYyk7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuZmxleF9yZWdzID0g ZmxleF9ldV9jb25maWdfcmVuZGVyX2Jhc2ljOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmln LmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3JlbmRlcl9iYXNpYyk7 CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMubmFtZSA9ICI0 MDNkODgzMi0xYTI3LTRhYTYtYTY0ZS1mNTM4OWNlN2IyMTIiOwotCWRldl9wcml2LT5wZXJmLm9h LnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5wZXJmLm9hLnRlc3Rf Y29uZmlnLmF0dHJzOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5u YW1lID0gIjQwM2Q4ODMyLTFhMjctNGFhNi1hNjRlLWY1Mzg5Y2U3YjIxMiI7CisJZGV2X3ByaXYt PnBlcmYudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLmF0dHJzID0gZGV2X3ByaXYtPnBlcmYudGVz dF9jb25maWcuYXR0cnM7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5hdHRyc1sw XSA9ICZkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0cjsK KwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5hdHRyc1swXSA9ICZkZXZfcHJpdi0+cGVyZi50 ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0cjsKIAotCWRldl9wcml2LT5wZXJmLm9hLnRl c3RfY29uZmlnLnN5c2ZzX21ldHJpY19pZC5hdHRyLm5hbWUgPSAiaWQiOwotCWRldl9wcml2LT5w ZXJmLm9hLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpY19pZC5hdHRyLm1vZGUgPSAwNDQ0OwotCWRl dl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpY19pZC5zaG93ID0gc2hvd19y ZW5kZXJfYmFzaWNfaWQ7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuc3lzZnNfbWV0cmlj X2lkLmF0dHIubmFtZSA9ICJpZCI7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuc3lzZnNf bWV0cmljX2lkLmF0dHIubW9kZSA9IDA0NDQ7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcu c3lzZnNfbWV0cmljX2lkLnNob3cgPSBzaG93X3JlbmRlcl9iYXNpY19pZDsKIH0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2FfaWNsLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9vYS9pOTE1X29hX2ljbC5jCmluZGV4IDZkYzM4OGRlNDUxOC4uMmQ5MjA0MWI3NTRm IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2ljbC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2FfaWNsLmMKQEAgLTczLDI2ICs3MywyNiBA QCBzaG93X3Rlc3Rfb2FfaWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRy aWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmln X2ljbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RybGNweShkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2X3ByaXYtPnBlcmYu dGVzdF9jb25maWcudXVpZCwKIAkJImEyOTE2NjVlLTI0NGItNGI3Ni05YjlhLTAxZGU5ZDNjODA2 OCIsCi0JCXNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkKSk7Ci0JZGV2 X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuaWQgPSAxOworCQlzaXplb2YoZGV2X3ByaXYtPnBl cmYudGVzdF9jb25maWcudXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmlkID0g MTsKIAotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzID0gbXV4X2NvbmZp Z190ZXN0X29hOwotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzX2xlbiA9 IEFSUkFZX1NJWkUobXV4X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2Nv bmZpZy5tdXhfcmVncyA9IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0 X2NvbmZpZy5tdXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfdGVzdF9vYSk7CiAK LQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9IGJfY291bnRl cl9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50 ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVzdF9vYSk7CisJZGV2 X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50ZXJfY29uZmln X3Rlc3Rfb2E7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3NfbGVu ID0gQVJSQVlfU0laRShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBl cmYub2EudGVzdF9jb25maWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfdGVzdF9vYTsKLQlk ZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJSQVlfU0laRShm bGV4X2V1X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5mbGV4 X3JlZ3MgPSBmbGV4X2V1X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29u ZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rlc3Rfb2EpOwog Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLm5hbWUgPSAiYTI5 MTY2NWUtMjQ0Yi00Yjc2LTliOWEtMDFkZTlkM2M4MDY4IjsKLQlkZXZfcHJpdi0+cGVyZi5vYS50 ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2Nv bmZpZy5hdHRyczsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMubmFt ZSA9ICJhMjkxNjY1ZS0yNDRiLTRiNzYtOWI5YS0wMWRlOWQzYzgwNjgiOworCWRldl9wcml2LT5w ZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5wZXJmLnRlc3Rf Y29uZmlnLmF0dHJzOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuYXR0cnNbMF0g PSAmZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CisJ ZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYudGVz dF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0 X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlkZXZfcHJpdi0+cGVy Zi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKLQlkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVz dF9vYV9pZDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0 ci5uYW1lID0gImlkIjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNf aWQuYXR0ci5tb2RlID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19t ZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffa2JsZ3QyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9v YS9pOTE1X29hX2tibGd0Mi5jCmluZGV4IDQ1Yjc2MzY2YzRmMy4uMWMzYTY3YzljZmUwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2tibGd0Mi5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffa2JsZ3QyLmMKQEAgLTY0LDI2ICs2NCwyNiBA QCBzaG93X3Rlc3Rfb2FfaWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRy aWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rlc3RfY29uZmln X2tibGd0MihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RybGNweShk ZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2X3ByaXYtPnBl cmYudGVzdF9jb25maWcudXVpZCwKIAkJImJhYTNjN2U0LTUyYjYtNGI4NS04MDFlLTQ2NWE5NGI3 NDZkZCIsCi0JCXNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkKSk7Ci0J ZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuaWQgPSAxOworCQlzaXplb2YoZGV2X3ByaXYt PnBlcmYudGVzdF9jb25maWcudXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLmlk ID0gMTsKIAotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzID0gbXV4X2Nv bmZpZ190ZXN0X29hOwotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzX2xl biA9IEFSUkFZX1NJWkUobXV4X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0 X2NvbmZpZy5tdXhfcmVncyA9IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+cGVyZi50 ZXN0X2NvbmZpZy5tdXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfdGVzdF9vYSk7 CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9IGJfY291 bnRlcl9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2Nv dW50ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVzdF9vYSk7CisJ ZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50ZXJfY29u ZmlnX3Rlc3Rfb2E7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3Nf bGVuID0gQVJSQVlfU0laRShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYt PnBlcmYub2EudGVzdF9jb25maWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfdGVzdF9vYTsK LQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJSQVlfU0la RShmbGV4X2V1X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5m bGV4X3JlZ3MgPSBmbGV4X2V1X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2LT5wZXJmLnRlc3Rf Y29uZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rlc3Rfb2Ep OwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLm5hbWUgPSAi YmFhM2M3ZTQtNTJiNi00Yjg1LTgwMWUtNDY1YTk0Yjc0NmRkIjsKLQlkZXZfcHJpdi0+cGVyZi5v YS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5vYS50ZXN0 X2NvbmZpZy5hdHRyczsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMu bmFtZSA9ICJiYWEzYzdlNC01MmI2LTRiODUtODAxZS00NjVhOTRiNzQ2ZGQiOworCWRldl9wcml2 LT5wZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5wZXJmLnRl c3RfY29uZmlnLmF0dHJzOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuYXR0cnNb MF0gPSAmZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7 CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYu dGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50 ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKLQlk ZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3df dGVzdF9vYV9pZDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQu YXR0ci5uYW1lID0gImlkIjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRy aWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNm c19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffa2JsZ3QzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9vYS9pOTE1X29hX2tibGd0My5jCmluZGV4IDM1YTM0MGY0ODM1My4uZWJiZTVhOWM5ZmRjIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX2tibGd0My5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffa2JsZ3QzLmMKQEAgLTY0LDI2ICs2NCwy NiBAQCBzaG93X3Rlc3Rfb2FfaWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9h dHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rlc3RfY29u ZmlnX2tibGd0MyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3RybGNw eShkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2X3ByaXYt PnBlcmYudGVzdF9jb25maWcudXVpZCwKIAkJImYxNzkyZjMyLTZkYjItNGI1MC1iNGIyLTU1NzEy OGYxNjg4ZCIsCi0JCXNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkKSk7 Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuaWQgPSAxOworCQlzaXplb2YoZGV2X3By aXYtPnBlcmYudGVzdF9jb25maWcudXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmln LmlkID0gMTsKIAotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzID0gbXV4 X2NvbmZpZ190ZXN0X29hOwotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdz X2xlbiA9IEFSUkFZX1NJWkUobXV4X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50 ZXN0X2NvbmZpZy5tdXhfcmVncyA9IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+cGVy Zi50ZXN0X2NvbmZpZy5tdXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfdGVzdF9v YSk7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9IGJf Y291bnRlcl9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5i X2NvdW50ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVzdF9vYSk7 CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50ZXJf Y29uZmlnX3Rlc3Rfb2E7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3Jl Z3NfbGVuID0gQVJSQVlfU0laRShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3By aXYtPnBlcmYub2EudGVzdF9jb25maWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfdGVzdF9v YTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJSQVlf U0laRShmbGV4X2V1X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZp Zy5mbGV4X3JlZ3MgPSBmbGV4X2V1X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2LT5wZXJmLnRl c3RfY29uZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rlc3Rf b2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLm5hbWUg PSAiZjE3OTJmMzItNmRiMi00YjUwLWI0YjItNTU3MTI4ZjE2ODhkIjsKLQlkZXZfcHJpdi0+cGVy Zi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5vYS50 ZXN0X2NvbmZpZy5hdHRyczsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRy aWMubmFtZSA9ICJmMTc5MmYzMi02ZGIyLTRiNTAtYjRiMi01NTcxMjhmMTY4OGQiOworCWRldl9w cml2LT5wZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5wZXJm LnRlc3RfY29uZmlnLmF0dHJzOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuYXR0 cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0 dHI7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBl cmYudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVyZi5v YS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlkZXZfcHJp di0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsK LQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNo b3dfdGVzdF9vYV9pZDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNf aWQuYXR0ci5uYW1lID0gImlkIjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19t ZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5z eXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffc2tsZ3QyLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9vYS9pOTE1X29hX3NrbGd0Mi5jCmluZGV4IDMwOWJiNDlkMjM0Yy4uMWJjMzU5ZWQzNGU4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX3NrbGd0Mi5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffc2tsZ3QyLmMKQEAgLTYzLDI2ICs2 MywyNiBAQCBzaG93X3Rlc3Rfb2FfaWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmlj ZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rlc3Rf Y29uZmlnX3NrbGd0MihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0Jc3Ry bGNweShkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2X3By aXYtPnBlcmYudGVzdF9jb25maWcudXVpZCwKIAkJIjE2NTE5NDlmLTBhYzAtNGNiMS1hMDZmLWRh ZmQ3NGE0MDdkMSIsCi0JCXNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlk KSk7Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuaWQgPSAxOworCQlzaXplb2YoZGV2 X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3RfY29u ZmlnLmlkID0gMTsKIAotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdzID0g bXV4X2NvbmZpZ190ZXN0X29hOwotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9y ZWdzX2xlbiA9IEFSUkFZX1NJWkUobXV4X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVy Zi50ZXN0X2NvbmZpZy5tdXhfcmVncyA9IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJpdi0+ cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdfdGVz dF9vYSk7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVncyA9 IGJfY291bnRlcl9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZp Zy5iX2NvdW50ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVzdF9v YSk7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2NvdW50 ZXJfY29uZmlnX3Rlc3Rfb2E7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVy X3JlZ3NfbGVuID0gQVJSQVlfU0laRShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0JZGV2 X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdfdGVz dF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0gQVJS QVlfU0laRShmbGV4X2V1X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2Nv bmZpZy5mbGV4X3JlZ3MgPSBmbGV4X2V1X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2LT5wZXJm LnRlc3RfY29uZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmlnX3Rl c3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljLm5h bWUgPSAiMTY1MTk0OWYtMGFjMC00Y2IxLWEwNmYtZGFmZDc0YTQwN2QxIjsKLQlkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVyZi5v YS50ZXN0X2NvbmZpZy5hdHRyczsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19t ZXRyaWMubmFtZSA9ICIxNjUxOTQ5Zi0wYWMwLTRjYjEtYTA2Zi1kYWZkNzRhNDA3ZDEiOworCWRl dl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2LT5w ZXJmLnRlc3RfY29uZmlnLmF0dHJzOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcu YXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lk LmF0dHI7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYt PnBlcmYudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+cGVy Zi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0 NDsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9 IHNob3dfdGVzdF9vYV9pZDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19tZXRy aWNfaWQuYXR0ci5uYW1lID0gImlkIjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNm c19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZp Zy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffc2tsZ3QzLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9vYS9pOTE1X29hX3NrbGd0My5jCmluZGV4IDQwOTZlM2JhNWJiNS4uNmUzNTJmODgx MzEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX3NrbGd0My5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffc2tsZ3QzLmMKQEAgLTY0LDI2 ICs2NCwyNiBAQCBzaG93X3Rlc3Rfb2FfaWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRl dmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2FkX3Rl c3RfY29uZmlnX3NrbGd0MyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0J c3RybGNweShkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHkoZGV2 X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCwKIAkJIjJiOTg1ODAzLWQzYzktNDYyOS04YTRm LTYzNGJmZWNiYTBlOCIsCi0JCXNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51 dWlkKSk7Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuaWQgPSAxOworCQlzaXplb2Yo ZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRlc3Rf Y29uZmlnLmlkID0gMTsKIAotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9yZWdz ID0gbXV4X2NvbmZpZ190ZXN0X29hOwotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11 eF9yZWdzX2xlbiA9IEFSUkFZX1NJWkUobXV4X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+ cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVncyA9IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZfcHJp di0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25maWdf dGVzdF9vYSk7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJfcmVn cyA9IGJfY291bnRlcl9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2Nv bmZpZy5iX2NvdW50ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfdGVz dF9vYSk7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBiX2Nv dW50ZXJfY29uZmlnX3Rlc3Rfb2E7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3Vu dGVyX3JlZ3NfbGVuID0gQVJSQVlfU0laRShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwogCi0J ZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25maWdf dGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVuID0g QVJSQVlfU0laRShmbGV4X2V1X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0 X2NvbmZpZy5mbGV4X3JlZ3MgPSBmbGV4X2V1X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2LT5w ZXJmLnRlc3RfY29uZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29uZmln X3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmlj Lm5hbWUgPSAiMmI5ODU4MDMtZDNjOS00NjI5LThhNGYtNjM0YmZlY2JhMGU4IjsKLQlkZXZfcHJp di0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+cGVy Zi5vYS50ZXN0X2NvbmZpZy5hdHRyczsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNm c19tZXRyaWMubmFtZSA9ICIyYjk4NTgwMy1kM2M5LTQ2MjktOGE0Zi02MzRiZmVjYmEwZTgiOwor CWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9wcml2 LT5wZXJmLnRlc3RfY29uZmlnLmF0dHJzOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25m aWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0cmlj X2lkLmF0dHI7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2X3By aXYtPnBlcmYudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKLQlk ZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0g MDQ0NDsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hv dyA9IHNob3dfdGVzdF9vYV9pZDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNmc19t ZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5z eXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2Nv bmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKIH0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffc2tsZ3Q0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9vYS9pOTE1X29hX3NrbGd0NC5jCmluZGV4IGI5NTc1YjA0Zjc1Mi4uOGYzNDUx MTVhMzA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9vYS9pOTE1X29hX3NrbGd0 NC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L29hL2k5MTVfb2Ffc2tsZ3Q0LmMKQEAgLTY0 LDI2ICs2NCwyNiBAQCBzaG93X3Rlc3Rfb2FfaWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0 IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKIHZvaWQKIGk5MTVfcGVyZl9sb2Fk X3Rlc3RfY29uZmlnX3NrbGd0NChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7 Ci0Jc3RybGNweShkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy51dWlkLAorCXN0cmxjcHko ZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCwKIAkJIjg4MmZhNDMzLTFmNGEtNGE2Ny1h OTYyLWM3NDE4ODhmZTVmNSIsCi0JCXNpemVvZihkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZp Zy51dWlkKSk7Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuaWQgPSAxOworCQlzaXpl b2YoZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcudXVpZCkpOworCWRldl9wcml2LT5wZXJmLnRl c3RfY29uZmlnLmlkID0gMTsKIAotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmlnLm11eF9y ZWdzID0gbXV4X2NvbmZpZ190ZXN0X29hOwotCWRldl9wcml2LT5wZXJmLm9hLnRlc3RfY29uZmln Lm11eF9yZWdzX2xlbiA9IEFSUkFZX1NJWkUobXV4X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJp di0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVncyA9IG11eF9jb25maWdfdGVzdF9vYTsKKwlkZXZf cHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5tdXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKG11eF9jb25m aWdfdGVzdF9vYSk7CiAKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5iX2NvdW50ZXJf cmVncyA9IGJfY291bnRlcl9jb25maWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0 X2NvbmZpZy5iX2NvdW50ZXJfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdf dGVzdF9vYSk7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9jb3VudGVyX3JlZ3MgPSBi X2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2E7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYl9j b3VudGVyX3JlZ3NfbGVuID0gQVJSQVlfU0laRShiX2NvdW50ZXJfY29uZmlnX3Rlc3Rfb2EpOwog Ci0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuZmxleF9yZWdzID0gZmxleF9ldV9jb25m aWdfdGVzdF9vYTsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5mbGV4X3JlZ3NfbGVu ID0gQVJSQVlfU0laRShmbGV4X2V1X2NvbmZpZ190ZXN0X29hKTsKKwlkZXZfcHJpdi0+cGVyZi50 ZXN0X2NvbmZpZy5mbGV4X3JlZ3MgPSBmbGV4X2V1X2NvbmZpZ190ZXN0X29hOworCWRldl9wcml2 LT5wZXJmLnRlc3RfY29uZmlnLmZsZXhfcmVnc19sZW4gPSBBUlJBWV9TSVpFKGZsZXhfZXVfY29u ZmlnX3Rlc3Rfb2EpOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0 cmljLm5hbWUgPSAiODgyZmE0MzMtMWY0YS00YTY3LWE5NjItYzc0MTg4OGZlNWY1IjsKLQlkZXZf cHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWMuYXR0cnMgPSBkZXZfcHJpdi0+ cGVyZi5vYS50ZXN0X2NvbmZpZy5hdHRyczsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5z eXNmc19tZXRyaWMubmFtZSA9ICI4ODJmYTQzMy0xZjRhLTRhNjctYTk2Mi1jNzQxODg4ZmU1ZjUi OworCWRldl9wcml2LT5wZXJmLnRlc3RfY29uZmlnLnN5c2ZzX21ldHJpYy5hdHRycyA9IGRldl9w cml2LT5wZXJmLnRlc3RfY29uZmlnLmF0dHJzOwogCi0JZGV2X3ByaXYtPnBlcmYub2EudGVzdF9j b25maWcuYXR0cnNbMF0gPSAmZGV2X3ByaXYtPnBlcmYub2EudGVzdF9jb25maWcuc3lzZnNfbWV0 cmljX2lkLmF0dHI7CisJZGV2X3ByaXYtPnBlcmYudGVzdF9jb25maWcuYXR0cnNbMF0gPSAmZGV2 X3ByaXYtPnBlcmYudGVzdF9jb25maWcuc3lzZnNfbWV0cmljX2lkLmF0dHI7CiAKLQlkZXZfcHJp di0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsK LQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2Rl ID0gMDQ0NDsKLQlkZXZfcHJpdi0+cGVyZi5vYS50ZXN0X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQu c2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZpZy5zeXNm c19tZXRyaWNfaWQuYXR0ci5uYW1lID0gImlkIjsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0X2NvbmZp Zy5zeXNmc19tZXRyaWNfaWQuYXR0ci5tb2RlID0gMDQ0NDsKKwlkZXZfcHJpdi0+cGVyZi50ZXN0 X2NvbmZpZy5zeXNmc19tZXRyaWNfaWQuc2hvdyA9IHNob3dfdGVzdF9vYV9pZDsKIH0KLS0gCjIu MjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4