From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [CI 32/33] drm/i915: Rename i915_timeline to intel_timeline and move under gt Date: Thu, 20 Jun 2019 21:38:34 +0100 Message-ID: <20190620203835.1421-32-tvrtko.ursulin@linux.intel.com> References: <20190620203835.1421-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id BF3AE6E7F3 for ; Thu, 20 Jun 2019 20:39:04 +0000 (UTC) In-Reply-To: <20190620203835.1421-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 aWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5kZXggMTlmOGI2NzQ1NzcyLi44 NGFjMGZkMWI4ZDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCkBAIC04Miw2ICs4Miw3IEBAIGd0LXkg Kz0gXAogCWd0L2ludGVsX3JpbmdidWZmZXIubyBcCiAJZ3QvaW50ZWxfbW9jcy5vIFwKIAlndC9p bnRlbF9zc2V1Lm8gXAorCWd0L2ludGVsX3RpbWVsaW5lLm8gXAogCWd0L2ludGVsX3dvcmthcm91 bmRzLm8KIGd0LSQoQ09ORklHX0RSTV9JOTE1X1NFTEZURVNUKSArPSBcCiAJZ3QvbW9ja19lbmdp bmUubwpAQCAtMTI3LDcgKzEyOCw2IEBAIGk5MTUteSArPSBcCiAJICBpOTE1X3F1ZXJ5Lm8gXAog CSAgaTkxNV9yZXF1ZXN0Lm8gXAogCSAgaTkxNV9zY2hlZHVsZXIubyBcCi0JICBpOTE1X3RpbWVs aW5lLm8gXAogCSAgaTkxNV90cmFjZV9wb2ludHMubyBcCiAJICBpOTE1X3ZtYS5vIFwKIAkgIGlu dGVsX3dvcGNtLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlLmhl YWRlci10ZXN0IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUuaGVhZGVyLXRlc3QKaW5k ZXggZTZiYTY2Zjc4N2Y5Li4wODliMTRiMDczN2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L01ha2VmaWxlLmhlYWRlci10ZXN0CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01h a2VmaWxlLmhlYWRlci10ZXN0CkBAIC0xMSw3ICsxMSw2IEBAIGhlYWRlcl90ZXN0IDo9IFwKIAlp OTE1X3ByaW9saXN0X3R5cGVzLmggXAogCWk5MTVfcmVnLmggXAogCWk5MTVfc2NoZWR1bGVyX3R5 cGVzLmggXAotCWk5MTVfdGltZWxpbmVfdHlwZXMuaCBcCiAJaTkxNV91dGlscy5oIFwKIAlpbnRl bF9jc3IuaCBcCiAJaW50ZWxfZHJ2LmggXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9jb250ZXh0LmMKaW5kZXggZmI2OTE1MzVmYmYyLi42Mjg2NzNkMWQ3ZjggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMzE2LDcgKzMxNiw3 IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfZnJlZShzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqY3R4KQogCW11dGV4X2Rlc3Ryb3koJmN0eC0+ZW5naW5lc19tdXRleCk7CiAKIAlpZiAo Y3R4LT50aW1lbGluZSkKLQkJaTkxNV90aW1lbGluZV9wdXQoY3R4LT50aW1lbGluZSk7CisJCWlu dGVsX3RpbWVsaW5lX3B1dChjdHgtPnRpbWVsaW5lKTsKIAogCWtmcmVlKGN0eC0+bmFtZSk7CiAJ cHV0X3BpZChjdHgtPnBpZCk7CkBAIC01MjgsOSArNTI4LDkgQEAgaTkxNV9nZW1fY3JlYXRlX2Nv bnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1bnNpZ25lZCBpbnQgZmxh Z3MpCiAJfQogCiAJaWYgKGZsYWdzICYgSTkxNV9DT05URVhUX0NSRUFURV9GTEFHU19TSU5HTEVf VElNRUxJTkUpIHsKLQkJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lOworCQlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCi0JCXRpbWVsaW5lID0gaTkxNV90aW1lbGluZV9j cmVhdGUoJmRldl9wcml2LT5ndCwgTlVMTCk7CisJCXRpbWVsaW5lID0gaW50ZWxfdGltZWxpbmVf Y3JlYXRlKCZkZXZfcHJpdi0+Z3QsIE5VTEwpOwogCQlpZiAoSVNfRVJSKHRpbWVsaW5lKSkgewog CQkJY29udGV4dF9jbG9zZShjdHgpOwogCQkJcmV0dXJuIEVSUl9DQVNUKHRpbWVsaW5lKTsKQEAg LTIwMTUsOCArMjAxNSw4IEBAIHN0YXRpYyBpbnQgY2xvbmVfdGltZWxpbmUoc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgKmRzdCwKIAkJR0VNX0JVR19PTihzcmMtPnRpbWVsaW5lID09IGRzdC0+dGlt ZWxpbmUpOwogCiAJCWlmIChkc3QtPnRpbWVsaW5lKQotCQkJaTkxNV90aW1lbGluZV9wdXQoZHN0 LT50aW1lbGluZSk7Ci0JCWRzdC0+dGltZWxpbmUgPSBpOTE1X3RpbWVsaW5lX2dldChzcmMtPnRp bWVsaW5lKTsKKwkJCWludGVsX3RpbWVsaW5lX3B1dChkc3QtPnRpbWVsaW5lKTsKKwkJZHN0LT50 aW1lbGluZSA9IGludGVsX3RpbWVsaW5lX2dldChzcmMtPnRpbWVsaW5lKTsKIAl9CiAKIAlyZXR1 cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250 ZXh0X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dF90 eXBlcy5oCmluZGV4IGNjNTEzNDEwZWVlZi4uMGVlNjE0ODJlZjk0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dF90eXBlcy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0X3R5cGVzLmgKQEAgLTI2LDcgKzI2 LDcgQEAgc3RydWN0IHBpZDsKIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlOwogc3RydWN0IGRybV9p OTE1X2ZpbGVfcHJpdmF0ZTsKIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2U7Ci1zdHJ1Y3QgaTkx NV90aW1lbGluZTsKK3N0cnVjdCBpbnRlbF90aW1lbGluZTsKIHN0cnVjdCBpbnRlbF9yaW5nOwog CiBzdHJ1Y3QgaTkxNV9nZW1fZW5naW5lcyB7CkBAIC03Nyw3ICs3Nyw3IEBAIHN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0IHsKIAlzdHJ1Y3QgaTkxNV9nZW1fZW5naW5lcyBfX3JjdSAqZW5naW5lczsK IAlzdHJ1Y3QgbXV0ZXggZW5naW5lc19tdXRleDsgLyogZ3VhcmRzIHdyaXRlcyB0byBlbmdpbmVz ICovCiAKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGludGVsX3Rp bWVsaW5lICp0aW1lbGluZTsKIAogCS8qKgogCSAqIEB2bTogdW5pcXVlIGFkZHJlc3Mgc3BhY2Ug KEdUVCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BtLmMKaW5kZXggMDUwMTFkNGEz Yjg4Li44ZjcyMWNmMGFiOTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5j CkBAIC0zOCw3ICszOCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3Bhcmsoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCiAJCWk5MTVfZ2VtX2JhdGNoX3Bvb2xfZmluaSgmZW5naW5lLT5i YXRjaF9wb29sKTsKIAl9CiAKLQlpOTE1X3RpbWVsaW5lc19wYXJrKGk5MTUpOworCWludGVsX3Rp bWVsaW5lc19wYXJrKGk5MTUpOwogCWk5MTVfdm1hX3BhcmtlZChpOTE1KTsKIAogCWk5MTVfZ2xv YmFsc19wYXJrKCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9l bmdpbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZS5oCmluZGV4IDli YjZmZjc2NjgwZS4uNTU3YjA4YjEzZmViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9l bmdpbmUuaApAQCAtMTQsNyArMTQsNyBAQAogI2luY2x1ZGUgImk5MTVfcmVnLmgiCiAjaW5jbHVk ZSAiaTkxNV9yZXF1ZXN0LmgiCiAjaW5jbHVkZSAiaTkxNV9zZWxmdGVzdC5oIgotI2luY2x1ZGUg Imk5MTVfdGltZWxpbmUuaCIKKyNpbmNsdWRlICJndC9pbnRlbF90aW1lbGluZS5oIgogI2luY2x1 ZGUgImludGVsX2VuZ2luZV90eXBlcy5oIgogI2luY2x1ZGUgImludGVsX2dwdV9jb21tYW5kcy5o IgogI2luY2x1ZGUgImludGVsX3dvcmthcm91bmRzLmgiCkBAIC0yMDAsNyArMjAwLDcgQEAgaW50 ZWxfd3JpdGVfc3RhdHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBpbnQg cmVnLCB1MzIgdmFsdWUpCiAKIHN0cnVjdCBpbnRlbF9yaW5nICoKIGludGVsX2VuZ2luZV9jcmVh dGVfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCi0JCQkgc3RydWN0IGk5MTVf dGltZWxpbmUgKnRpbWVsaW5lLAorCQkJIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUs CiAJCQkgaW50IHNpemUpOwogaW50IGludGVsX3JpbmdfcGluKHN0cnVjdCBpbnRlbF9yaW5nICpy aW5nKTsKIHZvaWQgaW50ZWxfcmluZ19yZXNldChzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZywgdTMy IHRhaWwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5l X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCA4 OWVkZjk3ZDhhZDcuLmUzMDIxMmUyMTllYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZW5naW5lX2NzLmMKQEAgLTcyNCw3ICs3MjQsNyBAQCB2b2lkIGludGVsX2VuZ2luZXNfc2V0 X3NjaGVkdWxlcl9jYXBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCiBzdHJ1Y3Qg bWVhc3VyZV9icmVhZGNydW1iIHsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0IHJxOwotCXN0cnVjdCBp OTE1X3RpbWVsaW5lIHRpbWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSB0aW1lbGluZTsK IAlzdHJ1Y3QgaW50ZWxfcmluZyByaW5nOwogCXUzMiBjc1sxMDI0XTsKIH07CkBAIC03NDAsOSAr NzQwLDkgQEAgc3RhdGljIGludCBtZWFzdXJlX2JyZWFkY3J1bWJfZHcoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQogCWlmICghZnJhbWUpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JaWYg KGk5MTVfdGltZWxpbmVfaW5pdCgmZnJhbWUtPnRpbWVsaW5lLAotCQkJICAgICAgIGVuZ2luZS0+ Z3QsCi0JCQkgICAgICAgZW5naW5lLT5zdGF0dXNfcGFnZS52bWEpKQorCWlmIChpbnRlbF90aW1l bGluZV9pbml0KCZmcmFtZS0+dGltZWxpbmUsCisJCQkJZW5naW5lLT5ndCwKKwkJCQllbmdpbmUt PnN0YXR1c19wYWdlLnZtYSkpCiAJCWdvdG8gb3V0X2ZyYW1lOwogCiAJSU5JVF9MSVNUX0hFQUQo JmZyYW1lLT5yaW5nLnJlcXVlc3RfbGlzdCk7CkBAIC03NTcsMTcgKzc1NywxNyBAQCBzdGF0aWMg aW50IG1lYXN1cmVfYnJlYWRjcnVtYl9kdyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiAJZnJhbWUtPnJxLnJpbmcgPSAmZnJhbWUtPnJpbmc7CiAJZnJhbWUtPnJxLnRpbWVsaW5lID0g JmZyYW1lLT50aW1lbGluZTsKIAotCWR3ID0gaTkxNV90aW1lbGluZV9waW4oJmZyYW1lLT50aW1l bGluZSk7CisJZHcgPSBpbnRlbF90aW1lbGluZV9waW4oJmZyYW1lLT50aW1lbGluZSk7CiAJaWYg KGR3IDwgMCkKIAkJZ290byBvdXRfdGltZWxpbmU7CiAKIAlkdyA9IGVuZ2luZS0+ZW1pdF9maW5p X2JyZWFkY3J1bWIoJmZyYW1lLT5ycSwgZnJhbWUtPmNzKSAtIGZyYW1lLT5jczsKIAlHRU1fQlVH X09OKGR3ICYgMSk7IC8qIFJJTkdfVEFJTCBtdXN0IGJlIHF3b3JkIGFsaWduZWQgKi8KIAotCWk5 MTVfdGltZWxpbmVfdW5waW4oJmZyYW1lLT50aW1lbGluZSk7CisJaW50ZWxfdGltZWxpbmVfdW5w aW4oJmZyYW1lLT50aW1lbGluZSk7CiAKIG91dF90aW1lbGluZToKLQlpOTE1X3RpbWVsaW5lX2Zp bmkoJmZyYW1lLT50aW1lbGluZSk7CisJaW50ZWxfdGltZWxpbmVfZmluaSgmZnJhbWUtPnRpbWVs aW5lKTsKIG91dF9mcmFtZToKIAlrZnJlZShmcmFtZSk7CiAJcmV0dXJuIGR3OwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaAppbmRleCBmYjY1ZTk2ZmEzNmIu LjdlMDU2MTE0MzQ0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf ZW5naW5lX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5l X3R5cGVzLmgKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJpOTE1X3BtdS5oIgogI2luY2x1 ZGUgImk5MTVfcHJpb2xpc3RfdHlwZXMuaCIKICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCi0j aW5jbHVkZSAiaTkxNV90aW1lbGluZV90eXBlcy5oIgorI2luY2x1ZGUgImd0L2ludGVsX3RpbWVs aW5lX3R5cGVzLmgiCiAjaW5jbHVkZSAiaW50ZWxfc3NldS5oIgogI2luY2x1ZGUgImludGVsX3dh a2VyZWYuaCIKICNpbmNsdWRlICJpbnRlbF93b3JrYXJvdW5kc190eXBlcy5oIgpAQCAtNjgsNyAr NjgsNyBAQCBzdHJ1Y3QgaW50ZWxfcmluZyB7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdm9p ZCAqdmFkZHI7CiAKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGlu dGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHJlcXVlc3RfbGlzdDsK IAlzdHJ1Y3QgbGlzdF9oZWFkIGFjdGl2ZV9saW5rOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2xyYy5jCmluZGV4IGZhODZkZDUxOWIwMS4uNGZjZTY4OTVlOWFiIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9scmMuYwpAQCAtMzAwNSwxMyArMzAwNSwxMyBAQCBwb3B1bGF0ZV9scl9jb250 ZXh0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMg c3RydWN0IGk5MTVfdGltZWxpbmUgKgorc3RhdGljIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqCiBn ZXRfdGltZWxpbmUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwgc3RydWN0IGludGVsX2d0 ICpndCkKIHsKIAlpZiAoY3R4LT50aW1lbGluZSkKLQkJcmV0dXJuIGk5MTVfdGltZWxpbmVfZ2V0 KGN0eC0+dGltZWxpbmUpOworCQlyZXR1cm4gaW50ZWxfdGltZWxpbmVfZ2V0KGN0eC0+dGltZWxp bmUpOwogCWVsc2UKLQkJcmV0dXJuIGk5MTVfdGltZWxpbmVfY3JlYXRlKGd0LCBOVUxMKTsKKwkJ cmV0dXJuIGludGVsX3RpbWVsaW5lX2NyZWF0ZShndCwgTlVMTCk7CiB9CiAKIHN0YXRpYyBpbnQg ZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVsX2NvbnRleHQgKmNl LApAQCAtMzAyMSw3ICszMDIxLDcgQEAgc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZl cnJlZF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAJc3RydWN0IGk5MTVfdm1hICp2 bWE7CiAJdTMyIGNvbnRleHRfc2l6ZTsKIAlzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZzsKLQlzdHJ1 Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1l bGluZTsKIAlpbnQgcmV0OwogCiAJaWYgKGNlLT5zdGF0ZSkKQEAgLTMwNTQsNyArMzA1NCw3IEBA IHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVs X2NvbnRleHQgKmNlLAogCXJpbmcgPSBpbnRlbF9lbmdpbmVfY3JlYXRlX3JpbmcoZW5naW5lLAog CQkJCQl0aW1lbGluZSwKIAkJCQkJY2UtPmdlbV9jb250ZXh0LT5yaW5nX3NpemUpOwotCWk5MTVf dGltZWxpbmVfcHV0KHRpbWVsaW5lKTsKKwlpbnRlbF90aW1lbGluZV9wdXQodGltZWxpbmUpOwog CWlmIChJU19FUlIocmluZykpIHsKIAkJcmV0ID0gUFRSX0VSUihyaW5nKTsKIAkJZ290byBlcnJv cl9kZXJlZl9vYmo7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9y ZXNldC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYwppbmRleCA1Mjk3 YjNhY2I1NmQuLjNjOTI1YWY2NDc5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfcmVzZXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yZXNl dC5jCkBAIC04NTEsNyArODUxLDcgQEAgdm9pZCBpOTE1X2dlbV9zZXRfd2VkZ2VkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogc3RhdGljIGJvb2wgX19pOTE1X2dlbV91bnNldF93ZWRn ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CiAJc3RydWN0IGk5MTVfZ3B1X2Vy cm9yICplcnJvciA9ICZpOTE1LT5ncHVfZXJyb3I7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRs OworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7CiAKIAlpZiAoIXRlc3RfYml0KEk5MTVfV0VE R0VELCAmZXJyb3ItPmZsYWdzKSkKIAkJcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggOWE3NDhiZTBjZTBjLi5hYTQ4M2JiYTA0YmYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTExNTYs NyArMTE1Niw3IEBAIGludCBpbnRlbF9yaW5nX3BpbihzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZykK IAlpZiAoYXRvbWljX2ZldGNoX2luYygmcmluZy0+cGluX2NvdW50KSkKIAkJcmV0dXJuIDA7CiAK LQlyZXQgPSBpOTE1X3RpbWVsaW5lX3BpbihyaW5nLT50aW1lbGluZSk7CisJcmV0ID0gaW50ZWxf dGltZWxpbmVfcGluKHJpbmctPnRpbWVsaW5lKTsKIAlpZiAocmV0KQogCQlnb3RvIGVycl91bnBp bjsKIApAQCAtMTE5NCw3ICsxMTk0LDcgQEAgaW50IGludGVsX3JpbmdfcGluKHN0cnVjdCBpbnRl bF9yaW5nICpyaW5nKQogZXJyX3Jpbmc6CiAJaTkxNV92bWFfdW5waW4odm1hKTsKIGVycl90aW1l bGluZToKLQlpOTE1X3RpbWVsaW5lX3VucGluKHJpbmctPnRpbWVsaW5lKTsKKwlpbnRlbF90aW1l bGluZV91bnBpbihyaW5nLT50aW1lbGluZSk7CiBlcnJfdW5waW46CiAJYXRvbWljX2RlYygmcmlu Zy0+cGluX2NvdW50KTsKIAlyZXR1cm4gcmV0OwpAQCAtMTIzMSw3ICsxMjMxLDcgQEAgdm9pZCBp bnRlbF9yaW5nX3VucGluKHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQogCXJpbmctPnZtYS0+b2Jq LT5waW5fZ2xvYmFsLS07CiAJaTkxNV92bWFfdW5waW4ocmluZy0+dm1hKTsKIAotCWk5MTVfdGlt ZWxpbmVfdW5waW4ocmluZy0+dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX3VucGluKHJpbmct PnRpbWVsaW5lKTsKIH0KIAogc3RhdGljIHN0cnVjdCBpOTE1X3ZtYSAqY3JlYXRlX3Jpbmdfdm1h KHN0cnVjdCBpOTE1X2dndHQgKmdndHQsIGludCBzaXplKQpAQCAtMTI2Nyw3ICsxMjY3LDcgQEAg c3RhdGljIHN0cnVjdCBpOTE1X3ZtYSAqY3JlYXRlX3Jpbmdfdm1hKHN0cnVjdCBpOTE1X2dndHQg KmdndHQsIGludCBzaXplKQogCiBzdHJ1Y3QgaW50ZWxfcmluZyAqCiBpbnRlbF9lbmdpbmVfY3Jl YXRlX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAotCQkJIHN0cnVjdCBpOTE1 X3RpbWVsaW5lICp0aW1lbGluZSwKKwkJCSBzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5l LAogCQkJIGludCBzaXplKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZW5n aW5lLT5pOTE1OwpAQCAtMTI4Myw3ICsxMjgzLDcgQEAgaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5n KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAogCWtyZWZfaW5pdCgmcmluZy0+cmVm KTsKIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+cmVxdWVzdF9saXN0KTsKLQlyaW5nLT50aW1lbGlu ZSA9IGk5MTVfdGltZWxpbmVfZ2V0KHRpbWVsaW5lKTsKKwlyaW5nLT50aW1lbGluZSA9IGludGVs X3RpbWVsaW5lX2dldCh0aW1lbGluZSk7CiAKIAlyaW5nLT5zaXplID0gc2l6ZTsKIAkvKiBXb3Jr YXJvdW5kIGFuIGVycmF0dW0gb24gdGhlIGk4MzAgd2hpY2ggY2F1c2VzIGEgaGFuZyBpZgpAQCAt MTMxMyw3ICsxMzEzLDcgQEAgdm9pZCBpbnRlbF9yaW5nX2ZyZWUoc3RydWN0IGtyZWYgKnJlZikK IAlpOTE1X3ZtYV9jbG9zZShyaW5nLT52bWEpOwogCWk5MTVfdm1hX3B1dChyaW5nLT52bWEpOwog Ci0JaTkxNV90aW1lbGluZV9wdXQocmluZy0+dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX3B1 dChyaW5nLT50aW1lbGluZSk7CiAJa2ZyZWUocmluZyk7CiB9CiAKQEAgLTIyNjksMTEgKzIyNjks MTEgQEAgaW50IGludGVsX3Jpbmdfc3VibWlzc2lvbl9zZXR1cChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCiAKIGludCBpbnRlbF9yaW5nX3N1Ym1pc3Npb25faW5pdChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5l OworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmU7CiAJc3RydWN0IGludGVsX3Jpbmcg KnJpbmc7CiAJaW50IGVycjsKIAotCXRpbWVsaW5lID0gaTkxNV90aW1lbGluZV9jcmVhdGUoZW5n aW5lLT5ndCwgZW5naW5lLT5zdGF0dXNfcGFnZS52bWEpOworCXRpbWVsaW5lID0gaW50ZWxfdGlt ZWxpbmVfY3JlYXRlKGVuZ2luZS0+Z3QsIGVuZ2luZS0+c3RhdHVzX3BhZ2Uudm1hKTsKIAlpZiAo SVNfRVJSKHRpbWVsaW5lKSkgewogCQllcnIgPSBQVFJfRVJSKHRpbWVsaW5lKTsKIAkJZ290byBl cnI7CkBAIC0yMjgxLDcgKzIyODEsNyBAQCBpbnQgaW50ZWxfcmluZ19zdWJtaXNzaW9uX2luaXQo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCUdFTV9CVUdfT04odGltZWxpbmUtPmhh c19pbml0aWFsX2JyZWFkY3J1bWIpOwogCiAJcmluZyA9IGludGVsX2VuZ2luZV9jcmVhdGVfcmlu ZyhlbmdpbmUsIHRpbWVsaW5lLCAzMiAqIFBBR0VfU0laRSk7Ci0JaTkxNV90aW1lbGluZV9wdXQo dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX3B1dCh0aW1lbGluZSk7CiAJaWYgKElTX0VSUihy aW5nKSkgewogCQllcnIgPSBQVFJfRVJSKHJpbmcpOwogCQlnb3RvIGVycjsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX3RpbWVsaW5lLmMKc2ltaWxhcml0eSBpbmRleCA4MiUKcmVuYW1lIGZyb20g ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5jCnJlbmFtZSB0byBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5jCmluZGV4IDNlMmMzMTY5ZGM2OS4uMWEzZjA0 NDU4NzMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuYwpAQCAtMTAsMTIg KzEwLDEyIEBACiAKICNpbmNsdWRlICJpOTE1X2FjdGl2ZS5oIgogI2luY2x1ZGUgImk5MTVfc3lu Y21hcC5oIgotI2luY2x1ZGUgImk5MTVfdGltZWxpbmUuaCIKKyNpbmNsdWRlICJndC9pbnRlbF90 aW1lbGluZS5oIgogCiAjZGVmaW5lIHB0cl9zZXRfYml0KHB0ciwgYml0KSAoKHR5cGVvZihwdHIp KSgodW5zaWduZWQgbG9uZykocHRyKSB8IEJJVChiaXQpKSkKICNkZWZpbmUgcHRyX3Rlc3RfYml0 KHB0ciwgYml0KSAoKHVuc2lnbmVkIGxvbmcpKHB0cikgJiBCSVQoYml0KSkKIAotc3RydWN0IGk5 MTVfdGltZWxpbmVfaHdzcCB7CitzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfaHdzcCB7CiAJc3RydWN0 IGludGVsX2d0ICpndDsKIAlzdHJ1Y3QgaTkxNV9ndF90aW1lbGluZXMgKmd0X3RpbWVsaW5lczsK IAlzdHJ1Y3QgbGlzdF9oZWFkIGZyZWVfbGluazsKQEAgLTIzLDkgKzIzLDkgQEAgc3RydWN0IGk5 MTVfdGltZWxpbmVfaHdzcCB7CiAJdTY0IGZyZWVfYml0bWFwOwogfTsKIAotc3RydWN0IGk5MTVf dGltZWxpbmVfY2FjaGVsaW5lIHsKK3N0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgewog CXN0cnVjdCBpOTE1X2FjdGl2ZSBhY3RpdmU7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmVfaHdzcCAq aHdzcDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfaHdzcCAqaHdzcDsKIAl2b2lkICp2YWRkcjsK ICNkZWZpbmUgQ0FDSEVMSU5FX0JJVFMgNgogI2RlZmluZSBDQUNIRUxJTkVfRlJFRSBDQUNIRUxJ TkVfQklUUwpAQCAtNTEsMTAgKzUxLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKl9faHdz cF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogfQogCiBzdGF0aWMgc3RydWN0IGk5MTVfdm1h ICoKLWh3c3BfYWxsb2Moc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lLCB1bnNpZ25lZCBp bnQgKmNhY2hlbGluZSkKK2h3c3BfYWxsb2Moc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGlu ZSwgdW5zaWduZWQgaW50ICpjYWNoZWxpbmUpCiB7CiAJc3RydWN0IGk5MTVfZ3RfdGltZWxpbmVz ICpndCA9ICZ0aW1lbGluZS0+Z3QtPnRpbWVsaW5lczsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9o d3NwICpod3NwOworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9od3NwICpod3NwOwogCiAJQlVJTERf QlVHX09OKEJJVFNfUEVSX1RZUEUodTY0KSAqIENBQ0hFTElORV9CWVRFUyA+IFBBR0VfU0laRSk7 CiAKQEAgLTEwMCw3ICsxMDAsNyBAQCBod3NwX2FsbG9jKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0 aW1lbGluZSwgdW5zaWduZWQgaW50ICpjYWNoZWxpbmUpCiAJcmV0dXJuIGh3c3AtPnZtYTsKIH0K IAotc3RhdGljIHZvaWQgX19pZGxlX2h3c3BfZnJlZShzdHJ1Y3QgaTkxNV90aW1lbGluZV9od3Nw ICpod3NwLCBpbnQgY2FjaGVsaW5lKQorc3RhdGljIHZvaWQgX19pZGxlX2h3c3BfZnJlZShzdHJ1 Y3QgaW50ZWxfdGltZWxpbmVfaHdzcCAqaHdzcCwgaW50IGNhY2hlbGluZSkKIHsKIAlzdHJ1Y3Qg aTkxNV9ndF90aW1lbGluZXMgKmd0ID0gaHdzcC0+Z3RfdGltZWxpbmVzOwogCXVuc2lnbmVkIGxv bmcgZmxhZ3M7CkBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGljIHZvaWQgX19pZGxlX2h3c3BfZnJl ZShzdHJ1Y3QgaTkxNV90aW1lbGluZV9od3NwICpod3NwLCBpbnQgY2FjaGVsaW5lKQogCXNwaW5f dW5sb2NrX2lycXJlc3RvcmUoJmd0LT5od3NwX2xvY2ssIGZsYWdzKTsKIH0KIAotc3RhdGljIHZv aWQgX19pZGxlX2NhY2hlbGluZV9mcmVlKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAq Y2wpCitzdGF0aWMgdm9pZCBfX2lkbGVfY2FjaGVsaW5lX2ZyZWUoc3RydWN0IGludGVsX3RpbWVs aW5lX2NhY2hlbGluZSAqY2wpCiB7CiAJR0VNX0JVR19PTighaTkxNV9hY3RpdmVfaXNfaWRsZSgm Y2wtPmFjdGl2ZSkpOwogCkBAIC0xMzgsNyArMTM4LDcgQEAgc3RhdGljIHZvaWQgX19pZGxlX2Nh Y2hlbGluZV9mcmVlKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqY2wpCiAKIHN0YXRp YyB2b2lkIF9fY2FjaGVsaW5lX3JldGlyZShzdHJ1Y3QgaTkxNV9hY3RpdmUgKmFjdGl2ZSkKIHsK LQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsID0KKwlzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmVfY2FjaGVsaW5lICpjbCA9CiAJCWNvbnRhaW5lcl9vZihhY3RpdmUsIHR5cGVvZigqY2wp LCBhY3RpdmUpOwogCiAJaTkxNV92bWFfdW5waW4oY2wtPmh3c3AtPnZtYSk7CkBAIC0xNDYsMTAg KzE0NiwxMCBAQCBzdGF0aWMgdm9pZCBfX2NhY2hlbGluZV9yZXRpcmUoc3RydWN0IGk5MTVfYWN0 aXZlICphY3RpdmUpCiAJCV9faWRsZV9jYWNoZWxpbmVfZnJlZShjbCk7CiB9CiAKLXN0YXRpYyBz dHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKgotY2FjaGVsaW5lX2FsbG9jKHN0cnVjdCBp OTE1X3RpbWVsaW5lX2h3c3AgKmh3c3AsIHVuc2lnbmVkIGludCBjYWNoZWxpbmUpCitzdGF0aWMg c3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqCitjYWNoZWxpbmVfYWxsb2Moc3RydWN0 IGludGVsX3RpbWVsaW5lX2h3c3AgKmh3c3AsIHVuc2lnbmVkIGludCBjYWNoZWxpbmUpCiB7Ci0J c3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxp bmVfY2FjaGVsaW5lICpjbDsKIAl2b2lkICp2YWRkcjsKIAogCUdFTV9CVUdfT04oY2FjaGVsaW5l ID49IEJJVChDQUNIRUxJTkVfQklUUykpOwpAQCAtMTczLDE5ICsxNzMsMTkgQEAgY2FjaGVsaW5l X2FsbG9jKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2h3c3AgKmh3c3AsIHVuc2lnbmVkIGludCBjYWNo ZWxpbmUpCiAJcmV0dXJuIGNsOwogfQogCi1zdGF0aWMgdm9pZCBjYWNoZWxpbmVfYWNxdWlyZShz dHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsKQorc3RhdGljIHZvaWQgY2FjaGVsaW5l X2FjcXVpcmUoc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqY2wpCiB7CiAJaWYgKGNs ICYmIGk5MTVfYWN0aXZlX2FjcXVpcmUoJmNsLT5hY3RpdmUpKQogCQlfX2k5MTVfdm1hX3Bpbihj bC0+aHdzcC0+dm1hKTsKIH0KIAotc3RhdGljIHZvaWQgY2FjaGVsaW5lX3JlbGVhc2Uoc3RydWN0 IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkKK3N0YXRpYyB2b2lkIGNhY2hlbGluZV9yZWxl YXNlKHN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKmNsKQogewogCWlmIChjbCkKIAkJ aTkxNV9hY3RpdmVfcmVsZWFzZSgmY2wtPmFjdGl2ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGNhY2hl bGluZV9mcmVlKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqY2wpCitzdGF0aWMgdm9p ZCBjYWNoZWxpbmVfZnJlZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkKIHsK IAlHRU1fQlVHX09OKHB0cl90ZXN0X2JpdChjbC0+dmFkZHIsIENBQ0hFTElORV9GUkVFKSk7CiAJ Y2wtPnZhZGRyID0gcHRyX3NldF9iaXQoY2wtPnZhZGRyLCBDQUNIRUxJTkVfRlJFRSk7CkBAIC0x OTQsOSArMTk0LDkgQEAgc3RhdGljIHZvaWQgY2FjaGVsaW5lX2ZyZWUoc3RydWN0IGk5MTVfdGlt ZWxpbmVfY2FjaGVsaW5lICpjbCkKIAkJX19pZGxlX2NhY2hlbGluZV9mcmVlKGNsKTsKIH0KIAot aW50IGk5MTVfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUsCi0J CSAgICAgICBzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAotCQkgICAgICAgc3RydWN0IGk5MTVfdm1hICpo d3NwKQoraW50IGludGVsX3RpbWVsaW5lX2luaXQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1l bGluZSwKKwkJCXN0cnVjdCBpbnRlbF9ndCAqZ3QsCisJCQlzdHJ1Y3QgaTkxNV92bWEgKmh3c3Ap CiB7CiAJdm9pZCAqdmFkZHI7CiAKQEAgLTIxNiw3ICsyMTYsNyBAQCBpbnQgaTkxNV90aW1lbGlu ZV9pbml0KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSwKIAl0aW1lbGluZS0+aHdzcF9j YWNoZWxpbmUgPSBOVUxMOwogCiAJaWYgKCFod3NwKSB7Ci0JCXN0cnVjdCBpOTE1X3RpbWVsaW5l X2NhY2hlbGluZSAqY2w7CisJCXN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKmNsOwog CQl1bnNpZ25lZCBpbnQgY2FjaGVsaW5lOwogCiAJCWh3c3AgPSBod3NwX2FsbG9jKHRpbWVsaW5l LCAmY2FjaGVsaW5lKTsKQEAgLTI3MywxMiArMjczLDEyIEBAIHN0YXRpYyB2b2lkIHRpbWVsaW5l c19pbml0KHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiAJaTkxNV9nZW1fc2hyaW5rZXJfdGFpbnRzX211 dGV4KGd0LT5pOTE1LCAmdGltZWxpbmVzLT5tdXRleCk7CiB9CiAKLXZvaWQgaTkxNV90aW1lbGlu ZXNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3ZvaWQgaW50ZWxfdGltZWxp bmVzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CiAJdGltZWxpbmVzX2lu aXQoJmk5MTUtPmd0KTsKIH0KIAotc3RhdGljIHZvaWQgdGltZWxpbmVfYWRkX3RvX2FjdGl2ZShz dHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCitzdGF0aWMgdm9pZCB0aW1lbGluZV9hZGRfdG9fYWN0 aXZlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJc3RydWN0IGk5MTVfZ3RfdGltZWxp bmVzICpndCA9ICZ0bC0+Z3QtPnRpbWVsaW5lczsKIApAQCAtMjg3LDcgKzI4Nyw3IEBAIHN0YXRp YyB2b2lkIHRpbWVsaW5lX2FkZF90b19hY3RpdmUoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQog CW11dGV4X3VubG9jaygmZ3QtPm11dGV4KTsKIH0KIAotc3RhdGljIHZvaWQgdGltZWxpbmVfcmVt b3ZlX2Zyb21fYWN0aXZlKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKK3N0YXRpYyB2b2lkIHRp bWVsaW5lX3JlbW92ZV9mcm9tX2FjdGl2ZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQogewog CXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3QgPSAmdGwtPmd0LT50aW1lbGluZXM7CiAKQEAg LTI5OSw3ICsyOTksNyBAQCBzdGF0aWMgdm9pZCB0aW1lbGluZV9yZW1vdmVfZnJvbV9hY3RpdmUo c3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQogc3RhdGljIHZvaWQgdGltZWxpbmVzX3Bhcmsoc3Ry dWN0IGludGVsX2d0ICpndCkKIHsKIAlzdHJ1Y3QgaTkxNV9ndF90aW1lbGluZXMgKnRpbWVsaW5l cyA9ICZndC0+dGltZWxpbmVzOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZTsKKwlz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCiAJbXV0ZXhfbG9jaygmdGltZWxpbmVz LT5tdXRleCk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeSh0aW1lbGluZSwgJnRpbWVsaW5lcy0+YWN0 aXZlX2xpc3QsIGxpbmspIHsKQEAgLTMxNSw3ICszMTUsNyBAQCBzdGF0aWMgdm9pZCB0aW1lbGlu ZXNfcGFyayhzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogfQogCiAvKioKLSAqIGk5MTVfdGltZWxpbmVz X3BhcmsgLSBjYWxsZWQgd2hlbiB0aGUgZHJpdmVyIGlkbGVzCisgKiBpbnRlbF90aW1lbGluZXNf cGFyayAtIGNhbGxlZCB3aGVuIHRoZSBkcml2ZXIgaWRsZXMKICAqIEBpOTE1OiB0aGUgZHJtX2k5 MTVfcHJpdmF0ZSBkZXZpY2UKICAqCiAgKiBXaGVuIHRoZSBkcml2ZXIgaXMgY29tcGxldGVseSBp ZGxlLCB3ZSBrbm93IHRoYXQgYWxsIG9mIG91ciBzeW5jIHBvaW50cwpAQCAtMzI0LDEyICszMjQs MTIgQEAgc3RhdGljIHZvaWQgdGltZWxpbmVzX3Bhcmsoc3RydWN0IGludGVsX2d0ICpndCkKICAq IHRoZSBmZW5jZSBpcyBzaWduYWxlZCBhbmQgdGhlcmVmb3JlIHdlIHdpbGwgbm90IGV2ZW4gbG9v ayB0aGVtIHVwIGluIHRoZQogICogc3luYyBwb2ludCBtYXAuCiAgKi8KLXZvaWQgaTkxNV90aW1l bGluZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3ZvaWQgaW50ZWxfdGlt ZWxpbmVzX3Bhcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CiAJdGltZWxpbmVz X3BhcmsoJmk5MTUtPmd0KTsKIH0KIAotdm9pZCBpOTE1X3RpbWVsaW5lX2Zpbmkoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRpbWVsaW5lKQordm9pZCBpbnRlbF90aW1lbGluZV9maW5pKHN0cnVjdCBp bnRlbF90aW1lbGluZSAqdGltZWxpbmUpCiB7CiAJR0VNX0JVR19PTih0aW1lbGluZS0+cGluX2Nv dW50KTsKIAlHRU1fQlVHX09OKCFsaXN0X2VtcHR5KCZ0aW1lbGluZS0+cmVxdWVzdHMpKTsKQEAg LTM0NCwxNyArMzQ0LDE3IEBAIHZvaWQgaTkxNV90aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X3Rp bWVsaW5lICp0aW1lbGluZSkKIAlpOTE1X3ZtYV9wdXQodGltZWxpbmUtPmh3c3BfZ2d0dCk7CiB9 CiAKLXN0cnVjdCBpOTE1X3RpbWVsaW5lICoKLWk5MTVfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBp bnRlbF9ndCAqZ3QsIHN0cnVjdCBpOTE1X3ZtYSAqZ2xvYmFsX2h3c3ApCitzdHJ1Y3QgaW50ZWxf dGltZWxpbmUgKgoraW50ZWxfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndCAqZ3QsIHN0 cnVjdCBpOTE1X3ZtYSAqZ2xvYmFsX2h3c3ApCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRp bWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmU7CiAJaW50IGVycjsKIAog CXRpbWVsaW5lID0ga3phbGxvYyhzaXplb2YoKnRpbWVsaW5lKSwgR0ZQX0tFUk5FTCk7CiAJaWYg KCF0aW1lbGluZSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKLQllcnIgPSBpOTE1X3Rp bWVsaW5lX2luaXQodGltZWxpbmUsIGd0LCBnbG9iYWxfaHdzcCk7CisJZXJyID0gaW50ZWxfdGlt ZWxpbmVfaW5pdCh0aW1lbGluZSwgZ3QsIGdsb2JhbF9od3NwKTsKIAlpZiAoZXJyKSB7CiAJCWtm cmVlKHRpbWVsaW5lKTsKIAkJcmV0dXJuIEVSUl9QVFIoZXJyKTsKQEAgLTM2NSw3ICszNjUsNyBA QCBpOTE1X3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCBzdHJ1Y3QgaTkxNV92 bWEgKmdsb2JhbF9od3NwKQogCXJldHVybiB0aW1lbGluZTsKIH0KIAotaW50IGk5MTVfdGltZWxp bmVfcGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKK2ludCBpbnRlbF90aW1lbGluZV9waW4o c3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAlpbnQgZXJyOwogCkBAIC0zOTEsNyArMzkx LDcgQEAgaW50IGk5MTVfdGltZWxpbmVfcGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKIAly ZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgdTMyIHRpbWVsaW5lX2FkdmFuY2Uoc3RydWN0IGk5MTVf dGltZWxpbmUgKnRsKQorc3RhdGljIHUzMiB0aW1lbGluZV9hZHZhbmNlKHN0cnVjdCBpbnRlbF90 aW1lbGluZSAqdGwpCiB7CiAJR0VNX0JVR19PTighdGwtPnBpbl9jb3VudCk7CiAJR0VNX0JVR19P Tih0bC0+c2Vxbm8gJiB0bC0+aGFzX2luaXRpYWxfYnJlYWRjcnVtYik7CkBAIC0zOTksMTcgKzM5 OSwxNyBAQCBzdGF0aWMgdTMyIHRpbWVsaW5lX2FkdmFuY2Uoc3RydWN0IGk5MTVfdGltZWxpbmUg KnRsKQogCXJldHVybiB0bC0+c2Vxbm8gKz0gMSArIHRsLT5oYXNfaW5pdGlhbF9icmVhZGNydW1i OwogfQogCi1zdGF0aWMgdm9pZCB0aW1lbGluZV9yb2xsYmFjayhzdHJ1Y3QgaTkxNV90aW1lbGlu ZSAqdGwpCitzdGF0aWMgdm9pZCB0aW1lbGluZV9yb2xsYmFjayhzdHJ1Y3QgaW50ZWxfdGltZWxp bmUgKnRsKQogewogCXRsLT5zZXFubyAtPSAxICsgdGwtPmhhc19pbml0aWFsX2JyZWFkY3J1bWI7 CiB9CiAKIHN0YXRpYyBub2lubGluZSBpbnQKLV9faTkxNV90aW1lbGluZV9nZXRfc2Vxbm8oc3Ry dWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkJICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKLQkJ CSAgdTMyICpzZXFubykKK19faW50ZWxfdGltZWxpbmVfZ2V0X3NlcW5vKHN0cnVjdCBpbnRlbF90 aW1lbGluZSAqdGwsCisJCQkgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKKwkJCSAgIHUzMiAq c2Vxbm8pCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbDsKKwlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbDsKIAl1bnNpZ25lZCBpbnQgY2FjaGVsaW5lOwog CXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCXZvaWQgKnZhZGRyOwpAQCAtNDk1LDMxICs0OTUsMzEg QEAgX19pOTE1X3RpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCiAJ cmV0dXJuIGVycjsKIH0KIAotaW50IGk5MTVfdGltZWxpbmVfZ2V0X3NlcW5vKHN0cnVjdCBpOTE1 X3RpbWVsaW5lICp0bCwKLQkJCSAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKLQkJCSAgICB1 MzIgKnNlcW5vKQoraW50IGludGVsX3RpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmUgKnRsLAorCQkJICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKKwkJCSAgICAgdTMy ICpzZXFubykKIHsKIAkqc2Vxbm8gPSB0aW1lbGluZV9hZHZhbmNlKHRsKTsKIAogCS8qIFJlcGxh Y2UgdGhlIEhXU1Agb24gd3JhcGFyb3VuZCBmb3IgSFcgc2VtYXBob3JlcyAqLwogCWlmICh1bmxp a2VseSghKnNlcW5vICYmIHRsLT5od3NwX2NhY2hlbGluZSkpCi0JCXJldHVybiBfX2k5MTVfdGlt ZWxpbmVfZ2V0X3NlcW5vKHRsLCBycSwgc2Vxbm8pOworCQlyZXR1cm4gX19pbnRlbF90aW1lbGlu ZV9nZXRfc2Vxbm8odGwsIHJxLCBzZXFubyk7CiAKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGlu dCBjYWNoZWxpbmVfcmVmKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqY2wsCitzdGF0 aWMgaW50IGNhY2hlbGluZV9yZWYoc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqY2ws CiAJCQkgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiB7CiAJcmV0dXJuIGk5MTVfYWN0aXZlX3Jl ZigmY2wtPmFjdGl2ZSwgcnEtPmZlbmNlLmNvbnRleHQsIHJxKTsKIH0KIAotaW50IGk5MTVfdGlt ZWxpbmVfcmVhZF9od3NwKHN0cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCi0JCQkgICAgc3RydWN0 IGk5MTVfcmVxdWVzdCAqdG8sCi0JCQkgICAgdTMyICpod3NwKQoraW50IGludGVsX3RpbWVsaW5l X3JlYWRfaHdzcChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9tLAorCQkJICAgICBzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICp0bywKKwkJCSAgICAgdTMyICpod3NwKQogewotCXN0cnVjdCBpOTE1X3RpbWVs aW5lX2NhY2hlbGluZSAqY2wgPSBmcm9tLT5od3NwX2NhY2hlbGluZTsKLQlzdHJ1Y3QgaTkxNV90 aW1lbGluZSAqdGwgPSBmcm9tLT50aW1lbGluZTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2Fj aGVsaW5lICpjbCA9IGZyb20tPmh3c3BfY2FjaGVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGlu ZSAqdGwgPSBmcm9tLT50aW1lbGluZTsKIAlpbnQgZXJyOwogCiAJR0VNX0JVR19PTih0by0+dGlt ZWxpbmUgPT0gdGwpOwpAQCAtNTQyLDcgKzU0Miw3IEBAIGludCBpOTE1X3RpbWVsaW5lX3JlYWRf aHdzcChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9tLAogCXJldHVybiBlcnI7CiB9CiAKLXZvaWQg aTkxNV90aW1lbGluZV91bnBpbihzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCit2b2lkIGludGVs X3RpbWVsaW5lX3VucGluKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJR0VNX0JVR19P TighdGwtPnBpbl9jb3VudCk7CiAJaWYgKC0tdGwtPnBpbl9jb3VudCkKQEAgLTU2MSwxMiArNTYx LDEyIEBAIHZvaWQgaTkxNV90aW1lbGluZV91bnBpbihzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwp CiAJX19pOTE1X3ZtYV91bnBpbih0bC0+aHdzcF9nZ3R0KTsKIH0KIAotdm9pZCBfX2k5MTVfdGlt ZWxpbmVfZnJlZShzdHJ1Y3Qga3JlZiAqa3JlZikKK3ZvaWQgX19pbnRlbF90aW1lbGluZV9mcmVl KHN0cnVjdCBrcmVmICprcmVmKQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSA9 CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZSA9CiAJCWNvbnRhaW5lcl9vZihrcmVm LCB0eXBlb2YoKnRpbWVsaW5lKSwga3JlZik7CiAKLQlpOTE1X3RpbWVsaW5lX2ZpbmkodGltZWxp bmUpOworCWludGVsX3RpbWVsaW5lX2ZpbmkodGltZWxpbmUpOwogCWtmcmVlKHRpbWVsaW5lKTsK IH0KIApAQCAtNTgwLDEyICs1ODAsMTIgQEAgc3RhdGljIHZvaWQgdGltZWxpbmVzX2Zpbmkoc3Ry dWN0IGludGVsX2d0ICpndCkKIAltdXRleF9kZXN0cm95KCZ0aW1lbGluZXMtPm11dGV4KTsKIH0K IAotdm9pZCBpOTE1X3RpbWVsaW5lc19maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQordm9pZCBpbnRlbF90aW1lbGluZXNfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSkKIHsKIAl0aW1lbGluZXNfZmluaSgmaTkxNS0+Z3QpOwogfQogCiAjaWYgSVNfRU5BQkxFRChD T05GSUdfRFJNX0k5MTVfU0VMRlRFU1QpCi0jaW5jbHVkZSAic2VsZnRlc3RzL21vY2tfdGltZWxp bmUuYyIKLSNpbmNsdWRlICJzZWxmdGVzdHMvaTkxNV90aW1lbGluZS5jIgorI2luY2x1ZGUgImd0 L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMiCisjaW5jbHVkZSAiZ3Qvc2VsZnRlc3RfdGltZWxp bmUuYyIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf dGltZWxpbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmgKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lMDhjZWJmNjQ4MzMKLS0tIC9k ZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5oCkBA IC0wLDAgKzEsOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlv bgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVh bCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQg bGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1 Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3 YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz c2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBp bmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICog U29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElO RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAor ICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4g IElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC RSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorICogTElBQklMSVRZLCBX SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ TkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9S IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAqIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKi8K KworI2lmbmRlZiBJOTE1X1RJTUVMSU5FX0gKKyNkZWZpbmUgSTkxNV9USU1FTElORV9ICisKKyNp bmNsdWRlIDxsaW51eC9sb2NrZGVwLmg+CisKKyNpbmNsdWRlICJpOTE1X2FjdGl2ZS5oIgorI2lu Y2x1ZGUgImk5MTVfc3luY21hcC5oIgorI2luY2x1ZGUgImd0L2ludGVsX3RpbWVsaW5lX3R5cGVz LmgiCisKK2ludCBpbnRlbF90aW1lbGluZV9pbml0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGws CisJCQlzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAorCQkJc3RydWN0IGk5MTVfdm1hICpod3NwKTsKK3Zv aWQgaW50ZWxfdGltZWxpbmVfZmluaShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKTsKKworc3Ry dWN0IGludGVsX3RpbWVsaW5lICoKK2ludGVsX3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3QgaW50ZWxf Z3QgKmd0LCBzdHJ1Y3QgaTkxNV92bWEgKmdsb2JhbF9od3NwKTsKKworc3RhdGljIGlubGluZSBz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKgoraW50ZWxfdGltZWxpbmVfZ2V0KHN0cnVjdCBpbnRlbF90 aW1lbGluZSAqdGltZWxpbmUpCit7CisJa3JlZl9nZXQoJnRpbWVsaW5lLT5rcmVmKTsKKwlyZXR1 cm4gdGltZWxpbmU7Cit9CisKK3ZvaWQgX19pbnRlbF90aW1lbGluZV9mcmVlKHN0cnVjdCBrcmVm ICprcmVmKTsKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF90aW1lbGluZV9wdXQoc3RydWN0IGlu dGVsX3RpbWVsaW5lICp0aW1lbGluZSkKK3sKKwlrcmVmX3B1dCgmdGltZWxpbmUtPmtyZWYsIF9f aW50ZWxfdGltZWxpbmVfZnJlZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IF9faW50ZWxfdGlt ZWxpbmVfc3luY19zZXQoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwKKwkJCQkJICAgIHU2NCBj b250ZXh0LCB1MzIgc2Vxbm8pCit7CisJcmV0dXJuIGk5MTVfc3luY21hcF9zZXQoJnRsLT5zeW5j LCBjb250ZXh0LCBzZXFubyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGludGVsX3RpbWVsaW5l X3N5bmNfc2V0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsCisJCQkJCSAgY29uc3Qgc3RydWN0 IGRtYV9mZW5jZSAqZmVuY2UpCit7CisJcmV0dXJuIF9faW50ZWxfdGltZWxpbmVfc3luY19zZXQo dGwsIGZlbmNlLT5jb250ZXh0LCBmZW5jZS0+c2Vxbm8pOworfQorCitzdGF0aWMgaW5saW5lIGJv b2wgX19pbnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHN0cnVjdCBpbnRlbF90aW1lbGluZSAq dGwsCisJCQkJCQkgIHU2NCBjb250ZXh0LCB1MzIgc2Vxbm8pCit7CisJcmV0dXJuIGk5MTVfc3lu Y21hcF9pc19sYXRlcigmdGwtPnN5bmMsIGNvbnRleHQsIHNlcW5vKTsKK30KKworc3RhdGljIGlu bGluZSBib29sIGludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoc3RydWN0IGludGVsX3RpbWVs aW5lICp0bCwKKwkJCQkJCWNvbnN0IHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQoreworCXJldHVy biBfX2ludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIodGwsIGZlbmNlLT5jb250ZXh0LCBmZW5j ZS0+c2Vxbm8pOworfQorCitpbnQgaW50ZWxfdGltZWxpbmVfcGluKHN0cnVjdCBpbnRlbF90aW1l bGluZSAqdGwpOworaW50IGludGVsX3RpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmUgKnRsLAorCQkJICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKKwkJCSAgICAgdTMy ICpzZXFubyk7Cit2b2lkIGludGVsX3RpbWVsaW5lX3VucGluKHN0cnVjdCBpbnRlbF90aW1lbGlu ZSAqdGwpOworCitpbnQgaW50ZWxfdGltZWxpbmVfcmVhZF9od3NwKHN0cnVjdCBpOTE1X3JlcXVl c3QgKmZyb20sCisJCQkgICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKnVudGlsLAorCQkJICAgICB1 MzIgKmh3c3Bfb2Zmc2V0KTsKKwordm9pZCBpbnRlbF90aW1lbGluZXNfaW5pdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSk7Cit2b2lkIGludGVsX3RpbWVsaW5lc19wYXJrKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KTsKK3ZvaWQgaW50ZWxfdGltZWxpbmVzX2Zpbmkoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmVfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX3RpbWVsaW5lX3R5cGVzLmgKc2ltaWxhcml0eSBpbmRleCA5MyUKcmVuYW1lIGZy b20gZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZV90eXBlcy5oCnJlbmFtZSB0byBk cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZV90eXBlcy5oCmluZGV4IDkzMTU4 NWUxMmQ0MS4uOWE3MWFlYTdhMzM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3RpbWVsaW5lX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf dGltZWxpbmVfdHlwZXMuaApAQCAtMTYsMTAgKzE2LDEwIEBACiAKIHN0cnVjdCBkcm1faTkxNV9w cml2YXRlOwogc3RydWN0IGk5MTVfdm1hOwotc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5l Oworc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZTsKIHN0cnVjdCBpOTE1X3N5bmNtYXA7 CiAKLXN0cnVjdCBpOTE1X3RpbWVsaW5lIHsKK3N0cnVjdCBpbnRlbF90aW1lbGluZSB7CiAJdTY0 IGZlbmNlX2NvbnRleHQ7CiAJdTMyIHNlcW5vOwogCkBAIC0zMCw3ICszMCw3IEBAIHN0cnVjdCBp OTE1X3RpbWVsaW5lIHsKIAlzdHJ1Y3QgaTkxNV92bWEgKmh3c3BfZ2d0dDsKIAl1MzIgaHdzcF9v ZmZzZXQ7CiAKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmh3c3BfY2FjaGVsaW5l OworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKmh3c3BfY2FjaGVsaW5lOwogCiAJ Ym9vbCBoYXNfaW5pdGlhbF9icmVhZGNydW1iOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19l bmdpbmUuYwppbmRleCA0MjMwMjdhYTcxY2QuLmJmMDk3NGIxMmYzZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9tb2NrX2VuZ2luZS5jCkBAIC0zMywxNSArMzMsMTUgQEAKIAogc3RydWN0IG1vY2tf cmluZyB7CiAJc3RydWN0IGludGVsX3JpbmcgYmFzZTsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSB0 aW1lbGluZTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgdGltZWxpbmU7CiB9OwogCi1zdGF0aWMg dm9pZCBtb2NrX3RpbWVsaW5lX3BpbihzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCitzdGF0aWMg dm9pZCBtb2NrX3RpbWVsaW5lX3BpbihzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQogewogCXRs LT5waW5fY291bnQrKzsKIH0KIAotc3RhdGljIHZvaWQgbW9ja190aW1lbGluZV91bnBpbihzdHJ1 Y3QgaTkxNV90aW1lbGluZSAqdGwpCitzdGF0aWMgdm9pZCBtb2NrX3RpbWVsaW5lX3VucGluKHN0 cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJR0VNX0JVR19PTighdGwtPnBpbl9jb3VudCk7 CiAJdGwtPnBpbl9jb3VudC0tOwpAQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMgc3RydWN0IGludGVs X3JpbmcgKm1vY2tfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJaWYgKCFy aW5nKQogCQlyZXR1cm4gTlVMTDsKIAotCWlmIChpOTE1X3RpbWVsaW5lX2luaXQoJnJpbmctPnRp bWVsaW5lLCBlbmdpbmUtPmd0LCBOVUxMKSkgeworCWlmIChpbnRlbF90aW1lbGluZV9pbml0KCZy aW5nLT50aW1lbGluZSwgZW5naW5lLT5ndCwgTlVMTCkpIHsKIAkJa2ZyZWUocmluZyk7CiAJCXJl dHVybiBOVUxMOwogCX0KQEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIHZvaWQgbW9ja19yaW5nX2Zy ZWUoc3RydWN0IGludGVsX3JpbmcgKmJhc2UpCiB7CiAJc3RydWN0IG1vY2tfcmluZyAqcmluZyA9 IGNvbnRhaW5lcl9vZihiYXNlLCB0eXBlb2YoKnJpbmcpLCBiYXNlKTsKIAotCWk5MTVfdGltZWxp bmVfZmluaSgmcmluZy0+dGltZWxpbmUpOworCWludGVsX3RpbWVsaW5lX2ZpbmkoJnJpbmctPnRp bWVsaW5lKTsKIAlrZnJlZShyaW5nKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL2k5MTVfdGltZWxpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L3NlbGZ0ZXN0X3RpbWVsaW5lLmMKc2ltaWxhcml0eSBpbmRleCA4NyUKcmVuYW1lIGZyb20gZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdGltZWxpbmUuYwpyZW5hbWUgdG8gZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfdGltZWxpbmUuYwppbmRleCA0NGQwMzE0NDZm MDguLjE5M2NjNTY0YWRlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfdGltZWxpbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVz dF90aW1lbGluZS5jCkBAIC04LDE0ICs4LDE0IEBACiAKICNpbmNsdWRlICJnZW0vaTkxNV9nZW1f cG0uaCIKIAotI2luY2x1ZGUgImk5MTVfcmFuZG9tLmgiCi0jaW5jbHVkZSAiaTkxNV9zZWxmdGVz dC5oIgorI2luY2x1ZGUgIi4uL3NlbGZ0ZXN0cy9pOTE1X3JhbmRvbS5oIgorI2luY2x1ZGUgIi4u L2k5MTVfc2VsZnRlc3QuaCIKIAotI2luY2x1ZGUgImlndF9mbHVzaF90ZXN0LmgiCi0jaW5jbHVk ZSAibW9ja19nZW1fZGV2aWNlLmgiCi0jaW5jbHVkZSAibW9ja190aW1lbGluZS5oIgorI2luY2x1 ZGUgIi4uL3NlbGZ0ZXN0cy9pZ3RfZmx1c2hfdGVzdC5oIgorI2luY2x1ZGUgIi4uL3NlbGZ0ZXN0 cy9tb2NrX2dlbV9kZXZpY2UuaCIKKyNpbmNsdWRlICJzZWxmdGVzdHMvbW9ja190aW1lbGluZS5o IgogCi1zdGF0aWMgc3RydWN0IHBhZ2UgKmh3c3BfcGFnZShzdHJ1Y3QgaTkxNV90aW1lbGluZSAq dGwpCitzdGF0aWMgc3RydWN0IHBhZ2UgKmh3c3BfcGFnZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg KnRsKQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSB0bC0+aHdzcF9nZ3R0 LT5vYmo7CiAKQEAgLTIzLDcgKzIzLDcgQEAgc3RhdGljIHN0cnVjdCBwYWdlICpod3NwX3BhZ2Uo c3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQogCXJldHVybiBzZ19wYWdlKG9iai0+bW0ucGFnZXMt PnNnbCk7CiB9CiAKLXN0YXRpYyB1bnNpZ25lZCBsb25nIGh3c3BfY2FjaGVsaW5lKHN0cnVjdCBp OTE1X3RpbWVsaW5lICp0bCkKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGh3c3BfY2FjaGVsaW5lKHN0 cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJdW5zaWduZWQgbG9uZyBhZGRyZXNzID0gKHVu c2lnbmVkIGxvbmcpcGFnZV9hZGRyZXNzKGh3c3BfcGFnZSh0bCkpOwogCkBAIC0zNSw3ICszNSw3 IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGh3c3BfY2FjaGVsaW5lKHN0cnVjdCBpOTE1X3RpbWVs aW5lICp0bCkKIHN0cnVjdCBtb2NrX2h3c3BfZnJlZWxpc3QgewogCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1OwogCXN0cnVjdCByYWRpeF90cmVlX3Jvb3QgY2FjaGVsaW5lczsKLQlzdHJ1 Y3QgaTkxNV90aW1lbGluZSAqKmhpc3Rvcnk7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICoqaGlz dG9yeTsKIAl1bnNpZ25lZCBsb25nIGNvdW50LCBtYXg7CiAJc3RydWN0IHJuZF9zdGF0ZSBwcm5n OwogfTsKQEAgLTQ2LDEyICs0NiwxMiBAQCBlbnVtIHsKIAogc3RhdGljIHZvaWQgX19tb2NrX2h3 c3BfcmVjb3JkKHN0cnVjdCBtb2NrX2h3c3BfZnJlZWxpc3QgKnN0YXRlLAogCQkJICAgICAgIHVu c2lnbmVkIGludCBpZHgsCi0JCQkgICAgICAgc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQorCQkJ ICAgICAgIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJdGwgPSB4Y2hnKCZzdGF0ZS0+ aGlzdG9yeVtpZHhdLCB0bCk7CiAJaWYgKHRsKSB7CiAJCXJhZGl4X3RyZWVfZGVsZXRlKCZzdGF0 ZS0+Y2FjaGVsaW5lcywgaHdzcF9jYWNoZWxpbmUodGwpKTsKLQkJaTkxNV90aW1lbGluZV9wdXQo dGwpOworCQlpbnRlbF90aW1lbGluZV9wdXQodGwpOwogCX0KIH0KIApAQCAtNTksMTQgKzU5LDE0 IEBAIHN0YXRpYyBpbnQgX19tb2NrX2h3c3BfdGltZWxpbmUoc3RydWN0IG1vY2tfaHdzcF9mcmVl bGlzdCAqc3RhdGUsCiAJCQkJdW5zaWduZWQgaW50IGNvdW50LAogCQkJCXVuc2lnbmVkIGludCBm bGFncykKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7CisJc3RydWN0IGludGVsX3RpbWVs aW5lICp0bDsKIAl1bnNpZ25lZCBpbnQgaWR4OwogCiAJd2hpbGUgKGNvdW50LS0pIHsKIAkJdW5z aWduZWQgbG9uZyBjYWNoZWxpbmU7CiAJCWludCBlcnI7CiAKLQkJdGwgPSBpOTE1X3RpbWVsaW5l X2NyZWF0ZSgmc3RhdGUtPmk5MTUtPmd0LCBOVUxMKTsKKwkJdGwgPSBpbnRlbF90aW1lbGluZV9j cmVhdGUoJnN0YXRlLT5pOTE1LT5ndCwgTlVMTCk7CiAJCWlmIChJU19FUlIodGwpKQogCQkJcmV0 dXJuIFBUUl9FUlIodGwpOwogCkBAIC03Nyw3ICs3Nyw3IEBAIHN0YXRpYyBpbnQgX19tb2NrX2h3 c3BfdGltZWxpbmUoc3RydWN0IG1vY2tfaHdzcF9mcmVlbGlzdCAqc3RhdGUsCiAJCQkJcHJfZXJy KCJIV1NQIGNhY2hlbGluZSAlbHUgYWxyZWFkeSB1c2VkOyBkdXBsaWNhdGUgYWxsb2NhdGlvbiFc biIsCiAJCQkJICAgICAgIGNhY2hlbGluZSk7CiAJCQl9Ci0JCQlpOTE1X3RpbWVsaW5lX3B1dCh0 bCk7CisJCQlpbnRlbF90aW1lbGluZV9wdXQodGwpOwogCQkJcmV0dXJuIGVycjsKIAkJfQogCkBA IC0xNjIsMjEgKzE2MiwyMSBAQCBzdHJ1Y3QgX19pZ3Rfc3luYyB7CiAJYm9vbCBzZXQ7CiB9Owog Ci1zdGF0aWMgaW50IF9faWd0X3N5bmMoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAorc3RhdGlj IGludCBfX2lndF9zeW5jKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsCiAJCSAgICAgIHU2NCBj dHgsCiAJCSAgICAgIGNvbnN0IHN0cnVjdCBfX2lndF9zeW5jICpwLAogCQkgICAgICBjb25zdCBj aGFyICpuYW1lKQogewogCWludCByZXQ7CiAKLQlpZiAoX19pOTE1X3RpbWVsaW5lX3N5bmNfaXNf bGF0ZXIodGwsIGN0eCwgcC0+c2Vxbm8pICE9IHAtPmV4cGVjdGVkKSB7CisJaWYgKF9faW50ZWxf dGltZWxpbmVfc3luY19pc19sYXRlcih0bCwgY3R4LCBwLT5zZXFubykgIT0gcC0+ZXhwZWN0ZWQp IHsKIAkJcHJfZXJyKCIlczogJXMoY3R4PSVsbHUsIHNlcW5vPSV1KSBleHBlY3RlZCBwYXNzZWQg JXMgYnV0IGZhaWxlZFxuIiwKIAkJICAgICAgIG5hbWUsIHAtPm5hbWUsIGN0eCwgcC0+c2Vxbm8s IHllc25vKHAtPmV4cGVjdGVkKSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAogCWlmIChwLT5z ZXQpIHsKLQkJcmV0ID0gX19pOTE1X3RpbWVsaW5lX3N5bmNfc2V0KHRsLCBjdHgsIHAtPnNlcW5v KTsKKwkJcmV0ID0gX19pbnRlbF90aW1lbGluZV9zeW5jX3NldCh0bCwgY3R4LCBwLT5zZXFubyk7 CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCX0KQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0 aWMgaW50IGlndF9zeW5jKHZvaWQgKmFyZykKIAkJeyAidW53cmFwIiwgVUlOVF9NQVgsIHRydWUs IGZhbHNlIH0sCiAJCXt9LAogCX0sICpwOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lIHRsOworCXN0 cnVjdCBpbnRlbF90aW1lbGluZSB0bDsKIAlpbnQgb3JkZXIsIG9mZnNldDsKIAlpbnQgcmV0ID0g LUVOT0RFVjsKIApAQCAtMjQ4LDcgKzI0OCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgcmFuZG9t X2VuZ2luZShzdHJ1Y3Qgcm5kX3N0YXRlICpybmQpCiBzdGF0aWMgaW50IGJlbmNoX3N5bmModm9p ZCAqYXJnKQogewogCXN0cnVjdCBybmRfc3RhdGUgcHJuZzsKLQlzdHJ1Y3QgaTkxNV90aW1lbGlu ZSB0bDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgdGw7CiAJdW5zaWduZWQgbG9uZyBlbmRfdGlt ZSwgY291bnQ7CiAJdTY0IHBybmczMl8xTTsKIAlrdGltZV90IGt0OwpAQCAtMjg2LDcgKzI4Niw3 IEBAIHN0YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lkICphcmcpCiAJZG8gewogCQl1NjQgaWQgPSBp OTE1X3ByYW5kb21fdTY0X3N0YXRlKCZwcm5nKTsKIAotCQlfX2k5MTVfdGltZWxpbmVfc3luY19z ZXQoJnRsLCBpZCwgMCk7CisJCV9faW50ZWxfdGltZWxpbmVfc3luY19zZXQoJnRsLCBpZCwgMCk7 CiAJCWNvdW50Kys7CiAJfSB3aGlsZSAoIXRpbWVfYWZ0ZXIoamlmZmllcywgZW5kX3RpbWUpKTsK IAlrdCA9IGt0aW1lX3N1YihrdGltZV9nZXQoKSwga3QpOwpAQCAtMzAxLDcgKzMwMSw3IEBAIHN0 YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lkICphcmcpCiAJd2hpbGUgKGVuZF90aW1lLS0pIHsKIAkJ dTY0IGlkID0gaTkxNV9wcmFuZG9tX3U2NF9zdGF0ZSgmcHJuZyk7CiAKLQkJaWYgKCFfX2k5MTVf dGltZWxpbmVfc3luY19pc19sYXRlcigmdGwsIGlkLCAwKSkgeworCQlpZiAoIV9faW50ZWxfdGlt ZWxpbmVfc3luY19pc19sYXRlcigmdGwsIGlkLCAwKSkgewogCQkJbW9ja190aW1lbGluZV9maW5p KCZ0bCk7CiAJCQlwcl9lcnIoIkxvb2t1cCBvZiAlbGx1IGZhaWxlZFxuIiwgaWQpOwogCQkJcmV0 dXJuIC1FSU5WQUw7CkBAIC0zMjIsNyArMzIyLDcgQEAgc3RhdGljIGludCBiZW5jaF9zeW5jKHZv aWQgKmFyZykKIAlrdCA9IGt0aW1lX2dldCgpOwogCWVuZF90aW1lID0gamlmZmllcyArIEhaLzEw OwogCWRvIHsKLQkJX19pOTE1X3RpbWVsaW5lX3N5bmNfc2V0KCZ0bCwgY291bnQrKywgMCk7CisJ CV9faW50ZWxfdGltZWxpbmVfc3luY19zZXQoJnRsLCBjb3VudCsrLCAwKTsKIAl9IHdoaWxlICgh dGltZV9hZnRlcihqaWZmaWVzLCBlbmRfdGltZSkpOwogCWt0ID0ga3RpbWVfc3ViKGt0aW1lX2dl dCgpLCBrdCk7CiAJcHJfaW5mbygiJXM6ICVsdSBpbi1vcmRlciBpbnNlcnRpb25zLCAlbGx1bnMv aW5zZXJ0XG4iLApAQCAtMzMyLDcgKzMzMiw3IEBAIHN0YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lk ICphcmcpCiAJZW5kX3RpbWUgPSBjb3VudDsKIAlrdCA9IGt0aW1lX2dldCgpOwogCXdoaWxlIChl bmRfdGltZS0tKSB7Ci0JCWlmICghX19pOTE1X3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoJnRsLCBl bmRfdGltZSwgMCkpIHsKKwkJaWYgKCFfX2ludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoJnRs LCBlbmRfdGltZSwgMCkpIHsKIAkJCXByX2VycigiTG9va3VwIG9mICVsdSBmYWlsZWRcbiIsIGVu ZF90aW1lKTsKIAkJCW1vY2tfdGltZWxpbmVfZmluaSgmdGwpOwogCQkJcmV0dXJuIC1FSU5WQUw7 CkBAIC0zNTYsOCArMzU2LDggQEAgc3RhdGljIGludCBiZW5jaF9zeW5jKHZvaWQgKmFyZykKIAkJ dTMyIGlkID0gcmFuZG9tX2VuZ2luZSgmcHJuZyk7CiAJCXUzMiBzZXFubyA9IHByYW5kb21fdTMy X3N0YXRlKCZwcm5nKTsKIAotCQlpZiAoIV9faTkxNV90aW1lbGluZV9zeW5jX2lzX2xhdGVyKCZ0 bCwgaWQsIHNlcW5vKSkKLQkJCV9faTkxNV90aW1lbGluZV9zeW5jX3NldCgmdGwsIGlkLCBzZXFu byk7CisJCWlmICghX19pbnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKCZ0bCwgaWQsIHNlcW5v KSkKKwkJCV9faW50ZWxfdGltZWxpbmVfc3luY19zZXQoJnRsLCBpZCwgc2Vxbm8pOwogCiAJCWNv dW50Kys7CiAJfSB3aGlsZSAoIXRpbWVfYWZ0ZXIoamlmZmllcywgZW5kX3RpbWUpKTsKQEAgLTM4 NSw4ICszODUsOCBAQCBzdGF0aWMgaW50IGJlbmNoX3N5bmModm9pZCAqYXJnKQogCQkJICovCiAJ CQl1NjQgaWQgPSAodTY0KShjb3VudCAmIG1hc2spIDw8IG9yZGVyOwogCi0JCQlfX2k5MTVfdGlt ZWxpbmVfc3luY19pc19sYXRlcigmdGwsIGlkLCAwKTsKLQkJCV9faTkxNV90aW1lbGluZV9zeW5j X3NldCgmdGwsIGlkLCAwKTsKKwkJCV9faW50ZWxfdGltZWxpbmVfc3luY19pc19sYXRlcigmdGws IGlkLCAwKTsKKwkJCV9faW50ZWxfdGltZWxpbmVfc3luY19zZXQoJnRsLCBpZCwgMCk7CiAKIAkJ CWNvdW50Kys7CiAJCX0gd2hpbGUgKCF0aW1lX2FmdGVyKGppZmZpZXMsIGVuZF90aW1lKSk7CkBA IC00MDEsNyArNDAxLDcgQEAgc3RhdGljIGludCBiZW5jaF9zeW5jKHZvaWQgKmFyZykKIAlyZXR1 cm4gMDsKIH0KIAotaW50IGk5MTVfdGltZWxpbmVfbW9ja19zZWxmdGVzdHModm9pZCkKK2ludCBp bnRlbF90aW1lbGluZV9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQogewogCXN0YXRpYyBjb25zdCBzdHJ1 Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7CiAJCVNVQlRFU1QobW9ja19od3NwX2ZyZWVsaXN0 KSwKQEAgLTQ0MywxNCArNDQzLDE0IEBAIHN0YXRpYyBpbnQgZW1pdF9nZ3R0X3N0b3JlX2R3KHN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1MzIgYWRkciwgdTMyIHZhbHVlKQogfQogCiBzdGF0aWMg c3RydWN0IGk5MTVfcmVxdWVzdCAqCi10bF93cml0ZShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGws IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyIHZhbHVlKQordGxfd3JpdGUoc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0bCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1 MzIgdmFsdWUpCiB7CiAJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAJaW50IGVycjsKIAogCWxv Y2tkZXBfYXNzZXJ0X2hlbGQoJnRsLT5ndC0+aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7IC8qIGxh enkgcnEgcmVmcyAqLwogCi0JZXJyID0gaTkxNV90aW1lbGluZV9waW4odGwpOworCWVyciA9IGlu dGVsX3RpbWVsaW5lX3Bpbih0bCk7CiAJaWYgKGVycikgewogCQlycSA9IEVSUl9QVFIoZXJyKTsK IAkJZ290byBvdXQ7CkBAIC00NjYsMjYgKzQ2NiwyNiBAQCB0bF93cml0ZShzdHJ1Y3QgaTkxNV90 aW1lbGluZSAqdGwsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyIHZhbHVlKQog CQlycSA9IEVSUl9QVFIoZXJyKTsKIAogb3V0X3VucGluOgotCWk5MTVfdGltZWxpbmVfdW5waW4o dGwpOworCWludGVsX3RpbWVsaW5lX3VucGluKHRsKTsKIG91dDoKIAlpZiAoSVNfRVJSKHJxKSkK IAkJcHJfZXJyKCJGYWlsZWQgdG8gd3JpdGUgdG8gdGltZWxpbmUhXG4iKTsKIAlyZXR1cm4gcnE7 CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgaTkxNV90aW1lbGluZSAqCi1jaGVja2VkX2k5MTVfdGltZWxp bmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQorc3RhdGljIHN0cnVjdCBp bnRlbF90aW1lbGluZSAqCitjaGVja2VkX2ludGVsX3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7CisJc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0bDsKIAotCXRsID0gaTkxNV90aW1lbGluZV9jcmVhdGUoJmk5 MTUtPmd0LCBOVUxMKTsKKwl0bCA9IGludGVsX3RpbWVsaW5lX2NyZWF0ZSgmaTkxNS0+Z3QsIE5V TEwpOwogCWlmIChJU19FUlIodGwpKQogCQlyZXR1cm4gdGw7CiAKIAlpZiAoKnRsLT5od3NwX3Nl cW5vICE9IHRsLT5zZXFubykgewogCQlwcl9lcnIoIlRpbWVsaW5lIGNyZWF0ZWQgd2l0aCBpbmNv cnJlY3QgYnJlYWRjcnVtYiwgZm91bmQgJXgsIGV4cGVjdGVkICV4XG4iLAogCQkgICAgICAgKnRs LT5od3NwX3NlcW5vLCB0bC0+c2Vxbm8pOwotCQlpOTE1X3RpbWVsaW5lX3B1dCh0bCk7CisJCWlu dGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwogCX0KIApA QCAtNDk2LDcgKzQ5Niw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX2VuZ2luZSh2b2lkICphcmcp CiB7CiAjZGVmaW5lIE5VTV9USU1FTElORVMgNDA5NgogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1ID0gYXJnOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICoqdGltZWxpbmVzOworCXN0cnVj dCBpbnRlbF90aW1lbGluZSAqKnRpbWVsaW5lczsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmU7CiAJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CiAJaW50ZWxfd2FrZXJlZl90IHdha2Vy ZWY7CkBAIC01MjMsMTAgKzUyMywxMCBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9lbmdpbmUodm9p ZCAqYXJnKQogCQkJY29udGludWU7CiAKIAkJZm9yIChuID0gMDsgbiA8IE5VTV9USU1FTElORVM7 IG4rKykgewotCQkJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsOworCQkJc3RydWN0IGludGVsX3Rp bWVsaW5lICp0bDsKIAkJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwogCi0JCQl0bCA9IGNoZWNr ZWRfaTkxNV90aW1lbGluZV9jcmVhdGUoaTkxNSk7CisJCQl0bCA9IGNoZWNrZWRfaW50ZWxfdGlt ZWxpbmVfY3JlYXRlKGk5MTUpOwogCQkJaWYgKElTX0VSUih0bCkpIHsKIAkJCQllcnIgPSBQVFJf RVJSKHRsKTsKIAkJCQlnb3RvIG91dDsKQEAgLTUzNCw3ICs1MzQsNyBAQCBzdGF0aWMgaW50IGxp dmVfaHdzcF9lbmdpbmUodm9pZCAqYXJnKQogCiAJCQlycSA9IHRsX3dyaXRlKHRsLCBlbmdpbmUs IGNvdW50KTsKIAkJCWlmIChJU19FUlIocnEpKSB7Ci0JCQkJaTkxNV90aW1lbGluZV9wdXQodGwp OworCQkJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCQkJZXJyID0gUFRSX0VSUihycSk7CiAJ CQkJZ290byBvdXQ7CiAJCQl9CkBAIC01NDgsMTQgKzU0OCwxNCBAQCBzdGF0aWMgaW50IGxpdmVf aHdzcF9lbmdpbmUodm9pZCAqYXJnKQogCQllcnIgPSAtRUlPOwogCiAJZm9yIChuID0gMDsgbiA8 IGNvdW50OyBuKyspIHsKLQkJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsID0gdGltZWxpbmVzW25d OworCQlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsID0gdGltZWxpbmVzW25dOwogCiAJCWlmICgh ZXJyICYmICp0bC0+aHdzcF9zZXFubyAhPSBuKSB7CiAJCQlwcl9lcnIoIkludmFsaWQgc2Vxbm8g c3RvcmVkIGluIHRpbWVsaW5lICVsdSwgZm91bmQgMHgleFxuIiwKIAkJCSAgICAgICBuLCAqdGwt Pmh3c3Bfc2Vxbm8pOwogCQkJZXJyID0gLUVJTlZBTDsKIAkJfQotCQlpOTE1X3RpbWVsaW5lX3B1 dCh0bCk7CisJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJfQogCiAJaW50ZWxfcnVudGltZV9w bV9wdXQoJmk5MTUtPnJ1bnRpbWVfcG0sIHdha2VyZWYpOwpAQCAtNTcxLDcgKzU3MSw3IEBAIHN0 YXRpYyBpbnQgbGl2ZV9od3NwX2FsdGVybmF0ZSh2b2lkICphcmcpCiB7CiAjZGVmaW5lIE5VTV9U SU1FTElORVMgNDA5NgogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOwotCXN0 cnVjdCBpOTE1X3RpbWVsaW5lICoqdGltZWxpbmVzOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAq KnRpbWVsaW5lczsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CiAJZW51bSBpbnRl bF9lbmdpbmVfaWQgaWQ7CiAJaW50ZWxfd2FrZXJlZl90IHdha2VyZWY7CkBAIC01OTYsMTMgKzU5 NiwxMyBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9hbHRlcm5hdGUodm9pZCAqYXJnKQogCWNvdW50 ID0gMDsKIAlmb3IgKG4gPSAwOyBuIDwgTlVNX1RJTUVMSU5FUzsgbisrKSB7CiAJCWZvcl9lYWNo X2VuZ2luZShlbmdpbmUsIGk5MTUsIGlkKSB7Ci0JCQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7 CisJCQlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsOwogCQkJc3RydWN0IGk5MTVfcmVxdWVzdCAq cnE7CiAKIAkJCWlmICghaW50ZWxfZW5naW5lX2Nhbl9zdG9yZV9kd29yZChlbmdpbmUpKQogCQkJ CWNvbnRpbnVlOwogCi0JCQl0bCA9IGNoZWNrZWRfaTkxNV90aW1lbGluZV9jcmVhdGUoaTkxNSk7 CisJCQl0bCA9IGNoZWNrZWRfaW50ZWxfdGltZWxpbmVfY3JlYXRlKGk5MTUpOwogCQkJaWYgKElT X0VSUih0bCkpIHsKIAkJCQllcnIgPSBQVFJfRVJSKHRsKTsKIAkJCQlnb3RvIG91dDsKQEAgLTYx MCw3ICs2MTAsNyBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9hbHRlcm5hdGUodm9pZCAqYXJnKQog CiAJCQlycSA9IHRsX3dyaXRlKHRsLCBlbmdpbmUsIGNvdW50KTsKIAkJCWlmIChJU19FUlIocnEp KSB7Ci0JCQkJaTkxNV90aW1lbGluZV9wdXQodGwpOworCQkJCWludGVsX3RpbWVsaW5lX3B1dCh0 bCk7CiAJCQkJZXJyID0gUFRSX0VSUihycSk7CiAJCQkJZ290byBvdXQ7CiAJCQl9CkBAIC02MjQs MTQgKzYyNCwxNCBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9hbHRlcm5hdGUodm9pZCAqYXJnKQog CQllcnIgPSAtRUlPOwogCiAJZm9yIChuID0gMDsgbiA8IGNvdW50OyBuKyspIHsKLQkJc3RydWN0 IGk5MTVfdGltZWxpbmUgKnRsID0gdGltZWxpbmVzW25dOworCQlzdHJ1Y3QgaW50ZWxfdGltZWxp bmUgKnRsID0gdGltZWxpbmVzW25dOwogCiAJCWlmICghZXJyICYmICp0bC0+aHdzcF9zZXFubyAh PSBuKSB7CiAJCQlwcl9lcnIoIkludmFsaWQgc2Vxbm8gc3RvcmVkIGluIHRpbWVsaW5lICVsdSwg Zm91bmQgMHgleFxuIiwKIAkJCSAgICAgICBuLCAqdGwtPmh3c3Bfc2Vxbm8pOwogCQkJZXJyID0g LUVJTlZBTDsKIAkJfQotCQlpOTE1X3RpbWVsaW5lX3B1dCh0bCk7CisJCWludGVsX3RpbWVsaW5l X3B1dCh0bCk7CiAJfQogCiAJaW50ZWxfcnVudGltZV9wbV9wdXQoJmk5MTUtPnJ1bnRpbWVfcG0s IHdha2VyZWYpOwpAQCAtNjQ3LDcgKzY0Nyw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3dyYXAo dm9pZCAqYXJnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOwogCXN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGw7 CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0bDsKIAllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsK IAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKIAlpbnQgZXJyID0gMDsKQEAgLTY2MCw3ICs2NjAs NyBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF93cmFwKHZvaWQgKmFyZykKIAltdXRleF9sb2NrKCZp OTE1LT5kcm0uc3RydWN0X211dGV4KTsKIAl3YWtlcmVmID0gaW50ZWxfcnVudGltZV9wbV9nZXQo Jmk5MTUtPnJ1bnRpbWVfcG0pOwogCi0JdGwgPSBpOTE1X3RpbWVsaW5lX2NyZWF0ZSgmaTkxNS0+ Z3QsIE5VTEwpOworCXRsID0gaW50ZWxfdGltZWxpbmVfY3JlYXRlKCZpOTE1LT5ndCwgTlVMTCk7 CiAJaWYgKElTX0VSUih0bCkpIHsKIAkJZXJyID0gUFRSX0VSUih0bCk7CiAJCWdvdG8gb3V0X3Jw bTsKQEAgLTY2OCw3ICs2NjgsNyBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF93cmFwKHZvaWQgKmFy ZykKIAlpZiAoIXRsLT5oYXNfaW5pdGlhbF9icmVhZGNydW1iIHx8ICF0bC0+aHdzcF9jYWNoZWxp bmUpCiAJCWdvdG8gb3V0X2ZyZWU7CiAKLQllcnIgPSBpOTE1X3RpbWVsaW5lX3Bpbih0bCk7CisJ ZXJyID0gaW50ZWxfdGltZWxpbmVfcGluKHRsKTsKIAlpZiAoZXJyKQogCQlnb3RvIG91dF9mcmVl OwogCkBAIC02ODgsNyArNjg4LDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3Bfd3JhcCh2b2lkICph cmcpCiAKIAkJdGwtPnNlcW5vID0gLTR1OwogCi0JCWVyciA9IGk5MTVfdGltZWxpbmVfZ2V0X3Nl cW5vKHRsLCBycSwgJnNlcW5vWzBdKTsKKwkJZXJyID0gaW50ZWxfdGltZWxpbmVfZ2V0X3NlcW5v KHRsLCBycSwgJnNlcW5vWzBdKTsKIAkJaWYgKGVycikgewogCQkJaTkxNV9yZXF1ZXN0X2FkZChy cSk7CiAJCQlnb3RvIG91dDsKQEAgLTcwMyw3ICs3MDMsNyBAQCBzdGF0aWMgaW50IGxpdmVfaHdz cF93cmFwKHZvaWQgKmFyZykKIAkJfQogCQlod3NwX3NlcW5vWzBdID0gdGwtPmh3c3Bfc2Vxbm87 CiAKLQkJZXJyID0gaTkxNV90aW1lbGluZV9nZXRfc2Vxbm8odGwsIHJxLCAmc2Vxbm9bMV0pOwor CQllcnIgPSBpbnRlbF90aW1lbGluZV9nZXRfc2Vxbm8odGwsIHJxLCAmc2Vxbm9bMV0pOwogCQlp ZiAoZXJyKSB7CiAJCQlpOTE1X3JlcXVlc3RfYWRkKHJxKTsKIAkJCWdvdG8gb3V0OwpAQCAtNzQ1 LDkgKzc0NSw5IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3dyYXAodm9pZCAqYXJnKQogCWlmIChp Z3RfZmx1c2hfdGVzdChpOTE1LCBJOTE1X1dBSVRfTE9DS0VEKSkKIAkJZXJyID0gLUVJTzsKIAot CWk5MTVfdGltZWxpbmVfdW5waW4odGwpOworCWludGVsX3RpbWVsaW5lX3VucGluKHRsKTsKIG91 dF9mcmVlOgotCWk5MTVfdGltZWxpbmVfcHV0KHRsKTsKKwlpbnRlbF90aW1lbGluZV9wdXQodGwp Owogb3V0X3JwbToKIAlpbnRlbF9ydW50aW1lX3BtX3B1dCgmaTkxNS0+cnVudGltZV9wbSwgd2Fr ZXJlZik7CiAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKQEAgLTc4MSwx MCArNzgxLDEwIEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3JlY3ljbGUodm9pZCAqYXJnKQogCQkJ Y29udGludWU7CiAKIAkJZG8gewotCQkJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsOworCQkJc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0bDsKIAkJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwogCi0J CQl0bCA9IGNoZWNrZWRfaTkxNV90aW1lbGluZV9jcmVhdGUoaTkxNSk7CisJCQl0bCA9IGNoZWNr ZWRfaW50ZWxfdGltZWxpbmVfY3JlYXRlKGk5MTUpOwogCQkJaWYgKElTX0VSUih0bCkpIHsKIAkJ CQllcnIgPSBQVFJfRVJSKHRsKTsKIAkJCQlnb3RvIG91dDsKQEAgLTc5MiwxNCArNzkyLDE0IEBA IHN0YXRpYyBpbnQgbGl2ZV9od3NwX3JlY3ljbGUodm9pZCAqYXJnKQogCiAJCQlycSA9IHRsX3dy aXRlKHRsLCBlbmdpbmUsIGNvdW50KTsKIAkJCWlmIChJU19FUlIocnEpKSB7Ci0JCQkJaTkxNV90 aW1lbGluZV9wdXQodGwpOworCQkJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCQkJZXJyID0g UFRSX0VSUihycSk7CiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKIAkJCWlmIChpOTE1X3JlcXVlc3Rf d2FpdChycSwgMCwgSFogLyA1KSA8IDApIHsKIAkJCQlwcl9lcnIoIldhaXQgZm9yIHRpbWVsaW5l IHdyaXRlcyB0aW1lZCBvdXQhXG4iKTsKLQkJCQlpOTE1X3RpbWVsaW5lX3B1dCh0bCk7CisJCQkJ aW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCQllcnIgPSAtRUlPOwogCQkJCWdvdG8gb3V0Owog CQkJfQpAQCAtODEwLDEzICs4MTAsMTMgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfcmVjeWNsZSh2 b2lkICphcmcpCiAJCQkJZXJyID0gLUVJTlZBTDsKIAkJCX0KIAotCQkJaTkxNV90aW1lbGluZV9w dXQodGwpOworCQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCWNvdW50Kys7CiAKIAkJCWlm IChlcnIpCiAJCQkJZ290byBvdXQ7CiAKLQkJCWk5MTVfdGltZWxpbmVzX3BhcmsoaTkxNSk7IC8q IEVuY291cmFnZSByZWN5Y2xpbmchICovCisJCQlpbnRlbF90aW1lbGluZXNfcGFyayhpOTE1KTsg LyogRW5jb3VyYWdlIHJlY3ljbGluZyEgKi8KIAkJfSB3aGlsZSAoIV9faWd0X3RpbWVvdXQoZW5k X3RpbWUsIE5VTEwpKTsKIAl9CiAKQEAgLTgyOSw3ICs4MjksNyBAQCBzdGF0aWMgaW50IGxpdmVf aHdzcF9yZWN5Y2xlKHZvaWQgKmFyZykKIAlyZXR1cm4gZXJyOwogfQogCi1pbnQgaTkxNV90aW1l bGluZV9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK2ludCBp bnRlbF90aW1lbGluZV9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSkKIHsKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1tdID0gewogCQlT VUJURVNUKGxpdmVfaHdzcF9yZWN5Y2xlKSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9z ZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCnNpbWlsYXJpdHkgaW5kZXggNzIlCnJlbmFtZSBmcm9t IGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKcmVuYW1lIHRv IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKaW5kZXgg YzgwYWMwZmJkZDNiLi41YzU0OTIwNTgyOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Qvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUuYwpAQCAtNCwxMSArNCwxMSBAQAogICogQ29weXJp Z2h0IMKpIDIwMTctMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKLSNpbmNsdWRlICIuLi9p OTE1X3RpbWVsaW5lLmgiCisjaW5jbHVkZSAiLi4vaW50ZWxfdGltZWxpbmUuaCIKIAogI2luY2x1 ZGUgIm1vY2tfdGltZWxpbmUuaCIKIAotdm9pZCBtb2NrX3RpbWVsaW5lX2luaXQoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29udGV4dCkKK3ZvaWQgbW9ja190aW1lbGluZV9p bml0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KQogewogCXRp bWVsaW5lLT5ndCA9IE5VTEw7CiAJdGltZWxpbmUtPmZlbmNlX2NvbnRleHQgPSBjb250ZXh0OwpA QCAtMjMsNyArMjMsNyBAQCB2b2lkIG1vY2tfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaTkxNV90aW1l bGluZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KQogCUlOSVRfTElTVF9IRUFEKCZ0aW1lbGluZS0+ bGluayk7CiB9CiAKLXZvaWQgbW9ja190aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X3RpbWVsaW5l ICp0aW1lbGluZSkKK3ZvaWQgbW9ja190aW1lbGluZV9maW5pKHN0cnVjdCBpbnRlbF90aW1lbGlu ZSAqdGltZWxpbmUpCiB7CiAJaTkxNV9zeW5jbWFwX2ZyZWUoJnRpbWVsaW5lLT5zeW5jKTsKIH0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5l LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5oCnNp bWlsYXJpdHkgaW5kZXggNTMlCnJlbmFtZSBmcm9tIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9tb2NrX3RpbWVsaW5lLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Nl bGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmgKaW5kZXggYjZkZWFhNjExMTBkLi42ODllZmM2NmM5MDgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5l LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUu aApAQCAtNyw5ICs3LDkgQEAKICNpZm5kZWYgX19NT0NLX1RJTUVMSU5FX18KICNkZWZpbmUgX19N T0NLX1RJTUVMSU5FX18KIAotc3RydWN0IGk5MTVfdGltZWxpbmU7CitzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmU7CiAKLXZvaWQgbW9ja190aW1lbGluZV9pbml0KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0 aW1lbGluZSwgdTY0IGNvbnRleHQpOwotdm9pZCBtb2NrX3RpbWVsaW5lX2Zpbmkoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRpbWVsaW5lKTsKK3ZvaWQgbW9ja190aW1lbGluZV9pbml0KHN0cnVjdCBp bnRlbF90aW1lbGluZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KTsKK3ZvaWQgbW9ja190aW1lbGlu ZV9maW5pKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUpOwogCiAjZW5kaWYgLyogIV9f TU9DS19USU1FTElORV9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBiNTc0YWVhMjM1 ODEuLjg5YTIxZmE0ZWFjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC04OSw3ICs4OSw3 IEBACiAjaW5jbHVkZSAiaTkxNV9ncHVfZXJyb3IuaCIKICNpbmNsdWRlICJpOTE1X3JlcXVlc3Qu aCIKICNpbmNsdWRlICJpOTE1X3NjaGVkdWxlci5oIgotI2luY2x1ZGUgImk5MTVfdGltZWxpbmUu aCIKKyNpbmNsdWRlICJndC9pbnRlbF90aW1lbGluZS5oIgogI2luY2x1ZGUgImk5MTVfdm1hLmgi CiAKICNpbmNsdWRlICJpbnRlbF9ndnQuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDUw ZDdlMWU4ZDhhZC4uNmUwNzEyNzI0MmQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTkw OSw3ICs5MDksNyBAQCB3YWl0X2Zvcl90aW1lbGluZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsCiAJCSAgIHVuc2lnbmVkIGludCBmbGFncywgbG9uZyB0aW1lb3V0KQogewogCXN0cnVj dCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3QgPSAmaTkxNS0+Z3QudGltZWxpbmVzOwotCXN0cnVjdCBp OTE1X3RpbWVsaW5lICp0bDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsOwogCiAJbXV0ZXhf bG9jaygmZ3QtPm11dGV4KTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRsLCAmZ3QtPmFjdGl2ZV9s aXN0LCBsaW5rKSB7CkBAIC0xNDg3LDcgKzE0ODcsNyBAQCBpbnQgaTkxNV9nZW1faW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlkZXZfcHJpdi0+bW0udW5vcmRlcmVk X3RpbWVsaW5lID0gZG1hX2ZlbmNlX2NvbnRleHRfYWxsb2MoMSk7CiAKLQlpOTE1X3RpbWVsaW5l c19pbml0KGRldl9wcml2KTsKKwlpbnRlbF90aW1lbGluZXNfaW5pdChkZXZfcHJpdik7CiAKIAly ZXQgPSBpOTE1X2dlbV9pbml0X3VzZXJwdHIoZGV2X3ByaXYpOwogCWlmIChyZXQpCkBAIC0xNjI0 LDcgKzE2MjQsNyBAQCBpbnQgaTkxNV9nZW1faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAKIAlpZiAocmV0ICE9IC1FSU8pIHsKIAkJaTkxNV9nZW1fY2xlYW51cF91c2Vy cHRyKGRldl9wcml2KTsKLQkJaTkxNV90aW1lbGluZXNfZmluaShkZXZfcHJpdik7CisJCWludGVs X3RpbWVsaW5lc19maW5pKGRldl9wcml2KTsKIAl9CiAKIAlpZiAocmV0ID09IC1FSU8pIHsKQEAg LTE2ODgsNyArMTY4OCw3IEBAIHZvaWQgaTkxNV9nZW1fZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAKIAlpbnRlbF91Y19maW5pX21pc2MoZGV2X3ByaXYpOwogCWk5MTVf Z2VtX2NsZWFudXBfdXNlcnB0cihkZXZfcHJpdik7Ci0JaTkxNV90aW1lbGluZXNfZmluaShkZXZf cHJpdik7CisJaW50ZWxfdGltZWxpbmVzX2ZpbmkoZGV2X3ByaXYpOwogCiAJaTkxNV9nZW1fZHJh aW5fZnJlZWRfb2JqZWN0cyhkZXZfcHJpdik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmgKaW5kZXggOWVhMTA2ODA2Y2Y3Li43OGU2MDk3YTRlMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5oCkBAIC00Myw3ICs0Myw3IEBACiAjaW5jbHVkZSAiaTkxNV9yZXF1ZXN0Lmgi CiAjaW5jbHVkZSAiaTkxNV9zY2F0dGVybGlzdC5oIgogI2luY2x1ZGUgImk5MTVfc2VsZnRlc3Qu aCIKLSNpbmNsdWRlICJpOTE1X3RpbWVsaW5lLmgiCisjaW5jbHVkZSAiZ3QvaW50ZWxfdGltZWxp bmUuaCIKIAogI2RlZmluZSBJOTE1X0dUVF9QQUdFX1NJWkVfNEsJQklUX1VMTCgxMikKICNkZWZp bmUgSTkxNV9HVFRfUEFHRV9TSVpFXzY0SwlCSVRfVUxMKDE2KQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlcXVlc3QuYwppbmRleCAwYzk5Njk0ZmFhYjcuLjVmZjg3YzRhMGNkNSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZXF1ZXN0LmMKQEAgLTYwNyw3ICs2MDcsNyBAQCByZXF1ZXN0X2FsbG9jX3Ns b3coc3RydWN0IGludGVsX2NvbnRleHQgKmNlLCBnZnBfdCBnZnApCiBzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICoKIF9faTkxNV9yZXF1ZXN0X2NyZWF0ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsIGdm cF90IGdmcCkKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwgPSBjZS0+cmluZy0+dGltZWxp bmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCA9IGNlLT5yaW5nLT50aW1lbGluZTsKIAlz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAl1MzIgc2Vxbm87CiAJaW50IHJldDsKQEAgLTY1Niw3 ICs2NTYsNyBAQCBfX2k5MTVfcmVxdWVzdF9jcmVhdGUoc3RydWN0IGludGVsX2NvbnRleHQgKmNl LCBnZnBfdCBnZnApCiAJCX0KIAl9CiAKLQlyZXQgPSBpOTE1X3RpbWVsaW5lX2dldF9zZXFubyh0 bCwgcnEsICZzZXFubyk7CisJcmV0ID0gaW50ZWxfdGltZWxpbmVfZ2V0X3NlcW5vKHRsLCBycSwg JnNlcW5vKTsKIAlpZiAocmV0KQogCQlnb3RvIGVycl9mcmVlOwogCkBAIC03NzUsNyArNzc1LDcg QEAgaTkxNV9yZXF1ZXN0X2F3YWl0X3N0YXJ0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCBzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpzaWduYWwpCiAJCXJldHVybiAwOwogCiAJc2lnbmFsID0gbGlzdF9w cmV2X2VudHJ5KHNpZ25hbCwgcmluZ19saW5rKTsKLQlpZiAoaTkxNV90aW1lbGluZV9zeW5jX2lz X2xhdGVyKHJxLT50aW1lbGluZSwgJnNpZ25hbC0+ZmVuY2UpKQorCWlmIChpbnRlbF90aW1lbGlu ZV9zeW5jX2lzX2xhdGVyKHJxLT50aW1lbGluZSwgJnNpZ25hbC0+ZmVuY2UpKQogCQlyZXR1cm4g MDsKIAogCXJldHVybiBpOTE1X3N3X2ZlbmNlX2F3YWl0X2RtYV9mZW5jZSgmcnEtPnN1Ym1pdCwK QEAgLTgyOSw3ICs4MjksNyBAQCBlbWl0X3NlbWFwaG9yZV93YWl0KHN0cnVjdCBpOTE1X3JlcXVl c3QgKnRvLAogCQlyZXR1cm4gZXJyOwogCiAJLyogV2UgbmVlZCB0byBwaW4gdGhlIHNpZ25hbGVy J3MgSFdTUCB1bnRpbCB3ZSBhcmUgZmluaXNoZWQgcmVhZGluZy4gKi8KLQllcnIgPSBpOTE1X3Rp bWVsaW5lX3JlYWRfaHdzcChmcm9tLCB0bywgJmh3c3Bfb2Zmc2V0KTsKKwllcnIgPSBpbnRlbF90 aW1lbGluZV9yZWFkX2h3c3AoZnJvbSwgdG8sICZod3NwX29mZnNldCk7CiAJaWYgKGVycikKIAkJ cmV0dXJuIGVycjsKIApAQCAtOTQwLDcgKzk0MCw3IEBAIGk5MTVfcmVxdWVzdF9hd2FpdF9kbWFf ZmVuY2Uoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQog CiAJCS8qIFNxdWFzaCByZXBlYXRlZCB3YWl0cyB0byB0aGUgc2FtZSB0aW1lbGluZXMgKi8KIAkJ aWYgKGZlbmNlLT5jb250ZXh0ICE9IHJxLT5pOTE1LT5tbS51bm9yZGVyZWRfdGltZWxpbmUgJiYK LQkJICAgIGk5MTVfdGltZWxpbmVfc3luY19pc19sYXRlcihycS0+dGltZWxpbmUsIGZlbmNlKSkK KwkJICAgIGludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIocnEtPnRpbWVsaW5lLCBmZW5jZSkp CiAJCQljb250aW51ZTsKIAogCQlpZiAoZG1hX2ZlbmNlX2lzX2k5MTUoZmVuY2UpKQpAQCAtOTU0 LDcgKzk1NCw3IEBAIGk5MTVfcmVxdWVzdF9hd2FpdF9kbWFfZmVuY2Uoc3RydWN0IGk5MTVfcmVx dWVzdCAqcnEsIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQogCiAJCS8qIFJlY29yZCB0aGUgbGF0 ZXN0IGZlbmNlIHVzZWQgYWdhaW5zdCBlYWNoIHRpbWVsaW5lICovCiAJCWlmIChmZW5jZS0+Y29u dGV4dCAhPSBycS0+aTkxNS0+bW0udW5vcmRlcmVkX3RpbWVsaW5lKQotCQkJaTkxNV90aW1lbGlu ZV9zeW5jX3NldChycS0+dGltZWxpbmUsIGZlbmNlKTsKKwkJCWludGVsX3RpbWVsaW5lX3N5bmNf c2V0KHJxLT50aW1lbGluZSwgZmVuY2UpOwogCX0gd2hpbGUgKC0tbmNoaWxkKTsKIAogCXJldHVy biAwOwpAQCAtMTA5Miw3ICsxMDkyLDcgQEAgdm9pZCBpOTE1X3JlcXVlc3Rfc2tpcChzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSwgaW50IGVycm9yKQogc3RhdGljIHN0cnVjdCBpOTE1X3JlcXVlc3Qg KgogX19pOTE1X3JlcXVlc3RfYWRkX3RvX3RpbWVsaW5lKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx KQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSA9IHJxLT50aW1lbGluZTsKKwlz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lID0gcnEtPnRpbWVsaW5lOwogCXN0cnVjdCBp OTE1X3JlcXVlc3QgKnByZXY7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZXF1ZXN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuaApp bmRleCBiZWJjMWU5YjRhNWUuLmI1OGNlZWY5MmUyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZXF1ZXN0LmgKQEAgLTQxLDggKzQxLDggQEAKIHN0cnVjdCBkcm1fZmlsZTsKIHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0Owogc3RydWN0IGk5MTVfcmVxdWVzdDsKLXN0cnVjdCBpOTE1X3RpbWVs aW5lOwotc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lOworc3RydWN0IGludGVsX3RpbWVs aW5lOworc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZTsKIAogc3RydWN0IGk5MTVfY2Fw dHVyZV9saXN0IHsKIAlzdHJ1Y3QgaTkxNV9jYXB0dXJlX2xpc3QgKm5leHQ7CkBAIC0xMTMsNyAr MTEzLDcgQEAgc3RydWN0IGk5MTVfcmVxdWVzdCB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lOwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpod19jb250ZXh0OwogCXN0cnVjdCBpbnRl bF9yaW5nICpyaW5nOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZTsKKwlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCXN0cnVjdCBsaXN0X2hlYWQgc2lnbmFsX2xpbms7 CiAKIAkvKgpAQCAtMTc2LDcgKzE3Niw3IEBAIHN0cnVjdCBpOTE1X3JlcXVlc3QgewogCSAqIGlu c2lkZSB0aGUgdGltZWxpbmUncyBIV1NQIHZtYSwgYnV0IGl0IGlzIG9ubHkgdmFsaWQgd2hpbGUg dGhpcwogCSAqIHJlcXVlc3QgaGFzIG5vdCBjb21wbGV0ZWQgYW5kIGd1YXJkZWQgYnkgdGhlIHRp bWVsaW5lIG11dGV4LgogCSAqLwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqaHdz cF9jYWNoZWxpbmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqaHdzcF9jYWNo ZWxpbmU7CiAKIAkvKiogUG9zaXRpb24gaW4gdGhlIHJpbmcgb2YgdGhlIHN0YXJ0IG9mIHRoZSBy ZXF1ZXN0ICovCiAJdTMyIGhlYWQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3RpbWVsaW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmgKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0NTRkNDlmMjI5Zi4uMDAwMDAwMDAwMDAwCi0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaAorKysgL2Rldi9udWxsCkBA IC0xLDkzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlv bgotICoKLSAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCi0gKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAotICogdG8gZGVh bCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQg bGltaXRhdGlvbgotICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1 Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCi0gKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKLSAqIFNvZnR3 YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnM6Ci0gKgotICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz c2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAotICogcGFyYWdyYXBoKSBzaGFsbCBiZSBp bmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQotICog U29mdHdhcmUuCi0gKgotICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKLSAqIElNUExJRUQsIElOQ0xVRElO RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAot ICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4g IElOIE5PIEVWRU5UIFNIQUxMCi0gKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC RSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgotICogTElBQklMSVRZLCBX SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ TkcKLSAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9S IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKLSAqIElOIFRIRSBTT0ZUV0FSRS4KLSAqCi0gKi8K LQotI2lmbmRlZiBJOTE1X1RJTUVMSU5FX0gKLSNkZWZpbmUgSTkxNV9USU1FTElORV9ICi0KLSNp bmNsdWRlIDxsaW51eC9sb2NrZGVwLmg+Ci0KLSNpbmNsdWRlICJpOTE1X2FjdGl2ZS5oIgotI2lu Y2x1ZGUgImk5MTVfc3luY21hcC5oIgotI2luY2x1ZGUgImk5MTVfdGltZWxpbmVfdHlwZXMuaCIK LQotaW50IGk5MTVfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCi0JCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAotCQkgICAgICAgc3RydWN0IGk5MTVfdm1hICpod3Nw KTsKLXZvaWQgaTkxNV90aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCk7Ci0K LXN0cnVjdCBpOTE1X3RpbWVsaW5lICoKLWk5MTVfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBpbnRl bF9ndCAqZ3QsIHN0cnVjdCBpOTE1X3ZtYSAqZ2xvYmFsX2h3c3ApOwotCi1zdGF0aWMgaW5saW5l IHN0cnVjdCBpOTE1X3RpbWVsaW5lICoKLWk5MTVfdGltZWxpbmVfZ2V0KHN0cnVjdCBpOTE1X3Rp bWVsaW5lICp0aW1lbGluZSkKLXsKLQlrcmVmX2dldCgmdGltZWxpbmUtPmtyZWYpOwotCXJldHVy biB0aW1lbGluZTsKLX0KLQotdm9pZCBfX2k5MTVfdGltZWxpbmVfZnJlZShzdHJ1Y3Qga3JlZiAq a3JlZik7Ci1zdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90aW1lbGluZV9wdXQoc3RydWN0IGk5MTVf dGltZWxpbmUgKnRpbWVsaW5lKQotewotCWtyZWZfcHV0KCZ0aW1lbGluZS0+a3JlZiwgX19pOTE1 X3RpbWVsaW5lX2ZyZWUpOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBfX2k5MTVfdGltZWxpbmVf c3luY19zZXQoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkJCQkgICB1NjQgY29udGV4dCwg dTMyIHNlcW5vKQotewotCXJldHVybiBpOTE1X3N5bmNtYXBfc2V0KCZ0bC0+c3luYywgY29udGV4 dCwgc2Vxbm8pOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBpOTE1X3RpbWVsaW5lX3N5bmNfc2V0 KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKLQkJCQkJIGNvbnN0IHN0cnVjdCBkbWFfZmVuY2Ug KmZlbmNlKQotewotCXJldHVybiBfX2k5MTVfdGltZWxpbmVfc3luY19zZXQodGwsIGZlbmNlLT5j b250ZXh0LCBmZW5jZS0+c2Vxbm8pOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgX19pOTE1X3Rp bWVsaW5lX3N5bmNfaXNfbGF0ZXIoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkJCQkJIHU2 NCBjb250ZXh0LCB1MzIgc2Vxbm8pCi17Ci0JcmV0dXJuIGk5MTVfc3luY21hcF9pc19sYXRlcigm dGwtPnN5bmMsIGNvbnRleHQsIHNlcW5vKTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIGk5MTVf dGltZWxpbmVfc3luY19pc19sYXRlcihzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCi0JCQkJCSAg ICAgICBjb25zdCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKLXsKLQlyZXR1cm4gX19pOTE1X3Rp bWVsaW5lX3N5bmNfaXNfbGF0ZXIodGwsIGZlbmNlLT5jb250ZXh0LCBmZW5jZS0+c2Vxbm8pOwot fQotCi1pbnQgaTkxNV90aW1lbGluZV9waW4oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKTsKLWlu dCBpOTE1X3RpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCi0JCQkg ICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCi0JCQkgICAgdTMyICpzZXFubyk7Ci12b2lkIGk5 MTVfdGltZWxpbmVfdW5waW4oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKTsKLQotaW50IGk5MTVf dGltZWxpbmVfcmVhZF9od3NwKHN0cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCi0JCQkgICAgc3Ry dWN0IGk5MTVfcmVxdWVzdCAqdW50aWwsCi0JCQkgICAgdTMyICpod3NwX29mZnNldCk7Ci0KLXZv aWQgaTkxNV90aW1lbGluZXNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Ci12 b2lkIGk5MTVfdGltZWxpbmVzX3Bhcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwot dm9pZCBpOTE1X3RpbWVsaW5lc19maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsK LQotI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9saXZlX3NlbGZ0ZXN0cy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVf bGl2ZV9zZWxmdGVzdHMuaAppbmRleCBkNWRjNDQyN2Q2NjQuLjJiMzFhNGVlMGI0YyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9saXZlX3NlbGZ0ZXN0 cy5oCkBAIC0xMiw3ICsxMiw3IEBACiBzZWxmdGVzdChzYW5pdHljaGVjaywgaTkxNV9saXZlX3Nh bml0eWNoZWNrKSAvKiBrZWVwIGZpcnN0IChpZ3Qgc2VsZmNoZWNrKSAqLwogc2VsZnRlc3QodW5j b3JlLCBpbnRlbF91bmNvcmVfbGl2ZV9zZWxmdGVzdHMpCiBzZWxmdGVzdCh3b3JrYXJvdW5kcywg aW50ZWxfd29ya2Fyb3VuZHNfbGl2ZV9zZWxmdGVzdHMpCi1zZWxmdGVzdCh0aW1lbGluZXMsIGk5 MTVfdGltZWxpbmVfbGl2ZV9zZWxmdGVzdHMpCitzZWxmdGVzdCh0aW1lbGluZXMsIGludGVsX3Rp bWVsaW5lX2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3QocmVxdWVzdHMsIGk5MTVfcmVxdWVzdF9s aXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGFjdGl2ZSwgaTkxNV9hY3RpdmVfbGl2ZV9zZWxmdGVz dHMpCiBzZWxmdGVzdChvYmplY3RzLCBpOTE1X2dlbV9vYmplY3RfbGl2ZV9zZWxmdGVzdHMpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9tb2NrX3NlbGZ0 ZXN0cy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVz dHMuaAppbmRleCA1MTBlYjE3NmJiMmMuLmI1NWRhNGQ5Y2NiYSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9tb2NrX3NlbGZ0ZXN0cy5oCkBAIC0xNSw3 ICsxNSw3IEBAIHNlbGZ0ZXN0KHNjYXR0ZXJsaXN0LCBzY2F0dGVybGlzdF9tb2NrX3NlbGZ0ZXN0 cykKIHNlbGZ0ZXN0KHN5bmNtYXAsIGk5MTVfc3luY21hcF9tb2NrX3NlbGZ0ZXN0cykKIHNlbGZ0 ZXN0KHVuY29yZSwgaW50ZWxfdW5jb3JlX21vY2tfc2VsZnRlc3RzKQogc2VsZnRlc3QoZW5naW5l LCBpbnRlbF9lbmdpbmVfY3NfbW9ja19zZWxmdGVzdHMpCi1zZWxmdGVzdCh0aW1lbGluZXMsIGk5 MTVfdGltZWxpbmVfbW9ja19zZWxmdGVzdHMpCitzZWxmdGVzdCh0aW1lbGluZXMsIGludGVsX3Rp bWVsaW5lX21vY2tfc2VsZnRlc3RzKQogc2VsZnRlc3QocmVxdWVzdHMsIGk5MTVfcmVxdWVzdF9t b2NrX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KG9iamVjdHMsIGk5MTVfZ2VtX29iamVjdF9tb2NrX3Nl bGZ0ZXN0cykKIHNlbGZ0ZXN0KHBoeXMsIGk5MTVfZ2VtX3BoeXNfbW9ja19zZWxmdGVzdHMpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNl LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKaW5k ZXggMDIxYmE0MmEzYTAwLi4yNzQxODA1YjU2YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKQEAgLTY4LDcgKzY4LDcgQEAgc3RhdGlj IHZvaWQgbW9ja19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWk5MTVf Z2VtX2NvbnRleHRzX2ZpbmkoaTkxNSk7CiAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0 X211dGV4KTsKIAotCWk5MTVfdGltZWxpbmVzX2ZpbmkoaTkxNSk7CisJaW50ZWxfdGltZWxpbmVz X2ZpbmkoaTkxNSk7CiAKIAlkcmFpbl93b3JrcXVldWUoaTkxNS0+d3EpOwogCWk5MTVfZ2VtX2Ry YWluX2ZyZWVkX29iamVjdHMoaTkxNSk7CkBAIC0xOTksNyArMTk5LDcgQEAgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKm1vY2tfZ2VtX2RldmljZSh2b2lkKQogCiAJaTkxNS0+Z3QuYXdha2UgPSB0 cnVlOwogCi0JaTkxNV90aW1lbGluZXNfaW5pdChpOTE1KTsKKwlpbnRlbF90aW1lbGluZXNfaW5p dChpOTE1KTsKIAogCW11dGV4X2xvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCkBAIC0y MzAsNyArMjMwLDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKm1vY2tfZ2VtX2RldmljZSh2 b2lkKQogCW1vY2tfZW5naW5lX2ZyZWUoaTkxNS0+ZW5naW5lW1JDUzBdKTsKIGVycl91bmxvY2s6 CiAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKLQlpOTE1X3RpbWVsaW5l c19maW5pKGk5MTUpOworCWludGVsX3RpbWVsaW5lc19maW5pKGk5MTUpOwogCWRlc3Ryb3lfd29y a3F1ZXVlKGk5MTUtPndxKTsKIGVycl9kcnY6CiAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoJmk5 MTUtPmRybSk7Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeA==