From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 32/33] drm/i915: Rename i915_timeline to intel_timeline and move under gt Date: Mon, 17 Jun 2019 19:12:35 +0100 Message-ID: <20190617181236.7981-33-tvrtko.ursulin@linux.intel.com> References: <20190617181236.7981-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 61D6E8936B for ; Mon, 17 Jun 2019 18:13:39 +0000 (UTC) In-Reply-To: <20190617181236.7981-1-tvrtko.ursulin@linux.intel.com> 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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCk1vdmUgYWxs IHRpbWVsaW5lIGNvZGUgdW5kZXIgZ3QgYW5kIHJlbmFtZSB0byBpbnRlbF9ndCBwcmVmaXguCgpT aWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpT dWdnZXN0ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZp ZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgICAgICAgICAgIHwgICAyICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZS5oZWFkZXItdGVzdCAgICAgfCAgIDEgLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyAgIHwgIDEwICstCiAuLi4vZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0X3R5cGVzLmggfCAgIDQgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5jICAgICAgICB8ICAgMiArLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lLmggICAgICAgIHwgICA0ICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyAgICAgfCAgMTQgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oICB8ICAgNCArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgIDEwICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9yZXNldC5jICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyAgICB8ICAxOCArLS0KIC4uLi97aTkxNV90aW1l bGluZS5jID0+IGd0L2ludGVsX3RpbWVsaW5lLmN9ICB8IDEwOCArKysrKysrKy0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5oICAgICAgfCAgOTMgKysrKysr KysrKysrKwogLi4uL2ludGVsX3RpbWVsaW5lX3R5cGVzLmh9ICAgICAgICAgICAgICAgICAgIHwg ICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jICAgICAgICAgfCAg MTAgKy0KIC4uLi9zZWxmdGVzdF90aW1lbGluZS5jfSAgICAgICAgICAgICAgICAgICAgICB8IDEy MiArKysrKysrKystLS0tLS0tLS0KIC4uLi9pOTE1L3sgPT4gZ3R9L3NlbGZ0ZXN0cy9tb2NrX3Rp bWVsaW5lLmMgICB8ICAgNiArLQogLi4uL2k5MTUveyA9PiBndH0vc2VsZnRlc3RzL21vY2tfdGlt ZWxpbmUuaCAgIHwgICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg ICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAg ICAgICAgICB8ICAgOCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggICAg ICAgICAgIHwgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyAgICAg ICAgICAgfCAgMTQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oICAgICAg ICAgICB8ICAgOCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5oICAgICAg ICAgIHwgIDkzIC0tLS0tLS0tLS0tLS0KIC4uLi9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9saXZl X3NlbGZ0ZXN0cy5oICB8ICAgMiArLQogLi4uL2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tf c2VsZnRlc3RzLmggIHwgICAyICstCiAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dl bV9kZXZpY2UuYyAgfCAgIDYgKy0KIDI3IGZpbGVzIGNoYW5nZWQsIDI3OSBpbnNlcnRpb25zKCsp LCAyODAgZGVsZXRpb25zKC0pCiByZW5hbWUgZHJpdmVycy9ncHUvZHJtL2k5MTUve2k5MTVfdGlt ZWxpbmUuYyA9PiBndC9pbnRlbF90aW1lbGluZS5jfSAoODIlKQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmgKIHJlbmFtZSBkcml2ZXJz L2dwdS9kcm0vaTkxNS97aTkxNV90aW1lbGluZV90eXBlcy5oID0+IGd0L2ludGVsX3RpbWVsaW5l X3R5cGVzLmh9ICg5MyUpCiByZW5hbWUgZHJpdmVycy9ncHUvZHJtL2k5MTUve3NlbGZ0ZXN0cy9p OTE1X3RpbWVsaW5lLmMgPT4gZ3Qvc2VsZnRlc3RfdGltZWxpbmUuY30gKDg3JSkKIHJlbmFtZSBk cml2ZXJzL2dwdS9kcm0vaTkxNS97ID0+IGd0fS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jICg3 MiUpCiByZW5hbWUgZHJpdmVycy9ncHUvZHJtL2k5MTUveyA9PiBndH0vc2VsZnRlc3RzL21vY2tf dGltZWxpbmUuaCAoNTMlKQogZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdGltZWxpbmUuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2Vm aWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5kZXggOGRmMWJmMjg1NWQwLi5m NGY4MjMyNzVhYWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCkBAIC04MSw2ICs4MSw3IEBAIGd0LXkg Kz0gXAogCWd0L2ludGVsX3JpbmdidWZmZXIubyBcCiAJZ3QvaW50ZWxfbW9jcy5vIFwKIAlndC9p bnRlbF9zc2V1Lm8gXAorCWd0L2ludGVsX3RpbWVsaW5lLm8gXAogCWd0L2ludGVsX3dvcmthcm91 bmRzLm8KIGd0LSQoQ09ORklHX0RSTV9JOTE1X1NFTEZURVNUKSArPSBcCiAJZ3QvbW9ja19lbmdp bmUubwpAQCAtMTI2LDcgKzEyNyw2IEBAIGk5MTUteSArPSBcCiAJICBpOTE1X3F1ZXJ5Lm8gXAog CSAgaTkxNV9yZXF1ZXN0Lm8gXAogCSAgaTkxNV9zY2hlZHVsZXIubyBcCi0JICBpOTE1X3RpbWVs aW5lLm8gXAogCSAgaTkxNV90cmFjZV9wb2ludHMubyBcCiAJICBpOTE1X3ZtYS5vIFwKIAkgIGlu dGVsX3dvcGNtLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlLmhl YWRlci10ZXN0IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUuaGVhZGVyLXRlc3QKaW5k ZXggNmVmM2I2NDdhYzY1Li5mNTUzNDZkM2MyN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L01ha2VmaWxlLmhlYWRlci10ZXN0CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01h a2VmaWxlLmhlYWRlci10ZXN0CkBAIC0xMSw3ICsxMSw2IEBAIGhlYWRlcl90ZXN0IDo9IFwKIAlp OTE1X3ByaW9saXN0X3R5cGVzLmggXAogCWk5MTVfcmVnLmggXAogCWk5MTVfc2NoZWR1bGVyX3R5 cGVzLmggXAotCWk5MTVfdGltZWxpbmVfdHlwZXMuaCBcCiAJaTkxNV91dGlscy5oIFwKIAlpbnRl bF9hY3BpLmggXAogCWludGVsX2F0b21pYy5oIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fY29udGV4dC5jCmluZGV4IDkwN2VhMWQ4N2FmOS4uOWQzMzFmODJmMzY2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTMxNiw3ICsz MTYsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2ZyZWUoc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmN0eCkKIAltdXRleF9kZXN0cm95KCZjdHgtPmVuZ2luZXNfbXV0ZXgpOwogCiAJ aWYgKGN0eC0+dGltZWxpbmUpCi0JCWk5MTVfdGltZWxpbmVfcHV0KGN0eC0+dGltZWxpbmUpOwor CQlpbnRlbF90aW1lbGluZV9wdXQoY3R4LT50aW1lbGluZSk7CiAKIAlrZnJlZShjdHgtPm5hbWUp OwogCXB1dF9waWQoY3R4LT5waWQpOwpAQCAtNTI4LDkgKzUyOCw5IEBAIGk5MTVfZ2VtX2NyZWF0 ZV9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdW5zaWduZWQgaW50 IGZsYWdzKQogCX0KIAogCWlmIChmbGFncyAmIEk5MTVfQ09OVEVYVF9DUkVBVEVfRkxBR1NfU0lO R0xFX1RJTUVMSU5FKSB7Ci0JCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZTsKKwkJc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAotCQl0aW1lbGluZSA9IGk5MTVfdGltZWxp bmVfY3JlYXRlKCZkZXZfcHJpdi0+Z3QsIE5VTEwpOworCQl0aW1lbGluZSA9IGludGVsX3RpbWVs aW5lX2NyZWF0ZSgmZGV2X3ByaXYtPmd0LCBOVUxMKTsKIAkJaWYgKElTX0VSUih0aW1lbGluZSkp IHsKIAkJCWNvbnRleHRfY2xvc2UoY3R4KTsKIAkJCXJldHVybiBFUlJfQ0FTVCh0aW1lbGluZSk7 CkBAIC0yMDE1LDggKzIwMTUsOCBAQCBzdGF0aWMgaW50IGNsb25lX3RpbWVsaW5lKHN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpkc3QsCiAJCUdFTV9CVUdfT04oc3JjLT50aW1lbGluZSA9PSBkc3Qt PnRpbWVsaW5lKTsKIAogCQlpZiAoZHN0LT50aW1lbGluZSkKLQkJCWk5MTVfdGltZWxpbmVfcHV0 KGRzdC0+dGltZWxpbmUpOwotCQlkc3QtPnRpbWVsaW5lID0gaTkxNV90aW1lbGluZV9nZXQoc3Jj LT50aW1lbGluZSk7CisJCQlpbnRlbF90aW1lbGluZV9wdXQoZHN0LT50aW1lbGluZSk7CisJCWRz dC0+dGltZWxpbmUgPSBpbnRlbF90aW1lbGluZV9nZXQoc3JjLT50aW1lbGluZSk7CiAJfQogCiAJ cmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f Y29udGV4dF90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRl eHRfdHlwZXMuaAppbmRleCBjYzUxMzQxMGVlZWYuLjBlZTYxNDgyZWY5NCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHRfdHlwZXMuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dF90eXBlcy5oCkBAIC0yNiw3 ICsyNiw3IEBAIHN0cnVjdCBwaWQ7CiBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsKIHN0cnVjdCBk cm1faTkxNV9maWxlX3ByaXZhdGU7CiBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlOwotc3RydWN0 IGk5MTVfdGltZWxpbmU7CitzdHJ1Y3QgaW50ZWxfdGltZWxpbmU7CiBzdHJ1Y3QgaW50ZWxfcmlu ZzsKIAogc3RydWN0IGk5MTVfZ2VtX2VuZ2luZXMgewpAQCAtNzcsNyArNzcsNyBAQCBzdHJ1Y3Qg aTkxNV9nZW1fY29udGV4dCB7CiAJc3RydWN0IGk5MTVfZ2VtX2VuZ2luZXMgX19yY3UgKmVuZ2lu ZXM7CiAJc3RydWN0IG11dGV4IGVuZ2luZXNfbXV0ZXg7IC8qIGd1YXJkcyB3cml0ZXMgdG8gZW5n aW5lcyAqLwogCi0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lOworCXN0cnVjdCBpbnRl bF90aW1lbGluZSAqdGltZWxpbmU7CiAKIAkvKioKIAkgKiBAdm06IHVuaXF1ZSBhZGRyZXNzIHNw YWNlIChHVFQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5jCmluZGV4IDA1MDEx ZDRhM2I4OC4uOGY3MjFjZjBhYjk5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f cG0uYwpAQCAtMzgsNyArMzgsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9wYXJrKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogCQlpOTE1X2dlbV9iYXRjaF9wb29sX2ZpbmkoJmVuZ2lu ZS0+YmF0Y2hfcG9vbCk7CiAJfQogCi0JaTkxNV90aW1lbGluZXNfcGFyayhpOTE1KTsKKwlpbnRl bF90aW1lbGluZXNfcGFyayhpOTE1KTsKIAlpOTE1X3ZtYV9wYXJrZWQoaTkxNSk7CiAKIAlpOTE1 X2dsb2JhbHNfcGFyaygpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZW5naW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmUuaAppbmRl eCAyZjFjNjg3MWVlOTUuLmZhNTUxNjRiMDllZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfZW5naW5lLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZW5naW5lLmgKQEAgLTE0LDcgKzE0LDcgQEAKICNpbmNsdWRlICJpOTE1X3JlZy5oIgogI2lu Y2x1ZGUgImk5MTVfcmVxdWVzdC5oIgogI2luY2x1ZGUgImk5MTVfc2VsZnRlc3QuaCIKLSNpbmNs dWRlICJpOTE1X3RpbWVsaW5lLmgiCisjaW5jbHVkZSAiZ3QvaW50ZWxfdGltZWxpbmUuaCIKICNp bmNsdWRlICJpbnRlbF9lbmdpbmVfdHlwZXMuaCIKICNpbmNsdWRlICJpbnRlbF9ncHVfY29tbWFu ZHMuaCIKICNpbmNsdWRlICJpbnRlbF93b3JrYXJvdW5kcy5oIgpAQCAtMjQ1LDcgKzI0NSw3IEBA IGludGVsX3dyaXRlX3N0YXR1c19wYWdlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwg aW50IHJlZywgdTMyIHZhbHVlKQogCiBzdHJ1Y3QgaW50ZWxfcmluZyAqCiBpbnRlbF9lbmdpbmVf Y3JlYXRlX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAotCQkJIHN0cnVjdCBp OTE1X3RpbWVsaW5lICp0aW1lbGluZSwKKwkJCSBzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVs aW5lLAogCQkJIGludCBzaXplKTsKIGludCBpbnRlbF9yaW5nX3BpbihzdHJ1Y3QgaW50ZWxfcmlu ZyAqcmluZyk7CiB2b2lkIGludGVsX3JpbmdfcmVzZXQoc3RydWN0IGludGVsX3JpbmcgKnJpbmcs IHUzMiB0YWlsKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKaW5k ZXggYzJhZmM4ZDM0YWEyLi45MGM2NTI2OWVhZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2VuZ2luZV9jcy5jCkBAIC03MjAsNyArNzIwLDcgQEAgdm9pZCBpbnRlbF9lbmdpbmVz X3NldF9zY2hlZHVsZXJfY2FwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogc3Ry dWN0IG1lYXN1cmVfYnJlYWRjcnVtYiB7CiAJc3RydWN0IGk5MTVfcmVxdWVzdCBycTsKLQlzdHJ1 Y3QgaTkxNV90aW1lbGluZSB0aW1lbGluZTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgdGltZWxp bmU7CiAJc3RydWN0IGludGVsX3JpbmcgcmluZzsKIAl1MzIgY3NbMTAyNF07CiB9OwpAQCAtNzM2 LDkgKzczNiw5IEBAIHN0YXRpYyBpbnQgbWVhc3VyZV9icmVhZGNydW1iX2R3KHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlpZiAoIWZyYW1lKQogCQlyZXR1cm4gLUVOT01FTTsKIAot CWlmIChpOTE1X3RpbWVsaW5lX2luaXQoJmZyYW1lLT50aW1lbGluZSwKLQkJCSAgICAgICBlbmdp bmUtPmd0LAotCQkJICAgICAgIGVuZ2luZS0+c3RhdHVzX3BhZ2Uudm1hKSkKKwlpZiAoaW50ZWxf dGltZWxpbmVfaW5pdCgmZnJhbWUtPnRpbWVsaW5lLAorCQkJCWVuZ2luZS0+Z3QsCisJCQkJZW5n aW5lLT5zdGF0dXNfcGFnZS52bWEpKQogCQlnb3RvIG91dF9mcmFtZTsKIAogCUlOSVRfTElTVF9I RUFEKCZmcmFtZS0+cmluZy5yZXF1ZXN0X2xpc3QpOwpAQCAtNzUzLDE3ICs3NTMsMTcgQEAgc3Rh dGljIGludCBtZWFzdXJlX2JyZWFkY3J1bWJfZHcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQogCWZyYW1lLT5ycS5yaW5nID0gJmZyYW1lLT5yaW5nOwogCWZyYW1lLT5ycS50aW1lbGlu ZSA9ICZmcmFtZS0+dGltZWxpbmU7CiAKLQlkdyA9IGk5MTVfdGltZWxpbmVfcGluKCZmcmFtZS0+ dGltZWxpbmUpOworCWR3ID0gaW50ZWxfdGltZWxpbmVfcGluKCZmcmFtZS0+dGltZWxpbmUpOwog CWlmIChkdyA8IDApCiAJCWdvdG8gb3V0X3RpbWVsaW5lOwogCiAJZHcgPSBlbmdpbmUtPmVtaXRf ZmluaV9icmVhZGNydW1iKCZmcmFtZS0+cnEsIGZyYW1lLT5jcykgLSBmcmFtZS0+Y3M7CiAJR0VN X0JVR19PTihkdyAmIDEpOyAvKiBSSU5HX1RBSUwgbXVzdCBiZSBxd29yZCBhbGlnbmVkICovCiAK LQlpOTE1X3RpbWVsaW5lX3VucGluKCZmcmFtZS0+dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5l X3VucGluKCZmcmFtZS0+dGltZWxpbmUpOwogCiBvdXRfdGltZWxpbmU6Ci0JaTkxNV90aW1lbGlu ZV9maW5pKCZmcmFtZS0+dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX2ZpbmkoJmZyYW1lLT50 aW1lbGluZSk7CiBvdXRfZnJhbWU6CiAJa2ZyZWUoZnJhbWUpOwogCXJldHVybiBkdzsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKaW5kZXggN2EzZjFmNDM1 NjdkLi40NmEyMzNmZGViN2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2VuZ2luZV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2Vu Z2luZV90eXBlcy5oCkBAIC0xOSw3ICsxOSw3IEBACiAjaW5jbHVkZSAiaTkxNV9wbXUuaCIKICNp bmNsdWRlICJpOTE1X3ByaW9saXN0X3R5cGVzLmgiCiAjaW5jbHVkZSAiaTkxNV9zZWxmdGVzdC5o IgotI2luY2x1ZGUgImk5MTVfdGltZWxpbmVfdHlwZXMuaCIKKyNpbmNsdWRlICJndC9pbnRlbF90 aW1lbGluZV90eXBlcy5oIgogI2luY2x1ZGUgImludGVsX3NzZXUuaCIKICNpbmNsdWRlICJpbnRl bF93YWtlcmVmLmgiCiAjaW5jbHVkZSAiaW50ZWxfd29ya2Fyb3VuZHNfdHlwZXMuaCIKQEAgLTY3 LDcgKzY3LDcgQEAgc3RydWN0IGludGVsX3JpbmcgewogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwog CXZvaWQgKnZhZGRyOwogCi0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lOworCXN0cnVj dCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmU7CiAJc3RydWN0IGxpc3RfaGVhZCByZXF1ZXN0X2xp c3Q7CiAJc3RydWN0IGxpc3RfaGVhZCBhY3RpdmVfbGluazsKIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9scmMuYwppbmRleCAyMGYwN2RiZjViZTkuLjdjYzNhYjM4NzY4ZiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfbHJjLmMKQEAgLTI5MzcsMTMgKzI5MzcsMTMgQEAgcG9wdWxhdGVfbHJf Y29udGV4dChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAJcmV0dXJuIHJldDsKIH0KIAotc3Rh dGljIHN0cnVjdCBpOTE1X3RpbWVsaW5lICoKK3N0YXRpYyBzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg KgogZ2V0X3RpbWVsaW5lKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsIHN0cnVjdCBpbnRl bF9ndCAqZ3QpCiB7CiAJaWYgKGN0eC0+dGltZWxpbmUpCi0JCXJldHVybiBpOTE1X3RpbWVsaW5l X2dldChjdHgtPnRpbWVsaW5lKTsKKwkJcmV0dXJuIGludGVsX3RpbWVsaW5lX2dldChjdHgtPnRp bWVsaW5lKTsKIAllbHNlCi0JCXJldHVybiBpOTE1X3RpbWVsaW5lX2NyZWF0ZShndCwgTlVMTCk7 CisJCXJldHVybiBpbnRlbF90aW1lbGluZV9jcmVhdGUoZ3QsIE5VTEwpOwogfQogCiBzdGF0aWMg aW50IGV4ZWNsaXN0c19jb250ZXh0X2RlZmVycmVkX2FsbG9jKHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZSwKQEAgLTI5NTMsNyArMjk1Myw3IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRf ZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAogCXN0cnVjdCBpOTE1X3Zt YSAqdm1hOwogCXUzMiBjb250ZXh0X3NpemU7CiAJc3RydWN0IGludGVsX3JpbmcgKnJpbmc7Ci0J c3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAq dGltZWxpbmU7CiAJaW50IHJldDsKIAogCWlmIChjZS0+c3RhdGUpCkBAIC0yOTg2LDcgKzI5ODYs NyBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0X2RlZmVycmVkX2FsbG9jKHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjZSwKIAlyaW5nID0gaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5nKGVuZ2lu ZSwKIAkJCQkJdGltZWxpbmUsCiAJCQkJCWNlLT5nZW1fY29udGV4dC0+cmluZ19zaXplKTsKLQlp OTE1X3RpbWVsaW5lX3B1dCh0aW1lbGluZSk7CisJaW50ZWxfdGltZWxpbmVfcHV0KHRpbWVsaW5l KTsKIAlpZiAoSVNfRVJSKHJpbmcpKSB7CiAJCXJldCA9IFBUUl9FUlIocmluZyk7CiAJCWdvdG8g ZXJyb3JfZGVyZWZfb2JqOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfcmVzZXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMKaW5kZXgg YTcwYzU5MzkwYmY0Li5hY2RiNDE4ZWE4ZGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX3Jlc2V0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf cmVzZXQuYwpAQCAtODUwLDcgKzg1MCw3IEBAIHZvaWQgaTkxNV9nZW1fc2V0X3dlZGdlZChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHN0YXRpYyBib29sIF9faTkxNV9nZW1fdW5zZXRf d2VkZ2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewogCXN0cnVjdCBpOTE1X2dw dV9lcnJvciAqZXJyb3IgPSAmaTkxNS0+Z3B1X2Vycm9yOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5l ICp0bDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsOwogCiAJaWYgKCF0ZXN0X2JpdChJOTE1 X1dFREdFRCwgJmVycm9yLT5mbGFncykpCiAJCXJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDMzNDg0MWZmYmIyNy4uMTVkMmFjOWVh MDIwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVy LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0x MTU2LDcgKzExNTYsNyBAQCBpbnQgaW50ZWxfcmluZ19waW4oc3RydWN0IGludGVsX3JpbmcgKnJp bmcpCiAKIAlHRU1fQlVHX09OKHJpbmctPnZhZGRyKTsKIAotCXJldCA9IGk5MTVfdGltZWxpbmVf cGluKHJpbmctPnRpbWVsaW5lKTsKKwlyZXQgPSBpbnRlbF90aW1lbGluZV9waW4ocmluZy0+dGlt ZWxpbmUpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTExOTEsNyArMTE5MSw3IEBA IGludCBpbnRlbF9yaW5nX3BpbihzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZykKIHVucGluX3Jpbmc6 CiAJaTkxNV92bWFfdW5waW4odm1hKTsKIHVucGluX3RpbWVsaW5lOgotCWk5MTVfdGltZWxpbmVf dW5waW4ocmluZy0+dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX3VucGluKHJpbmctPnRpbWVs aW5lKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xMjIyLDcgKzEyMjIsNyBAQCB2b2lkIGludGVs X3JpbmdfdW5waW4oc3RydWN0IGludGVsX3JpbmcgKnJpbmcpCiAJcmluZy0+dm1hLT5vYmotPnBp bl9nbG9iYWwtLTsKIAlpOTE1X3ZtYV91bnBpbihyaW5nLT52bWEpOwogCi0JaTkxNV90aW1lbGlu ZV91bnBpbihyaW5nLT50aW1lbGluZSk7CisJaW50ZWxfdGltZWxpbmVfdW5waW4ocmluZy0+dGlt ZWxpbmUpOwogfQogCiBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICpjcmVhdGVfcmluZ192bWEoc3Ry dWN0IGk5MTVfZ2d0dCAqZ2d0dCwgaW50IHNpemUpCkBAIC0xMjU4LDcgKzEyNTgsNyBAQCBzdGF0 aWMgc3RydWN0IGk5MTVfdm1hICpjcmVhdGVfcmluZ192bWEoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0 dCwgaW50IHNpemUpCiAKIHN0cnVjdCBpbnRlbF9yaW5nICoKIGludGVsX2VuZ2luZV9jcmVhdGVf cmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCi0JCQkgc3RydWN0IGk5MTVfdGlt ZWxpbmUgKnRpbWVsaW5lLAorCQkJIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUsCiAJ CQkgaW50IHNpemUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBlbmdpbmUt Pmk5MTU7CkBAIC0xMjc0LDcgKzEyNzQsNyBAQCBpbnRlbF9lbmdpbmVfY3JlYXRlX3Jpbmcoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCiAJa3JlZl9pbml0KCZyaW5nLT5yZWYpOwog CUlOSVRfTElTVF9IRUFEKCZyaW5nLT5yZXF1ZXN0X2xpc3QpOwotCXJpbmctPnRpbWVsaW5lID0g aTkxNV90aW1lbGluZV9nZXQodGltZWxpbmUpOworCXJpbmctPnRpbWVsaW5lID0gaW50ZWxfdGlt ZWxpbmVfZ2V0KHRpbWVsaW5lKTsKIAogCXJpbmctPnNpemUgPSBzaXplOwogCS8qIFdvcmthcm91 bmQgYW4gZXJyYXR1bSBvbiB0aGUgaTgzMCB3aGljaCBjYXVzZXMgYSBoYW5nIGlmCkBAIC0xMzA0 LDcgKzEzMDQsNyBAQCB2b2lkIGludGVsX3JpbmdfZnJlZShzdHJ1Y3Qga3JlZiAqcmVmKQogCWk5 MTVfdm1hX2Nsb3NlKHJpbmctPnZtYSk7CiAJaTkxNV92bWFfcHV0KHJpbmctPnZtYSk7CiAKLQlp OTE1X3RpbWVsaW5lX3B1dChyaW5nLT50aW1lbGluZSk7CisJaW50ZWxfdGltZWxpbmVfcHV0KHJp bmctPnRpbWVsaW5lKTsKIAlrZnJlZShyaW5nKTsKIH0KIApAQCAtMjI1OSwxMSArMjI1OSwxMSBA QCBpbnQgaW50ZWxfcmluZ19zdWJtaXNzaW9uX3NldHVwKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKIAogaW50IGludGVsX3Jpbmdfc3VibWlzc2lvbl9pbml0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJ c3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAlzdHJ1Y3QgaW50ZWxfcmluZyAqcmlu ZzsKIAlpbnQgZXJyOwogCi0JdGltZWxpbmUgPSBpOTE1X3RpbWVsaW5lX2NyZWF0ZShlbmdpbmUt Pmd0LCBlbmdpbmUtPnN0YXR1c19wYWdlLnZtYSk7CisJdGltZWxpbmUgPSBpbnRlbF90aW1lbGlu ZV9jcmVhdGUoZW5naW5lLT5ndCwgZW5naW5lLT5zdGF0dXNfcGFnZS52bWEpOwogCWlmIChJU19F UlIodGltZWxpbmUpKSB7CiAJCWVyciA9IFBUUl9FUlIodGltZWxpbmUpOwogCQlnb3RvIGVycjsK QEAgLTIyNzEsNyArMjI3MSw3IEBAIGludCBpbnRlbF9yaW5nX3N1Ym1pc3Npb25faW5pdChzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJR0VNX0JVR19PTih0aW1lbGluZS0+aGFzX2lu aXRpYWxfYnJlYWRjcnVtYik7CiAKIAlyaW5nID0gaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5nKGVu Z2luZSwgdGltZWxpbmUsIDMyICogUEFHRV9TSVpFKTsKLQlpOTE1X3RpbWVsaW5lX3B1dCh0aW1l bGluZSk7CisJaW50ZWxfdGltZWxpbmVfcHV0KHRpbWVsaW5lKTsKIAlpZiAoSVNfRVJSKHJpbmcp KSB7CiAJCWVyciA9IFBUUl9FUlIocmluZyk7CiAJCWdvdG8gZXJyOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfdGltZWxpbmUuYwpzaW1pbGFyaXR5IGluZGV4IDgyJQpyZW5hbWUgZnJvbSBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmMKaW5kZXggM2UyYzMxNjlkYzY5Li4xYTNmMDQ0NTg3 MzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5jCkBAIC0xMCwxMiArMTAs MTIgQEAKIAogI2luY2x1ZGUgImk5MTVfYWN0aXZlLmgiCiAjaW5jbHVkZSAiaTkxNV9zeW5jbWFw LmgiCi0jaW5jbHVkZSAiaTkxNV90aW1lbGluZS5oIgorI2luY2x1ZGUgImd0L2ludGVsX3RpbWVs aW5lLmgiCiAKICNkZWZpbmUgcHRyX3NldF9iaXQocHRyLCBiaXQpICgodHlwZW9mKHB0cikpKCh1 bnNpZ25lZCBsb25nKShwdHIpIHwgQklUKGJpdCkpKQogI2RlZmluZSBwdHJfdGVzdF9iaXQocHRy LCBiaXQpICgodW5zaWduZWQgbG9uZykocHRyKSAmIEJJVChiaXQpKQogCi1zdHJ1Y3QgaTkxNV90 aW1lbGluZV9od3NwIHsKK3N0cnVjdCBpbnRlbF90aW1lbGluZV9od3NwIHsKIAlzdHJ1Y3QgaW50 ZWxfZ3QgKmd0OwogCXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3RfdGltZWxpbmVzOwogCXN0 cnVjdCBsaXN0X2hlYWQgZnJlZV9saW5rOwpAQCAtMjMsOSArMjMsOSBAQCBzdHJ1Y3QgaTkxNV90 aW1lbGluZV9od3NwIHsKIAl1NjQgZnJlZV9iaXRtYXA7CiB9OwogCi1zdHJ1Y3QgaTkxNV90aW1l bGluZV9jYWNoZWxpbmUgeworc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSB7CiAJc3Ry dWN0IGk5MTVfYWN0aXZlIGFjdGl2ZTsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9od3NwICpod3Nw OworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9od3NwICpod3NwOwogCXZvaWQgKnZhZGRyOwogI2Rl ZmluZSBDQUNIRUxJTkVfQklUUyA2CiAjZGVmaW5lIENBQ0hFTElORV9GUkVFIENBQ0hFTElORV9C SVRTCkBAIC01MSwxMCArNTEsMTAgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3ZtYSAqX19od3NwX2Fs bG9jKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKgot aHdzcF9hbGxvYyhzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUsIHVuc2lnbmVkIGludCAq Y2FjaGVsaW5lKQoraHdzcF9hbGxvYyhzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lLCB1 bnNpZ25lZCBpbnQgKmNhY2hlbGluZSkKIHsKIAlzdHJ1Y3QgaTkxNV9ndF90aW1lbGluZXMgKmd0 ID0gJnRpbWVsaW5lLT5ndC0+dGltZWxpbmVzOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lX2h3c3Ag Kmh3c3A7CisJc3RydWN0IGludGVsX3RpbWVsaW5lX2h3c3AgKmh3c3A7CiAKIAlCVUlMRF9CVUdf T04oQklUU19QRVJfVFlQRSh1NjQpICogQ0FDSEVMSU5FX0JZVEVTID4gUEFHRV9TSVpFKTsKIApA QCAtMTAwLDcgKzEwMCw3IEBAIGh3c3BfYWxsb2Moc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVs aW5lLCB1bnNpZ25lZCBpbnQgKmNhY2hlbGluZSkKIAlyZXR1cm4gaHdzcC0+dm1hOwogfQogCi1z dGF0aWMgdm9pZCBfX2lkbGVfaHdzcF9mcmVlKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2h3c3AgKmh3 c3AsIGludCBjYWNoZWxpbmUpCitzdGF0aWMgdm9pZCBfX2lkbGVfaHdzcF9mcmVlKHN0cnVjdCBp bnRlbF90aW1lbGluZV9od3NwICpod3NwLCBpbnQgY2FjaGVsaW5lKQogewogCXN0cnVjdCBpOTE1 X2d0X3RpbWVsaW5lcyAqZ3QgPSBod3NwLT5ndF90aW1lbGluZXM7CiAJdW5zaWduZWQgbG9uZyBm bGFnczsKQEAgLTEyNCw3ICsxMjQsNyBAQCBzdGF0aWMgdm9pZCBfX2lkbGVfaHdzcF9mcmVlKHN0 cnVjdCBpOTE1X3RpbWVsaW5lX2h3c3AgKmh3c3AsIGludCBjYWNoZWxpbmUpCiAJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmZ3QtPmh3c3BfbG9jaywgZmxhZ3MpOwogfQogCi1zdGF0aWMgdm9pZCBf X2lkbGVfY2FjaGVsaW5lX2ZyZWUoc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkK K3N0YXRpYyB2b2lkIF9faWRsZV9jYWNoZWxpbmVfZnJlZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmVf Y2FjaGVsaW5lICpjbCkKIHsKIAlHRU1fQlVHX09OKCFpOTE1X2FjdGl2ZV9pc19pZGxlKCZjbC0+ YWN0aXZlKSk7CiAKQEAgLTEzOCw3ICsxMzgsNyBAQCBzdGF0aWMgdm9pZCBfX2lkbGVfY2FjaGVs aW5lX2ZyZWUoc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkKIAogc3RhdGljIHZv aWQgX19jYWNoZWxpbmVfcmV0aXJlKHN0cnVjdCBpOTE1X2FjdGl2ZSAqYWN0aXZlKQogewotCXN0 cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqY2wgPQorCXN0cnVjdCBpbnRlbF90aW1lbGlu ZV9jYWNoZWxpbmUgKmNsID0KIAkJY29udGFpbmVyX29mKGFjdGl2ZSwgdHlwZW9mKCpjbCksIGFj dGl2ZSk7CiAKIAlpOTE1X3ZtYV91bnBpbihjbC0+aHdzcC0+dm1hKTsKQEAgLTE0NiwxMCArMTQ2 LDEwIEBAIHN0YXRpYyB2b2lkIF9fY2FjaGVsaW5lX3JldGlyZShzdHJ1Y3QgaTkxNV9hY3RpdmUg KmFjdGl2ZSkKIAkJX19pZGxlX2NhY2hlbGluZV9mcmVlKGNsKTsKIH0KIAotc3RhdGljIHN0cnVj dCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqCi1jYWNoZWxpbmVfYWxsb2Moc3RydWN0IGk5MTVf dGltZWxpbmVfaHdzcCAqaHdzcCwgdW5zaWduZWQgaW50IGNhY2hlbGluZSkKK3N0YXRpYyBzdHJ1 Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICoKK2NhY2hlbGluZV9hbGxvYyhzdHJ1Y3QgaW50 ZWxfdGltZWxpbmVfaHdzcCAqaHdzcCwgdW5zaWduZWQgaW50IGNhY2hlbGluZSkKIHsKLQlzdHJ1 Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsOworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9j YWNoZWxpbmUgKmNsOwogCXZvaWQgKnZhZGRyOwogCiAJR0VNX0JVR19PTihjYWNoZWxpbmUgPj0g QklUKENBQ0hFTElORV9CSVRTKSk7CkBAIC0xNzMsMTkgKzE3MywxOSBAQCBjYWNoZWxpbmVfYWxs b2Moc3RydWN0IGk5MTVfdGltZWxpbmVfaHdzcCAqaHdzcCwgdW5zaWduZWQgaW50IGNhY2hlbGlu ZSkKIAlyZXR1cm4gY2w7CiB9CiAKLXN0YXRpYyB2b2lkIGNhY2hlbGluZV9hY3F1aXJlKHN0cnVj dCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqY2wpCitzdGF0aWMgdm9pZCBjYWNoZWxpbmVfYWNx dWlyZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkKIHsKIAlpZiAoY2wgJiYg aTkxNV9hY3RpdmVfYWNxdWlyZSgmY2wtPmFjdGl2ZSkpCiAJCV9faTkxNV92bWFfcGluKGNsLT5o d3NwLT52bWEpOwogfQogCi1zdGF0aWMgdm9pZCBjYWNoZWxpbmVfcmVsZWFzZShzdHJ1Y3QgaTkx NV90aW1lbGluZV9jYWNoZWxpbmUgKmNsKQorc3RhdGljIHZvaWQgY2FjaGVsaW5lX3JlbGVhc2Uo c3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqY2wpCiB7CiAJaWYgKGNsKQogCQlpOTE1 X2FjdGl2ZV9yZWxlYXNlKCZjbC0+YWN0aXZlKTsKIH0KIAotc3RhdGljIHZvaWQgY2FjaGVsaW5l X2ZyZWUoc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkKK3N0YXRpYyB2b2lkIGNh Y2hlbGluZV9mcmVlKHN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKmNsKQogewogCUdF TV9CVUdfT04ocHRyX3Rlc3RfYml0KGNsLT52YWRkciwgQ0FDSEVMSU5FX0ZSRUUpKTsKIAljbC0+ dmFkZHIgPSBwdHJfc2V0X2JpdChjbC0+dmFkZHIsIENBQ0hFTElORV9GUkVFKTsKQEAgLTE5NCw5 ICsxOTQsOSBAQCBzdGF0aWMgdm9pZCBjYWNoZWxpbmVfZnJlZShzdHJ1Y3QgaTkxNV90aW1lbGlu ZV9jYWNoZWxpbmUgKmNsKQogCQlfX2lkbGVfY2FjaGVsaW5lX2ZyZWUoY2wpOwogfQogCi1pbnQg aTkxNV90aW1lbGluZV9pbml0KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSwKLQkJICAg ICAgIHN0cnVjdCBpbnRlbF9ndCAqZ3QsCi0JCSAgICAgICBzdHJ1Y3QgaTkxNV92bWEgKmh3c3Ap CitpbnQgaW50ZWxfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5l LAorCQkJc3RydWN0IGludGVsX2d0ICpndCwKKwkJCXN0cnVjdCBpOTE1X3ZtYSAqaHdzcCkKIHsK IAl2b2lkICp2YWRkcjsKIApAQCAtMjE2LDcgKzIxNiw3IEBAIGludCBpOTE1X3RpbWVsaW5lX2lu aXQoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lLAogCXRpbWVsaW5lLT5od3NwX2NhY2hl bGluZSA9IE5VTEw7CiAKIAlpZiAoIWh3c3ApIHsKLQkJc3RydWN0IGk5MTVfdGltZWxpbmVfY2Fj aGVsaW5lICpjbDsKKwkJc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqY2w7CiAJCXVu c2lnbmVkIGludCBjYWNoZWxpbmU7CiAKIAkJaHdzcCA9IGh3c3BfYWxsb2ModGltZWxpbmUsICZj YWNoZWxpbmUpOwpAQCAtMjczLDEyICsyNzMsMTIgQEAgc3RhdGljIHZvaWQgdGltZWxpbmVzX2lu aXQoc3RydWN0IGludGVsX2d0ICpndCkKIAlpOTE1X2dlbV9zaHJpbmtlcl90YWludHNfbXV0ZXgo Z3QtPmk5MTUsICZ0aW1lbGluZXMtPm11dGV4KTsKIH0KIAotdm9pZCBpOTE1X3RpbWVsaW5lc19p bml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQordm9pZCBpbnRlbF90aW1lbGluZXNf aW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKIAl0aW1lbGluZXNfaW5pdCgm aTkxNS0+Z3QpOwogfQogCi1zdGF0aWMgdm9pZCB0aW1lbGluZV9hZGRfdG9fYWN0aXZlKHN0cnVj dCBpOTE1X3RpbWVsaW5lICp0bCkKK3N0YXRpYyB2b2lkIHRpbWVsaW5lX2FkZF90b19hY3RpdmUo c3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAlzdHJ1Y3QgaTkxNV9ndF90aW1lbGluZXMg Kmd0ID0gJnRsLT5ndC0+dGltZWxpbmVzOwogCkBAIC0yODcsNyArMjg3LDcgQEAgc3RhdGljIHZv aWQgdGltZWxpbmVfYWRkX3RvX2FjdGl2ZShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCiAJbXV0 ZXhfdW5sb2NrKCZndC0+bXV0ZXgpOwogfQogCi1zdGF0aWMgdm9pZCB0aW1lbGluZV9yZW1vdmVf ZnJvbV9hY3RpdmUoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQorc3RhdGljIHZvaWQgdGltZWxp bmVfcmVtb3ZlX2Zyb21fYWN0aXZlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJc3Ry dWN0IGk5MTVfZ3RfdGltZWxpbmVzICpndCA9ICZ0bC0+Z3QtPnRpbWVsaW5lczsKIApAQCAtMjk5 LDcgKzI5OSw3IEBAIHN0YXRpYyB2b2lkIHRpbWVsaW5lX3JlbW92ZV9mcm9tX2FjdGl2ZShzdHJ1 Y3QgaTkxNV90aW1lbGluZSAqdGwpCiBzdGF0aWMgdm9pZCB0aW1lbGluZXNfcGFyayhzdHJ1Y3Qg aW50ZWxfZ3QgKmd0KQogewogCXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqdGltZWxpbmVzID0g Jmd0LT50aW1lbGluZXM7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lOworCXN0cnVj dCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmU7CiAKIAltdXRleF9sb2NrKCZ0aW1lbGluZXMtPm11 dGV4KTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRpbWVsaW5lLCAmdGltZWxpbmVzLT5hY3RpdmVf bGlzdCwgbGluaykgewpAQCAtMzE1LDcgKzMxNSw3IEBAIHN0YXRpYyB2b2lkIHRpbWVsaW5lc19w YXJrKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiB9CiAKIC8qKgotICogaTkxNV90aW1lbGluZXNfcGFy ayAtIGNhbGxlZCB3aGVuIHRoZSBkcml2ZXIgaWRsZXMKKyAqIGludGVsX3RpbWVsaW5lc19wYXJr IC0gY2FsbGVkIHdoZW4gdGhlIGRyaXZlciBpZGxlcwogICogQGk5MTU6IHRoZSBkcm1faTkxNV9w cml2YXRlIGRldmljZQogICoKICAqIFdoZW4gdGhlIGRyaXZlciBpcyBjb21wbGV0ZWx5IGlkbGUs IHdlIGtub3cgdGhhdCBhbGwgb2Ygb3VyIHN5bmMgcG9pbnRzCkBAIC0zMjQsMTIgKzMyNCwxMiBA QCBzdGF0aWMgdm9pZCB0aW1lbGluZXNfcGFyayhzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogICogdGhl IGZlbmNlIGlzIHNpZ25hbGVkIGFuZCB0aGVyZWZvcmUgd2Ugd2lsbCBub3QgZXZlbiBsb29rIHRo ZW0gdXAgaW4gdGhlCiAgKiBzeW5jIHBvaW50IG1hcC4KICAqLwotdm9pZCBpOTE1X3RpbWVsaW5l c19wYXJrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQordm9pZCBpbnRlbF90aW1lbGlu ZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKIAl0aW1lbGluZXNfcGFy aygmaTkxNS0+Z3QpOwogfQogCi12b2lkIGk5MTVfdGltZWxpbmVfZmluaShzdHJ1Y3QgaTkxNV90 aW1lbGluZSAqdGltZWxpbmUpCit2b2lkIGludGVsX3RpbWVsaW5lX2Zpbmkoc3RydWN0IGludGVs X3RpbWVsaW5lICp0aW1lbGluZSkKIHsKIAlHRU1fQlVHX09OKHRpbWVsaW5lLT5waW5fY291bnQp OwogCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJnRpbWVsaW5lLT5yZXF1ZXN0cykpOwpAQCAtMzQ0 LDE3ICszNDQsMTcgQEAgdm9pZCBpOTE1X3RpbWVsaW5lX2Zpbmkoc3RydWN0IGk5MTVfdGltZWxp bmUgKnRpbWVsaW5lKQogCWk5MTVfdm1hX3B1dCh0aW1lbGluZS0+aHdzcF9nZ3R0KTsKIH0KIAot c3RydWN0IGk5MTVfdGltZWxpbmUgKgotaTkxNV90aW1lbGluZV9jcmVhdGUoc3RydWN0IGludGVs X2d0ICpndCwgc3RydWN0IGk5MTVfdm1hICpnbG9iYWxfaHdzcCkKK3N0cnVjdCBpbnRlbF90aW1l bGluZSAqCitpbnRlbF90aW1lbGluZV9jcmVhdGUoc3RydWN0IGludGVsX2d0ICpndCwgc3RydWN0 IGk5MTVfdm1hICpnbG9iYWxfaHdzcCkKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxp bmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAlpbnQgZXJyOwogCiAJdGlt ZWxpbmUgPSBremFsbG9jKHNpemVvZigqdGltZWxpbmUpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXRp bWVsaW5lKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCWVyciA9IGk5MTVfdGltZWxp bmVfaW5pdCh0aW1lbGluZSwgZ3QsIGdsb2JhbF9od3NwKTsKKwllcnIgPSBpbnRlbF90aW1lbGlu ZV9pbml0KHRpbWVsaW5lLCBndCwgZ2xvYmFsX2h3c3ApOwogCWlmIChlcnIpIHsKIAkJa2ZyZWUo dGltZWxpbmUpOwogCQlyZXR1cm4gRVJSX1BUUihlcnIpOwpAQCAtMzY1LDcgKzM2NSw3IEBAIGk5 MTVfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndCAqZ3QsIHN0cnVjdCBpOTE1X3ZtYSAq Z2xvYmFsX2h3c3ApCiAJcmV0dXJuIHRpbWVsaW5lOwogfQogCi1pbnQgaTkxNV90aW1lbGluZV9w aW4oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQoraW50IGludGVsX3RpbWVsaW5lX3BpbihzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQogewogCWludCBlcnI7CiAKQEAgLTM5MSw3ICszOTEsNyBA QCBpbnQgaTkxNV90aW1lbGluZV9waW4oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQogCXJldHVy biBlcnI7CiB9CiAKLXN0YXRpYyB1MzIgdGltZWxpbmVfYWR2YW5jZShzdHJ1Y3QgaTkxNV90aW1l bGluZSAqdGwpCitzdGF0aWMgdTMyIHRpbWVsaW5lX2FkdmFuY2Uoc3RydWN0IGludGVsX3RpbWVs aW5lICp0bCkKIHsKIAlHRU1fQlVHX09OKCF0bC0+cGluX2NvdW50KTsKIAlHRU1fQlVHX09OKHRs LT5zZXFubyAmIHRsLT5oYXNfaW5pdGlhbF9icmVhZGNydW1iKTsKQEAgLTM5OSwxNyArMzk5LDE3 IEBAIHN0YXRpYyB1MzIgdGltZWxpbmVfYWR2YW5jZShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwp CiAJcmV0dXJuIHRsLT5zZXFubyArPSAxICsgdGwtPmhhc19pbml0aWFsX2JyZWFkY3J1bWI7CiB9 CiAKLXN0YXRpYyB2b2lkIHRpbWVsaW5lX3JvbGxiYWNrKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0 bCkKK3N0YXRpYyB2b2lkIHRpbWVsaW5lX3JvbGxiYWNrKHN0cnVjdCBpbnRlbF90aW1lbGluZSAq dGwpCiB7CiAJdGwtPnNlcW5vIC09IDEgKyB0bC0+aGFzX2luaXRpYWxfYnJlYWRjcnVtYjsKIH0K IAogc3RhdGljIG5vaW5saW5lIGludAotX19pOTE1X3RpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3Qg aTkxNV90aW1lbGluZSAqdGwsCi0JCQkgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAotCQkJICB1 MzIgKnNlcW5vKQorX19pbnRlbF90aW1lbGluZV9nZXRfc2Vxbm8oc3RydWN0IGludGVsX3RpbWVs aW5lICp0bCwKKwkJCSAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAorCQkJICAgdTMyICpzZXFu bykKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsOworCXN0cnVjdCBpbnRl bF90aW1lbGluZV9jYWNoZWxpbmUgKmNsOwogCXVuc2lnbmVkIGludCBjYWNoZWxpbmU7CiAJc3Ry dWN0IGk5MTVfdm1hICp2bWE7CiAJdm9pZCAqdmFkZHI7CkBAIC00OTUsMzEgKzQ5NSwzMSBAQCBf X2k5MTVfdGltZWxpbmVfZ2V0X3NlcW5vKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKIAlyZXR1 cm4gZXJyOwogfQogCi1pbnQgaTkxNV90aW1lbGluZV9nZXRfc2Vxbm8oc3RydWN0IGk5MTVfdGlt ZWxpbmUgKnRsLAotCQkJICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAotCQkJICAgIHUzMiAq c2Vxbm8pCitpbnQgaW50ZWxfdGltZWxpbmVfZ2V0X3NlcW5vKHN0cnVjdCBpbnRlbF90aW1lbGlu ZSAqdGwsCisJCQkgICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAorCQkJICAgICB1MzIgKnNl cW5vKQogewogCSpzZXFubyA9IHRpbWVsaW5lX2FkdmFuY2UodGwpOwogCiAJLyogUmVwbGFjZSB0 aGUgSFdTUCBvbiB3cmFwYXJvdW5kIGZvciBIVyBzZW1hcGhvcmVzICovCiAJaWYgKHVubGlrZWx5 KCEqc2Vxbm8gJiYgdGwtPmh3c3BfY2FjaGVsaW5lKSkKLQkJcmV0dXJuIF9faTkxNV90aW1lbGlu ZV9nZXRfc2Vxbm8odGwsIHJxLCBzZXFubyk7CisJCXJldHVybiBfX2ludGVsX3RpbWVsaW5lX2dl dF9zZXFubyh0bCwgcnEsIHNlcW5vKTsKIAogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNh Y2hlbGluZV9yZWYoc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCwKK3N0YXRpYyBp bnQgY2FjaGVsaW5lX3JlZihzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbCwKIAkJ CSBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKIAlyZXR1cm4gaTkxNV9hY3RpdmVfcmVmKCZj bC0+YWN0aXZlLCBycS0+ZmVuY2UuY29udGV4dCwgcnEpOwogfQogCi1pbnQgaTkxNV90aW1lbGlu ZV9yZWFkX2h3c3Aoc3RydWN0IGk5MTVfcmVxdWVzdCAqZnJvbSwKLQkJCSAgICBzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICp0bywKLQkJCSAgICB1MzIgKmh3c3ApCitpbnQgaW50ZWxfdGltZWxpbmVfcmVh ZF9od3NwKHN0cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCisJCQkgICAgIHN0cnVjdCBpOTE1X3Jl cXVlc3QgKnRvLAorCQkJICAgICB1MzIgKmh3c3ApCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmVf Y2FjaGVsaW5lICpjbCA9IGZyb20tPmh3c3BfY2FjaGVsaW5lOwotCXN0cnVjdCBpOTE1X3RpbWVs aW5lICp0bCA9IGZyb20tPnRpbWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxp bmUgKmNsID0gZnJvbS0+aHdzcF9jYWNoZWxpbmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0 bCA9IGZyb20tPnRpbWVsaW5lOwogCWludCBlcnI7CiAKIAlHRU1fQlVHX09OKHRvLT50aW1lbGlu ZSA9PSB0bCk7CkBAIC01NDIsNyArNTQyLDcgQEAgaW50IGk5MTVfdGltZWxpbmVfcmVhZF9od3Nw KHN0cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCiAJcmV0dXJuIGVycjsKIH0KIAotdm9pZCBpOTE1 X3RpbWVsaW5lX3VucGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKK3ZvaWQgaW50ZWxfdGlt ZWxpbmVfdW5waW4oc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAlHRU1fQlVHX09OKCF0 bC0+cGluX2NvdW50KTsKIAlpZiAoLS10bC0+cGluX2NvdW50KQpAQCAtNTYxLDEyICs1NjEsMTIg QEAgdm9pZCBpOTE1X3RpbWVsaW5lX3VucGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKIAlf X2k5MTVfdm1hX3VucGluKHRsLT5od3NwX2dndHQpOwogfQogCi12b2lkIF9faTkxNV90aW1lbGlu ZV9mcmVlKHN0cnVjdCBrcmVmICprcmVmKQordm9pZCBfX2ludGVsX3RpbWVsaW5lX2ZyZWUoc3Ry dWN0IGtyZWYgKmtyZWYpCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lID0KKwlz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lID0KIAkJY29udGFpbmVyX29mKGtyZWYsIHR5 cGVvZigqdGltZWxpbmUpLCBrcmVmKTsKIAotCWk5MTVfdGltZWxpbmVfZmluaSh0aW1lbGluZSk7 CisJaW50ZWxfdGltZWxpbmVfZmluaSh0aW1lbGluZSk7CiAJa2ZyZWUodGltZWxpbmUpOwogfQog CkBAIC01ODAsMTIgKzU4MCwxMiBAQCBzdGF0aWMgdm9pZCB0aW1lbGluZXNfZmluaShzdHJ1Y3Qg aW50ZWxfZ3QgKmd0KQogCW11dGV4X2Rlc3Ryb3koJnRpbWVsaW5lcy0+bXV0ZXgpOwogfQogCi12 b2lkIGk5MTVfdGltZWxpbmVzX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit2 b2lkIGludGVsX3RpbWVsaW5lc19maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQog ewogCXRpbWVsaW5lc19maW5pKCZpOTE1LT5ndCk7CiB9CiAKICNpZiBJU19FTkFCTEVEKENPTkZJ R19EUk1fSTkxNV9TRUxGVEVTVCkKLSNpbmNsdWRlICJzZWxmdGVzdHMvbW9ja190aW1lbGluZS5j IgotI2luY2x1ZGUgInNlbGZ0ZXN0cy9pOTE1X3RpbWVsaW5lLmMiCisjaW5jbHVkZSAiZ3Qvc2Vs ZnRlc3RzL21vY2tfdGltZWxpbmUuYyIKKyNpbmNsdWRlICJndC9zZWxmdGVzdF90aW1lbGluZS5j IgogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1l bGluZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmUwOGNlYmY2NDgzMwotLS0gL2Rldi9u dWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmgKQEAgLTAs MCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDE2IEludGVsIENvcnBvcmF0aW9uCisg KgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu eSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2Np YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGlu IHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1p dGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz aCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg U29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUg aXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u czoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u IG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1 ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0 d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJV VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4g Tk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRI RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwor ICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhF IFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworCisj aWZuZGVmIEk5MTVfVElNRUxJTkVfSAorI2RlZmluZSBJOTE1X1RJTUVMSU5FX0gKKworI2luY2x1 ZGUgPGxpbnV4L2xvY2tkZXAuaD4KKworI2luY2x1ZGUgImk5MTVfYWN0aXZlLmgiCisjaW5jbHVk ZSAiaTkxNV9zeW5jbWFwLmgiCisjaW5jbHVkZSAiZ3QvaW50ZWxfdGltZWxpbmVfdHlwZXMuaCIK KworaW50IGludGVsX3RpbWVsaW5lX2luaXQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKKwkJ CXN0cnVjdCBpbnRlbF9ndCAqZ3QsCisJCQlzdHJ1Y3QgaTkxNV92bWEgKmh3c3ApOwordm9pZCBp bnRlbF90aW1lbGluZV9maW5pKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpOworCitzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKgoraW50ZWxfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndCAq Z3QsIHN0cnVjdCBpOTE1X3ZtYSAqZ2xvYmFsX2h3c3ApOworCitzdGF0aWMgaW5saW5lIHN0cnVj dCBpbnRlbF90aW1lbGluZSAqCitpbnRlbF90aW1lbGluZV9nZXQoc3RydWN0IGludGVsX3RpbWVs aW5lICp0aW1lbGluZSkKK3sKKwlrcmVmX2dldCgmdGltZWxpbmUtPmtyZWYpOworCXJldHVybiB0 aW1lbGluZTsKK30KKwordm9pZCBfX2ludGVsX3RpbWVsaW5lX2ZyZWUoc3RydWN0IGtyZWYgKmty ZWYpOworc3RhdGljIGlubGluZSB2b2lkIGludGVsX3RpbWVsaW5lX3B1dChzdHJ1Y3QgaW50ZWxf dGltZWxpbmUgKnRpbWVsaW5lKQoreworCWtyZWZfcHV0KCZ0aW1lbGluZS0+a3JlZiwgX19pbnRl bF90aW1lbGluZV9mcmVlKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgX19pbnRlbF90aW1lbGlu ZV9zeW5jX3NldChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLAorCQkJCQkgICAgdTY0IGNvbnRl eHQsIHUzMiBzZXFubykKK3sKKwlyZXR1cm4gaTkxNV9zeW5jbWFwX3NldCgmdGwtPnN5bmMsIGNv bnRleHQsIHNlcW5vKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgaW50ZWxfdGltZWxpbmVfc3lu Y19zZXQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKKwkJCQkJICBjb25zdCBzdHJ1Y3QgZG1h X2ZlbmNlICpmZW5jZSkKK3sKKwlyZXR1cm4gX19pbnRlbF90aW1lbGluZV9zeW5jX3NldCh0bCwg ZmVuY2UtPmNvbnRleHQsIGZlbmNlLT5zZXFubyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBf X2ludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwK KwkJCQkJCSAgdTY0IGNvbnRleHQsIHUzMiBzZXFubykKK3sKKwlyZXR1cm4gaTkxNV9zeW5jbWFw X2lzX2xhdGVyKCZ0bC0+c3luYywgY29udGV4dCwgc2Vxbm8pOworfQorCitzdGF0aWMgaW5saW5l IGJvb2wgaW50ZWxfdGltZWxpbmVfc3luY19pc19sYXRlcihzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg KnRsLAorCQkJCQkJY29uc3Qgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpCit7CisJcmV0dXJuIF9f aW50ZWxfdGltZWxpbmVfc3luY19pc19sYXRlcih0bCwgZmVuY2UtPmNvbnRleHQsIGZlbmNlLT5z ZXFubyk7Cit9CisKK2ludCBpbnRlbF90aW1lbGluZV9waW4oc3RydWN0IGludGVsX3RpbWVsaW5l ICp0bCk7CitpbnQgaW50ZWxfdGltZWxpbmVfZ2V0X3NlcW5vKHN0cnVjdCBpbnRlbF90aW1lbGlu ZSAqdGwsCisJCQkgICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAorCQkJICAgICB1MzIgKnNl cW5vKTsKK3ZvaWQgaW50ZWxfdGltZWxpbmVfdW5waW4oc3RydWN0IGludGVsX3RpbWVsaW5lICp0 bCk7CisKK2ludCBpbnRlbF90aW1lbGluZV9yZWFkX2h3c3Aoc3RydWN0IGk5MTVfcmVxdWVzdCAq ZnJvbSwKKwkJCSAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqdW50aWwsCisJCQkgICAgIHUzMiAq aHdzcF9vZmZzZXQpOworCit2b2lkIGludGVsX3RpbWVsaW5lc19pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KTsKK3ZvaWQgaW50ZWxfdGltZWxpbmVzX3Bhcmsoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpOwordm9pZCBpbnRlbF90aW1lbGluZXNfZmluaShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV90aW1lbGluZV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfdGltZWxpbmVfdHlwZXMuaApzaW1pbGFyaXR5IGluZGV4IDkzJQpyZW5hbWUgZnJvbSBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lX3R5cGVzLmgKcmVuYW1lIHRvIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lX3R5cGVzLmgKaW5kZXggOTMxNTg1ZTEy ZDQxLi45YTcxYWVhN2EzMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dGltZWxpbmVfdHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1l bGluZV90eXBlcy5oCkBAIC0xNiwxMCArMTYsMTAgQEAKIAogc3RydWN0IGRybV9pOTE1X3ByaXZh dGU7CiBzdHJ1Y3QgaTkxNV92bWE7Ci1zdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmU7Citz dHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lOwogc3RydWN0IGk5MTVfc3luY21hcDsKIAot c3RydWN0IGk5MTVfdGltZWxpbmUgeworc3RydWN0IGludGVsX3RpbWVsaW5lIHsKIAl1NjQgZmVu Y2VfY29udGV4dDsKIAl1MzIgc2Vxbm87CiAKQEAgLTMwLDcgKzMwLDcgQEAgc3RydWN0IGk5MTVf dGltZWxpbmUgewogCXN0cnVjdCBpOTE1X3ZtYSAqaHdzcF9nZ3R0OwogCXUzMiBod3NwX29mZnNl dDsKIAotCXN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqaHdzcF9jYWNoZWxpbmU7CisJ c3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqaHdzcF9jYWNoZWxpbmU7CiAKIAlib29s IGhhc19pbml0aWFsX2JyZWFkY3J1bWI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L21vY2tfZW5naW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2lu ZS5jCmluZGV4IGI4MGVjMGY1MzExMS4uNDYzY2NiMzc3N2M4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L21vY2tfZW5naW5lLmMKQEAgLTMzLDE1ICszMywxNSBAQAogCiBzdHJ1Y3QgbW9ja19yaW5n IHsKIAlzdHJ1Y3QgaW50ZWxfcmluZyBiYXNlOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lIHRpbWVs aW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSB0aW1lbGluZTsKIH07CiAKLXN0YXRpYyB2b2lk IG1vY2tfdGltZWxpbmVfcGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKK3N0YXRpYyB2b2lk IG1vY2tfdGltZWxpbmVfcGluKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJdGwtPnBp bl9jb3VudCsrOwogfQogCi1zdGF0aWMgdm9pZCBtb2NrX3RpbWVsaW5lX3VucGluKHN0cnVjdCBp OTE1X3RpbWVsaW5lICp0bCkKK3N0YXRpYyB2b2lkIG1vY2tfdGltZWxpbmVfdW5waW4oc3RydWN0 IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAlHRU1fQlVHX09OKCF0bC0+cGluX2NvdW50KTsKIAl0 bC0+cGluX2NvdW50LS07CkBAIC01Niw3ICs1Niw3IEBAIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfcmlu ZyAqbW9ja19yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlpZiAoIXJpbmcp CiAJCXJldHVybiBOVUxMOwogCi0JaWYgKGk5MTVfdGltZWxpbmVfaW5pdCgmcmluZy0+dGltZWxp bmUsIGVuZ2luZS0+Z3QsIE5VTEwpKSB7CisJaWYgKGludGVsX3RpbWVsaW5lX2luaXQoJnJpbmct PnRpbWVsaW5lLCBlbmdpbmUtPmd0LCBOVUxMKSkgewogCQlrZnJlZShyaW5nKTsKIAkJcmV0dXJu IE5VTEw7CiAJfQpAQCAtNzcsNyArNzcsNyBAQCBzdGF0aWMgdm9pZCBtb2NrX3JpbmdfZnJlZShz dHJ1Y3QgaW50ZWxfcmluZyAqYmFzZSkKIHsKIAlzdHJ1Y3QgbW9ja19yaW5nICpyaW5nID0gY29u dGFpbmVyX29mKGJhc2UsIHR5cGVvZigqcmluZyksIGJhc2UpOwogCi0JaTkxNV90aW1lbGluZV9m aW5pKCZyaW5nLT50aW1lbGluZSk7CisJaW50ZWxfdGltZWxpbmVfZmluaSgmcmluZy0+dGltZWxp bmUpOwogCWtmcmVlKHJpbmcpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV90aW1lbGluZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2Vs ZnRlc3RfdGltZWxpbmUuYwpzaW1pbGFyaXR5IGluZGV4IDg3JQpyZW5hbWUgZnJvbSBkcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV90aW1lbGluZS5jCnJlbmFtZSB0byBkcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF90aW1lbGluZS5jCmluZGV4IDllYjRlOWFiODU1Ny4u MTI0NzcwZDgzMzA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aTkxNV90aW1lbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3Rp bWVsaW5lLmMKQEAgLTgsMTQgKzgsMTQgQEAKIAogI2luY2x1ZGUgImdlbS9pOTE1X2dlbV9wbS5o IgogCi0jaW5jbHVkZSAiaTkxNV9yYW5kb20uaCIKLSNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0Lmgi CisjaW5jbHVkZSAiLi4vc2VsZnRlc3RzL2k5MTVfcmFuZG9tLmgiCisjaW5jbHVkZSAiLi4vaTkx NV9zZWxmdGVzdC5oIgogCi0jaW5jbHVkZSAiaWd0X2ZsdXNoX3Rlc3QuaCIKLSNpbmNsdWRlICJt b2NrX2dlbV9kZXZpY2UuaCIKLSNpbmNsdWRlICJtb2NrX3RpbWVsaW5lLmgiCisjaW5jbHVkZSAi Li4vc2VsZnRlc3RzL2lndF9mbHVzaF90ZXN0LmgiCisjaW5jbHVkZSAiLi4vc2VsZnRlc3RzL21v Y2tfZ2VtX2RldmljZS5oIgorI2luY2x1ZGUgInNlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmgiCiAK LXN0YXRpYyBzdHJ1Y3QgcGFnZSAqaHdzcF9wYWdlKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkK K3N0YXRpYyBzdHJ1Y3QgcGFnZSAqaHdzcF9wYWdlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwp CiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IHRsLT5od3NwX2dndHQtPm9i ajsKIApAQCAtMjMsNyArMjMsNyBAQCBzdGF0aWMgc3RydWN0IHBhZ2UgKmh3c3BfcGFnZShzdHJ1 Y3QgaTkxNV90aW1lbGluZSAqdGwpCiAJcmV0dXJuIHNnX3BhZ2Uob2JqLT5tbS5wYWdlcy0+c2ds KTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgaHdzcF9jYWNoZWxpbmUoc3RydWN0IGk5MTVf dGltZWxpbmUgKnRsKQorc3RhdGljIHVuc2lnbmVkIGxvbmcgaHdzcF9jYWNoZWxpbmUoc3RydWN0 IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAl1bnNpZ25lZCBsb25nIGFkZHJlc3MgPSAodW5zaWdu ZWQgbG9uZylwYWdlX2FkZHJlc3MoaHdzcF9wYWdlKHRsKSk7CiAKQEAgLTM1LDcgKzM1LDcgQEAg c3RhdGljIHVuc2lnbmVkIGxvbmcgaHdzcF9jYWNoZWxpbmUoc3RydWN0IGk5MTVfdGltZWxpbmUg KnRsKQogc3RydWN0IG1vY2tfaHdzcF9mcmVlbGlzdCB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTU7CiAJc3RydWN0IHJhZGl4X3RyZWVfcm9vdCBjYWNoZWxpbmVzOwotCXN0cnVjdCBp OTE1X3RpbWVsaW5lICoqaGlzdG9yeTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKipoaXN0b3J5 OwogCXVuc2lnbmVkIGxvbmcgY291bnQsIG1heDsKIAlzdHJ1Y3Qgcm5kX3N0YXRlIHBybmc7CiB9 OwpAQCAtNDYsMTIgKzQ2LDEyIEBAIGVudW0gewogCiBzdGF0aWMgdm9pZCBfX21vY2tfaHdzcF9y ZWNvcmQoc3RydWN0IG1vY2tfaHdzcF9mcmVlbGlzdCAqc3RhdGUsCiAJCQkgICAgICAgdW5zaWdu ZWQgaW50IGlkeCwKLQkJCSAgICAgICBzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCisJCQkgICAg ICAgc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAl0bCA9IHhjaGcoJnN0YXRlLT5oaXN0 b3J5W2lkeF0sIHRsKTsKIAlpZiAodGwpIHsKIAkJcmFkaXhfdHJlZV9kZWxldGUoJnN0YXRlLT5j YWNoZWxpbmVzLCBod3NwX2NhY2hlbGluZSh0bCkpOwotCQlpOTE1X3RpbWVsaW5lX3B1dCh0bCk7 CisJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJfQogfQogCkBAIC01OSwxNCArNTksMTQgQEAg c3RhdGljIGludCBfX21vY2tfaHdzcF90aW1lbGluZShzdHJ1Y3QgbW9ja19od3NwX2ZyZWVsaXN0 ICpzdGF0ZSwKIAkJCQl1bnNpZ25lZCBpbnQgY291bnQsCiAJCQkJdW5zaWduZWQgaW50IGZsYWdz KQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg KnRsOwogCXVuc2lnbmVkIGludCBpZHg7CiAKIAl3aGlsZSAoY291bnQtLSkgewogCQl1bnNpZ25l ZCBsb25nIGNhY2hlbGluZTsKIAkJaW50IGVycjsKIAotCQl0bCA9IGk5MTVfdGltZWxpbmVfY3Jl YXRlKCZzdGF0ZS0+aTkxNS0+Z3QsIE5VTEwpOworCQl0bCA9IGludGVsX3RpbWVsaW5lX2NyZWF0 ZSgmc3RhdGUtPmk5MTUtPmd0LCBOVUxMKTsKIAkJaWYgKElTX0VSUih0bCkpCiAJCQlyZXR1cm4g UFRSX0VSUih0bCk7CiAKQEAgLTc3LDcgKzc3LDcgQEAgc3RhdGljIGludCBfX21vY2tfaHdzcF90 aW1lbGluZShzdHJ1Y3QgbW9ja19od3NwX2ZyZWVsaXN0ICpzdGF0ZSwKIAkJCQlwcl9lcnIoIkhX U1AgY2FjaGVsaW5lICVsdSBhbHJlYWR5IHVzZWQ7IGR1cGxpY2F0ZSBhbGxvY2F0aW9uIVxuIiwK IAkJCQkgICAgICAgY2FjaGVsaW5lKTsKIAkJCX0KLQkJCWk5MTVfdGltZWxpbmVfcHV0KHRsKTsK KwkJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCQlyZXR1cm4gZXJyOwogCQl9CiAKQEAgLTE2 MiwyMSArMTYyLDIxIEBAIHN0cnVjdCBfX2lndF9zeW5jIHsKIAlib29sIHNldDsKIH07CiAKLXN0 YXRpYyBpbnQgX19pZ3Rfc3luYyhzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCitzdGF0aWMgaW50 IF9faWd0X3N5bmMoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKIAkJICAgICAgdTY0IGN0eCwK IAkJICAgICAgY29uc3Qgc3RydWN0IF9faWd0X3N5bmMgKnAsCiAJCSAgICAgIGNvbnN0IGNoYXIg Km5hbWUpCiB7CiAJaW50IHJldDsKIAotCWlmIChfX2k5MTVfdGltZWxpbmVfc3luY19pc19sYXRl cih0bCwgY3R4LCBwLT5zZXFubykgIT0gcC0+ZXhwZWN0ZWQpIHsKKwlpZiAoX19pbnRlbF90aW1l bGluZV9zeW5jX2lzX2xhdGVyKHRsLCBjdHgsIHAtPnNlcW5vKSAhPSBwLT5leHBlY3RlZCkgewog CQlwcl9lcnIoIiVzOiAlcyhjdHg9JWxsdSwgc2Vxbm89JXUpIGV4cGVjdGVkIHBhc3NlZCAlcyBi dXQgZmFpbGVkXG4iLAogCQkgICAgICAgbmFtZSwgcC0+bmFtZSwgY3R4LCBwLT5zZXFubywgeWVz bm8ocC0+ZXhwZWN0ZWQpKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCiAJaWYgKHAtPnNldCkg ewotCQlyZXQgPSBfX2k5MTVfdGltZWxpbmVfc3luY19zZXQodGwsIGN0eCwgcC0+c2Vxbm8pOwor CQlyZXQgPSBfX2ludGVsX3RpbWVsaW5lX3N5bmNfc2V0KHRsLCBjdHgsIHAtPnNlcW5vKTsKIAkJ aWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAJfQpAQCAtMjA0LDcgKzIwNCw3IEBAIHN0YXRpYyBp bnQgaWd0X3N5bmModm9pZCAqYXJnKQogCQl7ICJ1bndyYXAiLCBVSU5UX01BWCwgdHJ1ZSwgZmFs c2UgfSwKIAkJe30sCiAJfSwgKnA7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgdGw7CisJc3RydWN0 IGludGVsX3RpbWVsaW5lIHRsOwogCWludCBvcmRlciwgb2Zmc2V0OwogCWludCByZXQgPSAtRU5P REVWOwogCkBAIC0yNDgsNyArMjQ4LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCByYW5kb21fZW5n aW5lKHN0cnVjdCBybmRfc3RhdGUgKnJuZCkKIHN0YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lkICph cmcpCiB7CiAJc3RydWN0IHJuZF9zdGF0ZSBwcm5nOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lIHRs OworCXN0cnVjdCBpbnRlbF90aW1lbGluZSB0bDsKIAl1bnNpZ25lZCBsb25nIGVuZF90aW1lLCBj b3VudDsKIAl1NjQgcHJuZzMyXzFNOwogCWt0aW1lX3Qga3Q7CkBAIC0yODYsNyArMjg2LDcgQEAg c3RhdGljIGludCBiZW5jaF9zeW5jKHZvaWQgKmFyZykKIAlkbyB7CiAJCXU2NCBpZCA9IGk5MTVf cHJhbmRvbV91NjRfc3RhdGUoJnBybmcpOwogCi0JCV9faTkxNV90aW1lbGluZV9zeW5jX3NldCgm dGwsIGlkLCAwKTsKKwkJX19pbnRlbF90aW1lbGluZV9zeW5jX3NldCgmdGwsIGlkLCAwKTsKIAkJ Y291bnQrKzsKIAl9IHdoaWxlICghdGltZV9hZnRlcihqaWZmaWVzLCBlbmRfdGltZSkpOwogCWt0 ID0ga3RpbWVfc3ViKGt0aW1lX2dldCgpLCBrdCk7CkBAIC0zMDEsNyArMzAxLDcgQEAgc3RhdGlj IGludCBiZW5jaF9zeW5jKHZvaWQgKmFyZykKIAl3aGlsZSAoZW5kX3RpbWUtLSkgewogCQl1NjQg aWQgPSBpOTE1X3ByYW5kb21fdTY0X3N0YXRlKCZwcm5nKTsKIAotCQlpZiAoIV9faTkxNV90aW1l bGluZV9zeW5jX2lzX2xhdGVyKCZ0bCwgaWQsIDApKSB7CisJCWlmICghX19pbnRlbF90aW1lbGlu ZV9zeW5jX2lzX2xhdGVyKCZ0bCwgaWQsIDApKSB7CiAJCQltb2NrX3RpbWVsaW5lX2ZpbmkoJnRs KTsKIAkJCXByX2VycigiTG9va3VwIG9mICVsbHUgZmFpbGVkXG4iLCBpZCk7CiAJCQlyZXR1cm4g LUVJTlZBTDsKQEAgLTMyMiw3ICszMjIsNyBAQCBzdGF0aWMgaW50IGJlbmNoX3N5bmModm9pZCAq YXJnKQogCWt0ID0ga3RpbWVfZ2V0KCk7CiAJZW5kX3RpbWUgPSBqaWZmaWVzICsgSFovMTA7CiAJ ZG8gewotCQlfX2k5MTVfdGltZWxpbmVfc3luY19zZXQoJnRsLCBjb3VudCsrLCAwKTsKKwkJX19p bnRlbF90aW1lbGluZV9zeW5jX3NldCgmdGwsIGNvdW50KyssIDApOwogCX0gd2hpbGUgKCF0aW1l X2FmdGVyKGppZmZpZXMsIGVuZF90aW1lKSk7CiAJa3QgPSBrdGltZV9zdWIoa3RpbWVfZ2V0KCks IGt0KTsKIAlwcl9pbmZvKCIlczogJWx1IGluLW9yZGVyIGluc2VydGlvbnMsICVsbHVucy9pbnNl cnRcbiIsCkBAIC0zMzIsNyArMzMyLDcgQEAgc3RhdGljIGludCBiZW5jaF9zeW5jKHZvaWQgKmFy ZykKIAllbmRfdGltZSA9IGNvdW50OwogCWt0ID0ga3RpbWVfZ2V0KCk7CiAJd2hpbGUgKGVuZF90 aW1lLS0pIHsKLQkJaWYgKCFfX2k5MTVfdGltZWxpbmVfc3luY19pc19sYXRlcigmdGwsIGVuZF90 aW1lLCAwKSkgeworCQlpZiAoIV9faW50ZWxfdGltZWxpbmVfc3luY19pc19sYXRlcigmdGwsIGVu ZF90aW1lLCAwKSkgewogCQkJcHJfZXJyKCJMb29rdXAgb2YgJWx1IGZhaWxlZFxuIiwgZW5kX3Rp bWUpOwogCQkJbW9ja190aW1lbGluZV9maW5pKCZ0bCk7CiAJCQlyZXR1cm4gLUVJTlZBTDsKQEAg LTM1Niw4ICszNTYsOCBAQCBzdGF0aWMgaW50IGJlbmNoX3N5bmModm9pZCAqYXJnKQogCQl1MzIg aWQgPSByYW5kb21fZW5naW5lKCZwcm5nKTsKIAkJdTMyIHNlcW5vID0gcHJhbmRvbV91MzJfc3Rh dGUoJnBybmcpOwogCi0JCWlmICghX19pOTE1X3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoJnRsLCBp ZCwgc2Vxbm8pKQotCQkJX19pOTE1X3RpbWVsaW5lX3N5bmNfc2V0KCZ0bCwgaWQsIHNlcW5vKTsK KwkJaWYgKCFfX2ludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoJnRsLCBpZCwgc2Vxbm8pKQor CQkJX19pbnRlbF90aW1lbGluZV9zeW5jX3NldCgmdGwsIGlkLCBzZXFubyk7CiAKIAkJY291bnQr KzsKIAl9IHdoaWxlICghdGltZV9hZnRlcihqaWZmaWVzLCBlbmRfdGltZSkpOwpAQCAtMzg1LDgg KzM4NSw4IEBAIHN0YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lkICphcmcpCiAJCQkgKi8KIAkJCXU2 NCBpZCA9ICh1NjQpKGNvdW50ICYgbWFzaykgPDwgb3JkZXI7CiAKLQkJCV9faTkxNV90aW1lbGlu ZV9zeW5jX2lzX2xhdGVyKCZ0bCwgaWQsIDApOwotCQkJX19pOTE1X3RpbWVsaW5lX3N5bmNfc2V0 KCZ0bCwgaWQsIDApOworCQkJX19pbnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKCZ0bCwgaWQs IDApOworCQkJX19pbnRlbF90aW1lbGluZV9zeW5jX3NldCgmdGwsIGlkLCAwKTsKIAogCQkJY291 bnQrKzsKIAkJfSB3aGlsZSAoIXRpbWVfYWZ0ZXIoamlmZmllcywgZW5kX3RpbWUpKTsKQEAgLTQw MSw3ICs0MDEsNyBAQCBzdGF0aWMgaW50IGJlbmNoX3N5bmModm9pZCAqYXJnKQogCXJldHVybiAw OwogfQogCi1pbnQgaTkxNV90aW1lbGluZV9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQoraW50IGludGVs X3RpbWVsaW5lX21vY2tfc2VsZnRlc3RzKHZvaWQpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBp OTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKIAkJU1VCVEVTVChtb2NrX2h3c3BfZnJlZWxpc3QpLApA QCAtNDQzLDE0ICs0NDMsMTQgQEAgc3RhdGljIGludCBlbWl0X2dndHRfc3RvcmVfZHcoc3RydWN0 IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBhZGRyLCB1MzIgdmFsdWUpCiB9CiAKIHN0YXRpYyBzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICoKLXRsX3dyaXRlKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwgc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgdmFsdWUpCit0bF93cml0ZShzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRsLCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiB2 YWx1ZSkKIHsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAlpbnQgZXJyOwogCiAJbG9ja2Rl cF9hc3NlcnRfaGVsZCgmdGwtPmd0LT5pOTE1LT5kcm0uc3RydWN0X211dGV4KTsgLyogbGF6eSBy cSByZWZzICovCiAKLQllcnIgPSBpOTE1X3RpbWVsaW5lX3Bpbih0bCk7CisJZXJyID0gaW50ZWxf dGltZWxpbmVfcGluKHRsKTsKIAlpZiAoZXJyKSB7CiAJCXJxID0gRVJSX1BUUihlcnIpOwogCQln b3RvIG91dDsKQEAgLTQ2NiwyNiArNDY2LDI2IEBAIHRsX3dyaXRlKHN0cnVjdCBpOTE1X3RpbWVs aW5lICp0bCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgdmFsdWUpCiAJCXJx ID0gRVJSX1BUUihlcnIpOwogCiBvdXRfdW5waW46Ci0JaTkxNV90aW1lbGluZV91bnBpbih0bCk7 CisJaW50ZWxfdGltZWxpbmVfdW5waW4odGwpOwogb3V0OgogCWlmIChJU19FUlIocnEpKQogCQlw cl9lcnIoIkZhaWxlZCB0byB3cml0ZSB0byB0aW1lbGluZSFcbiIpOwogCXJldHVybiBycTsKIH0K IAotc3RhdGljIHN0cnVjdCBpOTE1X3RpbWVsaW5lICoKLWNoZWNrZWRfaTkxNV90aW1lbGluZV9j cmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCitzdGF0aWMgc3RydWN0IGludGVs X3RpbWVsaW5lICoKK2NoZWNrZWRfaW50ZWxfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRsOwogCi0JdGwgPSBpOTE1X3RpbWVsaW5lX2NyZWF0ZSgmaTkxNS0+ Z3QsIE5VTEwpOworCXRsID0gaW50ZWxfdGltZWxpbmVfY3JlYXRlKCZpOTE1LT5ndCwgTlVMTCk7 CiAJaWYgKElTX0VSUih0bCkpCiAJCXJldHVybiB0bDsKIAogCWlmICgqdGwtPmh3c3Bfc2Vxbm8g IT0gdGwtPnNlcW5vKSB7CiAJCXByX2VycigiVGltZWxpbmUgY3JlYXRlZCB3aXRoIGluY29ycmVj dCBicmVhZGNydW1iLCBmb3VuZCAleCwgZXhwZWN0ZWQgJXhcbiIsCiAJCSAgICAgICAqdGwtPmh3 c3Bfc2Vxbm8sIHRsLT5zZXFubyk7Ci0JCWk5MTVfdGltZWxpbmVfcHV0KHRsKTsKKwkJaW50ZWxf dGltZWxpbmVfcHV0KHRsKTsKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAJfQogCkBAIC00 OTYsNyArNDk2LDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfZW5naW5lKHZvaWQgKmFyZykKIHsK ICNkZWZpbmUgTlVNX1RJTUVMSU5FUyA0MDk2CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUgPSBhcmc7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKip0aW1lbGluZXM7CisJc3RydWN0IGlu dGVsX3RpbWVsaW5lICoqdGltZWxpbmVzOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZTsKIAllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsK QEAgLTUyMywxMCArNTIzLDEwIEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX2VuZ2luZSh2b2lkICph cmcpCiAJCQljb250aW51ZTsKIAogCQlmb3IgKG4gPSAwOyBuIDwgTlVNX1RJTUVMSU5FUzsgbisr KSB7Ci0JCQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7CisJCQlzdHJ1Y3QgaW50ZWxfdGltZWxp bmUgKnRsOwogCQkJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAKLQkJCXRsID0gY2hlY2tlZF9p OTE1X3RpbWVsaW5lX2NyZWF0ZShpOTE1KTsKKwkJCXRsID0gY2hlY2tlZF9pbnRlbF90aW1lbGlu ZV9jcmVhdGUoaTkxNSk7CiAJCQlpZiAoSVNfRVJSKHRsKSkgewogCQkJCWVyciA9IFBUUl9FUlIo dGwpOwogCQkJCWdvdG8gb3V0OwpAQCAtNTM0LDcgKzUzNCw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9o d3NwX2VuZ2luZSh2b2lkICphcmcpCiAKIAkJCXJxID0gdGxfd3JpdGUodGwsIGVuZ2luZSwgY291 bnQpOwogCQkJaWYgKElTX0VSUihycSkpIHsKLQkJCQlpOTE1X3RpbWVsaW5lX3B1dCh0bCk7CisJ CQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCQllcnIgPSBQVFJfRVJSKHJxKTsKIAkJCQln b3RvIG91dDsKIAkJCX0KQEAgLTU0OCwxNCArNTQ4LDE0IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3Nw X2VuZ2luZSh2b2lkICphcmcpCiAJCWVyciA9IC1FSU87CiAKIAlmb3IgKG4gPSAwOyBuIDwgY291 bnQ7IG4rKykgewotCQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwgPSB0aW1lbGluZXNbbl07CisJ CXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSB0aW1lbGluZXNbbl07CiAKIAkJaWYgKCFlcnIg JiYgKnRsLT5od3NwX3NlcW5vICE9IG4pIHsKIAkJCXByX2VycigiSW52YWxpZCBzZXFubyBzdG9y ZWQgaW4gdGltZWxpbmUgJWx1LCBmb3VuZCAweCV4XG4iLAogCQkJICAgICAgIG4sICp0bC0+aHdz cF9zZXFubyk7CiAJCQllcnIgPSAtRUlOVkFMOwogCQl9Ci0JCWk5MTVfdGltZWxpbmVfcHV0KHRs KTsKKwkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAl9CiAKIAlpbnRlbF9ydW50aW1lX3BtX3B1 dCgmaTkxNS0+cnVudGltZV9wbSwgd2FrZXJlZik7CkBAIC01NzEsNyArNTcxLDcgQEAgc3RhdGlj IGludCBsaXZlX2h3c3BfYWx0ZXJuYXRlKHZvaWQgKmFyZykKIHsKICNkZWZpbmUgTlVNX1RJTUVM SU5FUyA0MDk2CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBhcmc7Ci0Jc3RydWN0 IGk5MTVfdGltZWxpbmUgKip0aW1lbGluZXM7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICoqdGlt ZWxpbmVzOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKIAllbnVtIGludGVsX2Vu Z2luZV9pZCBpZDsKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKQEAgLTU5NiwxMyArNTk2LDEz IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX2FsdGVybmF0ZSh2b2lkICphcmcpCiAJY291bnQgPSAw OwogCWZvciAobiA9IDA7IG4gPCBOVU1fVElNRUxJTkVTOyBuKyspIHsKIAkJZm9yX2VhY2hfZW5n aW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKLQkJCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwkJ CXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7CiAJCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsK IAogCQkJaWYgKCFpbnRlbF9lbmdpbmVfY2FuX3N0b3JlX2R3b3JkKGVuZ2luZSkpCiAJCQkJY29u dGludWU7CiAKLQkJCXRsID0gY2hlY2tlZF9pOTE1X3RpbWVsaW5lX2NyZWF0ZShpOTE1KTsKKwkJ CXRsID0gY2hlY2tlZF9pbnRlbF90aW1lbGluZV9jcmVhdGUoaTkxNSk7CiAJCQlpZiAoSVNfRVJS KHRsKSkgewogCQkJCWVyciA9IFBUUl9FUlIodGwpOwogCQkJCWdvdG8gb3V0OwpAQCAtNjEwLDcg KzYxMCw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX2FsdGVybmF0ZSh2b2lkICphcmcpCiAKIAkJ CXJxID0gdGxfd3JpdGUodGwsIGVuZ2luZSwgY291bnQpOwogCQkJaWYgKElTX0VSUihycSkpIHsK LQkJCQlpOTE1X3RpbWVsaW5lX3B1dCh0bCk7CisJCQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsK IAkJCQllcnIgPSBQVFJfRVJSKHJxKTsKIAkJCQlnb3RvIG91dDsKIAkJCX0KQEAgLTYyNCwxNCAr NjI0LDE0IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX2FsdGVybmF0ZSh2b2lkICphcmcpCiAJCWVy ciA9IC1FSU87CiAKIAlmb3IgKG4gPSAwOyBuIDwgY291bnQ7IG4rKykgewotCQlzdHJ1Y3QgaTkx NV90aW1lbGluZSAqdGwgPSB0aW1lbGluZXNbbl07CisJCXN0cnVjdCBpbnRlbF90aW1lbGluZSAq dGwgPSB0aW1lbGluZXNbbl07CiAKIAkJaWYgKCFlcnIgJiYgKnRsLT5od3NwX3NlcW5vICE9IG4p IHsKIAkJCXByX2VycigiSW52YWxpZCBzZXFubyBzdG9yZWQgaW4gdGltZWxpbmUgJWx1LCBmb3Vu ZCAweCV4XG4iLAogCQkJICAgICAgIG4sICp0bC0+aHdzcF9zZXFubyk7CiAJCQllcnIgPSAtRUlO VkFMOwogCQl9Ci0JCWk5MTVfdGltZWxpbmVfcHV0KHRsKTsKKwkJaW50ZWxfdGltZWxpbmVfcHV0 KHRsKTsKIAl9CiAKIAlpbnRlbF9ydW50aW1lX3BtX3B1dCgmaTkxNS0+cnVudGltZV9wbSwgd2Fr ZXJlZik7CkBAIC02NDcsNyArNjQ3LDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3Bfd3JhcCh2b2lk ICphcmcpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBhcmc7CiAJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwlz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsOwogCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOwogCWlu dGVsX3dha2VyZWZfdCB3YWtlcmVmOwogCWludCBlcnIgPSAwOwpAQCAtNjYwLDcgKzY2MCw3IEBA IHN0YXRpYyBpbnQgbGl2ZV9od3NwX3dyYXAodm9pZCAqYXJnKQogCW11dGV4X2xvY2soJmk5MTUt PmRybS5zdHJ1Y3RfbXV0ZXgpOwogCXdha2VyZWYgPSBpbnRlbF9ydW50aW1lX3BtX2dldCgmaTkx NS0+cnVudGltZV9wbSk7CiAKLQl0bCA9IGk5MTVfdGltZWxpbmVfY3JlYXRlKCZpOTE1LT5ndCwg TlVMTCk7CisJdGwgPSBpbnRlbF90aW1lbGluZV9jcmVhdGUoJmk5MTUtPmd0LCBOVUxMKTsKIAlp ZiAoSVNfRVJSKHRsKSkgewogCQllcnIgPSBQVFJfRVJSKHRsKTsKIAkJZ290byBvdXRfcnBtOwpA QCAtNjY4LDcgKzY2OCw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3dyYXAodm9pZCAqYXJnKQog CWlmICghdGwtPmhhc19pbml0aWFsX2JyZWFkY3J1bWIgfHwgIXRsLT5od3NwX2NhY2hlbGluZSkK IAkJZ290byBvdXRfZnJlZTsKIAotCWVyciA9IGk5MTVfdGltZWxpbmVfcGluKHRsKTsKKwllcnIg PSBpbnRlbF90aW1lbGluZV9waW4odGwpOwogCWlmIChlcnIpCiAJCWdvdG8gb3V0X2ZyZWU7CiAK QEAgLTY4OCw3ICs2ODgsNyBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF93cmFwKHZvaWQgKmFyZykK IAogCQl0bC0+c2Vxbm8gPSAtNHU7CiAKLQkJZXJyID0gaTkxNV90aW1lbGluZV9nZXRfc2Vxbm8o dGwsIHJxLCAmc2Vxbm9bMF0pOworCQllcnIgPSBpbnRlbF90aW1lbGluZV9nZXRfc2Vxbm8odGws IHJxLCAmc2Vxbm9bMF0pOwogCQlpZiAoZXJyKSB7CiAJCQlpOTE1X3JlcXVlc3RfYWRkKHJxKTsK IAkJCWdvdG8gb3V0OwpAQCAtNzAzLDcgKzcwMyw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3dy YXAodm9pZCAqYXJnKQogCQl9CiAJCWh3c3Bfc2Vxbm9bMF0gPSB0bC0+aHdzcF9zZXFubzsKIAot CQllcnIgPSBpOTE1X3RpbWVsaW5lX2dldF9zZXFubyh0bCwgcnEsICZzZXFub1sxXSk7CisJCWVy ciA9IGludGVsX3RpbWVsaW5lX2dldF9zZXFubyh0bCwgcnEsICZzZXFub1sxXSk7CiAJCWlmIChl cnIpIHsKIAkJCWk5MTVfcmVxdWVzdF9hZGQocnEpOwogCQkJZ290byBvdXQ7CkBAIC03NDUsOSAr NzQ1LDkgQEAgc3RhdGljIGludCBsaXZlX2h3c3Bfd3JhcCh2b2lkICphcmcpCiAJaWYgKGlndF9m bHVzaF90ZXN0KGk5MTUsIEk5MTVfV0FJVF9MT0NLRUQpKQogCQllcnIgPSAtRUlPOwogCi0JaTkx NV90aW1lbGluZV91bnBpbih0bCk7CisJaW50ZWxfdGltZWxpbmVfdW5waW4odGwpOwogb3V0X2Zy ZWU6Ci0JaTkxNV90aW1lbGluZV9wdXQodGwpOworCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiBv dXRfcnBtOgogCWludGVsX3J1bnRpbWVfcG1fcHV0KCZpOTE1LT5ydW50aW1lX3BtLCB3YWtlcmVm KTsKIAltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwpAQCAtNzgxLDEwICs3 ODEsMTAgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfcmVjeWNsZSh2b2lkICphcmcpCiAJCQljb250 aW51ZTsKIAogCQlkbyB7Ci0JCQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7CisJCQlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRsOwogCQkJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAKLQkJCXRs ID0gY2hlY2tlZF9pOTE1X3RpbWVsaW5lX2NyZWF0ZShpOTE1KTsKKwkJCXRsID0gY2hlY2tlZF9p bnRlbF90aW1lbGluZV9jcmVhdGUoaTkxNSk7CiAJCQlpZiAoSVNfRVJSKHRsKSkgewogCQkJCWVy ciA9IFBUUl9FUlIodGwpOwogCQkJCWdvdG8gb3V0OwpAQCAtNzkyLDcgKzc5Miw3IEBAIHN0YXRp YyBpbnQgbGl2ZV9od3NwX3JlY3ljbGUodm9pZCAqYXJnKQogCiAJCQlycSA9IHRsX3dyaXRlKHRs LCBlbmdpbmUsIGNvdW50KTsKIAkJCWlmIChJU19FUlIocnEpKSB7Ci0JCQkJaTkxNV90aW1lbGlu ZV9wdXQodGwpOworCQkJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCQkJZXJyID0gUFRSX0VS UihycSk7CiAJCQkJZ290byBvdXQ7CiAJCQl9CkBAIC04MDEsNyArODAxLDcgQEAgc3RhdGljIGlu dCBsaXZlX2h3c3BfcmVjeWNsZSh2b2lkICphcmcpCiAJCQkJCSAgICAgIEk5MTVfV0FJVF9MT0NL RUQsCiAJCQkJCSAgICAgIEhaIC8gNSkgPCAwKSB7CiAJCQkJcHJfZXJyKCJXYWl0IGZvciB0aW1l bGluZSB3cml0ZXMgdGltZWQgb3V0IVxuIik7Ci0JCQkJaTkxNV90aW1lbGluZV9wdXQodGwpOwor CQkJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCQkJZXJyID0gLUVJTzsKIAkJCQlnb3RvIG91 dDsKIAkJCX0KQEAgLTgxMiwxMyArODEyLDEzIEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3JlY3lj bGUodm9pZCAqYXJnKQogCQkJCWVyciA9IC1FSU5WQUw7CiAJCQl9CiAKLQkJCWk5MTVfdGltZWxp bmVfcHV0KHRsKTsKKwkJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCQljb3VudCsrOwogCiAJ CQlpZiAoZXJyKQogCQkJCWdvdG8gb3V0OwogCi0JCQlpOTE1X3RpbWVsaW5lc19wYXJrKGk5MTUp OyAvKiBFbmNvdXJhZ2UgcmVjeWNsaW5nISAqLworCQkJaW50ZWxfdGltZWxpbmVzX3BhcmsoaTkx NSk7IC8qIEVuY291cmFnZSByZWN5Y2xpbmchICovCiAJCX0gd2hpbGUgKCFfX2lndF90aW1lb3V0 KGVuZF90aW1lLCBOVUxMKSk7CiAJfQogCkBAIC04MzEsNyArODMxLDcgQEAgc3RhdGljIGludCBs aXZlX2h3c3BfcmVjeWNsZSh2b2lkICphcmcpCiAJcmV0dXJuIGVycjsKIH0KIAotaW50IGk5MTVf dGltZWxpbmVfbGl2ZV9zZWxmdGVzdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCitp bnQgaW50ZWxfdGltZWxpbmVfbGl2ZV9zZWxmdGVzdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsK IAkJU1VCVEVTVChsaXZlX2h3c3BfcmVjeWNsZSksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Qvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUuYwpzaW1pbGFyaXR5IGluZGV4IDcyJQpyZW5hbWUg ZnJvbSBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCnJlbmFt ZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCmlu ZGV4IGM4MGFjMGZiZGQzYi4uNWM1NDkyMDU4MjhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKQEAgLTQsMTEgKzQsMTEgQEAKICAqIENv cHlyaWdodCDCqSAyMDE3LTIwMTggSW50ZWwgQ29ycG9yYXRpb24KICAqLwogCi0jaW5jbHVkZSAi Li4vaTkxNV90aW1lbGluZS5oIgorI2luY2x1ZGUgIi4uL2ludGVsX3RpbWVsaW5lLmgiCiAKICNp bmNsdWRlICJtb2NrX3RpbWVsaW5lLmgiCiAKLXZvaWQgbW9ja190aW1lbGluZV9pbml0KHN0cnVj dCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSwgdTY0IGNvbnRleHQpCit2b2lkIG1vY2tfdGltZWxp bmVfaW5pdChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29udGV4dCkKIHsK IAl0aW1lbGluZS0+Z3QgPSBOVUxMOwogCXRpbWVsaW5lLT5mZW5jZV9jb250ZXh0ID0gY29udGV4 dDsKQEAgLTIzLDcgKzIzLDcgQEAgdm9pZCBtb2NrX3RpbWVsaW5lX2luaXQoc3RydWN0IGk5MTVf dGltZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29udGV4dCkKIAlJTklUX0xJU1RfSEVBRCgmdGltZWxp bmUtPmxpbmspOwogfQogCi12b2lkIG1vY2tfdGltZWxpbmVfZmluaShzdHJ1Y3QgaTkxNV90aW1l bGluZSAqdGltZWxpbmUpCit2b2lkIG1vY2tfdGltZWxpbmVfZmluaShzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmUgKnRpbWVsaW5lKQogewogCWk5MTVfc3luY21hcF9mcmVlKCZ0aW1lbGluZS0+c3luYyk7 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1l bGluZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUu aApzaW1pbGFyaXR5IGluZGV4IDUzJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvbW9ja190aW1lbGluZS5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5oCmluZGV4IGI2ZGVhYTYxMTEwZC4uNjg5ZWZjNjZj OTA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1l bGluZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0cy9tb2NrX3RpbWVs aW5lLmgKQEAgLTcsOSArNyw5IEBACiAjaWZuZGVmIF9fTU9DS19USU1FTElORV9fCiAjZGVmaW5l IF9fTU9DS19USU1FTElORV9fCiAKLXN0cnVjdCBpOTE1X3RpbWVsaW5lOworc3RydWN0IGludGVs X3RpbWVsaW5lOwogCi12b2lkIG1vY2tfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaTkxNV90aW1lbGlu ZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KTsKLXZvaWQgbW9ja190aW1lbGluZV9maW5pKHN0cnVj dCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSk7Cit2b2lkIG1vY2tfdGltZWxpbmVfaW5pdChzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29udGV4dCk7Cit2b2lkIG1vY2tfdGlt ZWxpbmVfZmluaShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lKTsKIAogI2VuZGlmIC8q ICFfX01PQ0tfVElNRUxJTkVfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMjk0MzYz ODc2MTFiLi40MjJkMDUzOGJhMDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtODgsNyAr ODgsNyBAQAogI2luY2x1ZGUgImk5MTVfZ3B1X2Vycm9yLmgiCiAjaW5jbHVkZSAiaTkxNV9yZXF1 ZXN0LmgiCiAjaW5jbHVkZSAiaTkxNV9zY2hlZHVsZXIuaCIKLSNpbmNsdWRlICJpOTE1X3RpbWVs aW5lLmgiCisjaW5jbHVkZSAiZ3QvaW50ZWxfdGltZWxpbmUuaCIKICNpbmNsdWRlICJpOTE1X3Zt YS5oIgogCiAjaW5jbHVkZSAiaW50ZWxfZ3Z0LmgiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRl eCA2M2ZiMDYxMjVhOTAuLmE5OGNhODM4YzdjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBA IC05MDgsNyArOTA4LDcgQEAgd2FpdF9mb3JfdGltZWxpbmVzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LAogCQkgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIGxvbmcgdGltZW91dCkKIHsKIAlz dHJ1Y3QgaTkxNV9ndF90aW1lbGluZXMgKmd0ID0gJmk5MTUtPmd0LnRpbWVsaW5lczsKLQlzdHJ1 Y3QgaTkxNV90aW1lbGluZSAqdGw7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0bDsKIAogCW11 dGV4X2xvY2soJmd0LT5tdXRleCk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeSh0bCwgJmd0LT5hY3Rp dmVfbGlzdCwgbGluaykgewpAQCAtMTQ4Niw3ICsxNDg2LDcgQEAgaW50IGk5MTVfZ2VtX2luaXQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJZGV2X3ByaXYtPm1tLnVub3Jk ZXJlZF90aW1lbGluZSA9IGRtYV9mZW5jZV9jb250ZXh0X2FsbG9jKDEpOwogCi0JaTkxNV90aW1l bGluZXNfaW5pdChkZXZfcHJpdik7CisJaW50ZWxfdGltZWxpbmVzX2luaXQoZGV2X3ByaXYpOwog CiAJcmV0ID0gaTkxNV9nZW1faW5pdF91c2VycHRyKGRldl9wcml2KTsKIAlpZiAocmV0KQpAQCAt MTYyMyw3ICsxNjIzLDcgQEAgaW50IGk5MTVfZ2VtX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCiAJaWYgKHJldCAhPSAtRUlPKSB7CiAJCWk5MTVfZ2VtX2NsZWFudXBf dXNlcnB0cihkZXZfcHJpdik7Ci0JCWk5MTVfdGltZWxpbmVzX2ZpbmkoZGV2X3ByaXYpOworCQlp bnRlbF90aW1lbGluZXNfZmluaShkZXZfcHJpdik7CiAJfQogCiAJaWYgKHJldCA9PSAtRUlPKSB7 CkBAIC0xNjg3LDcgKzE2ODcsNyBAQCB2b2lkIGk5MTVfZ2VtX2Zpbmkoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogCiAJaW50ZWxfdWNfZmluaV9taXNjKGRldl9wcml2KTsKIAlp OTE1X2dlbV9jbGVhbnVwX3VzZXJwdHIoZGV2X3ByaXYpOwotCWk5MTVfdGltZWxpbmVzX2Zpbmko ZGV2X3ByaXYpOworCWludGVsX3RpbWVsaW5lc19maW5pKGRldl9wcml2KTsKIAogCWk5MTVfZ2Vt X2RyYWluX2ZyZWVkX29iamVjdHMoZGV2X3ByaXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5oCmluZGV4IDgyN2FmNmJhMzZjNy4uNmFjMmY0NWUyZjE5IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuaApAQCAtNDMsNyArNDMsNyBAQAogI2luY2x1ZGUgImk5MTVfcmVxdWVz dC5oIgogI2luY2x1ZGUgImk5MTVfc2NhdHRlcmxpc3QuaCIKICNpbmNsdWRlICJpOTE1X3NlbGZ0 ZXN0LmgiCi0jaW5jbHVkZSAiaTkxNV90aW1lbGluZS5oIgorI2luY2x1ZGUgImd0L2ludGVsX3Rp bWVsaW5lLmgiCiAKICNkZWZpbmUgSTkxNV9HVFRfUEFHRV9TSVpFXzRLCUJJVF9VTEwoMTIpCiAj ZGVmaW5lIEk5MTVfR1RUX1BBR0VfU0laRV82NEsJQklUX1VMTCgxNikKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZXF1ZXN0LmMKaW5kZXggOTgxOTQ4M2QxYjVkLi5iNjg5NGQ1YmJhNzUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCkBAIC01OTYsNyArNTk2LDcgQEAgcmVxdWVzdF9hbGxv Y19zbG93KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQogc3RydWN0IGk5MTVf cmVxdWVzdCAqCiBfX2k5MTVfcmVxdWVzdF9jcmVhdGUoc3RydWN0IGludGVsX2NvbnRleHQgKmNl LCBnZnBfdCBnZnApCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsID0gY2UtPnJpbmctPnRp bWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSBjZS0+cmluZy0+dGltZWxpbmU7 CiAJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAJdTMyIHNlcW5vOwogCWludCByZXQ7CkBAIC02 NDUsNyArNjQ1LDcgQEAgX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZSwgZ2ZwX3QgZ2ZwKQogCQl9CiAJfQogCi0JcmV0ID0gaTkxNV90aW1lbGluZV9nZXRfc2Vx bm8odGwsIHJxLCAmc2Vxbm8pOworCXJldCA9IGludGVsX3RpbWVsaW5lX2dldF9zZXFubyh0bCwg cnEsICZzZXFubyk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfZnJlZTsKIApAQCAtNzY0LDcgKzc2 NCw3IEBAIGk5MTVfcmVxdWVzdF9hd2FpdF9zdGFydChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwg c3RydWN0IGk5MTVfcmVxdWVzdCAqc2lnbmFsKQogCQlyZXR1cm4gMDsKIAogCXNpZ25hbCA9IGxp c3RfcHJldl9lbnRyeShzaWduYWwsIHJpbmdfbGluayk7Ci0JaWYgKGk5MTVfdGltZWxpbmVfc3lu Y19pc19sYXRlcihycS0+dGltZWxpbmUsICZzaWduYWwtPmZlbmNlKSkKKwlpZiAoaW50ZWxfdGlt ZWxpbmVfc3luY19pc19sYXRlcihycS0+dGltZWxpbmUsICZzaWduYWwtPmZlbmNlKSkKIAkJcmV0 dXJuIDA7CiAKIAlyZXR1cm4gaTkxNV9zd19mZW5jZV9hd2FpdF9kbWFfZmVuY2UoJnJxLT5zdWJt aXQsCkBAIC04MTgsNyArODE4LDcgQEAgZW1pdF9zZW1hcGhvcmVfd2FpdChzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICp0bywKIAkJcmV0dXJuIGVycjsKIAogCS8qIFdlIG5lZWQgdG8gcGluIHRoZSBzaWdu YWxlcidzIEhXU1AgdW50aWwgd2UgYXJlIGZpbmlzaGVkIHJlYWRpbmcuICovCi0JZXJyID0gaTkx NV90aW1lbGluZV9yZWFkX2h3c3AoZnJvbSwgdG8sICZod3NwX29mZnNldCk7CisJZXJyID0gaW50 ZWxfdGltZWxpbmVfcmVhZF9od3NwKGZyb20sIHRvLCAmaHdzcF9vZmZzZXQpOwogCWlmIChlcnIp CiAJCXJldHVybiBlcnI7CiAKQEAgLTkyOSw3ICs5MjksNyBAQCBpOTE1X3JlcXVlc3RfYXdhaXRf ZG1hX2ZlbmNlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5j ZSkKIAogCQkvKiBTcXVhc2ggcmVwZWF0ZWQgd2FpdHMgdG8gdGhlIHNhbWUgdGltZWxpbmVzICov CiAJCWlmIChmZW5jZS0+Y29udGV4dCAhPSBycS0+aTkxNS0+bW0udW5vcmRlcmVkX3RpbWVsaW5l ICYmCi0JCSAgICBpOTE1X3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIocnEtPnRpbWVsaW5lLCBmZW5j ZSkpCisJCSAgICBpbnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHJxLT50aW1lbGluZSwgZmVu Y2UpKQogCQkJY29udGludWU7CiAKIAkJaWYgKGRtYV9mZW5jZV9pc19pOTE1KGZlbmNlKSkKQEAg LTk0Myw3ICs5NDMsNyBAQCBpOTE1X3JlcXVlc3RfYXdhaXRfZG1hX2ZlbmNlKHN0cnVjdCBpOTE1 X3JlcXVlc3QgKnJxLCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKIAogCQkvKiBSZWNvcmQgdGhl IGxhdGVzdCBmZW5jZSB1c2VkIGFnYWluc3QgZWFjaCB0aW1lbGluZSAqLwogCQlpZiAoZmVuY2Ut PmNvbnRleHQgIT0gcnEtPmk5MTUtPm1tLnVub3JkZXJlZF90aW1lbGluZSkKLQkJCWk5MTVfdGlt ZWxpbmVfc3luY19zZXQocnEtPnRpbWVsaW5lLCBmZW5jZSk7CisJCQlpbnRlbF90aW1lbGluZV9z eW5jX3NldChycS0+dGltZWxpbmUsIGZlbmNlKTsKIAl9IHdoaWxlICgtLW5jaGlsZCk7CiAKIAly ZXR1cm4gMDsKQEAgLTEwODEsNyArMTA4MSw3IEBAIHZvaWQgaTkxNV9yZXF1ZXN0X3NraXAoc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEsIGludCBlcnJvcikKIHN0YXRpYyBzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICoKIF9faTkxNV9yZXF1ZXN0X2FkZF90b190aW1lbGluZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0 ICpycSkKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUgPSBycS0+dGltZWxpbmU7 CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZSA9IHJxLT50aW1lbGluZTsKIAlzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpwcmV2OwogCiAJLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0 LmgKaW5kZXggZWRiYmRmZWMyNGFiLi5iOTBmM2Q3YTI5ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVxdWVzdC5oCkBAIC00MCw4ICs0MCw4IEBACiBzdHJ1Y3QgZHJtX2ZpbGU7CiBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdDsKIHN0cnVjdCBpOTE1X3JlcXVlc3Q7Ci1zdHJ1Y3QgaTkxNV90 aW1lbGluZTsKLXN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZTsKK3N0cnVjdCBpbnRlbF90 aW1lbGluZTsKK3N0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmU7CiAKIHN0cnVjdCBpOTE1 X2NhcHR1cmVfbGlzdCB7CiAJc3RydWN0IGk5MTVfY2FwdHVyZV9saXN0ICpuZXh0OwpAQCAtMTEy LDcgKzExMiw3IEBAIHN0cnVjdCBpOTE1X3JlcXVlc3QgewogCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZTsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqaHdfY29udGV4dDsKIAlzdHJ1Y3Qg aW50ZWxfcmluZyAqcmluZzsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHNpZ25hbF9s aW5rOwogCiAJLyoKQEAgLTE3NSw3ICsxNzUsNyBAQCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0IHsKIAkg KiBpbnNpZGUgdGhlIHRpbWVsaW5lJ3MgSFdTUCB2bWEsIGJ1dCBpdCBpcyBvbmx5IHZhbGlkIHdo aWxlIHRoaXMKIAkgKiByZXF1ZXN0IGhhcyBub3QgY29tcGxldGVkIGFuZCBndWFyZGVkIGJ5IHRo ZSB0aW1lbGluZSBtdXRleC4KIAkgKi8KLQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUg Kmh3c3BfY2FjaGVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKmh3c3Bf Y2FjaGVsaW5lOwogCiAJLyoqIFBvc2l0aW9uIGluIHRoZSByaW5nIG9mIHRoZSBzdGFydCBvZiB0 aGUgcmVxdWVzdCAqLwogCXUzMiBoZWFkOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV90aW1lbGluZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5o CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDU0ZDQ5ZjIyOWYuLjAwMDAwMDAwMDAw MAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmgKKysrIC9kZXYvbnVs bApAQCAtMSw5MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IMKpIDIwMTYgSW50ZWwgQ29ycG9y YXRpb24KLSAqCi0gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQotICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu ZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKLSAqIHRv IGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRo b3V0IGxpbWl0YXRpb24KLSAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl LCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAotICogYW5kL29yIHNlbGwgY29waWVz IG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCi0gKiBT b2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBj b25kaXRpb25zOgotICoKLSAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBl cm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKLSAqIHBhcmFncmFwaCkgc2hhbGwg YmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUK LSAqIFNvZnR3YXJlLgotICoKLSAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCi0gKiBJTVBMSUVELCBJTkNM VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU WSwKLSAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1F TlQuICBJTiBOTyBFVkVOVCBTSEFMTAotICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERF UlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKLSAqIExJQUJJTElU WSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBB UklTSU5HCi0gKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FS RSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCi0gKiBJTiBUSEUgU09GVFdBUkUuCi0gKgot ICovCi0KLSNpZm5kZWYgSTkxNV9USU1FTElORV9ICi0jZGVmaW5lIEk5MTVfVElNRUxJTkVfSAot Ci0jaW5jbHVkZSA8bGludXgvbG9ja2RlcC5oPgotCi0jaW5jbHVkZSAiaTkxNV9hY3RpdmUuaCIK LSNpbmNsdWRlICJpOTE1X3N5bmNtYXAuaCIKLSNpbmNsdWRlICJpOTE1X3RpbWVsaW5lX3R5cGVz LmgiCi0KLWludCBpOTE1X3RpbWVsaW5lX2luaXQoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAot CQkgICAgICAgc3RydWN0IGludGVsX2d0ICpndCwKLQkJICAgICAgIHN0cnVjdCBpOTE1X3ZtYSAq aHdzcCk7Ci12b2lkIGk5MTVfdGltZWxpbmVfZmluaShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwp OwotCi1zdHJ1Y3QgaTkxNV90aW1lbGluZSAqCi1pOTE1X3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3Qg aW50ZWxfZ3QgKmd0LCBzdHJ1Y3QgaTkxNV92bWEgKmdsb2JhbF9od3NwKTsKLQotc3RhdGljIGlu bGluZSBzdHJ1Y3QgaTkxNV90aW1lbGluZSAqCi1pOTE1X3RpbWVsaW5lX2dldChzdHJ1Y3QgaTkx NV90aW1lbGluZSAqdGltZWxpbmUpCi17Ci0Ja3JlZl9nZXQoJnRpbWVsaW5lLT5rcmVmKTsKLQly ZXR1cm4gdGltZWxpbmU7Ci19Ci0KLXZvaWQgX19pOTE1X3RpbWVsaW5lX2ZyZWUoc3RydWN0IGty ZWYgKmtyZWYpOwotc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdGltZWxpbmVfcHV0KHN0cnVjdCBp OTE1X3RpbWVsaW5lICp0aW1lbGluZSkKLXsKLQlrcmVmX3B1dCgmdGltZWxpbmUtPmtyZWYsIF9f aTkxNV90aW1lbGluZV9mcmVlKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgX19pOTE1X3RpbWVs aW5lX3N5bmNfc2V0KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKLQkJCQkJICAgdTY0IGNvbnRl eHQsIHUzMiBzZXFubykKLXsKLQlyZXR1cm4gaTkxNV9zeW5jbWFwX3NldCgmdGwtPnN5bmMsIGNv bnRleHQsIHNlcW5vKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgaTkxNV90aW1lbGluZV9zeW5j X3NldChzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCi0JCQkJCSBjb25zdCBzdHJ1Y3QgZG1hX2Zl bmNlICpmZW5jZSkKLXsKLQlyZXR1cm4gX19pOTE1X3RpbWVsaW5lX3N5bmNfc2V0KHRsLCBmZW5j ZS0+Y29udGV4dCwgZmVuY2UtPnNlcW5vKTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIF9faTkx NV90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKLQkJCQkJ CSB1NjQgY29udGV4dCwgdTMyIHNlcW5vKQotewotCXJldHVybiBpOTE1X3N5bmNtYXBfaXNfbGF0 ZXIoJnRsLT5zeW5jLCBjb250ZXh0LCBzZXFubyk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBp OTE1X3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkJ CQkgICAgICAgY29uc3Qgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpCi17Ci0JcmV0dXJuIF9faTkx NV90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHRsLCBmZW5jZS0+Y29udGV4dCwgZmVuY2UtPnNlcW5v KTsKLX0KLQotaW50IGk5MTVfdGltZWxpbmVfcGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCk7 Ci1pbnQgaTkxNV90aW1lbGluZV9nZXRfc2Vxbm8oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAot CQkJICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAotCQkJICAgIHUzMiAqc2Vxbm8pOwotdm9p ZCBpOTE1X3RpbWVsaW5lX3VucGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCk7Ci0KLWludCBp OTE1X3RpbWVsaW5lX3JlYWRfaHdzcChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9tLAotCQkJICAg IHN0cnVjdCBpOTE1X3JlcXVlc3QgKnVudGlsLAotCQkJICAgIHUzMiAqaHdzcF9vZmZzZXQpOwot Ci12b2lkIGk5MTVfdGltZWxpbmVzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUp Owotdm9pZCBpOTE1X3RpbWVsaW5lc19wYXJrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KTsKLXZvaWQgaTkxNV90aW1lbGluZXNfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSk7Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2k5MTVfbGl2ZV9zZWxmdGVzdHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p OTE1X2xpdmVfc2VsZnRlc3RzLmgKaW5kZXggZDVkYzQ0MjdkNjY0Li4yYjMxYTRlZTBiNGMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xpdmVfc2VsZnRl c3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbGl2ZV9zZWxm dGVzdHMuaApAQCAtMTIsNyArMTIsNyBAQAogc2VsZnRlc3Qoc2FuaXR5Y2hlY2ssIGk5MTVfbGl2 ZV9zYW5pdHljaGVjaykgLyoga2VlcCBmaXJzdCAoaWd0IHNlbGZjaGVjaykgKi8KIHNlbGZ0ZXN0 KHVuY29yZSwgaW50ZWxfdW5jb3JlX2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3Qod29ya2Fyb3Vu ZHMsIGludGVsX3dvcmthcm91bmRzX2xpdmVfc2VsZnRlc3RzKQotc2VsZnRlc3QodGltZWxpbmVz LCBpOTE1X3RpbWVsaW5lX2xpdmVfc2VsZnRlc3RzKQorc2VsZnRlc3QodGltZWxpbmVzLCBpbnRl bF90aW1lbGluZV9saXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KHJlcXVlc3RzLCBpOTE1X3JlcXVl c3RfbGl2ZV9zZWxmdGVzdHMpCiBzZWxmdGVzdChhY3RpdmUsIGk5MTVfYWN0aXZlX2xpdmVfc2Vs ZnRlc3RzKQogc2VsZnRlc3Qob2JqZWN0cywgaTkxNV9nZW1fb2JqZWN0X2xpdmVfc2VsZnRlc3Rz KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19z ZWxmdGVzdHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2Vs ZnRlc3RzLmgKaW5kZXggNTEwZWIxNzZiYjJjLi5iNTVkYTRkOWNjYmEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2VsZnRlc3RzLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMuaApAQCAt MTUsNyArMTUsNyBAQCBzZWxmdGVzdChzY2F0dGVybGlzdCwgc2NhdHRlcmxpc3RfbW9ja19zZWxm dGVzdHMpCiBzZWxmdGVzdChzeW5jbWFwLCBpOTE1X3N5bmNtYXBfbW9ja19zZWxmdGVzdHMpCiBz ZWxmdGVzdCh1bmNvcmUsIGludGVsX3VuY29yZV9tb2NrX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGVu Z2luZSwgaW50ZWxfZW5naW5lX2NzX21vY2tfc2VsZnRlc3RzKQotc2VsZnRlc3QodGltZWxpbmVz LCBpOTE1X3RpbWVsaW5lX21vY2tfc2VsZnRlc3RzKQorc2VsZnRlc3QodGltZWxpbmVzLCBpbnRl bF90aW1lbGluZV9tb2NrX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KHJlcXVlc3RzLCBpOTE1X3JlcXVl c3RfbW9ja19zZWxmdGVzdHMpCiBzZWxmdGVzdChvYmplY3RzLCBpOTE1X2dlbV9vYmplY3RfbW9j a19zZWxmdGVzdHMpCiBzZWxmdGVzdChwaHlzLCBpOTE1X2dlbV9waHlzX21vY2tfc2VsZnRlc3Rz KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2Rl dmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5j CmluZGV4IDAyMWJhNDJhM2EwMC4uMjc0MTgwNWI1NmMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCkBAIC02OCw3ICs2OCw3IEBAIHN0 YXRpYyB2b2lkIG1vY2tfZGV2aWNlX3JlbGVhc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlp OTE1X2dlbV9jb250ZXh0c19maW5pKGk5MTUpOwogCW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0 cnVjdF9tdXRleCk7CiAKLQlpOTE1X3RpbWVsaW5lc19maW5pKGk5MTUpOworCWludGVsX3RpbWVs aW5lc19maW5pKGk5MTUpOwogCiAJZHJhaW5fd29ya3F1ZXVlKGk5MTUtPndxKTsKIAlpOTE1X2dl bV9kcmFpbl9mcmVlZF9vYmplY3RzKGk5MTUpOwpAQCAtMTk5LDcgKzE5OSw3IEBAIHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICptb2NrX2dlbV9kZXZpY2Uodm9pZCkKIAogCWk5MTUtPmd0LmF3YWtl ID0gdHJ1ZTsKIAotCWk5MTVfdGltZWxpbmVzX2luaXQoaTkxNSk7CisJaW50ZWxfdGltZWxpbmVz X2luaXQoaTkxNSk7CiAKIAltdXRleF9sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKIApA QCAtMjMwLDcgKzIzMCw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICptb2NrX2dlbV9kZXZp Y2Uodm9pZCkKIAltb2NrX2VuZ2luZV9mcmVlKGk5MTUtPmVuZ2luZVtSQ1MwXSk7CiBlcnJfdW5s b2NrOgogCW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Ci0JaTkxNV90aW1l bGluZXNfZmluaShpOTE1KTsKKwlpbnRlbF90aW1lbGluZXNfZmluaShpOTE1KTsKIAlkZXN0cm95 X3dvcmtxdWV1ZShpOTE1LT53cSk7CiBlcnJfZHJ2OgogCWRybV9tb2RlX2NvbmZpZ19jbGVhbnVw KCZpOTE1LT5kcm0pOwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZng=