From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 30/31] drm/i915: Rename i915_timeline to intel_timeline and move under gt Date: Fri, 14 Jun 2019 16:17:30 +0100 Message-ID: <20190614151731.17608-31-tvrtko.ursulin@linux.intel.com> References: <20190614151731.17608-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 mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id E72D489A4B for ; Fri, 14 Jun 2019 15:18:29 +0000 (UTC) In-Reply-To: <20190614151731.17608-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 dWdnZXN0ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgICAgICAgICAgICB8ICAgMiArLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUuaGVhZGVyLXRlc3QgICAgIHwgICAxIC0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMgICB8ICAxMCArLQogLi4u L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dF90eXBlcy5oIHwgICA0ICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcG0uYyAgICAgICAgfCAgIDIgKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZS5oICAgICAgICB8ICAgNCArLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMgICAgIHwgIDI0ICsrLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oICB8ICAgNiArLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgIDE2ICstLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYyAgICAgICAgIHwgICAyICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgICAgfCAgMjAgKy0tCiAuLi4ve2k5 MTVfdGltZWxpbmUuYyA9PiBndC9pbnRlbF90aW1lbGluZS5jfSAgfCAxMDggKysrKysrKystLS0t LS0tLQogLi4uL3tpOTE1X3RpbWVsaW5lLmggPT4gZ3QvaW50ZWxfdGltZWxpbmUuaH0gIHwgIDcw ICsrKysrLS0tLS0KIC4uLi9pbnRlbF90aW1lbGluZV90eXBlcy5ofSAgICAgICAgICAgICAgICAg ICB8ICAgNiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUuYyAgICAgICAg IHwgIDE4ICstLQogLi4uL3NlbGZ0ZXN0X3RpbWVsaW5lLmN9ICAgICAgICAgICAgICAgICAgICAg IHwgMTIyICsrKysrKysrKy0tLS0tLS0tLQogLi4uL2k5MTUveyA9PiBndH0vc2VsZnRlc3RzL21v Y2tfdGltZWxpbmUuYyAgIHwgICA2ICstCiAuLi4vaTkxNS97ID0+IGd0fS9zZWxmdGVzdHMvbW9j a190aW1lbGluZS5oICAgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgICAgICAgICAgICB8ICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAg ICAgICAgICAgICAgIHwgICA4ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aCAgICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5j ICAgICAgICAgICB8ICAxNiArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5o ICAgICAgICAgICB8ICAgOCArLQogLi4uL2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xpdmVfc2Vs ZnRlc3RzLmggIHwgICAyICstCiAuLi4vZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxm dGVzdHMuaCAgfCAgIDIgKy0KIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2Rl dmljZS5jICB8ICAgNiArLQogMjYgZmlsZXMgY2hhbmdlZCwgMjM2IGluc2VydGlvbnMoKyksIDIz NyBkZWxldGlvbnMoLSkKIHJlbmFtZSBkcml2ZXJzL2dwdS9kcm0vaTkxNS97aTkxNV90aW1lbGlu ZS5jID0+IGd0L2ludGVsX3RpbWVsaW5lLmN9ICg4MiUpCiByZW5hbWUgZHJpdmVycy9ncHUvZHJt L2k5MTUve2k5MTVfdGltZWxpbmUuaCA9PiBndC9pbnRlbF90aW1lbGluZS5ofSAoNTMlKQogcmVu YW1lIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3tpOTE1X3RpbWVsaW5lX3R5cGVzLmggPT4gZ3QvaW50 ZWxfdGltZWxpbmVfdHlwZXMuaH0gKDk0JSkKIHJlbmFtZSBkcml2ZXJzL2dwdS9kcm0vaTkxNS97 c2VsZnRlc3RzL2k5MTVfdGltZWxpbmUuYyA9PiBndC9zZWxmdGVzdF90aW1lbGluZS5jfSAoODcl KQogcmVuYW1lIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3sgPT4gZ3R9L3NlbGZ0ZXN0cy9tb2NrX3Rp bWVsaW5lLmMgKDczJSkKIHJlbmFtZSBkcml2ZXJzL2dwdS9kcm0vaTkxNS97ID0+IGd0fS9zZWxm dGVzdHMvbW9ja190aW1lbGluZS5oICg1MyUpCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQppbmRleCA4ZGYx YmYyODU1ZDAuLmY0ZjgyMzI3NWFhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv TWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKQEAgLTgxLDYgKzgx LDcgQEAgZ3QteSArPSBcCiAJZ3QvaW50ZWxfcmluZ2J1ZmZlci5vIFwKIAlndC9pbnRlbF9tb2Nz Lm8gXAogCWd0L2ludGVsX3NzZXUubyBcCisJZ3QvaW50ZWxfdGltZWxpbmUubyBcCiAJZ3QvaW50 ZWxfd29ya2Fyb3VuZHMubwogZ3QtJChDT05GSUdfRFJNX0k5MTVfU0VMRlRFU1QpICs9IFwKIAln dC9tb2NrX2VuZ2luZS5vCkBAIC0xMjYsNyArMTI3LDYgQEAgaTkxNS15ICs9IFwKIAkgIGk5MTVf cXVlcnkubyBcCiAJICBpOTE1X3JlcXVlc3QubyBcCiAJICBpOTE1X3NjaGVkdWxlci5vIFwKLQkg IGk5MTVfdGltZWxpbmUubyBcCiAJICBpOTE1X3RyYWNlX3BvaW50cy5vIFwKIAkgIGk5MTVfdm1h Lm8gXAogCSAgaW50ZWxfd29wY20ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv TWFrZWZpbGUuaGVhZGVyLXRlc3QgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZS5oZWFk ZXItdGVzdAppbmRleCA2ZWYzYjY0N2FjNjUuLmY1NTM0NmQzYzI3YiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUuaGVhZGVyLXRlc3QKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvTWFrZWZpbGUuaGVhZGVyLXRlc3QKQEAgLTExLDcgKzExLDYgQEAgaGVhZGVyX3Rl c3QgOj0gXAogCWk5MTVfcHJpb2xpc3RfdHlwZXMuaCBcCiAJaTkxNV9yZWcuaCBcCiAJaTkxNV9z Y2hlZHVsZXJfdHlwZXMuaCBcCi0JaTkxNV90aW1lbGluZV90eXBlcy5oIFwKIAlpOTE1X3V0aWxz LmggXAogCWludGVsX2FjcGkuaCBcCiAJaW50ZWxfYXRvbWljLmggXApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggYzUyODY5ZTU4Y2I1Li5kODMxYmRm NzUyY2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250 ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwpA QCAtMzE2LDcgKzMxNiw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfZnJlZShzdHJ1 Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQogCW11dGV4X2Rlc3Ryb3koJmN0eC0+ZW5naW5lc19t dXRleCk7CiAKIAlpZiAoY3R4LT50aW1lbGluZSkKLQkJaTkxNV90aW1lbGluZV9wdXQoY3R4LT50 aW1lbGluZSk7CisJCWludGVsX3RpbWVsaW5lX3B1dChjdHgtPnRpbWVsaW5lKTsKIAogCWtmcmVl KGN0eC0+bmFtZSk7CiAJcHV0X3BpZChjdHgtPnBpZCk7CkBAIC01MjgsOSArNTI4LDkgQEAgaTkx NV9nZW1fY3JlYXRlX2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1 bnNpZ25lZCBpbnQgZmxhZ3MpCiAJfQogCiAJaWYgKGZsYWdzICYgSTkxNV9DT05URVhUX0NSRUFU RV9GTEFHU19TSU5HTEVfVElNRUxJTkUpIHsKLQkJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVs aW5lOworCQlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCi0JCXRpbWVsaW5lID0g aTkxNV90aW1lbGluZV9jcmVhdGUoJmRldl9wcml2LT5ndCwgTlVMTCk7CisJCXRpbWVsaW5lID0g aW50ZWxfdGltZWxpbmVfY3JlYXRlKCZkZXZfcHJpdi0+Z3QsIE5VTEwpOwogCQlpZiAoSVNfRVJS KHRpbWVsaW5lKSkgewogCQkJY29udGV4dF9jbG9zZShjdHgpOwogCQkJcmV0dXJuIEVSUl9DQVNU KHRpbWVsaW5lKTsKQEAgLTIwMjcsOCArMjAyNyw4IEBAIHN0YXRpYyBpbnQgY2xvbmVfdGltZWxp bmUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmRzdCwKIAkJR0VNX0JVR19PTihzcmMtPnRpbWVs aW5lID09IGRzdC0+dGltZWxpbmUpOwogCiAJCWlmIChkc3QtPnRpbWVsaW5lKQotCQkJaTkxNV90 aW1lbGluZV9wdXQoZHN0LT50aW1lbGluZSk7Ci0JCWRzdC0+dGltZWxpbmUgPSBpOTE1X3RpbWVs aW5lX2dldChzcmMtPnRpbWVsaW5lKTsKKwkJCWludGVsX3RpbWVsaW5lX3B1dChkc3QtPnRpbWVs aW5lKTsKKwkJZHN0LT50aW1lbGluZSA9IGludGVsX3RpbWVsaW5lX2dldChzcmMtPnRpbWVsaW5l KTsKIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9jb250ZXh0X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fY29udGV4dF90eXBlcy5oCmluZGV4IGNjNTEzNDEwZWVlZi4uMGVlNjE0ODJlZjk0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dF90eXBl cy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0X3R5cGVz LmgKQEAgLTI2LDcgKzI2LDcgQEAgc3RydWN0IHBpZDsKIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl Owogc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZTsKIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3Bh Y2U7Ci1zdHJ1Y3QgaTkxNV90aW1lbGluZTsKK3N0cnVjdCBpbnRlbF90aW1lbGluZTsKIHN0cnVj dCBpbnRlbF9yaW5nOwogCiBzdHJ1Y3QgaTkxNV9nZW1fZW5naW5lcyB7CkBAIC03Nyw3ICs3Nyw3 IEBAIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0IHsKIAlzdHJ1Y3QgaTkxNV9nZW1fZW5naW5lcyBf X3JjdSAqZW5naW5lczsKIAlzdHJ1Y3QgbXV0ZXggZW5naW5lc19tdXRleDsgLyogZ3VhcmRzIHdy aXRlcyB0byBlbmdpbmVzICovCiAKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJ c3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAogCS8qKgogCSAqIEB2bTogdW5pcXVl IGFkZHJlc3Mgc3BhY2UgKEdUVCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BtLmMK aW5kZXggNmU3NTcwMmM1NjcxLi4yNTliOTVlMmUwNTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dl bS9pOTE1X2dlbV9wbS5jCkBAIC0yMCw3ICsyMCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3Bh cmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJZm9yX2VhY2hfZW5naW5lKGVuZ2lu ZSwgaTkxNSwgaWQpCiAJCWk5MTVfZ2VtX2JhdGNoX3Bvb2xfZmluaSgmZW5naW5lLT5iYXRjaF9w b29sKTsKIAotCWk5MTVfdGltZWxpbmVzX3BhcmsoaTkxNSk7CisJaW50ZWxfdGltZWxpbmVzX3Bh cmsoaTkxNSk7CiAJaTkxNV92bWFfcGFya2VkKGk5MTUpOwogCiAJaTkxNV9nbG9iYWxzX3Bhcmso KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZS5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lLmgKaW5kZXggMTQzOWZhNDA5M2Fj Li5kMzAyMWI3OTcxZDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2VuZ2luZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZS5oCkBA IC0xNCw3ICsxNCw3IEBACiAjaW5jbHVkZSAiaTkxNV9yZWcuaCIKICNpbmNsdWRlICJpOTE1X3Jl cXVlc3QuaCIKICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCi0jaW5jbHVkZSAiaTkxNV90aW1l bGluZS5oIgorI2luY2x1ZGUgImd0L2ludGVsX3RpbWVsaW5lLmgiCiAjaW5jbHVkZSAiaW50ZWxf ZW5naW5lX3R5cGVzLmgiCiAjaW5jbHVkZSAiaW50ZWxfZ3B1X2NvbW1hbmRzLmgiCiAjaW5jbHVk ZSAiaW50ZWxfd29ya2Fyb3VuZHMuaCIKQEAgLTI0NSw3ICsyNDUsNyBAQCBpbnRlbF93cml0ZV9z dGF0dXNfcGFnZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCByZWcsIHUzMiB2 YWx1ZSkKIAogc3RydWN0IGludGVsX3JpbmcgKgogaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5nKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKLQkJCSBzdHJ1Y3QgaTkxNV90aW1lbGluZSAq dGltZWxpbmUsCisJCQkgc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZSwKIAkJCSBpbnQg c2l6ZSk7CiBpbnQgaW50ZWxfcmluZ19waW4oc3RydWN0IGludGVsX3JpbmcgKnJpbmcpOwogdm9p ZCBpbnRlbF9yaW5nX3Jlc2V0KHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nLCB1MzIgdGFpbCk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IDNhZWMwMDliZWUy My4uY2Q4YjIyYzkzNGM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9lbmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf Y3MuYwpAQCAtNjE4LDEzICs2MTgsMTMgQEAgc3RhdGljIGludCBpbnRlbF9lbmdpbmVfc2V0dXBf Y29tbW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlpZiAoZXJyKQogCQlyZXR1 cm4gZXJyOwogCi0JZXJyID0gaTkxNV90aW1lbGluZV9pbml0KCZlbmdpbmUtPnRpbWVsaW5lLAot CQkJCSBlbmdpbmUtPmd0LAotCQkJCSBlbmdpbmUtPnN0YXR1c19wYWdlLnZtYSk7CisJZXJyID0g aW50ZWxfdGltZWxpbmVfaW5pdCgmZW5naW5lLT50aW1lbGluZSwKKwkJCQkgIGVuZ2luZS0+Z3Qs CisJCQkJICBlbmdpbmUtPnN0YXR1c19wYWdlLnZtYSk7CiAJaWYgKGVycikKIAkJZ290byBlcnJf aHdzcDsKIAotCWk5MTVfdGltZWxpbmVfc2V0X3N1YmNsYXNzKCZlbmdpbmUtPnRpbWVsaW5lLCBU SU1FTElORV9FTkdJTkUpOworCWludGVsX3RpbWVsaW5lX3NldF9zdWJjbGFzcygmZW5naW5lLT50 aW1lbGluZSwgVElNRUxJTkVfRU5HSU5FKTsKIAogCWludGVsX2VuZ2luZV9pbml0X2JyZWFkY3J1 bWJzKGVuZ2luZSk7CiAJaW50ZWxfZW5naW5lX2luaXRfZXhlY2xpc3RzKGVuZ2luZSk7CkBAIC03 MjksNyArNzI5LDcgQEAgdm9pZCBpbnRlbF9lbmdpbmVzX3NldF9zY2hlZHVsZXJfY2FwcyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogc3RydWN0IG1lYXN1cmVfYnJlYWRjcnVtYiB7 CiAJc3RydWN0IGk5MTVfcmVxdWVzdCBycTsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSB0aW1lbGlu ZTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgdGltZWxpbmU7CiAJc3RydWN0IGludGVsX3Jpbmcg cmluZzsKIAl1MzIgY3NbMTAyNF07CiB9OwpAQCAtNzQ1LDkgKzc0NSw5IEBAIHN0YXRpYyBpbnQg bWVhc3VyZV9icmVhZGNydW1iX2R3KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlp ZiAoIWZyYW1lKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCWlmIChpOTE1X3RpbWVsaW5lX2luaXQo JmZyYW1lLT50aW1lbGluZSwKLQkJCSAgICAgICBlbmdpbmUtPmd0LAotCQkJICAgICAgIGVuZ2lu ZS0+c3RhdHVzX3BhZ2Uudm1hKSkKKwlpZiAoaW50ZWxfdGltZWxpbmVfaW5pdCgmZnJhbWUtPnRp bWVsaW5lLAorCQkJCWVuZ2luZS0+Z3QsCisJCQkJZW5naW5lLT5zdGF0dXNfcGFnZS52bWEpKQog CQlnb3RvIG91dF9mcmFtZTsKIAogCUlOSVRfTElTVF9IRUFEKCZmcmFtZS0+cmluZy5yZXF1ZXN0 X2xpc3QpOwpAQCAtNzYyLDE3ICs3NjIsMTcgQEAgc3RhdGljIGludCBtZWFzdXJlX2JyZWFkY3J1 bWJfZHcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWZyYW1lLT5ycS5yaW5nID0g JmZyYW1lLT5yaW5nOwogCWZyYW1lLT5ycS50aW1lbGluZSA9ICZmcmFtZS0+dGltZWxpbmU7CiAK LQlkdyA9IGk5MTVfdGltZWxpbmVfcGluKCZmcmFtZS0+dGltZWxpbmUpOworCWR3ID0gaW50ZWxf dGltZWxpbmVfcGluKCZmcmFtZS0+dGltZWxpbmUpOwogCWlmIChkdyA8IDApCiAJCWdvdG8gb3V0 X3RpbWVsaW5lOwogCiAJZHcgPSBlbmdpbmUtPmVtaXRfZmluaV9icmVhZGNydW1iKCZmcmFtZS0+ cnEsIGZyYW1lLT5jcykgLSBmcmFtZS0+Y3M7CiAJR0VNX0JVR19PTihkdyAmIDEpOyAvKiBSSU5H X1RBSUwgbXVzdCBiZSBxd29yZCBhbGlnbmVkICovCiAKLQlpOTE1X3RpbWVsaW5lX3VucGluKCZm cmFtZS0+dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX3VucGluKCZmcmFtZS0+dGltZWxpbmUp OwogCiBvdXRfdGltZWxpbmU6Ci0JaTkxNV90aW1lbGluZV9maW5pKCZmcmFtZS0+dGltZWxpbmUp OworCWludGVsX3RpbWVsaW5lX2ZpbmkoJmZyYW1lLT50aW1lbGluZSk7CiBvdXRfZnJhbWU6CiAJ a2ZyZWUoZnJhbWUpOwogCXJldHVybiBkdzsKQEAgLTg3NCw3ICs4NzQsNyBAQCB2b2lkIGludGVs X2VuZ2luZV9jbGVhbnVwX2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJ CWludGVsX2NvbnRleHRfdW5waW4oZW5naW5lLT5wcmVlbXB0X2NvbnRleHQpOwogCWludGVsX2Nv bnRleHRfdW5waW4oZW5naW5lLT5rZXJuZWxfY29udGV4dCk7CiAKLQlpOTE1X3RpbWVsaW5lX2Zp bmkoJmVuZ2luZS0+dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX2ZpbmkoJmVuZ2luZS0+dGlt ZWxpbmUpOwogCiAJaW50ZWxfd2FfbGlzdF9mcmVlKCZlbmdpbmUtPmN0eF93YV9saXN0KTsKIAlp bnRlbF93YV9saXN0X2ZyZWUoJmVuZ2luZS0+d2FfbGlzdCk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oCmluZGV4IDM0M2M0NDU5ZThhMy4uYzMzZmE3ZjBj ZjcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlw ZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaApA QCAtMTgsNyArMTgsNyBAQAogI2luY2x1ZGUgImk5MTVfcG11LmgiCiAjaW5jbHVkZSAiaTkxNV9w cmlvbGlzdF90eXBlcy5oIgogI2luY2x1ZGUgImk5MTVfc2VsZnRlc3QuaCIKLSNpbmNsdWRlICJp OTE1X3RpbWVsaW5lX3R5cGVzLmgiCisjaW5jbHVkZSAiZ3QvaW50ZWxfdGltZWxpbmVfdHlwZXMu aCIKICNpbmNsdWRlICJpbnRlbF9zc2V1LmgiCiAjaW5jbHVkZSAiaW50ZWxfd2FrZXJlZi5oIgog I2luY2x1ZGUgImludGVsX3dvcmthcm91bmRzX3R5cGVzLmgiCkBAIC02Niw3ICs2Niw3IEBAIHN0 cnVjdCBpbnRlbF9yaW5nIHsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAl2b2lkICp2YWRkcjsK IAotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxp bmUgKnRpbWVsaW5lOwogCXN0cnVjdCBsaXN0X2hlYWQgcmVxdWVzdF9saXN0OwogCXN0cnVjdCBs aXN0X2hlYWQgYWN0aXZlX2xpbms7CiAKQEAgLTI4OSw3ICsyODksNyBAQCBzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzIHsKIAogCXN0cnVjdCBpbnRlbF9yaW5nICpidWZmZXI7CiAKLQlzdHJ1Y3QgaTkx NV90aW1lbGluZSB0aW1lbGluZTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgdGltZWxpbmU7CiAK IAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqa2VybmVsX2NvbnRleHQ7IC8qIHBpbm5lZCAqLwogCXN0 cnVjdCBpbnRlbF9jb250ZXh0ICpwcmVlbXB0X2NvbnRleHQ7IC8qIHBpbm5lZDsgb3B0aW9uYWwg Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMKaW5kZXggMGE0OTk0OWMwNTk5Li44MGQ0 ZmQ3MWIwMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCkBAIC0yOTg0LDEzICsy OTg0LDEzIEBAIHBvcHVsYXRlX2xyX2NvbnRleHQoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAog CXJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgaTkxNV90aW1lbGluZSAqCitzdGF0aWMg c3RydWN0IGludGVsX3RpbWVsaW5lICoKIGdldF90aW1lbGluZShzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqY3R4LCBzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogewogCWlmIChjdHgtPnRpbWVsaW5lKQot CQlyZXR1cm4gaTkxNV90aW1lbGluZV9nZXQoY3R4LT50aW1lbGluZSk7CisJCXJldHVybiBpbnRl bF90aW1lbGluZV9nZXQoY3R4LT50aW1lbGluZSk7CiAJZWxzZQotCQlyZXR1cm4gaTkxNV90aW1l bGluZV9jcmVhdGUoZ3QsIE5VTEwpOworCQlyZXR1cm4gaW50ZWxfdGltZWxpbmVfY3JlYXRlKGd0 LCBOVUxMKTsKIH0KIAogc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZlcnJlZF9hbGxv YyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCkBAIC0zMDAwLDcgKzMwMDAsNyBAQCBzdGF0aWMg aW50IGV4ZWNsaXN0c19jb250ZXh0X2RlZmVycmVkX2FsbG9jKHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjZSwKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAl1MzIgY29udGV4dF9zaXplOwogCXN0cnVj dCBpbnRlbF9yaW5nICpyaW5nOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZTsKKwlz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCWludCByZXQ7CiAKIAlpZiAoY2UtPnN0 YXRlKQpAQCAtMzAzMyw3ICszMDMzLDcgQEAgc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9k ZWZlcnJlZF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAJcmluZyA9IGludGVsX2Vu Z2luZV9jcmVhdGVfcmluZyhlbmdpbmUsCiAJCQkJCXRpbWVsaW5lLAogCQkJCQljZS0+Z2VtX2Nv bnRleHQtPnJpbmdfc2l6ZSk7Ci0JaTkxNV90aW1lbGluZV9wdXQodGltZWxpbmUpOworCWludGVs X3RpbWVsaW5lX3B1dCh0aW1lbGluZSk7CiAJaWYgKElTX0VSUihyaW5nKSkgewogCQlyZXQgPSBQ VFJfRVJSKHJpbmcpOwogCQlnb3RvIGVycm9yX2RlcmVmX29iajsKQEAgLTMwODgsNyArMzA4OCw3 IEBAIHN0YXRpYyB2b2lkIHZpcnR1YWxfY29udGV4dF9kZXN0cm95KHN0cnVjdCBrcmVmICprcmVm KQogCiAJa2ZyZWUodmUtPmJvbmRzKTsKIAotCWk5MTVfdGltZWxpbmVfZmluaSgmdmUtPmJhc2Uu dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX2ZpbmkoJnZlLT5iYXNlLnRpbWVsaW5lKTsKIAlr ZnJlZSh2ZSk7CiB9CiAKQEAgLTMzNDQsMTAgKzMzNDQsMTAgQEAgaW50ZWxfZXhlY2xpc3RzX2Ny ZWF0ZV92aXJ0dWFsKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAKIAlzbnByaW50Zih2 ZS0+YmFzZS5uYW1lLCBzaXplb2YodmUtPmJhc2UubmFtZSksICJ2aXJ0dWFsIik7CiAKLQllcnIg PSBpOTE1X3RpbWVsaW5lX2luaXQoJnZlLT5iYXNlLnRpbWVsaW5lLCBzaWJsaW5nc1swXS0+Z3Qs IE5VTEwpOworCWVyciA9IGludGVsX3RpbWVsaW5lX2luaXQoJnZlLT5iYXNlLnRpbWVsaW5lLCBz aWJsaW5nc1swXS0+Z3QsIE5VTEwpOwogCWlmIChlcnIpCiAJCWdvdG8gZXJyX3B1dDsKLQlpOTE1 X3RpbWVsaW5lX3NldF9zdWJjbGFzcygmdmUtPmJhc2UudGltZWxpbmUsIFRJTUVMSU5FX1ZJUlRV QUwpOworCWludGVsX3RpbWVsaW5lX3NldF9zdWJjbGFzcygmdmUtPmJhc2UudGltZWxpbmUsIFRJ TUVMSU5FX1ZJUlRVQUwpOwogCiAJaW50ZWxfZW5naW5lX2luaXRfZXhlY2xpc3RzKCZ2ZS0+YmFz ZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yZXNldC5jCmluZGV4IGE4MzdmMzAzNTBk My4uMDRlNjYyYjRlMWMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9yZXNldC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMKQEAg LTg1MCw3ICs4NTAsNyBAQCB2b2lkIGk5MTVfZ2VtX3NldF93ZWRnZWQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpCiBzdGF0aWMgYm9vbCBfX2k5MTVfZ2VtX3Vuc2V0X3dlZGdlZChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKIAlzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVy cm9yID0gJmk5MTUtPmdwdV9lcnJvcjsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7CisJc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0bDsKIAogCWlmICghdGVzdF9iaXQoSTkxNV9XRURHRUQsICZl cnJvci0+ZmxhZ3MpKQogCQlyZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX3JpbmdidWZmZXIuYwppbmRleCBkMjQ0YWQ2OGRhN2UuLjc5ZDU1MGU1ZDg2YSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtNzMwLDcgKzczMCw3 IEBAIHN0YXRpYyB2b2lkIHJlc2V0X3ByZXBhcmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQogCiBzdGF0aWMgdm9pZCByZXNldF9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSwgYm9vbCBzdGFsbGVkKQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCA9ICZlbmdp bmUtPnRpbWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSAmZW5naW5lLT50aW1l bGluZTsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpwb3MsICpycTsKIAl1bnNpZ25lZCBsb25nIGZs YWdzOwogCXUzMiBoZWFkOwpAQCAtMTE1Nyw3ICsxMTU3LDcgQEAgaW50IGludGVsX3JpbmdfcGlu KHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQogCiAJR0VNX0JVR19PTihyaW5nLT52YWRkcik7CiAK LQlyZXQgPSBpOTE1X3RpbWVsaW5lX3BpbihyaW5nLT50aW1lbGluZSk7CisJcmV0ID0gaW50ZWxf dGltZWxpbmVfcGluKHJpbmctPnRpbWVsaW5lKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0Owog CkBAIC0xMTkyLDcgKzExOTIsNyBAQCBpbnQgaW50ZWxfcmluZ19waW4oc3RydWN0IGludGVsX3Jp bmcgKnJpbmcpCiB1bnBpbl9yaW5nOgogCWk5MTVfdm1hX3VucGluKHZtYSk7CiB1bnBpbl90aW1l bGluZToKLQlpOTE1X3RpbWVsaW5lX3VucGluKHJpbmctPnRpbWVsaW5lKTsKKwlpbnRlbF90aW1l bGluZV91bnBpbihyaW5nLT50aW1lbGluZSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTIyMyw3 ICsxMjIzLDcgQEAgdm9pZCBpbnRlbF9yaW5nX3VucGluKHN0cnVjdCBpbnRlbF9yaW5nICpyaW5n KQogCXJpbmctPnZtYS0+b2JqLT5waW5fZ2xvYmFsLS07CiAJaTkxNV92bWFfdW5waW4ocmluZy0+ dm1hKTsKIAotCWk5MTVfdGltZWxpbmVfdW5waW4ocmluZy0+dGltZWxpbmUpOworCWludGVsX3Rp bWVsaW5lX3VucGluKHJpbmctPnRpbWVsaW5lKTsKIH0KIAogc3RhdGljIHN0cnVjdCBpOTE1X3Zt YSAqY3JlYXRlX3Jpbmdfdm1hKHN0cnVjdCBpOTE1X2dndHQgKmdndHQsIGludCBzaXplKQpAQCAt MTI1OSw3ICsxMjU5LDcgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3ZtYSAqY3JlYXRlX3Jpbmdfdm1h KHN0cnVjdCBpOTE1X2dndHQgKmdndHQsIGludCBzaXplKQogCiBzdHJ1Y3QgaW50ZWxfcmluZyAq CiBpbnRlbF9lbmdpbmVfY3JlYXRlX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l LAotCQkJIHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSwKKwkJCSBzdHJ1Y3QgaW50ZWxf dGltZWxpbmUgKnRpbWVsaW5lLAogCQkJIGludCBzaXplKQogewogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gZW5naW5lLT5pOTE1OwpAQCAtMTI3Nyw3ICsxMjc3LDcgQEAgaW50ZWxf ZW5naW5lX2NyZWF0ZV9yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAogCWty ZWZfaW5pdCgmcmluZy0+cmVmKTsKIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+cmVxdWVzdF9saXN0 KTsKLQlyaW5nLT50aW1lbGluZSA9IGk5MTVfdGltZWxpbmVfZ2V0KHRpbWVsaW5lKTsKKwlyaW5n LT50aW1lbGluZSA9IGludGVsX3RpbWVsaW5lX2dldCh0aW1lbGluZSk7CiAKIAlyaW5nLT5zaXpl ID0gc2l6ZTsKIAkvKiBXb3JrYXJvdW5kIGFuIGVycmF0dW0gb24gdGhlIGk4MzAgd2hpY2ggY2F1 c2VzIGEgaGFuZyBpZgpAQCAtMTMwNyw3ICsxMzA3LDcgQEAgdm9pZCBpbnRlbF9yaW5nX2ZyZWUo c3RydWN0IGtyZWYgKnJlZikKIAlpOTE1X3ZtYV9jbG9zZShyaW5nLT52bWEpOwogCWk5MTVfdm1h X3B1dChyaW5nLT52bWEpOwogCi0JaTkxNV90aW1lbGluZV9wdXQocmluZy0+dGltZWxpbmUpOwor CWludGVsX3RpbWVsaW5lX3B1dChyaW5nLT50aW1lbGluZSk7CiAJa2ZyZWUocmluZyk7CiB9CiAK QEAgLTIyOTgsMTEgKzIyOTgsMTEgQEAgaW50IGludGVsX3Jpbmdfc3VibWlzc2lvbl9zZXR1cChz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAKIGludCBpbnRlbF9yaW5nX3N1Ym1pc3Np b25faW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7Ci0Jc3RydWN0IGk5MTVf dGltZWxpbmUgKnRpbWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmU7CiAJ c3RydWN0IGludGVsX3JpbmcgKnJpbmc7CiAJaW50IGVycjsKIAotCXRpbWVsaW5lID0gaTkxNV90 aW1lbGluZV9jcmVhdGUoZW5naW5lLT5ndCwgZW5naW5lLT5zdGF0dXNfcGFnZS52bWEpOworCXRp bWVsaW5lID0gaW50ZWxfdGltZWxpbmVfY3JlYXRlKGVuZ2luZS0+Z3QsIGVuZ2luZS0+c3RhdHVz X3BhZ2Uudm1hKTsKIAlpZiAoSVNfRVJSKHRpbWVsaW5lKSkgewogCQllcnIgPSBQVFJfRVJSKHRp bWVsaW5lKTsKIAkJZ290byBlcnI7CkBAIC0yMzEwLDcgKzIzMTAsNyBAQCBpbnQgaW50ZWxfcmlu Z19zdWJtaXNzaW9uX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCUdFTV9C VUdfT04odGltZWxpbmUtPmhhc19pbml0aWFsX2JyZWFkY3J1bWIpOwogCiAJcmluZyA9IGludGVs X2VuZ2luZV9jcmVhdGVfcmluZyhlbmdpbmUsIHRpbWVsaW5lLCAzMiAqIFBBR0VfU0laRSk7Ci0J aTkxNV90aW1lbGluZV9wdXQodGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX3B1dCh0aW1lbGlu ZSk7CiAJaWYgKElTX0VSUihyaW5nKSkgewogCQllcnIgPSBQVFJfRVJSKHJpbmcpOwogCQlnb3Rv IGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmMKc2ltaWxhcml0eSBpbmRl eCA4MiUKcmVuYW1lIGZyb20gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5jCnJl bmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5jCmluZGV4IDli NjJmMTRjY2MwNy4uMTE5NTBlY2NiZDkxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3RpbWVsaW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGlt ZWxpbmUuYwpAQCAtMTAsMTIgKzEwLDEyIEBACiAKICNpbmNsdWRlICJpOTE1X2FjdGl2ZS5oIgog I2luY2x1ZGUgImk5MTVfc3luY21hcC5oIgotI2luY2x1ZGUgImk5MTVfdGltZWxpbmUuaCIKKyNp bmNsdWRlICJndC9pbnRlbF90aW1lbGluZS5oIgogCiAjZGVmaW5lIHB0cl9zZXRfYml0KHB0ciwg Yml0KSAoKHR5cGVvZihwdHIpKSgodW5zaWduZWQgbG9uZykocHRyKSB8IEJJVChiaXQpKSkKICNk ZWZpbmUgcHRyX3Rlc3RfYml0KHB0ciwgYml0KSAoKHVuc2lnbmVkIGxvbmcpKHB0cikgJiBCSVQo Yml0KSkKIAotc3RydWN0IGk5MTVfdGltZWxpbmVfaHdzcCB7CitzdHJ1Y3QgaW50ZWxfdGltZWxp bmVfaHdzcCB7CiAJc3RydWN0IGludGVsX2d0ICpndDsKIAlzdHJ1Y3QgaTkxNV9ndF90aW1lbGlu ZXMgKmd0X3RpbWVsaW5lczsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGZyZWVfbGluazsKQEAgLTIzLDkg KzIzLDkgQEAgc3RydWN0IGk5MTVfdGltZWxpbmVfaHdzcCB7CiAJdTY0IGZyZWVfYml0bWFwOwog fTsKIAotc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lIHsKK3N0cnVjdCBpbnRlbF90aW1l bGluZV9jYWNoZWxpbmUgewogCXN0cnVjdCBpOTE1X2FjdGl2ZSBhY3RpdmU7Ci0Jc3RydWN0IGk5 MTVfdGltZWxpbmVfaHdzcCAqaHdzcDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfaHdzcCAqaHdz cDsKIAl2b2lkICp2YWRkcjsKICNkZWZpbmUgQ0FDSEVMSU5FX0JJVFMgNgogI2RlZmluZSBDQUNI RUxJTkVfRlJFRSBDQUNIRUxJTkVfQklUUwpAQCAtNTEsMTAgKzUxLDEwIEBAIHN0YXRpYyBzdHJ1 Y3QgaTkxNV92bWEgKl9faHdzcF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogfQogCiBzdGF0 aWMgc3RydWN0IGk5MTVfdm1hICoKLWh3c3BfYWxsb2Moc3RydWN0IGk5MTVfdGltZWxpbmUgKnRp bWVsaW5lLCB1bnNpZ25lZCBpbnQgKmNhY2hlbGluZSkKK2h3c3BfYWxsb2Moc3RydWN0IGludGVs X3RpbWVsaW5lICp0aW1lbGluZSwgdW5zaWduZWQgaW50ICpjYWNoZWxpbmUpCiB7CiAJc3RydWN0 IGk5MTVfZ3RfdGltZWxpbmVzICpndCA9ICZ0aW1lbGluZS0+Z3QtPnRpbWVsaW5lczsKLQlzdHJ1 Y3QgaTkxNV90aW1lbGluZV9od3NwICpod3NwOworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9od3Nw ICpod3NwOwogCiAJQlVJTERfQlVHX09OKEJJVFNfUEVSX1RZUEUodTY0KSAqIENBQ0hFTElORV9C WVRFUyA+IFBBR0VfU0laRSk7CiAKQEAgLTEwMCw3ICsxMDAsNyBAQCBod3NwX2FsbG9jKHN0cnVj dCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSwgdW5zaWduZWQgaW50ICpjYWNoZWxpbmUpCiAJcmV0 dXJuIGh3c3AtPnZtYTsKIH0KIAotc3RhdGljIHZvaWQgX19pZGxlX2h3c3BfZnJlZShzdHJ1Y3Qg aTkxNV90aW1lbGluZV9od3NwICpod3NwLCBpbnQgY2FjaGVsaW5lKQorc3RhdGljIHZvaWQgX19p ZGxlX2h3c3BfZnJlZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfaHdzcCAqaHdzcCwgaW50IGNhY2hl bGluZSkKIHsKIAlzdHJ1Y3QgaTkxNV9ndF90aW1lbGluZXMgKmd0ID0gaHdzcC0+Z3RfdGltZWxp bmVzOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGljIHZv aWQgX19pZGxlX2h3c3BfZnJlZShzdHJ1Y3QgaTkxNV90aW1lbGluZV9od3NwICpod3NwLCBpbnQg Y2FjaGVsaW5lKQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmd0LT5od3NwX2xvY2ssIGZsYWdz KTsKIH0KIAotc3RhdGljIHZvaWQgX19pZGxlX2NhY2hlbGluZV9mcmVlKHN0cnVjdCBpOTE1X3Rp bWVsaW5lX2NhY2hlbGluZSAqY2wpCitzdGF0aWMgdm9pZCBfX2lkbGVfY2FjaGVsaW5lX2ZyZWUo c3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqY2wpCiB7CiAJR0VNX0JVR19PTighaTkx NV9hY3RpdmVfaXNfaWRsZSgmY2wtPmFjdGl2ZSkpOwogCkBAIC0xMzgsNyArMTM4LDcgQEAgc3Rh dGljIHZvaWQgX19pZGxlX2NhY2hlbGluZV9mcmVlKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hl bGluZSAqY2wpCiAKIHN0YXRpYyB2b2lkIF9fY2FjaGVsaW5lX3JldGlyZShzdHJ1Y3QgaTkxNV9h Y3RpdmUgKmFjdGl2ZSkKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsID0K KwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbCA9CiAJCWNvbnRhaW5lcl9vZihh Y3RpdmUsIHR5cGVvZigqY2wpLCBhY3RpdmUpOwogCiAJaTkxNV92bWFfdW5waW4oY2wtPmh3c3At PnZtYSk7CkBAIC0xNDYsMTAgKzE0NiwxMCBAQCBzdGF0aWMgdm9pZCBfX2NhY2hlbGluZV9yZXRp cmUoc3RydWN0IGk5MTVfYWN0aXZlICphY3RpdmUpCiAJCV9faWRsZV9jYWNoZWxpbmVfZnJlZShj bCk7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKgotY2FjaGVs aW5lX2FsbG9jKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2h3c3AgKmh3c3AsIHVuc2lnbmVkIGludCBj YWNoZWxpbmUpCitzdGF0aWMgc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqCitjYWNo ZWxpbmVfYWxsb2Moc3RydWN0IGludGVsX3RpbWVsaW5lX2h3c3AgKmh3c3AsIHVuc2lnbmVkIGlu dCBjYWNoZWxpbmUpCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbDsKKwlz dHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbDsKIAl2b2lkICp2YWRkcjsKIAogCUdF TV9CVUdfT04oY2FjaGVsaW5lID49IEJJVChDQUNIRUxJTkVfQklUUykpOwpAQCAtMTczLDE5ICsx NzMsMTkgQEAgY2FjaGVsaW5lX2FsbG9jKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2h3c3AgKmh3c3As IHVuc2lnbmVkIGludCBjYWNoZWxpbmUpCiAJcmV0dXJuIGNsOwogfQogCi1zdGF0aWMgdm9pZCBj YWNoZWxpbmVfYWNxdWlyZShzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsKQorc3Rh dGljIHZvaWQgY2FjaGVsaW5lX2FjcXVpcmUoc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGlu ZSAqY2wpCiB7CiAJaWYgKGNsICYmIGk5MTVfYWN0aXZlX2FjcXVpcmUoJmNsLT5hY3RpdmUpKQog CQlfX2k5MTVfdm1hX3BpbihjbC0+aHdzcC0+dm1hKTsKIH0KIAotc3RhdGljIHZvaWQgY2FjaGVs aW5lX3JlbGVhc2Uoc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkKK3N0YXRpYyB2 b2lkIGNhY2hlbGluZV9yZWxlYXNlKHN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKmNs KQogewogCWlmIChjbCkKIAkJaTkxNV9hY3RpdmVfcmVsZWFzZSgmY2wtPmFjdGl2ZSk7CiB9CiAK LXN0YXRpYyB2b2lkIGNhY2hlbGluZV9mcmVlKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGlu ZSAqY2wpCitzdGF0aWMgdm9pZCBjYWNoZWxpbmVfZnJlZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmVf Y2FjaGVsaW5lICpjbCkKIHsKIAlHRU1fQlVHX09OKHB0cl90ZXN0X2JpdChjbC0+dmFkZHIsIENB Q0hFTElORV9GUkVFKSk7CiAJY2wtPnZhZGRyID0gcHRyX3NldF9iaXQoY2wtPnZhZGRyLCBDQUNI RUxJTkVfRlJFRSk7CkBAIC0xOTQsOSArMTk0LDkgQEAgc3RhdGljIHZvaWQgY2FjaGVsaW5lX2Zy ZWUoc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkKIAkJX19pZGxlX2NhY2hlbGlu ZV9mcmVlKGNsKTsKIH0KIAotaW50IGk5MTVfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaTkxNV90aW1l bGluZSAqdGltZWxpbmUsCi0JCSAgICAgICBzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAotCQkgICAgICAg c3RydWN0IGk5MTVfdm1hICpod3NwKQoraW50IGludGVsX3RpbWVsaW5lX2luaXQoc3RydWN0IGlu dGVsX3RpbWVsaW5lICp0aW1lbGluZSwKKwkJCXN0cnVjdCBpbnRlbF9ndCAqZ3QsCisJCQlzdHJ1 Y3QgaTkxNV92bWEgKmh3c3ApCiB7CiAJdm9pZCAqdmFkZHI7CiAKQEAgLTIxNiw3ICsyMTYsNyBA QCBpbnQgaTkxNV90aW1lbGluZV9pbml0KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSwK IAl0aW1lbGluZS0+aHdzcF9jYWNoZWxpbmUgPSBOVUxMOwogCiAJaWYgKCFod3NwKSB7Ci0JCXN0 cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqY2w7CisJCXN0cnVjdCBpbnRlbF90aW1lbGlu ZV9jYWNoZWxpbmUgKmNsOwogCQl1bnNpZ25lZCBpbnQgY2FjaGVsaW5lOwogCiAJCWh3c3AgPSBo d3NwX2FsbG9jKHRpbWVsaW5lLCAmY2FjaGVsaW5lKTsKQEAgLTI3NCwxMiArMjc0LDEyIEBAIHN0 YXRpYyB2b2lkIHRpbWVsaW5lc19pbml0KHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiAJaTkxNV9nZW1f c2hyaW5rZXJfdGFpbnRzX211dGV4KGd0LT5pOTE1LCAmdGltZWxpbmVzLT5tdXRleCk7CiB9CiAK LXZvaWQgaTkxNV90aW1lbGluZXNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK K3ZvaWQgaW50ZWxfdGltZWxpbmVzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUp CiB7CiAJdGltZWxpbmVzX2luaXQoJmk5MTUtPmd0KTsKIH0KIAotc3RhdGljIHZvaWQgdGltZWxp bmVfYWRkX3RvX2FjdGl2ZShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCitzdGF0aWMgdm9pZCB0 aW1lbGluZV9hZGRfdG9fYWN0aXZlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJc3Ry dWN0IGk5MTVfZ3RfdGltZWxpbmVzICpndCA9ICZ0bC0+Z3QtPnRpbWVsaW5lczsKIApAQCAtMjg4 LDcgKzI4OCw3IEBAIHN0YXRpYyB2b2lkIHRpbWVsaW5lX2FkZF90b19hY3RpdmUoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRsKQogCW11dGV4X3VubG9jaygmZ3QtPm11dGV4KTsKIH0KIAotc3RhdGlj IHZvaWQgdGltZWxpbmVfcmVtb3ZlX2Zyb21fYWN0aXZlKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0 bCkKK3N0YXRpYyB2b2lkIHRpbWVsaW5lX3JlbW92ZV9mcm9tX2FjdGl2ZShzdHJ1Y3QgaW50ZWxf dGltZWxpbmUgKnRsKQogewogCXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3QgPSAmdGwtPmd0 LT50aW1lbGluZXM7CiAKQEAgLTMwMCw3ICszMDAsNyBAQCBzdGF0aWMgdm9pZCB0aW1lbGluZV9y ZW1vdmVfZnJvbV9hY3RpdmUoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQogc3RhdGljIHZvaWQg dGltZWxpbmVzX3Bhcmsoc3RydWN0IGludGVsX2d0ICpndCkKIHsKIAlzdHJ1Y3QgaTkxNV9ndF90 aW1lbGluZXMgKnRpbWVsaW5lcyA9ICZndC0+dGltZWxpbmVzOwotCXN0cnVjdCBpOTE1X3RpbWVs aW5lICp0aW1lbGluZTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCiAJbXV0 ZXhfbG9jaygmdGltZWxpbmVzLT5tdXRleCk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeSh0aW1lbGlu ZSwgJnRpbWVsaW5lcy0+YWN0aXZlX2xpc3QsIGxpbmspIHsKQEAgLTMxNiw3ICszMTYsNyBAQCBz dGF0aWMgdm9pZCB0aW1lbGluZXNfcGFyayhzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogfQogCiAvKioK LSAqIGk5MTVfdGltZWxpbmVzX3BhcmsgLSBjYWxsZWQgd2hlbiB0aGUgZHJpdmVyIGlkbGVzCisg KiBpbnRlbF90aW1lbGluZXNfcGFyayAtIGNhbGxlZCB3aGVuIHRoZSBkcml2ZXIgaWRsZXMKICAq IEBpOTE1OiB0aGUgZHJtX2k5MTVfcHJpdmF0ZSBkZXZpY2UKICAqCiAgKiBXaGVuIHRoZSBkcml2 ZXIgaXMgY29tcGxldGVseSBpZGxlLCB3ZSBrbm93IHRoYXQgYWxsIG9mIG91ciBzeW5jIHBvaW50 cwpAQCAtMzI1LDEyICszMjUsMTIgQEAgc3RhdGljIHZvaWQgdGltZWxpbmVzX3Bhcmsoc3RydWN0 IGludGVsX2d0ICpndCkKICAqIHRoZSBmZW5jZSBpcyBzaWduYWxlZCBhbmQgdGhlcmVmb3JlIHdl IHdpbGwgbm90IGV2ZW4gbG9vayB0aGVtIHVwIGluIHRoZQogICogc3luYyBwb2ludCBtYXAuCiAg Ki8KLXZvaWQgaTkxNV90aW1lbGluZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSkKK3ZvaWQgaW50ZWxfdGltZWxpbmVzX3Bhcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCiB7CiAJdGltZWxpbmVzX3BhcmsoJmk5MTUtPmd0KTsKIH0KIAotdm9pZCBpOTE1X3RpbWVs aW5lX2Zpbmkoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lKQordm9pZCBpbnRlbF90aW1l bGluZV9maW5pKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUpCiB7CiAJR0VNX0JVR19P Tih0aW1lbGluZS0+cGluX2NvdW50KTsKIAlHRU1fQlVHX09OKCFsaXN0X2VtcHR5KCZ0aW1lbGlu ZS0+cmVxdWVzdHMpKTsKQEAgLTM0NSwxNyArMzQ1LDE3IEBAIHZvaWQgaTkxNV90aW1lbGluZV9m aW5pKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSkKIAlpOTE1X3ZtYV9wdXQodGltZWxp bmUtPmh3c3BfZ2d0dCk7CiB9CiAKLXN0cnVjdCBpOTE1X3RpbWVsaW5lICoKLWk5MTVfdGltZWxp bmVfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndCAqZ3QsIHN0cnVjdCBpOTE1X3ZtYSAqZ2xvYmFsX2h3 c3ApCitzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKgoraW50ZWxfdGltZWxpbmVfY3JlYXRlKHN0cnVj dCBpbnRlbF9ndCAqZ3QsIHN0cnVjdCBpOTE1X3ZtYSAqZ2xvYmFsX2h3c3ApCiB7Ci0Jc3RydWN0 IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxp bmU7CiAJaW50IGVycjsKIAogCXRpbWVsaW5lID0ga3phbGxvYyhzaXplb2YoKnRpbWVsaW5lKSwg R0ZQX0tFUk5FTCk7CiAJaWYgKCF0aW1lbGluZSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7 CiAKLQllcnIgPSBpOTE1X3RpbWVsaW5lX2luaXQodGltZWxpbmUsIGd0LCBnbG9iYWxfaHdzcCk7 CisJZXJyID0gaW50ZWxfdGltZWxpbmVfaW5pdCh0aW1lbGluZSwgZ3QsIGdsb2JhbF9od3NwKTsK IAlpZiAoZXJyKSB7CiAJCWtmcmVlKHRpbWVsaW5lKTsKIAkJcmV0dXJuIEVSUl9QVFIoZXJyKTsK QEAgLTM2Niw3ICszNjYsNyBAQCBpOTE1X3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3Qg Kmd0LCBzdHJ1Y3QgaTkxNV92bWEgKmdsb2JhbF9od3NwKQogCXJldHVybiB0aW1lbGluZTsKIH0K IAotaW50IGk5MTVfdGltZWxpbmVfcGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKK2ludCBp bnRlbF90aW1lbGluZV9waW4oc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAlpbnQgZXJy OwogCkBAIC0zOTIsNyArMzkyLDcgQEAgaW50IGk5MTVfdGltZWxpbmVfcGluKHN0cnVjdCBpOTE1 X3RpbWVsaW5lICp0bCkKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgdTMyIHRpbWVsaW5lX2Fk dmFuY2Uoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQorc3RhdGljIHUzMiB0aW1lbGluZV9hZHZh bmNlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJR0VNX0JVR19PTighdGwtPnBpbl9j b3VudCk7CiAJR0VNX0JVR19PTih0bC0+c2Vxbm8gJiB0bC0+aGFzX2luaXRpYWxfYnJlYWRjcnVt Yik7CkBAIC00MDAsMTcgKzQwMCwxNyBAQCBzdGF0aWMgdTMyIHRpbWVsaW5lX2FkdmFuY2Uoc3Ry dWN0IGk5MTVfdGltZWxpbmUgKnRsKQogCXJldHVybiB0bC0+c2Vxbm8gKz0gMSArIHRsLT5oYXNf aW5pdGlhbF9icmVhZGNydW1iOwogfQogCi1zdGF0aWMgdm9pZCB0aW1lbGluZV9yb2xsYmFjayhz dHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCitzdGF0aWMgdm9pZCB0aW1lbGluZV9yb2xsYmFjayhz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQogewogCXRsLT5zZXFubyAtPSAxICsgdGwtPmhhc19p bml0aWFsX2JyZWFkY3J1bWI7CiB9CiAKIHN0YXRpYyBub2lubGluZSBpbnQKLV9faTkxNV90aW1l bGluZV9nZXRfc2Vxbm8oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkJICBzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSwKLQkJCSAgdTMyICpzZXFubykKK19faW50ZWxfdGltZWxpbmVfZ2V0X3Nl cW5vKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsCisJCQkgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0 ICpycSwKKwkJCSAgIHUzMiAqc2Vxbm8pCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVs aW5lICpjbDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbDsKIAl1bnNpZ25l ZCBpbnQgY2FjaGVsaW5lOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCXZvaWQgKnZhZGRyOwpA QCAtNDk2LDMxICs0OTYsMzEgQEAgX19pOTE1X3RpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3QgaTkx NV90aW1lbGluZSAqdGwsCiAJcmV0dXJuIGVycjsKIH0KIAotaW50IGk5MTVfdGltZWxpbmVfZ2V0 X3NlcW5vKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKLQkJCSAgICBzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICpycSwKLQkJCSAgICB1MzIgKnNlcW5vKQoraW50IGludGVsX3RpbWVsaW5lX2dldF9zZXFu byhzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLAorCQkJICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0 ICpycSwKKwkJCSAgICAgdTMyICpzZXFubykKIHsKIAkqc2Vxbm8gPSB0aW1lbGluZV9hZHZhbmNl KHRsKTsKIAogCS8qIFJlcGxhY2UgdGhlIEhXU1Agb24gd3JhcGFyb3VuZCBmb3IgSFcgc2VtYXBo b3JlcyAqLwogCWlmICh1bmxpa2VseSghKnNlcW5vICYmIHRsLT5od3NwX2NhY2hlbGluZSkpCi0J CXJldHVybiBfX2k5MTVfdGltZWxpbmVfZ2V0X3NlcW5vKHRsLCBycSwgc2Vxbm8pOworCQlyZXR1 cm4gX19pbnRlbF90aW1lbGluZV9nZXRfc2Vxbm8odGwsIHJxLCBzZXFubyk7CiAKIAlyZXR1cm4g MDsKIH0KIAotc3RhdGljIGludCBjYWNoZWxpbmVfcmVmKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2Nh Y2hlbGluZSAqY2wsCitzdGF0aWMgaW50IGNhY2hlbGluZV9yZWYoc3RydWN0IGludGVsX3RpbWVs aW5lX2NhY2hlbGluZSAqY2wsCiAJCQkgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiB7CiAJcmV0 dXJuIGk5MTVfYWN0aXZlX3JlZigmY2wtPmFjdGl2ZSwgcnEtPmZlbmNlLmNvbnRleHQsIHJxKTsK IH0KIAotaW50IGk5MTVfdGltZWxpbmVfcmVhZF9od3NwKHN0cnVjdCBpOTE1X3JlcXVlc3QgKmZy b20sCi0JCQkgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqdG8sCi0JCQkgICAgdTMyICpod3NwKQor aW50IGludGVsX3RpbWVsaW5lX3JlYWRfaHdzcChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9tLAor CQkJICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICp0bywKKwkJCSAgICAgdTMyICpod3NwKQogewot CXN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqY2wgPSBmcm9tLT5od3NwX2NhY2hlbGlu ZTsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwgPSBmcm9tLT50aW1lbGluZTsKKwlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbCA9IGZyb20tPmh3c3BfY2FjaGVsaW5lOworCXN0 cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSBmcm9tLT50aW1lbGluZTsKIAlpbnQgZXJyOwogCiAJ R0VNX0JVR19PTih0by0+dGltZWxpbmUgPT0gdGwpOwpAQCAtNTQzLDcgKzU0Myw3IEBAIGludCBp OTE1X3RpbWVsaW5lX3JlYWRfaHdzcChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9tLAogCXJldHVy biBlcnI7CiB9CiAKLXZvaWQgaTkxNV90aW1lbGluZV91bnBpbihzdHJ1Y3QgaTkxNV90aW1lbGlu ZSAqdGwpCit2b2lkIGludGVsX3RpbWVsaW5lX3VucGluKHN0cnVjdCBpbnRlbF90aW1lbGluZSAq dGwpCiB7CiAJR0VNX0JVR19PTighdGwtPnBpbl9jb3VudCk7CiAJaWYgKC0tdGwtPnBpbl9jb3Vu dCkKQEAgLTU2MiwxMiArNTYyLDEyIEBAIHZvaWQgaTkxNV90aW1lbGluZV91bnBpbihzdHJ1Y3Qg aTkxNV90aW1lbGluZSAqdGwpCiAJX19pOTE1X3ZtYV91bnBpbih0bC0+aHdzcF9nZ3R0KTsKIH0K IAotdm9pZCBfX2k5MTVfdGltZWxpbmVfZnJlZShzdHJ1Y3Qga3JlZiAqa3JlZikKK3ZvaWQgX19p bnRlbF90aW1lbGluZV9mcmVlKHN0cnVjdCBrcmVmICprcmVmKQogewotCXN0cnVjdCBpOTE1X3Rp bWVsaW5lICp0aW1lbGluZSA9CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZSA9CiAJ CWNvbnRhaW5lcl9vZihrcmVmLCB0eXBlb2YoKnRpbWVsaW5lKSwga3JlZik7CiAKLQlpOTE1X3Rp bWVsaW5lX2ZpbmkodGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX2ZpbmkodGltZWxpbmUpOwog CWtmcmVlKHRpbWVsaW5lKTsKIH0KIApAQCAtNTgxLDEyICs1ODEsMTIgQEAgc3RhdGljIHZvaWQg dGltZWxpbmVzX2Zpbmkoc3RydWN0IGludGVsX2d0ICpndCkKIAltdXRleF9kZXN0cm95KCZ0aW1l bGluZXMtPm11dGV4KTsKIH0KIAotdm9pZCBpOTE1X3RpbWVsaW5lc19maW5pKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KQordm9pZCBpbnRlbF90aW1lbGluZXNfZmluaShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKIAl0aW1lbGluZXNfZmluaSgmaTkxNS0+Z3QpOwogfQog CiAjaWYgSVNfRU5BQkxFRChDT05GSUdfRFJNX0k5MTVfU0VMRlRFU1QpCi0jaW5jbHVkZSAic2Vs ZnRlc3RzL21vY2tfdGltZWxpbmUuYyIKLSNpbmNsdWRlICJzZWxmdGVzdHMvaTkxNV90aW1lbGlu ZS5jIgorI2luY2x1ZGUgImd0L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMiCisjaW5jbHVkZSAi Z3Qvc2VsZnRlc3RfdGltZWxpbmUuYyIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV90aW1lbGluZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf dGltZWxpbmUuaApzaW1pbGFyaXR5IGluZGV4IDUzJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3RpbWVsaW5lLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX3RpbWVsaW5lLmgKaW5kZXggODM5OWUxMWU2OGI0Li5kY2M1YWZlYTZhYjYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5oCkBAIC0yOSwxNiArMjksMTYgQEAKIAog I2luY2x1ZGUgImk5MTVfYWN0aXZlLmgiCiAjaW5jbHVkZSAiaTkxNV9zeW5jbWFwLmgiCi0jaW5j bHVkZSAiaTkxNV90aW1lbGluZV90eXBlcy5oIgorI2luY2x1ZGUgImd0L2ludGVsX3RpbWVsaW5l X3R5cGVzLmgiCiAKLWludCBpOTE1X3RpbWVsaW5lX2luaXQoc3RydWN0IGk5MTVfdGltZWxpbmUg KnRsLAotCQkgICAgICAgc3RydWN0IGludGVsX2d0ICpndCwKLQkJICAgICAgIHN0cnVjdCBpOTE1 X3ZtYSAqaHdzcCk7Ci12b2lkIGk5MTVfdGltZWxpbmVfZmluaShzdHJ1Y3QgaTkxNV90aW1lbGlu ZSAqdGwpOworaW50IGludGVsX3RpbWVsaW5lX2luaXQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0 bCwKKwkJCXN0cnVjdCBpbnRlbF9ndCAqZ3QsCisJCQlzdHJ1Y3QgaTkxNV92bWEgKmh3c3ApOwor dm9pZCBpbnRlbF90aW1lbGluZV9maW5pKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpOwogCiBz dGF0aWMgaW5saW5lIHZvaWQKLWk5MTVfdGltZWxpbmVfc2V0X3N1YmNsYXNzKHN0cnVjdCBpOTE1 X3RpbWVsaW5lICp0aW1lbGluZSwKLQkJCSAgIHVuc2lnbmVkIGludCBzdWJjbGFzcykKK2ludGVs X3RpbWVsaW5lX3NldF9zdWJjbGFzcyhzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lLAor CQkJICAgIHVuc2lnbmVkIGludCBzdWJjbGFzcykKIHsKIAlsb2NrZGVwX3NldF9zdWJjbGFzcygm dGltZWxpbmUtPmxvY2ssIHN1YmNsYXNzKTsKIApAQCAtNTUsNTggKzU1LDU4IEBAIGk5MTVfdGlt ZWxpbmVfc2V0X3N1YmNsYXNzKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSwKICNlbmRp ZgogfQogCi1zdHJ1Y3QgaTkxNV90aW1lbGluZSAqCi1pOTE1X3RpbWVsaW5lX2NyZWF0ZShzdHJ1 Y3QgaW50ZWxfZ3QgKmd0LCBzdHJ1Y3QgaTkxNV92bWEgKmdsb2JhbF9od3NwKTsKK3N0cnVjdCBp bnRlbF90aW1lbGluZSAqCitpbnRlbF90aW1lbGluZV9jcmVhdGUoc3RydWN0IGludGVsX2d0ICpn dCwgc3RydWN0IGk5MTVfdm1hICpnbG9iYWxfaHdzcCk7CiAKLXN0YXRpYyBpbmxpbmUgc3RydWN0 IGk5MTVfdGltZWxpbmUgKgotaTkxNV90aW1lbGluZV9nZXQoc3RydWN0IGk5MTVfdGltZWxpbmUg KnRpbWVsaW5lKQorc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKgoraW50ZWxf dGltZWxpbmVfZ2V0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUpCiB7CiAJa3JlZl9n ZXQoJnRpbWVsaW5lLT5rcmVmKTsKIAlyZXR1cm4gdGltZWxpbmU7CiB9CiAKLXZvaWQgX19pOTE1 X3RpbWVsaW5lX2ZyZWUoc3RydWN0IGtyZWYgKmtyZWYpOwotc3RhdGljIGlubGluZSB2b2lkIGk5 MTVfdGltZWxpbmVfcHV0KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSkKK3ZvaWQgX19p bnRlbF90aW1lbGluZV9mcmVlKHN0cnVjdCBrcmVmICprcmVmKTsKK3N0YXRpYyBpbmxpbmUgdm9p ZCBpbnRlbF90aW1lbGluZV9wdXQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZSkKIHsK LQlrcmVmX3B1dCgmdGltZWxpbmUtPmtyZWYsIF9faTkxNV90aW1lbGluZV9mcmVlKTsKKwlrcmVm X3B1dCgmdGltZWxpbmUtPmtyZWYsIF9faW50ZWxfdGltZWxpbmVfZnJlZSk7CiB9CiAKLXN0YXRp YyBpbmxpbmUgaW50IF9faTkxNV90aW1lbGluZV9zeW5jX3NldChzdHJ1Y3QgaTkxNV90aW1lbGlu ZSAqdGwsCi0JCQkJCSAgIHU2NCBjb250ZXh0LCB1MzIgc2Vxbm8pCitzdGF0aWMgaW5saW5lIGlu dCBfX2ludGVsX3RpbWVsaW5lX3N5bmNfc2V0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsCisJ CQkJCSAgICB1NjQgY29udGV4dCwgdTMyIHNlcW5vKQogewogCXJldHVybiBpOTE1X3N5bmNtYXBf c2V0KCZ0bC0+c3luYywgY29udGV4dCwgc2Vxbm8pOwogfQogCi1zdGF0aWMgaW5saW5lIGludCBp OTE1X3RpbWVsaW5lX3N5bmNfc2V0KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKLQkJCQkJIGNv bnN0IHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQorc3RhdGljIGlubGluZSBpbnQgaW50ZWxfdGlt ZWxpbmVfc3luY19zZXQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKKwkJCQkJICBjb25zdCBz dHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKIHsKLQlyZXR1cm4gX19pOTE1X3RpbWVsaW5lX3N5bmNf c2V0KHRsLCBmZW5jZS0+Y29udGV4dCwgZmVuY2UtPnNlcW5vKTsKKwlyZXR1cm4gX19pbnRlbF90 aW1lbGluZV9zeW5jX3NldCh0bCwgZmVuY2UtPmNvbnRleHQsIGZlbmNlLT5zZXFubyk7CiB9CiAK LXN0YXRpYyBpbmxpbmUgYm9vbCBfX2k5MTVfdGltZWxpbmVfc3luY19pc19sYXRlcihzdHJ1Y3Qg aTkxNV90aW1lbGluZSAqdGwsCi0JCQkJCQkgdTY0IGNvbnRleHQsIHUzMiBzZXFubykKK3N0YXRp YyBpbmxpbmUgYm9vbCBfX2ludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoc3RydWN0IGludGVs X3RpbWVsaW5lICp0bCwKKwkJCQkJCSAgdTY0IGNvbnRleHQsIHUzMiBzZXFubykKIHsKIAlyZXR1 cm4gaTkxNV9zeW5jbWFwX2lzX2xhdGVyKCZ0bC0+c3luYywgY29udGV4dCwgc2Vxbm8pOwogfQog Ci1zdGF0aWMgaW5saW5lIGJvb2wgaTkxNV90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHN0cnVjdCBp OTE1X3RpbWVsaW5lICp0bCwKLQkJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkbWFfZmVuY2UgKmZl bmNlKQorc3RhdGljIGlubGluZSBib29sIGludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0bCwKKwkJCQkJCWNvbnN0IHN0cnVjdCBkbWFfZmVuY2UgKmZl bmNlKQogewotCXJldHVybiBfX2k5MTVfdGltZWxpbmVfc3luY19pc19sYXRlcih0bCwgZmVuY2Ut PmNvbnRleHQsIGZlbmNlLT5zZXFubyk7CisJcmV0dXJuIF9faW50ZWxfdGltZWxpbmVfc3luY19p c19sYXRlcih0bCwgZmVuY2UtPmNvbnRleHQsIGZlbmNlLT5zZXFubyk7CiB9CiAKLWludCBpOTE1 X3RpbWVsaW5lX3BpbihzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpOwotaW50IGk5MTVfdGltZWxp bmVfZ2V0X3NlcW5vKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKLQkJCSAgICBzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSwKLQkJCSAgICB1MzIgKnNlcW5vKTsKLXZvaWQgaTkxNV90aW1lbGluZV91 bnBpbihzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpOworaW50IGludGVsX3RpbWVsaW5lX3Bpbihz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKTsKK2ludCBpbnRlbF90aW1lbGluZV9nZXRfc2Vxbm8o c3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKKwkJCSAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAq cnEsCisJCQkgICAgIHUzMiAqc2Vxbm8pOwordm9pZCBpbnRlbF90aW1lbGluZV91bnBpbihzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsKTsKIAotaW50IGk5MTVfdGltZWxpbmVfcmVhZF9od3NwKHN0 cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCi0JCQkgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqdW50 aWwsCi0JCQkgICAgdTMyICpod3NwX29mZnNldCk7CitpbnQgaW50ZWxfdGltZWxpbmVfcmVhZF9o d3NwKHN0cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCisJCQkgICAgIHN0cnVjdCBpOTE1X3JlcXVl c3QgKnVudGlsLAorCQkJICAgICB1MzIgKmh3c3Bfb2Zmc2V0KTsKIAotdm9pZCBpOTE1X3RpbWVs aW5lc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKLXZvaWQgaTkxNV90aW1l bGluZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Ci12b2lkIGk5MTVfdGlt ZWxpbmVzX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwordm9pZCBpbnRlbF90 aW1lbGluZXNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Cit2b2lkIGludGVs X3RpbWVsaW5lc19wYXJrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKK3ZvaWQgaW50 ZWxfdGltZWxpbmVzX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwogCiAjZW5k aWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmVfdHlwZXMu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lX3R5cGVzLmgKc2ltaWxh cml0eSBpbmRleCA5NCUKcmVuYW1lIGZyb20gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1l bGluZV90eXBlcy5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1l bGluZV90eXBlcy5oCmluZGV4IDA0MTcwOTA4NzUwOC4uOWM2NDM4ZTRhZWMyIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lX3R5cGVzLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmVfdHlwZXMuaApAQCAtMTYsMTAgKzE2LDEw IEBACiAKIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlOwogc3RydWN0IGk5MTVfdm1hOwotc3RydWN0 IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lOworc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGlu ZTsKIHN0cnVjdCBpOTE1X3N5bmNtYXA7CiAKLXN0cnVjdCBpOTE1X3RpbWVsaW5lIHsKK3N0cnVj dCBpbnRlbF90aW1lbGluZSB7CiAJdTY0IGZlbmNlX2NvbnRleHQ7CiAJdTMyIHNlcW5vOwogCkBA IC0zNCw3ICszNCw3IEBAIHN0cnVjdCBpOTE1X3RpbWVsaW5lIHsKIAlzdHJ1Y3QgaTkxNV92bWEg Kmh3c3BfZ2d0dDsKIAl1MzIgaHdzcF9vZmZzZXQ7CiAKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9j YWNoZWxpbmUgKmh3c3BfY2FjaGVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxp bmUgKmh3c3BfY2FjaGVsaW5lOwogCiAJYm9vbCBoYXNfaW5pdGlhbF9icmVhZGNydW1iOwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUuYwppbmRleCAwZWJlNzhhZGEwNWIuLmU3NDc1 NWM5ODkzNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jCkBAIC0zMywxNSAr MzMsMTUgQEAKIAogc3RydWN0IG1vY2tfcmluZyB7CiAJc3RydWN0IGludGVsX3JpbmcgYmFzZTsK LQlzdHJ1Y3QgaTkxNV90aW1lbGluZSB0aW1lbGluZTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg dGltZWxpbmU7CiB9OwogCi1zdGF0aWMgdm9pZCBtb2NrX3RpbWVsaW5lX3BpbihzdHJ1Y3QgaTkx NV90aW1lbGluZSAqdGwpCitzdGF0aWMgdm9pZCBtb2NrX3RpbWVsaW5lX3BpbihzdHJ1Y3QgaW50 ZWxfdGltZWxpbmUgKnRsKQogewogCXRsLT5waW5fY291bnQrKzsKIH0KIAotc3RhdGljIHZvaWQg bW9ja190aW1lbGluZV91bnBpbihzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCitzdGF0aWMgdm9p ZCBtb2NrX3RpbWVsaW5lX3VucGluKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJR0VN X0JVR19PTighdGwtPnBpbl9jb3VudCk7CiAJdGwtPnBpbl9jb3VudC0tOwpAQCAtNTYsNyArNTYs NyBAQCBzdGF0aWMgc3RydWN0IGludGVsX3JpbmcgKm1vY2tfcmluZyhzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCiAJaWYgKCFyaW5nKQogCQlyZXR1cm4gTlVMTDsKIAotCWlmIChpOTE1 X3RpbWVsaW5lX2luaXQoJnJpbmctPnRpbWVsaW5lLCBlbmdpbmUtPmd0LCBOVUxMKSkgeworCWlm IChpbnRlbF90aW1lbGluZV9pbml0KCZyaW5nLT50aW1lbGluZSwgZW5naW5lLT5ndCwgTlVMTCkp IHsKIAkJa2ZyZWUocmluZyk7CiAJCXJldHVybiBOVUxMOwogCX0KQEAgLTc3LDcgKzc3LDcgQEAg c3RhdGljIHZvaWQgbW9ja19yaW5nX2ZyZWUoc3RydWN0IGludGVsX3JpbmcgKmJhc2UpCiB7CiAJ c3RydWN0IG1vY2tfcmluZyAqcmluZyA9IGNvbnRhaW5lcl9vZihiYXNlLCB0eXBlb2YoKnJpbmcp LCBiYXNlKTsKIAotCWk5MTVfdGltZWxpbmVfZmluaSgmcmluZy0+dGltZWxpbmUpOworCWludGVs X3RpbWVsaW5lX2ZpbmkoJnJpbmctPnRpbWVsaW5lKTsKIAlrZnJlZShyaW5nKTsKIH0KIApAQCAt MjgzLDkgKzI4Myw5IEBAIGludCBtb2NrX2VuZ2luZV9pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKIAlpbnRlbF9lbmdpbmVfaW5pdF9leGVjbGlzdHMoZW5naW5lKTsKIAlpbnRl bF9lbmdpbmVfaW5pdF9fcG0oZW5naW5lKTsKIAotCWlmIChpOTE1X3RpbWVsaW5lX2luaXQoJmVu Z2luZS0+dGltZWxpbmUsIGVuZ2luZS0+Z3QsIE5VTEwpKQorCWlmIChpbnRlbF90aW1lbGluZV9p bml0KCZlbmdpbmUtPnRpbWVsaW5lLCBlbmdpbmUtPmd0LCBOVUxMKSkKIAkJZ290byBlcnJfYnJl YWRjcnVtYnM7Ci0JaTkxNV90aW1lbGluZV9zZXRfc3ViY2xhc3MoJmVuZ2luZS0+dGltZWxpbmUs IFRJTUVMSU5FX0VOR0lORSk7CisJaW50ZWxfdGltZWxpbmVfc2V0X3N1YmNsYXNzKCZlbmdpbmUt PnRpbWVsaW5lLCBUSU1FTElORV9FTkdJTkUpOwogCiAJZW5naW5lLT5rZXJuZWxfY29udGV4dCA9 CiAJCWk5MTVfZ2VtX2NvbnRleHRfZ2V0X2VuZ2luZShpOTE1LT5rZXJuZWxfY29udGV4dCwgZW5n aW5lLT5pZCk7CkBAIC0zMDAsNyArMzAwLDcgQEAgaW50IG1vY2tfZW5naW5lX2luaXQoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCXJldHVybiAwOwogCiBlcnJfdGltZWxpbmU6Ci0J aTkxNV90aW1lbGluZV9maW5pKCZlbmdpbmUtPnRpbWVsaW5lKTsKKwlpbnRlbF90aW1lbGluZV9m aW5pKCZlbmdpbmUtPnRpbWVsaW5lKTsKIGVycl9icmVhZGNydW1iczoKIAlpbnRlbF9lbmdpbmVf ZmluaV9icmVhZGNydW1icyhlbmdpbmUpOwogCXJldHVybiAtRU5PTUVNOwpAQCAtMzM5LDcgKzMz OSw3IEBAIHZvaWQgbW9ja19lbmdpbmVfZnJlZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCiAJaW50ZWxfY29udGV4dF91bnBpbihlbmdpbmUtPmtlcm5lbF9jb250ZXh0KTsKIAogCWlu dGVsX2VuZ2luZV9maW5pX2JyZWFkY3J1bWJzKGVuZ2luZSk7Ci0JaTkxNV90aW1lbGluZV9maW5p KCZlbmdpbmUtPnRpbWVsaW5lKTsKKwlpbnRlbF90aW1lbGluZV9maW5pKCZlbmdpbmUtPnRpbWVs aW5lKTsKIAogCWtmcmVlKGVuZ2luZSk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaTkxNV90aW1lbGluZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv c2VsZnRlc3RfdGltZWxpbmUuYwpzaW1pbGFyaXR5IGluZGV4IDg3JQpyZW5hbWUgZnJvbSBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV90aW1lbGluZS5jCnJlbmFtZSB0byBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF90aW1lbGluZS5jCmluZGV4IDU3ODM1MTI3NTYz Yi4uZmE2YjdkYzFmZDdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvaTkxNV90aW1lbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0 X3RpbWVsaW5lLmMKQEAgLTgsMTQgKzgsMTQgQEAKIAogI2luY2x1ZGUgImdlbS9pOTE1X2dlbV9w bS5oIgogCi0jaW5jbHVkZSAiaTkxNV9yYW5kb20uaCIKLSNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0 LmgiCisjaW5jbHVkZSAiLi4vc2VsZnRlc3RzL2k5MTVfcmFuZG9tLmgiCisjaW5jbHVkZSAiLi4v aTkxNV9zZWxmdGVzdC5oIgogCi0jaW5jbHVkZSAiaWd0X2ZsdXNoX3Rlc3QuaCIKLSNpbmNsdWRl ICJtb2NrX2dlbV9kZXZpY2UuaCIKLSNpbmNsdWRlICJtb2NrX3RpbWVsaW5lLmgiCisjaW5jbHVk ZSAiLi4vc2VsZnRlc3RzL2lndF9mbHVzaF90ZXN0LmgiCisjaW5jbHVkZSAiLi4vc2VsZnRlc3Rz L21vY2tfZ2VtX2RldmljZS5oIgorI2luY2x1ZGUgInNlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmgi CiAKLXN0YXRpYyBzdHJ1Y3QgcGFnZSAqaHdzcF9wYWdlKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0 bCkKK3N0YXRpYyBzdHJ1Y3QgcGFnZSAqaHdzcF9wYWdlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAq dGwpCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IHRsLT5od3NwX2dndHQt Pm9iajsKIApAQCAtMjMsNyArMjMsNyBAQCBzdGF0aWMgc3RydWN0IHBhZ2UgKmh3c3BfcGFnZShz dHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCiAJcmV0dXJuIHNnX3BhZ2Uob2JqLT5tbS5wYWdlcy0+ c2dsKTsKIH0KIAotc3RhdGljIHVuc2lnbmVkIGxvbmcgaHdzcF9jYWNoZWxpbmUoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRsKQorc3RhdGljIHVuc2lnbmVkIGxvbmcgaHdzcF9jYWNoZWxpbmUoc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAl1bnNpZ25lZCBsb25nIGFkZHJlc3MgPSAodW5z aWduZWQgbG9uZylwYWdlX2FkZHJlc3MoaHdzcF9wYWdlKHRsKSk7CiAKQEAgLTM1LDcgKzM1LDcg QEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgaHdzcF9jYWNoZWxpbmUoc3RydWN0IGk5MTVfdGltZWxp bmUgKnRsKQogc3RydWN0IG1vY2tfaHdzcF9mcmVlbGlzdCB7CiAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTU7CiAJc3RydWN0IHJhZGl4X3RyZWVfcm9vdCBjYWNoZWxpbmVzOwotCXN0cnVj dCBpOTE1X3RpbWVsaW5lICoqaGlzdG9yeTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKipoaXN0 b3J5OwogCXVuc2lnbmVkIGxvbmcgY291bnQsIG1heDsKIAlzdHJ1Y3Qgcm5kX3N0YXRlIHBybmc7 CiB9OwpAQCAtNDYsMTIgKzQ2LDEyIEBAIGVudW0gewogCiBzdGF0aWMgdm9pZCBfX21vY2tfaHdz cF9yZWNvcmQoc3RydWN0IG1vY2tfaHdzcF9mcmVlbGlzdCAqc3RhdGUsCiAJCQkgICAgICAgdW5z aWduZWQgaW50IGlkeCwKLQkJCSAgICAgICBzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCisJCQkg ICAgICAgc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAl0bCA9IHhjaGcoJnN0YXRlLT5o aXN0b3J5W2lkeF0sIHRsKTsKIAlpZiAodGwpIHsKIAkJcmFkaXhfdHJlZV9kZWxldGUoJnN0YXRl LT5jYWNoZWxpbmVzLCBod3NwX2NhY2hlbGluZSh0bCkpOwotCQlpOTE1X3RpbWVsaW5lX3B1dCh0 bCk7CisJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJfQogfQogCkBAIC01OSwxNCArNTksMTQg QEAgc3RhdGljIGludCBfX21vY2tfaHdzcF90aW1lbGluZShzdHJ1Y3QgbW9ja19od3NwX2ZyZWVs aXN0ICpzdGF0ZSwKIAkJCQl1bnNpZ25lZCBpbnQgY291bnQsCiAJCQkJdW5zaWduZWQgaW50IGZs YWdzKQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxp bmUgKnRsOwogCXVuc2lnbmVkIGludCBpZHg7CiAKIAl3aGlsZSAoY291bnQtLSkgewogCQl1bnNp Z25lZCBsb25nIGNhY2hlbGluZTsKIAkJaW50IGVycjsKIAotCQl0bCA9IGk5MTVfdGltZWxpbmVf Y3JlYXRlKCZzdGF0ZS0+aTkxNS0+Z3QsIE5VTEwpOworCQl0bCA9IGludGVsX3RpbWVsaW5lX2Ny ZWF0ZSgmc3RhdGUtPmk5MTUtPmd0LCBOVUxMKTsKIAkJaWYgKElTX0VSUih0bCkpCiAJCQlyZXR1 cm4gUFRSX0VSUih0bCk7CiAKQEAgLTc3LDcgKzc3LDcgQEAgc3RhdGljIGludCBfX21vY2tfaHdz cF90aW1lbGluZShzdHJ1Y3QgbW9ja19od3NwX2ZyZWVsaXN0ICpzdGF0ZSwKIAkJCQlwcl9lcnIo IkhXU1AgY2FjaGVsaW5lICVsdSBhbHJlYWR5IHVzZWQ7IGR1cGxpY2F0ZSBhbGxvY2F0aW9uIVxu IiwKIAkJCQkgICAgICAgY2FjaGVsaW5lKTsKIAkJCX0KLQkJCWk5MTVfdGltZWxpbmVfcHV0KHRs KTsKKwkJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCQlyZXR1cm4gZXJyOwogCQl9CiAKQEAg LTE2MiwyMSArMTYyLDIxIEBAIHN0cnVjdCBfX2lndF9zeW5jIHsKIAlib29sIHNldDsKIH07CiAK LXN0YXRpYyBpbnQgX19pZ3Rfc3luYyhzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCitzdGF0aWMg aW50IF9faWd0X3N5bmMoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKIAkJICAgICAgdTY0IGN0 eCwKIAkJICAgICAgY29uc3Qgc3RydWN0IF9faWd0X3N5bmMgKnAsCiAJCSAgICAgIGNvbnN0IGNo YXIgKm5hbWUpCiB7CiAJaW50IHJldDsKIAotCWlmIChfX2k5MTVfdGltZWxpbmVfc3luY19pc19s YXRlcih0bCwgY3R4LCBwLT5zZXFubykgIT0gcC0+ZXhwZWN0ZWQpIHsKKwlpZiAoX19pbnRlbF90 aW1lbGluZV9zeW5jX2lzX2xhdGVyKHRsLCBjdHgsIHAtPnNlcW5vKSAhPSBwLT5leHBlY3RlZCkg ewogCQlwcl9lcnIoIiVzOiAlcyhjdHg9JWxsdSwgc2Vxbm89JXUpIGV4cGVjdGVkIHBhc3NlZCAl cyBidXQgZmFpbGVkXG4iLAogCQkgICAgICAgbmFtZSwgcC0+bmFtZSwgY3R4LCBwLT5zZXFubywg eWVzbm8ocC0+ZXhwZWN0ZWQpKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCiAJaWYgKHAtPnNl dCkgewotCQlyZXQgPSBfX2k5MTVfdGltZWxpbmVfc3luY19zZXQodGwsIGN0eCwgcC0+c2Vxbm8p OworCQlyZXQgPSBfX2ludGVsX3RpbWVsaW5lX3N5bmNfc2V0KHRsLCBjdHgsIHAtPnNlcW5vKTsK IAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAJfQpAQCAtMjA0LDcgKzIwNCw3IEBAIHN0YXRp YyBpbnQgaWd0X3N5bmModm9pZCAqYXJnKQogCQl7ICJ1bndyYXAiLCBVSU5UX01BWCwgdHJ1ZSwg ZmFsc2UgfSwKIAkJe30sCiAJfSwgKnA7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgdGw7CisJc3Ry dWN0IGludGVsX3RpbWVsaW5lIHRsOwogCWludCBvcmRlciwgb2Zmc2V0OwogCWludCByZXQgPSAt RU5PREVWOwogCkBAIC0yNDgsNyArMjQ4LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCByYW5kb21f ZW5naW5lKHN0cnVjdCBybmRfc3RhdGUgKnJuZCkKIHN0YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lk ICphcmcpCiB7CiAJc3RydWN0IHJuZF9zdGF0ZSBwcm5nOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5l IHRsOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSB0bDsKIAl1bnNpZ25lZCBsb25nIGVuZF90aW1l LCBjb3VudDsKIAl1NjQgcHJuZzMyXzFNOwogCWt0aW1lX3Qga3Q7CkBAIC0yODYsNyArMjg2LDcg QEAgc3RhdGljIGludCBiZW5jaF9zeW5jKHZvaWQgKmFyZykKIAlkbyB7CiAJCXU2NCBpZCA9IGk5 MTVfcHJhbmRvbV91NjRfc3RhdGUoJnBybmcpOwogCi0JCV9faTkxNV90aW1lbGluZV9zeW5jX3Nl dCgmdGwsIGlkLCAwKTsKKwkJX19pbnRlbF90aW1lbGluZV9zeW5jX3NldCgmdGwsIGlkLCAwKTsK IAkJY291bnQrKzsKIAl9IHdoaWxlICghdGltZV9hZnRlcihqaWZmaWVzLCBlbmRfdGltZSkpOwog CWt0ID0ga3RpbWVfc3ViKGt0aW1lX2dldCgpLCBrdCk7CkBAIC0zMDEsNyArMzAxLDcgQEAgc3Rh dGljIGludCBiZW5jaF9zeW5jKHZvaWQgKmFyZykKIAl3aGlsZSAoZW5kX3RpbWUtLSkgewogCQl1 NjQgaWQgPSBpOTE1X3ByYW5kb21fdTY0X3N0YXRlKCZwcm5nKTsKIAotCQlpZiAoIV9faTkxNV90 aW1lbGluZV9zeW5jX2lzX2xhdGVyKCZ0bCwgaWQsIDApKSB7CisJCWlmICghX19pbnRlbF90aW1l bGluZV9zeW5jX2lzX2xhdGVyKCZ0bCwgaWQsIDApKSB7CiAJCQltb2NrX3RpbWVsaW5lX2Zpbmko JnRsKTsKIAkJCXByX2VycigiTG9va3VwIG9mICVsbHUgZmFpbGVkXG4iLCBpZCk7CiAJCQlyZXR1 cm4gLUVJTlZBTDsKQEAgLTMyMiw3ICszMjIsNyBAQCBzdGF0aWMgaW50IGJlbmNoX3N5bmModm9p ZCAqYXJnKQogCWt0ID0ga3RpbWVfZ2V0KCk7CiAJZW5kX3RpbWUgPSBqaWZmaWVzICsgSFovMTA7 CiAJZG8gewotCQlfX2k5MTVfdGltZWxpbmVfc3luY19zZXQoJnRsLCBjb3VudCsrLCAwKTsKKwkJ X19pbnRlbF90aW1lbGluZV9zeW5jX3NldCgmdGwsIGNvdW50KyssIDApOwogCX0gd2hpbGUgKCF0 aW1lX2FmdGVyKGppZmZpZXMsIGVuZF90aW1lKSk7CiAJa3QgPSBrdGltZV9zdWIoa3RpbWVfZ2V0 KCksIGt0KTsKIAlwcl9pbmZvKCIlczogJWx1IGluLW9yZGVyIGluc2VydGlvbnMsICVsbHVucy9p bnNlcnRcbiIsCkBAIC0zMzIsNyArMzMyLDcgQEAgc3RhdGljIGludCBiZW5jaF9zeW5jKHZvaWQg KmFyZykKIAllbmRfdGltZSA9IGNvdW50OwogCWt0ID0ga3RpbWVfZ2V0KCk7CiAJd2hpbGUgKGVu ZF90aW1lLS0pIHsKLQkJaWYgKCFfX2k5MTVfdGltZWxpbmVfc3luY19pc19sYXRlcigmdGwsIGVu ZF90aW1lLCAwKSkgeworCQlpZiAoIV9faW50ZWxfdGltZWxpbmVfc3luY19pc19sYXRlcigmdGws IGVuZF90aW1lLCAwKSkgewogCQkJcHJfZXJyKCJMb29rdXAgb2YgJWx1IGZhaWxlZFxuIiwgZW5k X3RpbWUpOwogCQkJbW9ja190aW1lbGluZV9maW5pKCZ0bCk7CiAJCQlyZXR1cm4gLUVJTlZBTDsK QEAgLTM1Niw4ICszNTYsOCBAQCBzdGF0aWMgaW50IGJlbmNoX3N5bmModm9pZCAqYXJnKQogCQl1 MzIgaWQgPSByYW5kb21fZW5naW5lKCZwcm5nKTsKIAkJdTMyIHNlcW5vID0gcHJhbmRvbV91MzJf c3RhdGUoJnBybmcpOwogCi0JCWlmICghX19pOTE1X3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoJnRs LCBpZCwgc2Vxbm8pKQotCQkJX19pOTE1X3RpbWVsaW5lX3N5bmNfc2V0KCZ0bCwgaWQsIHNlcW5v KTsKKwkJaWYgKCFfX2ludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoJnRsLCBpZCwgc2Vxbm8p KQorCQkJX19pbnRlbF90aW1lbGluZV9zeW5jX3NldCgmdGwsIGlkLCBzZXFubyk7CiAKIAkJY291 bnQrKzsKIAl9IHdoaWxlICghdGltZV9hZnRlcihqaWZmaWVzLCBlbmRfdGltZSkpOwpAQCAtMzg1 LDggKzM4NSw4IEBAIHN0YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lkICphcmcpCiAJCQkgKi8KIAkJ CXU2NCBpZCA9ICh1NjQpKGNvdW50ICYgbWFzaykgPDwgb3JkZXI7CiAKLQkJCV9faTkxNV90aW1l bGluZV9zeW5jX2lzX2xhdGVyKCZ0bCwgaWQsIDApOwotCQkJX19pOTE1X3RpbWVsaW5lX3N5bmNf c2V0KCZ0bCwgaWQsIDApOworCQkJX19pbnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKCZ0bCwg aWQsIDApOworCQkJX19pbnRlbF90aW1lbGluZV9zeW5jX3NldCgmdGwsIGlkLCAwKTsKIAogCQkJ Y291bnQrKzsKIAkJfSB3aGlsZSAoIXRpbWVfYWZ0ZXIoamlmZmllcywgZW5kX3RpbWUpKTsKQEAg LTQwMSw3ICs0MDEsNyBAQCBzdGF0aWMgaW50IGJlbmNoX3N5bmModm9pZCAqYXJnKQogCXJldHVy biAwOwogfQogCi1pbnQgaTkxNV90aW1lbGluZV9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQoraW50IGlu dGVsX3RpbWVsaW5lX21vY2tfc2VsZnRlc3RzKHZvaWQpCiB7CiAJc3RhdGljIGNvbnN0IHN0cnVj dCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKIAkJU1VCVEVTVChtb2NrX2h3c3BfZnJlZWxpc3Qp LApAQCAtNDQzLDE0ICs0NDMsMTQgQEAgc3RhdGljIGludCBlbWl0X2dndHRfc3RvcmVfZHcoc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBhZGRyLCB1MzIgdmFsdWUpCiB9CiAKIHN0YXRpYyBz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICoKLXRsX3dyaXRlKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwg c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgdmFsdWUpCit0bF93cml0ZShzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsLCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUz MiB2YWx1ZSkKIHsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAlpbnQgZXJyOwogCiAJbG9j a2RlcF9hc3NlcnRfaGVsZCgmdGwtPmd0LT5pOTE1LT5kcm0uc3RydWN0X211dGV4KTsgLyogbGF6 eSBycSByZWZzICovCiAKLQllcnIgPSBpOTE1X3RpbWVsaW5lX3Bpbih0bCk7CisJZXJyID0gaW50 ZWxfdGltZWxpbmVfcGluKHRsKTsKIAlpZiAoZXJyKSB7CiAJCXJxID0gRVJSX1BUUihlcnIpOwog CQlnb3RvIG91dDsKQEAgLTQ2NiwyNiArNDY2LDI2IEBAIHRsX3dyaXRlKHN0cnVjdCBpOTE1X3Rp bWVsaW5lICp0bCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgdmFsdWUpCiAJ CXJxID0gRVJSX1BUUihlcnIpOwogCiBvdXRfdW5waW46Ci0JaTkxNV90aW1lbGluZV91bnBpbih0 bCk7CisJaW50ZWxfdGltZWxpbmVfdW5waW4odGwpOwogb3V0OgogCWlmIChJU19FUlIocnEpKQog CQlwcl9lcnIoIkZhaWxlZCB0byB3cml0ZSB0byB0aW1lbGluZSFcbiIpOwogCXJldHVybiBycTsK IH0KIAotc3RhdGljIHN0cnVjdCBpOTE1X3RpbWVsaW5lICoKLWNoZWNrZWRfaTkxNV90aW1lbGlu ZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCitzdGF0aWMgc3RydWN0IGlu dGVsX3RpbWVsaW5lICoKK2NoZWNrZWRfaW50ZWxfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwlzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsOwogCi0JdGwgPSBpOTE1X3RpbWVsaW5lX2NyZWF0ZSgmaTkx NS0+Z3QsIE5VTEwpOworCXRsID0gaW50ZWxfdGltZWxpbmVfY3JlYXRlKCZpOTE1LT5ndCwgTlVM TCk7CiAJaWYgKElTX0VSUih0bCkpCiAJCXJldHVybiB0bDsKIAogCWlmICgqdGwtPmh3c3Bfc2Vx bm8gIT0gdGwtPnNlcW5vKSB7CiAJCXByX2VycigiVGltZWxpbmUgY3JlYXRlZCB3aXRoIGluY29y cmVjdCBicmVhZGNydW1iLCBmb3VuZCAleCwgZXhwZWN0ZWQgJXhcbiIsCiAJCSAgICAgICAqdGwt Pmh3c3Bfc2Vxbm8sIHRsLT5zZXFubyk7Ci0JCWk5MTVfdGltZWxpbmVfcHV0KHRsKTsKKwkJaW50 ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAJfQogCkBA IC00OTYsNyArNDk2LDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfZW5naW5lKHZvaWQgKmFyZykK IHsKICNkZWZpbmUgTlVNX1RJTUVMSU5FUyA0MDk2CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUgPSBhcmc7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKip0aW1lbGluZXM7CisJc3RydWN0 IGludGVsX3RpbWVsaW5lICoqdGltZWxpbmVzOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZTsKIAllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJl ZjsKQEAgLTUyMywxMCArNTIzLDEwIEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX2VuZ2luZSh2b2lk ICphcmcpCiAJCQljb250aW51ZTsKIAogCQlmb3IgKG4gPSAwOyBuIDwgTlVNX1RJTUVMSU5FUzsg bisrKSB7Ci0JCQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7CisJCQlzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmUgKnRsOwogCQkJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAKLQkJCXRsID0gY2hlY2tl ZF9pOTE1X3RpbWVsaW5lX2NyZWF0ZShpOTE1KTsKKwkJCXRsID0gY2hlY2tlZF9pbnRlbF90aW1l bGluZV9jcmVhdGUoaTkxNSk7CiAJCQlpZiAoSVNfRVJSKHRsKSkgewogCQkJCWVyciA9IFBUUl9F UlIodGwpOwogCQkJCWdvdG8gb3V0OwpAQCAtNTM0LDcgKzUzNCw3IEBAIHN0YXRpYyBpbnQgbGl2 ZV9od3NwX2VuZ2luZSh2b2lkICphcmcpCiAKIAkJCXJxID0gdGxfd3JpdGUodGwsIGVuZ2luZSwg Y291bnQpOwogCQkJaWYgKElTX0VSUihycSkpIHsKLQkJCQlpOTE1X3RpbWVsaW5lX3B1dCh0bCk7 CisJCQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCQllcnIgPSBQVFJfRVJSKHJxKTsKIAkJ CQlnb3RvIG91dDsKIAkJCX0KQEAgLTU0OCwxNCArNTQ4LDE0IEBAIHN0YXRpYyBpbnQgbGl2ZV9o d3NwX2VuZ2luZSh2b2lkICphcmcpCiAJCWVyciA9IC1FSU87CiAKIAlmb3IgKG4gPSAwOyBuIDwg Y291bnQ7IG4rKykgewotCQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwgPSB0aW1lbGluZXNbbl07 CisJCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSB0aW1lbGluZXNbbl07CiAKIAkJaWYgKCFl cnIgJiYgKnRsLT5od3NwX3NlcW5vICE9IG4pIHsKIAkJCXByX2VycigiSW52YWxpZCBzZXFubyBz dG9yZWQgaW4gdGltZWxpbmUgJWx1LCBmb3VuZCAweCV4XG4iLAogCQkJICAgICAgIG4sICp0bC0+ aHdzcF9zZXFubyk7CiAJCQllcnIgPSAtRUlOVkFMOwogCQl9Ci0JCWk5MTVfdGltZWxpbmVfcHV0 KHRsKTsKKwkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAl9CiAKIAlpbnRlbF9ydW50aW1lX3Bt X3B1dChpOTE1LCB3YWtlcmVmKTsKQEAgLTU3MSw3ICs1NzEsNyBAQCBzdGF0aWMgaW50IGxpdmVf aHdzcF9hbHRlcm5hdGUodm9pZCAqYXJnKQogewogI2RlZmluZSBOVU1fVElNRUxJTkVTIDQwOTYK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGFyZzsKLQlzdHJ1Y3QgaTkxNV90aW1l bGluZSAqKnRpbWVsaW5lczsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKip0aW1lbGluZXM7CiAJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwogCWVudW0gaW50ZWxfZW5naW5lX2lkIGlk OwogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwpAQCAtNTk2LDEzICs1OTYsMTMgQEAgc3RhdGlj IGludCBsaXZlX2h3c3BfYWx0ZXJuYXRlKHZvaWQgKmFyZykKIAljb3VudCA9IDA7CiAJZm9yIChu ID0gMDsgbiA8IE5VTV9USU1FTElORVM7IG4rKykgewogCQlmb3JfZWFjaF9lbmdpbmUoZW5naW5l LCBpOTE1LCBpZCkgewotCQkJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsOworCQkJc3RydWN0IGlu dGVsX3RpbWVsaW5lICp0bDsKIAkJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwogCiAJCQlpZiAo IWludGVsX2VuZ2luZV9jYW5fc3RvcmVfZHdvcmQoZW5naW5lKSkKIAkJCQljb250aW51ZTsKIAot CQkJdGwgPSBjaGVja2VkX2k5MTVfdGltZWxpbmVfY3JlYXRlKGk5MTUpOworCQkJdGwgPSBjaGVj a2VkX2ludGVsX3RpbWVsaW5lX2NyZWF0ZShpOTE1KTsKIAkJCWlmIChJU19FUlIodGwpKSB7CiAJ CQkJZXJyID0gUFRSX0VSUih0bCk7CiAJCQkJZ290byBvdXQ7CkBAIC02MTAsNyArNjEwLDcgQEAg c3RhdGljIGludCBsaXZlX2h3c3BfYWx0ZXJuYXRlKHZvaWQgKmFyZykKIAogCQkJcnEgPSB0bF93 cml0ZSh0bCwgZW5naW5lLCBjb3VudCk7CiAJCQlpZiAoSVNfRVJSKHJxKSkgewotCQkJCWk5MTVf dGltZWxpbmVfcHV0KHRsKTsKKwkJCQlpbnRlbF90aW1lbGluZV9wdXQodGwpOwogCQkJCWVyciA9 IFBUUl9FUlIocnEpOwogCQkJCWdvdG8gb3V0OwogCQkJfQpAQCAtNjI0LDE0ICs2MjQsMTQgQEAg c3RhdGljIGludCBsaXZlX2h3c3BfYWx0ZXJuYXRlKHZvaWQgKmFyZykKIAkJZXJyID0gLUVJTzsK IAogCWZvciAobiA9IDA7IG4gPCBjb3VudDsgbisrKSB7Ci0JCXN0cnVjdCBpOTE1X3RpbWVsaW5l ICp0bCA9IHRpbWVsaW5lc1tuXTsKKwkJc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCA9IHRpbWVs aW5lc1tuXTsKIAogCQlpZiAoIWVyciAmJiAqdGwtPmh3c3Bfc2Vxbm8gIT0gbikgewogCQkJcHJf ZXJyKCJJbnZhbGlkIHNlcW5vIHN0b3JlZCBpbiB0aW1lbGluZSAlbHUsIGZvdW5kIDB4JXhcbiIs CiAJCQkgICAgICAgbiwgKnRsLT5od3NwX3NlcW5vKTsKIAkJCWVyciA9IC1FSU5WQUw7CiAJCX0K LQkJaTkxNV90aW1lbGluZV9wdXQodGwpOworCQlpbnRlbF90aW1lbGluZV9wdXQodGwpOwogCX0K IAogCWludGVsX3J1bnRpbWVfcG1fcHV0KGk5MTUsIHdha2VyZWYpOwpAQCAtNjQ3LDcgKzY0Nyw3 IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3dyYXAodm9pZCAqYXJnKQogewogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1ID0gYXJnOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZTsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0 bDsKIAllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsK IAlpbnQgZXJyID0gMDsKQEAgLTY2MCw3ICs2NjAsNyBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF93 cmFwKHZvaWQgKmFyZykKIAltdXRleF9sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKIAl3 YWtlcmVmID0gaW50ZWxfcnVudGltZV9wbV9nZXQoaTkxNSk7CiAKLQl0bCA9IGk5MTVfdGltZWxp bmVfY3JlYXRlKCZpOTE1LT5ndCwgTlVMTCk7CisJdGwgPSBpbnRlbF90aW1lbGluZV9jcmVhdGUo Jmk5MTUtPmd0LCBOVUxMKTsKIAlpZiAoSVNfRVJSKHRsKSkgewogCQllcnIgPSBQVFJfRVJSKHRs KTsKIAkJZ290byBvdXRfcnBtOwpAQCAtNjY4LDcgKzY2OCw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9o d3NwX3dyYXAodm9pZCAqYXJnKQogCWlmICghdGwtPmhhc19pbml0aWFsX2JyZWFkY3J1bWIgfHwg IXRsLT5od3NwX2NhY2hlbGluZSkKIAkJZ290byBvdXRfZnJlZTsKIAotCWVyciA9IGk5MTVfdGlt ZWxpbmVfcGluKHRsKTsKKwllcnIgPSBpbnRlbF90aW1lbGluZV9waW4odGwpOwogCWlmIChlcnIp CiAJCWdvdG8gb3V0X2ZyZWU7CiAKQEAgLTY4OCw3ICs2ODgsNyBAQCBzdGF0aWMgaW50IGxpdmVf aHdzcF93cmFwKHZvaWQgKmFyZykKIAogCQl0bC0+c2Vxbm8gPSAtNHU7CiAKLQkJZXJyID0gaTkx NV90aW1lbGluZV9nZXRfc2Vxbm8odGwsIHJxLCAmc2Vxbm9bMF0pOworCQllcnIgPSBpbnRlbF90 aW1lbGluZV9nZXRfc2Vxbm8odGwsIHJxLCAmc2Vxbm9bMF0pOwogCQlpZiAoZXJyKSB7CiAJCQlp OTE1X3JlcXVlc3RfYWRkKHJxKTsKIAkJCWdvdG8gb3V0OwpAQCAtNzAzLDcgKzcwMyw3IEBAIHN0 YXRpYyBpbnQgbGl2ZV9od3NwX3dyYXAodm9pZCAqYXJnKQogCQl9CiAJCWh3c3Bfc2Vxbm9bMF0g PSB0bC0+aHdzcF9zZXFubzsKIAotCQllcnIgPSBpOTE1X3RpbWVsaW5lX2dldF9zZXFubyh0bCwg cnEsICZzZXFub1sxXSk7CisJCWVyciA9IGludGVsX3RpbWVsaW5lX2dldF9zZXFubyh0bCwgcnEs ICZzZXFub1sxXSk7CiAJCWlmIChlcnIpIHsKIAkJCWk5MTVfcmVxdWVzdF9hZGQocnEpOwogCQkJ Z290byBvdXQ7CkBAIC03NDUsOSArNzQ1LDkgQEAgc3RhdGljIGludCBsaXZlX2h3c3Bfd3JhcCh2 b2lkICphcmcpCiAJaWYgKGlndF9mbHVzaF90ZXN0KGk5MTUsIEk5MTVfV0FJVF9MT0NLRUQpKQog CQllcnIgPSAtRUlPOwogCi0JaTkxNV90aW1lbGluZV91bnBpbih0bCk7CisJaW50ZWxfdGltZWxp bmVfdW5waW4odGwpOwogb3V0X2ZyZWU6Ci0JaTkxNV90aW1lbGluZV9wdXQodGwpOworCWludGVs X3RpbWVsaW5lX3B1dCh0bCk7CiBvdXRfcnBtOgogCWludGVsX3J1bnRpbWVfcG1fcHV0KGk5MTUs IHdha2VyZWYpOwogCW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CkBAIC03 ODEsMTAgKzc4MSwxMCBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9yZWN5Y2xlKHZvaWQgKmFyZykK IAkJCWNvbnRpbnVlOwogCiAJCWRvIHsKLQkJCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwkJ CXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7CiAJCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsK IAotCQkJdGwgPSBjaGVja2VkX2k5MTVfdGltZWxpbmVfY3JlYXRlKGk5MTUpOworCQkJdGwgPSBj aGVja2VkX2ludGVsX3RpbWVsaW5lX2NyZWF0ZShpOTE1KTsKIAkJCWlmIChJU19FUlIodGwpKSB7 CiAJCQkJZXJyID0gUFRSX0VSUih0bCk7CiAJCQkJZ290byBvdXQ7CkBAIC03OTIsNyArNzkyLDcg QEAgc3RhdGljIGludCBsaXZlX2h3c3BfcmVjeWNsZSh2b2lkICphcmcpCiAKIAkJCXJxID0gdGxf d3JpdGUodGwsIGVuZ2luZSwgY291bnQpOwogCQkJaWYgKElTX0VSUihycSkpIHsKLQkJCQlpOTE1 X3RpbWVsaW5lX3B1dCh0bCk7CisJCQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCQllcnIg PSBQVFJfRVJSKHJxKTsKIAkJCQlnb3RvIG91dDsKIAkJCX0KQEAgLTgwMSw3ICs4MDEsNyBAQCBz dGF0aWMgaW50IGxpdmVfaHdzcF9yZWN5Y2xlKHZvaWQgKmFyZykKIAkJCQkJICAgICAgSTkxNV9X QUlUX0xPQ0tFRCwKIAkJCQkJICAgICAgSFogLyA1KSA8IDApIHsKIAkJCQlwcl9lcnIoIldhaXQg Zm9yIHRpbWVsaW5lIHdyaXRlcyB0aW1lZCBvdXQhXG4iKTsKLQkJCQlpOTE1X3RpbWVsaW5lX3B1 dCh0bCk7CisJCQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCQllcnIgPSAtRUlPOwogCQkJ CWdvdG8gb3V0OwogCQkJfQpAQCAtODEyLDEzICs4MTIsMTMgQEAgc3RhdGljIGludCBsaXZlX2h3 c3BfcmVjeWNsZSh2b2lkICphcmcpCiAJCQkJZXJyID0gLUVJTlZBTDsKIAkJCX0KIAotCQkJaTkx NV90aW1lbGluZV9wdXQodGwpOworCQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCWNvdW50 Kys7CiAKIAkJCWlmIChlcnIpCiAJCQkJZ290byBvdXQ7CiAKLQkJCWk5MTVfdGltZWxpbmVzX3Bh cmsoaTkxNSk7IC8qIEVuY291cmFnZSByZWN5Y2xpbmchICovCisJCQlpbnRlbF90aW1lbGluZXNf cGFyayhpOTE1KTsgLyogRW5jb3VyYWdlIHJlY3ljbGluZyEgKi8KIAkJfSB3aGlsZSAoIV9faWd0 X3RpbWVvdXQoZW5kX3RpbWUsIE5VTEwpKTsKIAl9CiAKQEAgLTgzMSw3ICs4MzEsNyBAQCBzdGF0 aWMgaW50IGxpdmVfaHdzcF9yZWN5Y2xlKHZvaWQgKmFyZykKIAlyZXR1cm4gZXJyOwogfQogCi1p bnQgaTkxNV90aW1lbGluZV9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkKK2ludCBpbnRlbF90aW1lbGluZV9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSkKIHsKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0 c1tdID0gewogCQlTVUJURVNUKGxpdmVfaHdzcF9yZWN5Y2xlKSwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCnNpbWlsYXJpdHkgaW5kZXggNzMl CnJlbmFtZSBmcm9tIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5l LmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0cy9tb2NrX3RpbWVs aW5lLmMKaW5kZXggZTFhMjU2NzYxZDJjLi5mMTJkNjU0N2JmMTIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUuYwpAQCAtNCwxMSArNCwxMSBA QAogICogQ29weXJpZ2h0IMKpIDIwMTctMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKLSNp bmNsdWRlICIuLi9pOTE1X3RpbWVsaW5lLmgiCisjaW5jbHVkZSAiLi4vaW50ZWxfdGltZWxpbmUu aCIKIAogI2luY2x1ZGUgIm1vY2tfdGltZWxpbmUuaCIKIAotdm9pZCBtb2NrX3RpbWVsaW5lX2lu aXQoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29udGV4dCkKK3ZvaWQgbW9j a190aW1lbGluZV9pbml0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUsIHU2NCBjb250 ZXh0KQogewogCXRpbWVsaW5lLT5ndCA9IE5VTEw7CiAJdGltZWxpbmUtPmZlbmNlX2NvbnRleHQg PSBjb250ZXh0OwpAQCAtMjQsNyArMjQsNyBAQCB2b2lkIG1vY2tfdGltZWxpbmVfaW5pdChzdHJ1 Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KQogCUlOSVRfTElTVF9IRUFE KCZ0aW1lbGluZS0+bGluayk7CiB9CiAKLXZvaWQgbW9ja190aW1lbGluZV9maW5pKHN0cnVjdCBp OTE1X3RpbWVsaW5lICp0aW1lbGluZSkKK3ZvaWQgbW9ja190aW1lbGluZV9maW5pKHN0cnVjdCBp bnRlbF90aW1lbGluZSAqdGltZWxpbmUpCiB7CiAJaTkxNV9zeW5jbWFwX2ZyZWUoJnRpbWVsaW5l LT5zeW5jKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9t b2NrX3RpbWVsaW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdHMvbW9ja190 aW1lbGluZS5oCnNpbWlsYXJpdHkgaW5kZXggNTMlCnJlbmFtZSBmcm9tIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmgKaW5kZXggYjZkZWFhNjExMTBkLi42 ODllZmM2NmM5MDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9t b2NrX3RpbWVsaW5lLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RzL21v Y2tfdGltZWxpbmUuaApAQCAtNyw5ICs3LDkgQEAKICNpZm5kZWYgX19NT0NLX1RJTUVMSU5FX18K ICNkZWZpbmUgX19NT0NLX1RJTUVMSU5FX18KIAotc3RydWN0IGk5MTVfdGltZWxpbmU7CitzdHJ1 Y3QgaW50ZWxfdGltZWxpbmU7CiAKLXZvaWQgbW9ja190aW1lbGluZV9pbml0KHN0cnVjdCBpOTE1 X3RpbWVsaW5lICp0aW1lbGluZSwgdTY0IGNvbnRleHQpOwotdm9pZCBtb2NrX3RpbWVsaW5lX2Zp bmkoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lKTsKK3ZvaWQgbW9ja190aW1lbGluZV9p bml0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KTsKK3ZvaWQg bW9ja190aW1lbGluZV9maW5pKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUpOwogCiAj ZW5kaWYgLyogIV9fTU9DS19USU1FTElORV9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRl eCBjZDVmN2JhMjhmODcuLjE5NTdhMDg1MjIxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBA IC04OCw3ICs4OCw3IEBACiAjaW5jbHVkZSAiaTkxNV9ncHVfZXJyb3IuaCIKICNpbmNsdWRlICJp OTE1X3JlcXVlc3QuaCIKICNpbmNsdWRlICJpOTE1X3NjaGVkdWxlci5oIgotI2luY2x1ZGUgImk5 MTVfdGltZWxpbmUuaCIKKyNpbmNsdWRlICJndC9pbnRlbF90aW1lbGluZS5oIgogI2luY2x1ZGUg Imk5MTVfdm1hLmgiCiAKICNpbmNsdWRlICJpbnRlbF9ndnQuaCIKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCmluZGV4IDI0OGI0NzNjM2JlZS4uYWQxZGM1OGEyMzc0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKQEAgLTkwNyw3ICs5MDcsNyBAQCB3YWl0X2Zvcl90aW1lbGluZXMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUsCiAJCSAgIHVuc2lnbmVkIGludCBmbGFncywgbG9uZyB0aW1lb3V0 KQogewogCXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3QgPSAmaTkxNS0+Z3QudGltZWxpbmVz OwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRs OwogCiAJbXV0ZXhfbG9jaygmZ3QtPm11dGV4KTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRsLCAm Z3QtPmFjdGl2ZV9saXN0LCBsaW5rKSB7CkBAIC0xNDg5LDcgKzE0ODksNyBAQCBpbnQgaTkxNV9n ZW1faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlkZXZfcHJpdi0+ bW0udW5vcmRlcmVkX3RpbWVsaW5lID0gZG1hX2ZlbmNlX2NvbnRleHRfYWxsb2MoMSk7CiAKLQlp OTE1X3RpbWVsaW5lc19pbml0KGRldl9wcml2KTsKKwlpbnRlbF90aW1lbGluZXNfaW5pdChkZXZf cHJpdik7CiAKIAlyZXQgPSBpOTE1X2dlbV9pbml0X3VzZXJwdHIoZGV2X3ByaXYpOwogCWlmIChy ZXQpCkBAIC0xNjI2LDcgKzE2MjYsNyBAQCBpbnQgaTkxNV9nZW1faW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlpZiAocmV0ICE9IC1FSU8pIHsKIAkJaTkxNV9nZW1f Y2xlYW51cF91c2VycHRyKGRldl9wcml2KTsKLQkJaTkxNV90aW1lbGluZXNfZmluaShkZXZfcHJp dik7CisJCWludGVsX3RpbWVsaW5lc19maW5pKGRldl9wcml2KTsKIAl9CiAKIAlpZiAocmV0ID09 IC1FSU8pIHsKQEAgLTE2OTAsNyArMTY5MCw3IEBAIHZvaWQgaTkxNV9nZW1fZmluaShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlpbnRlbF91Y19maW5pX21pc2MoZGV2X3By aXYpOwogCWk5MTVfZ2VtX2NsZWFudXBfdXNlcnB0cihkZXZfcHJpdik7Ci0JaTkxNV90aW1lbGlu ZXNfZmluaShkZXZfcHJpdik7CisJaW50ZWxfdGltZWxpbmVzX2ZpbmkoZGV2X3ByaXYpOwogCiAJ aTkxNV9nZW1fZHJhaW5fZnJlZWRfb2JqZWN0cyhkZXZfcHJpdik7CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmgKaW5kZXggODI3YWY2YmEzNmM3Li42YWMyZjQ1ZTJmMTkgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBAIC00Myw3ICs0Myw3IEBACiAjaW5jbHVkZSAiaTkx NV9yZXF1ZXN0LmgiCiAjaW5jbHVkZSAiaTkxNV9zY2F0dGVybGlzdC5oIgogI2luY2x1ZGUgImk5 MTVfc2VsZnRlc3QuaCIKLSNpbmNsdWRlICJpOTE1X3RpbWVsaW5lLmgiCisjaW5jbHVkZSAiZ3Qv aW50ZWxfdGltZWxpbmUuaCIKIAogI2RlZmluZSBJOTE1X0dUVF9QQUdFX1NJWkVfNEsJQklUX1VM TCgxMikKICNkZWZpbmUgSTkxNV9HVFRfUEFHRV9TSVpFXzY0SwlCSVRfVUxMKDE2KQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlcXVlc3QuYwppbmRleCBkYTc2ZTRkMWM3ZjEuLmNhZjY5ZDlkNDVhZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKQEAgLTQxNiw3ICs0MTYsNyBAQCBfX2k5 MTVfcmVxdWVzdF9hd2FpdF9leGVjdXRpb24oc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiB9CiAK IHN0YXRpYyB2b2lkIG1vdmVfdG9fdGltZWxpbmUoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVz dCwKLQkJCSAgICAgc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lKQorCQkJICAgICBzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lKQogewogCUdFTV9CVUdfT04ocmVxdWVzdC0+dGlt ZWxpbmUgPT0gJnJlcXVlc3QtPmVuZ2luZS0+dGltZWxpbmUpOwogCWxvY2tkZXBfYXNzZXJ0X2hl bGQoJnJlcXVlc3QtPmVuZ2luZS0+dGltZWxpbmUubG9jayk7CkBAIC02NDYsNyArNjQ2LDcgQEAg cmVxdWVzdF9hbGxvY19zbG93KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQog c3RydWN0IGk5MTVfcmVxdWVzdCAqCiBfX2k5MTVfcmVxdWVzdF9jcmVhdGUoc3RydWN0IGludGVs X2NvbnRleHQgKmNlLCBnZnBfdCBnZnApCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsID0g Y2UtPnJpbmctPnRpbWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSBjZS0+cmlu Zy0+dGltZWxpbmU7CiAJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAJdTMyIHNlcW5vOwogCWlu dCByZXQ7CkBAIC02OTUsNyArNjk1LDcgQEAgX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQogCQl9CiAJfQogCi0JcmV0ID0gaTkxNV90aW1l bGluZV9nZXRfc2Vxbm8odGwsIHJxLCAmc2Vxbm8pOworCXJldCA9IGludGVsX3RpbWVsaW5lX2dl dF9zZXFubyh0bCwgcnEsICZzZXFubyk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfZnJlZTsKIApA QCAtODE5LDcgKzgxOSw3IEBAIGk5MTVfcmVxdWVzdF9hd2FpdF9zdGFydChzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICpycSwgc3RydWN0IGk5MTVfcmVxdWVzdCAqc2lnbmFsKQogCQlyZXR1cm4gMDsKIAog CXNpZ25hbCA9IGxpc3RfcHJldl9lbnRyeShzaWduYWwsIHJpbmdfbGluayk7Ci0JaWYgKGk5MTVf dGltZWxpbmVfc3luY19pc19sYXRlcihycS0+dGltZWxpbmUsICZzaWduYWwtPmZlbmNlKSkKKwlp ZiAoaW50ZWxfdGltZWxpbmVfc3luY19pc19sYXRlcihycS0+dGltZWxpbmUsICZzaWduYWwtPmZl bmNlKSkKIAkJcmV0dXJuIDA7CiAKIAlyZXR1cm4gaTkxNV9zd19mZW5jZV9hd2FpdF9kbWFfZmVu Y2UoJnJxLT5zdWJtaXQsCkBAIC04NzMsNyArODczLDcgQEAgZW1pdF9zZW1hcGhvcmVfd2FpdChz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICp0bywKIAkJcmV0dXJuIGVycjsKIAogCS8qIFdlIG5lZWQgdG8g cGluIHRoZSBzaWduYWxlcidzIEhXU1AgdW50aWwgd2UgYXJlIGZpbmlzaGVkIHJlYWRpbmcuICov Ci0JZXJyID0gaTkxNV90aW1lbGluZV9yZWFkX2h3c3AoZnJvbSwgdG8sICZod3NwX29mZnNldCk7 CisJZXJyID0gaW50ZWxfdGltZWxpbmVfcmVhZF9od3NwKGZyb20sIHRvLCAmaHdzcF9vZmZzZXQp OwogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAKQEAgLTk4NCw3ICs5ODQsNyBAQCBpOTE1X3Jl cXVlc3RfYXdhaXRfZG1hX2ZlbmNlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCBzdHJ1Y3QgZG1h X2ZlbmNlICpmZW5jZSkKIAogCQkvKiBTcXVhc2ggcmVwZWF0ZWQgd2FpdHMgdG8gdGhlIHNhbWUg dGltZWxpbmVzICovCiAJCWlmIChmZW5jZS0+Y29udGV4dCAhPSBycS0+aTkxNS0+bW0udW5vcmRl cmVkX3RpbWVsaW5lICYmCi0JCSAgICBpOTE1X3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIocnEtPnRp bWVsaW5lLCBmZW5jZSkpCisJCSAgICBpbnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHJxLT50 aW1lbGluZSwgZmVuY2UpKQogCQkJY29udGludWU7CiAKIAkJaWYgKGRtYV9mZW5jZV9pc19pOTE1 KGZlbmNlKSkKQEAgLTk5OCw3ICs5OTgsNyBAQCBpOTE1X3JlcXVlc3RfYXdhaXRfZG1hX2ZlbmNl KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKIAogCQkv KiBSZWNvcmQgdGhlIGxhdGVzdCBmZW5jZSB1c2VkIGFnYWluc3QgZWFjaCB0aW1lbGluZSAqLwog CQlpZiAoZmVuY2UtPmNvbnRleHQgIT0gcnEtPmk5MTUtPm1tLnVub3JkZXJlZF90aW1lbGluZSkK LQkJCWk5MTVfdGltZWxpbmVfc3luY19zZXQocnEtPnRpbWVsaW5lLCBmZW5jZSk7CisJCQlpbnRl bF90aW1lbGluZV9zeW5jX3NldChycS0+dGltZWxpbmUsIGZlbmNlKTsKIAl9IHdoaWxlICgtLW5j aGlsZCk7CiAKIAlyZXR1cm4gMDsKQEAgLTExMzYsNyArMTEzNiw3IEBAIHZvaWQgaTkxNV9yZXF1 ZXN0X3NraXAoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIGludCBlcnJvcikKIHN0YXRpYyBzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICoKIF9faTkxNV9yZXF1ZXN0X2FkZF90b190aW1lbGluZShzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSkKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUgPSBy cS0+dGltZWxpbmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZSA9IHJxLT50aW1l bGluZTsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpwcmV2OwogCiAJLyoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZXF1ZXN0LmgKaW5kZXggYzlmN2QwNzk5MWM4Li44MjkyOGJhOTdhY2MgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oCkBAIC00MCw4ICs0MCw4IEBACiBzdHJ1Y3QgZHJtX2Zp bGU7CiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdDsKIHN0cnVjdCBpOTE1X3JlcXVlc3Q7Ci1z dHJ1Y3QgaTkxNV90aW1lbGluZTsKLXN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZTsKK3N0 cnVjdCBpbnRlbF90aW1lbGluZTsKK3N0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmU7CiAK IHN0cnVjdCBpOTE1X2NhcHR1cmVfbGlzdCB7CiAJc3RydWN0IGk5MTVfY2FwdHVyZV9saXN0ICpu ZXh0OwpAQCAtMTEyLDcgKzExMiw3IEBAIHN0cnVjdCBpOTE1X3JlcXVlc3QgewogCXN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqaHdfY29udGV4 dDsKIAlzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZzsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGlt ZWxpbmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAlzdHJ1Y3QgbGlzdF9o ZWFkIHNpZ25hbF9saW5rOwogCiAJLyoKQEAgLTE3NSw3ICsxNzUsNyBAQCBzdHJ1Y3QgaTkxNV9y ZXF1ZXN0IHsKIAkgKiBpbnNpZGUgdGhlIHRpbWVsaW5lJ3MgSFdTUCB2bWEsIGJ1dCBpdCBpcyBv bmx5IHZhbGlkIHdoaWxlIHRoaXMKIAkgKiByZXF1ZXN0IGhhcyBub3QgY29tcGxldGVkIGFuZCBn dWFyZGVkIGJ5IHRoZSB0aW1lbGluZSBtdXRleC4KIAkgKi8KLQlzdHJ1Y3QgaTkxNV90aW1lbGlu ZV9jYWNoZWxpbmUgKmh3c3BfY2FjaGVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNo ZWxpbmUgKmh3c3BfY2FjaGVsaW5lOwogCiAJLyoqIFBvc2l0aW9uIGluIHRoZSByaW5nIG9mIHRo ZSBzdGFydCBvZiB0aGUgcmVxdWVzdCAqLwogCXUzMiBoZWFkOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmgKaW5kZXggZDVkYzQ0 MjdkNjY0Li4yYjMxYTRlZTBiNGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMuaApAQCAtMTIsNyArMTIsNyBAQAogc2VsZnRl c3Qoc2FuaXR5Y2hlY2ssIGk5MTVfbGl2ZV9zYW5pdHljaGVjaykgLyoga2VlcCBmaXJzdCAoaWd0 IHNlbGZjaGVjaykgKi8KIHNlbGZ0ZXN0KHVuY29yZSwgaW50ZWxfdW5jb3JlX2xpdmVfc2VsZnRl c3RzKQogc2VsZnRlc3Qod29ya2Fyb3VuZHMsIGludGVsX3dvcmthcm91bmRzX2xpdmVfc2VsZnRl c3RzKQotc2VsZnRlc3QodGltZWxpbmVzLCBpOTE1X3RpbWVsaW5lX2xpdmVfc2VsZnRlc3RzKQor c2VsZnRlc3QodGltZWxpbmVzLCBpbnRlbF90aW1lbGluZV9saXZlX3NlbGZ0ZXN0cykKIHNlbGZ0 ZXN0KHJlcXVlc3RzLCBpOTE1X3JlcXVlc3RfbGl2ZV9zZWxmdGVzdHMpCiBzZWxmdGVzdChhY3Rp dmUsIGk5MTVfYWN0aXZlX2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3Qob2JqZWN0cywgaTkxNV9n ZW1fb2JqZWN0X2xpdmVfc2VsZnRlc3RzKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2VsZnRlc3RzLmgKaW5kZXggNTEwZWIxNzZiYjJjLi5iNTVk YTRkOWNjYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X21vY2tfc2VsZnRlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5 MTVfbW9ja19zZWxmdGVzdHMuaApAQCAtMTUsNyArMTUsNyBAQCBzZWxmdGVzdChzY2F0dGVybGlz dCwgc2NhdHRlcmxpc3RfbW9ja19zZWxmdGVzdHMpCiBzZWxmdGVzdChzeW5jbWFwLCBpOTE1X3N5 bmNtYXBfbW9ja19zZWxmdGVzdHMpCiBzZWxmdGVzdCh1bmNvcmUsIGludGVsX3VuY29yZV9tb2Nr X3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGVuZ2luZSwgaW50ZWxfZW5naW5lX2NzX21vY2tfc2VsZnRl c3RzKQotc2VsZnRlc3QodGltZWxpbmVzLCBpOTE1X3RpbWVsaW5lX21vY2tfc2VsZnRlc3RzKQor c2VsZnRlc3QodGltZWxpbmVzLCBpbnRlbF90aW1lbGluZV9tb2NrX3NlbGZ0ZXN0cykKIHNlbGZ0 ZXN0KHJlcXVlc3RzLCBpOTE1X3JlcXVlc3RfbW9ja19zZWxmdGVzdHMpCiBzZWxmdGVzdChvYmpl Y3RzLCBpOTE1X2dlbV9vYmplY3RfbW9ja19zZWxmdGVzdHMpCiBzZWxmdGVzdChwaHlzLCBpOTE1 X2dlbV9waHlzX21vY2tfc2VsZnRlc3RzKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCmluZGV4IDQxM2FhZmYxNTM0Yi4uMTY3NjQ2MmI2NDdk IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2 aWNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2Rldmlj ZS5jCkBAIC02OSw3ICs2OSw3IEBAIHN0YXRpYyB2b2lkIG1vY2tfZGV2aWNlX3JlbGVhc2Uoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAlpOTE1X2dlbV9jb250ZXh0c19maW5pKGk5MTUpOwogCW11 dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKLQlpOTE1X3RpbWVsaW5lc19m aW5pKGk5MTUpOworCWludGVsX3RpbWVsaW5lc19maW5pKGk5MTUpOwogCiAJZHJhaW5fd29ya3F1 ZXVlKGk5MTUtPndxKTsKIAlpOTE1X2dlbV9kcmFpbl9mcmVlZF9vYmplY3RzKGk5MTUpOwpAQCAt MjAwLDcgKzIwMCw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICptb2NrX2dlbV9kZXZpY2Uo dm9pZCkKIAogCWk5MTUtPmd0LmF3YWtlID0gdHJ1ZTsKIAotCWk5MTVfdGltZWxpbmVzX2luaXQo aTkxNSk7CisJaW50ZWxfdGltZWxpbmVzX2luaXQoaTkxNSk7CiAKIAlpbnRlbF9ndF9pbml0KCZp OTE1LT5ndCwgaTkxNSk7CiAKQEAgLTIzMyw3ICsyMzMsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqbW9ja19nZW1fZGV2aWNlKHZvaWQpCiAJbW9ja19lbmdpbmVfZnJlZShpOTE1LT5lbmdp bmVbUkNTMF0pOwogZXJyX3VubG9jazoKIAltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3Rf bXV0ZXgpOwotCWk5MTVfdGltZWxpbmVzX2ZpbmkoaTkxNSk7CisJaW50ZWxfdGltZWxpbmVzX2Zp bmkoaTkxNSk7CiAJZGVzdHJveV93b3JrcXVldWUoaTkxNS0+d3EpOwogZXJyX2RydjoKIAlkcm1f bW9kZV9jb25maWdfY2xlYW51cCgmaTkxNS0+ZHJtKTsKLS0gCjIuMjAuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4