From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 09/13] drm/i915: Interrupt driven fences Date: Fri, 11 Dec 2015 13:11:57 +0000 Message-ID: <1449839521-21958-10-git-send-email-John.C.Harrison@Intel.com> References: <1449839521-21958-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 7D3E26EFA4 for ; Fri, 11 Dec 2015 05:12:28 -0800 (PST) In-Reply-To: <1449839521-21958-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBpbnRl bmRlZCB1c2FnZSBtb2RlbCBmb3Igc3RydWN0IGZlbmNlIGlzIHRoYXQgdGhlIHNpZ25hbGxlZCBz dGF0dXMKc2hvdWxkIGJlIHNldCBvbiBkZW1hbmQgcmF0aGVyIHRoYW4gcG9sbGVkLiBUaGF0IGlz LCB0aGVyZSBzaG91bGQgbm90CmJlIGEgbmVlZCBmb3IgYSAnc2lnbmFsZWQnIGZ1bmN0aW9uIHRv IGJlIGNhbGxlZCBldmVyeXRpbWUgdGhlIHN0YXR1cwppcyBxdWVyaWVkLiBJbnN0ZWFkLCAnc29t ZXRoaW5nJyBzaG91bGQgYmUgZG9uZSB0byBlbmFibGUgYSBzaWduYWwKY2FsbGJhY2sgZnJvbSB0 aGUgaGFyZHdhcmUgd2hpY2ggd2lsbCB1cGRhdGUgdGhlIHN0YXRlIGRpcmVjdGx5LiBJbgp0aGUg Y2FzZSBvZiByZXF1ZXN0cywgdGhpcyBpcyB0aGUgc2Vxbm8gdXBkYXRlIGludGVycnVwdC4gVGhl IGlkZWEgaXMKdGhhdCB0aGlzIGNhbGxiYWNrIHdpbGwgb25seSBiZSBlbmFibGVkIG9uIGRlbWFu ZCB3aGVuIHNvbWV0aGluZwphY3R1YWxseSB0cmllcyB0byB3YWl0IG9uIHRoZSBmZW5jZS4KClRo aXMgY2hhbmdlIHJlbW92ZXMgdGhlIHBvbGxpbmcgdGVzdCBhbmQgcmVwbGFjZXMgaXQgd2l0aCB0 aGUgY2FsbGJhY2sKc2NoZW1lLiBFYWNoIGZlbmNlIGlzIGFkZGVkIHRvIGEgJ3BsZWFzZSBwb2tl IG1lJyBsaXN0IGF0IHRoZSBzdGFydCBvZgppOTE1X2FkZF9yZXF1ZXN0KCkuIFRoZSBpbnRlcnJ1 cHQgaGFuZGxlciB0aGVuIHNjYW5zIHRocm91Z2ggdGhlICdwb2tlCm1lJyBsaXN0IHdoZW4gYSBu ZXcgc2Vxbm8gcG9wcyBvdXQgYW5kIHNpZ25hbHMgYW55IG1hdGNoaW5nCmZlbmNlL3JlcXVlc3Qu IFRoZSBmZW5jZSBpcyB0aGVuIHJlbW92ZWQgZnJvbSB0aGUgbGlzdCBzbyB0aGUgZW50aXJlCnJl cXVlc3Qgc3RhY2sgZG9lcyBub3QgbmVlZCB0byBiZSBzY2FubmVkIGV2ZXJ5IHRpbWUuIE5vdGUg dGhhdCB0aGUKZmVuY2UgaXMgYWRkZWQgdG8gdGhlIGxpc3QgYmVmb3JlIHRoZSBjb21tYW5kcyB0 byBnZW5lcmF0ZSB0aGUgc2Vxbm8KaW50ZXJydXB0IGFyZSBhZGRlZCB0byB0aGUgcmluZy4gVGh1 cyB0aGUgc2VxdWVuY2UgaXMgZ3VhcmFudGVlZCB0byBiZQpyYWNlIGZyZWUgaWYgdGhlIGludGVy cnVwdCBpcyBhbHJlYWR5IGVuYWJsZWQuCgpOb3RlIHRoYXQgdGhlIGludGVycnVwdCBpcyBvbmx5 IGVuYWJsZWQgb24gZGVtYW5kIChpLmUuIHdoZW4KX193YWl0X3JlcXVlc3QoKSBpcyBjYWxsZWQp LiBUaHVzIHRoZXJlIGlzIHN0aWxsIGEgcG90ZW50aWFsIHJhY2Ugd2hlbgplbmFibGluZyB0aGUg aW50ZXJydXB0IGFzIHRoZSByZXF1ZXN0IG1heSBhbHJlYWR5IGhhdmUgY29tcGxldGVkLgpIb3dl dmVyLCB0aGlzIGlzIHNpbXBseSBzb2x2ZWQgYnkgY2FsbGluZyB0aGUgaW50ZXJydXB0IHByb2Nl c3NpbmcKY29kZSBpbW1lZGlhdGVseSBhZnRlciBlbmFibGluZyB0aGUgaW50ZXJydXB0IGFuZCB0 aGVyZWJ5IGNoZWNraW5nIGZvcgphbHJlYWR5IGNvbXBsZXRlZCByZXF1ZXN0cy4KCkxhc3RseSwg dGhlIHJpbmcgY2xlYW4gdXAgY29kZSBoYXMgdGhlIHBvc3NpYmlsaXR5IHRvIGNhbmNlbApvdXRz dGFuZGluZyByZXF1ZXN0cyAoZS5nLiBiZWNhdXNlIFREUiBoYXMgcmVzZXQgdGhlIHJpbmcpLiBU aGVzZQpyZXF1ZXN0cyB3aWxsIG5ldmVyIGdldCBzaWduYWxsZWQgYW5kIHNvIG11c3QgYmUgcmVt b3ZlZCBmcm9tIHRoZQpzaWduYWwgbGlzdCBtYW51YWxseS4gVGhpcyBpcyBkb25lIGJ5IHNldHRp bmcgYSAnY2FuY2VsbGVkJyBmbGFnIGFuZAp0aGVuIGNhbGxpbmcgdGhlIHJlZ3VsYXIgbm90aWZ5 L3JldGlyZSBjb2RlIHBhdGggcmF0aGVyIHRoYW4KYXR0ZW1wdGluZyB0byBkdXBsaWNhdGUgdGhl IGxpc3QgbWFuaXB1bGF0YXRpb24gYW5kIGNsZWFuIHVwIGNvZGUgaW4KbXVsdGlwbGUgcGxhY2Vz LiBUaGlzIGFsc28gYXZvaWQgYW55IHJhY2UgY29uZGl0aW9uIHdoZXJlIHRoZQpjYW5jZWxsYXRp b24gcmVxdWVzdCBtaWdodCBvY2N1ciBhZnRlci9kdXJpbmcgdGhlIGNvbXBsZXRpb24gaW50ZXJy dXB0CmFjdHVhbGx5IGFycml2aW5nLgoKdjI6IFVwZGF0ZWQgdG8gdGFrZSBhZHZhbnRhZ2Ugb2Yg dGhlIHJlcXVlc3QgdW5yZWZlcmVuY2Ugbm8gbG9uZ2VyCnJlcXVpcmluZyB0aGUgbXV0ZXggbG9j ay4KCnYzOiBNb3ZlIHRoZSBzaWduYWwgbGlzdCBwcm9jZXNzaW5nIGFyb3VuZCB0byBwcmV2ZW50 IHVuc3VibWl0dGVkCnJlcXVlc3RzIGJlaW5nIGFkZGVkIHRvIHRoZSBsaXN0LiBUaGlzIHdhcyBv Y2N1cnJpbmcgb24gQW5kcm9pZApiZWNhdXNlIHRoZSBuYXRpdmUgc3luYyBpbXBsZW1lbnRhdGlv biBjYWxscyB0aGUKZmVuY2UtPmVuYWJsZV9zaWduYWxsaW5nIEFQSSBpbW1lZGlhdGVseSBvbiBm ZW5jZSBjcmVhdGlvbi4KClVwZGF0ZWQgYWZ0ZXIgcmV2aWV3IGNvbW1lbnRzIGJ5IFR2cnRrbyBV cnN1bGluLiBSZW5hbWVkIGxpc3Qgbm9kZXMgdG8KJ2xpbmsnIGluc3RlYWQgb2YgJ2xpc3QnLiBB ZGRlZCBzdXBwb3J0IGZvciByZXR1cm5pbmcgYW4gZXJyb3IgY29kZSBvbgphIGNhbmNlbGxlZCBm ZW5jZS4gVXBkYXRlIGxpc3QgcHJvY2Vzc2luZyB0byBiZSBtb3JlIGVmZmljaWVudC9zYWZlcgp3 aXRoIHJlc3BlY3QgdG8gc3BpbmxvY2tzLgoKRm9yOiBWSVotNTE5MApTaWduZWQtb2ZmLWJ5OiBK b2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgpDYzogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICAgICAgICAgfCAgMTAgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgICAgICAgICB8IDE4OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgIHwgICAyICsKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oIHwgICAyICsKIDYgZmlsZXMgY2hhbmdlZCwgMTk3IGluc2VydGlvbnMoKyksIDkg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZmJmNTkxZi4uZDAxM2M2 ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMTg3LDcgKzIxODcsMTIgQEAgdm9pZCBp OTE1X2dlbV90cmFja19mYihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2xkLAogc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsKIAkvKiogVW5kZXJseWluZyBvYmplY3QgZm9yIGltcGxl bWVudGluZyB0aGUgc2lnbmFsL3dhaXQgc3R1ZmYuICovCiAJc3RydWN0IGZlbmNlIGZlbmNlOwor CXN0cnVjdCBsaXN0X2hlYWQgc2lnbmFsX2xpbms7CisJc3RydWN0IGxpc3RfaGVhZCB1bnNpZ25h bF9saW5rOwogCXN0cnVjdCBsaXN0X2hlYWQgZGVsYXllZF9mcmVlX2xpbms7CisJYm9vbCBjYW5j ZWxsZWQ7CisJYm9vbCBpcnFfZW5hYmxlZDsKKwlib29sIHNpZ25hbF9yZXF1ZXN0ZWQ7CiAKIAkv KiogT24gV2hpY2ggcmluZyB0aGlzIHJlcXVlc3Qgd2FzIGdlbmVyYXRlZCAqLwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1OwpAQCAtMjI2NSw2ICsyMjcwLDExIEBAIGludCBpOTE1X2dl bV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCQkgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKipyZXFfb3V0KTsKIHZvaWQgaTkxNV9nZW1fcmVxdWVz dF9jYW5jZWwoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpOwogCit2b2lkIGk5MTVf Z2VtX3JlcXVlc3Rfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKK3Zv aWQgaTkxNV9nZW1fcmVxdWVzdF9lbmFibGVfaW50ZXJydXB0KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxLAorCQkJCSAgICAgICBib29sIGZlbmNlX2xvY2tlZCk7Cit2b2lkIGk5MTVf Z2VtX3JlcXVlc3Rfbm90aWZ5KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGJvb2wgZmVu Y2VfbG9ja2VkKTsKKwogaW50IGk5MTVfY3JlYXRlX2ZlbmNlX3RpbWVsaW5lKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAJCQkgICAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j CmluZGV4IGY2YzNlOTYuLmY3MTIxNWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTE2 NSw2ICsxMTY1LDggQEAgc3RhdGljIGludCBfX2k5MTVfc3Bpbl9yZXF1ZXN0KHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCiAJdGltZW91dCA9IGppZmZpZXMgKyAxOwogCXdoaWxl ICghbmVlZF9yZXNjaGVkKCkpIHsKKwkJaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkocmVxLT5yaW5n LCBmYWxzZSk7CisKIAkJaWYgKGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcSkpCiAJCQly ZXR1cm4gMDsKIApAQCAtMTE3Myw2ICsxMTc1LDkgQEAgc3RhdGljIGludCBfX2k5MTVfc3Bpbl9y ZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCiAJCWNwdV9yZWxheF9s b3dsYXRlbmN5KCk7CiAJfQorCisJaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkocmVxLT5yaW5nLCBm YWxzZSk7CisKIAlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxKSkKIAkJcmV0dXJu IDA7CiAKQEAgLTEyMTQsOSArMTIxOSwxNCBAQCBpbnQgX19pOTE1X3dhaXRfcmVxdWVzdChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAogCVdBUk4oIWludGVsX2lycXNfZW5hYmxl ZChkZXZfcHJpdiksICJJUlFzIGRpc2FibGVkIik7CiAKLQlpZiAobGlzdF9lbXB0eSgmcmVxLT5s aXN0KSkKKwlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxKSkKIAkJcmV0dXJuIDA7 CiAKKwkvKgorCSAqIEVuYWJsZSBpbnRlcnJ1cHQgY29tcGxldGlvbiBvZiB0aGUgcmVxdWVzdC4K KwkgKi8KKwlmZW5jZV9lbmFibGVfc3dfc2lnbmFsaW5nKCZyZXEtPmZlbmNlKTsKKwogCWlmIChp OTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXEpKQogCQlyZXR1cm4gMDsKIApAQCAtMTM3Nyw2 ICsxMzg3LDE5IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlsaXN0X2RlbF9pbml0KCZyZXF1ZXN0LT5s aXN0KTsKIAlpOTE1X2dlbV9yZXF1ZXN0X3JlbW92ZV9mcm9tX2NsaWVudChyZXF1ZXN0KTsKIAor CS8qIEluIGNhc2UgdGhlIHJlcXVlc3QgaXMgc3RpbGwgaW4gdGhlIHNpZ25hbCBwZW5kaW5nIGxp c3QgKi8KKwlpZiAoIWxpc3RfZW1wdHkoJnJlcXVlc3QtPnNpZ25hbF9saW5rKSkgeworCQkvKgor CQkgKiBUaGUgcmVxdWVzdCBtdXN0IGJlIG1hcmtlZCBhcyBjYW5jZWxsZWQgYW5kIHRoZSB1bmRl cmx5aW5nCisJCSAqIGZlbmNlIGFzIGJvdGggZmFpbGVkLiBOQjogVGhlcmUgaXMgbm8gZXhwbGlj aXQgZmVuY2UgZmFpbAorCQkgKiBBUEksIHRoZXJlIGlzIG9ubHkgYSBtYW51YWwgcG9rZSBhbmQg c2lnbmFsLgorCQkgKi8KKwkJcmVxdWVzdC0+Y2FuY2VsbGVkID0gdHJ1ZTsKKwkJLyogSG93IHRv IHByb3BhZ2F0ZSB0byBhbnkgYXNzb2NpYXRlZCBzeW5jX2ZlbmNlPz8/ICovCisJCXJlcXVlc3Qt PmZlbmNlLnN0YXR1cyA9IC1FSU87CisJCWZlbmNlX3NpZ25hbF9sb2NrZWQoJnJlcXVlc3QtPmZl bmNlKTsKKwl9CisKIAlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcXVlc3QpOwogfQog CkBAIC0yNTM1LDYgKzI1NTgsMTIgQEAgdm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LAogCSAqLwogCXJlcXVlc3QtPnBvc3RmaXggPSBp bnRlbF9yaW5nX2dldF90YWlsKHJpbmdidWYpOwogCisJLyoKKwkgKiBBZGQgdGhlIGZlbmNlIHRv IHRoZSBwZW5kaW5nIGxpc3QgYmVmb3JlIGVtaXR0aW5nIHRoZSBjb21tYW5kcyB0bworCSAqIGdl bmVyYXRlIGEgc2Vxbm8gbm90aWZpY2F0aW9uIGludGVycnVwdC4KKwkgKi8KKwlpOTE1X2dlbV9y ZXF1ZXN0X3N1Ym1pdChyZXF1ZXN0KTsKKwogCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpCiAJ CXJldCA9IHJpbmctPmVtaXRfcmVxdWVzdChyZXF1ZXN0KTsKIAllbHNlIHsKQEAgLTI2NTMsMjUg KzI2ODIsMTM1IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZnJlZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAkJaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShj dHgpOwogCX0KIAorCWlmIChyZXEtPmlycV9lbmFibGVkKQorCQlyZXEtPnJpbmctPmlycV9wdXQo cmVxLT5yaW5nKTsKKwogCWttZW1fY2FjaGVfZnJlZShyZXEtPmk5MTUtPnJlcXVlc3RzLCByZXEp OwogfQogCi1zdGF0aWMgYm9vbCBpOTE1X2dlbV9yZXF1ZXN0X2VuYWJsZV9zaWduYWxpbmcoc3Ry dWN0IGZlbmNlICpyZXFfZmVuY2UpCisvKgorICogVGhlIHJlcXVlc3QgaXMgYWJvdXQgdG8gYmUg c3VibWl0dGVkIHRvIHRoZSBoYXJkd2FyZSBzbyBhZGQgdGhlIGZlbmNlIHRvCisgKiB0aGUgbGlz dCBvZiBzaWduYWxhYmxlIGZlbmNlcy4KKyAqCisgKiBOQjogVGhpcyBkb2VzIG5vdCBuZWNlc3Nh cmlseSBlbmFibGUgaW50ZXJydXB0cyB5ZXQuIFRoYXQgb25seSBvY2N1cnMgb24KKyAqIGRlbWFu ZCB3aGVuIHRoZSByZXF1ZXN0IGlzIGFjdHVhbGx5IHdhaXRlZCBvbi4gSG93ZXZlciwgYWRkaW5n IGl0IHRvIHRoZQorICogbGlzdCBlYXJseSBlbnN1cmVzIHRoYXQgdGhlcmUgaXMgbm8gcmFjZSBj b25kaXRpb24gd2hlcmUgdGhlIGludGVycnVwdAorICogY291bGQgcG9wIG91dCBwcmVtYXR1cmVs eSBhbmQgdGh1cyBiZSBjb21wbGV0ZWx5IGxvc3QuIFRoZSByYWNlIGlzIG1lcmVseQorICogdGhh dCB0aGUgaW50ZXJydXB0IG11c3QgYmUgbWFudWFsbHkgY2hlY2tlZCBmb3IgYWZ0ZXIgYmVpbmcg ZW5hYmxlZC4KKyAqLwordm9pZCBpOTE1X2dlbV9yZXF1ZXN0X3N1Ym1pdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKLQkvKiBJbnRlcnJ1cHQgZHJpdmVuIGZlbmNlcyBhcmUg bm90IGltcGxlbWVudGVkIHlldC4qLwotCVdBUk4odHJ1ZSwgIlRoaXMgc2hvdWxkIG5vdCBiZSBj YWxsZWQhIik7Ci0JcmV0dXJuIHRydWU7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCS8qCisJ ICogQWx3YXlzIGVuYWJsZSBzaWduYWwgcHJvY2Vzc2luZyBmb3IgdGhlIHJlcXVlc3QncyBmZW5j ZSBvYmplY3QKKwkgKiBiZWZvcmUgdGhhdCByZXF1ZXN0IGlzIHN1Ym1pdHRlZCB0byB0aGUgaGFy ZHdhcmUuIFRodXMgdGhlcmUgaXMgbm8KKwkgKiByYWNlIGNvbmRpdGlvbiB3aGVyZWJ5IHRoZSBp bnRlcnJ1cHQgY291bGQgcG9wIG91dCBiZWZvcmUgdGhlCisJICogcmVxdWVzdCBoYXMgYmVlbiBh ZGRlZCB0byB0aGUgc2lnbmFsIGxpc3QuIEhlbmNlIG5vIG5lZWQgdG8gY2hlY2sKKwkgKiBmb3Ig Y29tcGxldGlvbiwgdW5kbyB0aGUgbGlzdCBhZGQgYW5kIHJldHVybiBmYWxzZS4KKwkgKi8KKwlp OTE1X2dlbV9yZXF1ZXN0X3JlZmVyZW5jZShyZXEpOworCXNwaW5fbG9ja19pcnFzYXZlKCZyZXEt PnJpbmctPmZlbmNlX2xvY2ssIGZsYWdzKTsKKwlXQVJOX09OKCFsaXN0X2VtcHR5KCZyZXEtPnNp Z25hbF9saW5rKSk7CisJbGlzdF9hZGRfdGFpbCgmcmVxLT5zaWduYWxfbGluaywgJnJlcS0+cmlu Zy0+ZmVuY2Vfc2lnbmFsX2xpc3QpOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnJlcS0+cmlu Zy0+ZmVuY2VfbG9jaywgZmxhZ3MpOworCisJLyoKKwkgKiBOQjogSW50ZXJydXB0cyBhcmUgb25s eSBlbmFibGVkIG9uIGRlbWFuZC4gVGh1cyB0aGVyZSBpcyBzdGlsbCBhCisJICogcmFjZSB3aGVy ZSB0aGUgcmVxdWVzdCBjb3VsZCBjb21wbGV0ZSBiZWZvcmUgdGhlIGludGVycnVwdCBoYXMKKwkg KiBiZWVuIGVuYWJsZWQuIFRodXMgY2FyZSBtdXN0IGJlIHRha2VuIGF0IHRoYXQgcG9pbnQuCisJ ICovCisKKwkgLyogSGF2ZSBpbnRlcnJ1cHRzIGFscmVhZHkgYmVlbiByZXF1ZXN0ZWQ/ICovCisJ IGlmIChyZXEtPnNpZ25hbF9yZXF1ZXN0ZWQpCisJCWk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX2lu dGVycnVwdChyZXEsIGZhbHNlKTsKK30KKworLyoKKyAqIFRoZSByZXF1ZXN0IGlzIGJlaW5nIGFj dGl2ZWx5IHdhaXRlZCBvbiwgc28gZW5hYmxlIGludGVycnVwdCBiYXNlZAorICogY29tcGxldGlv biBzaWduYWxsaW5nLgorICovCit2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX2ludGVycnVw dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKKwkJCQkgICAgICAgYm9vbCBmZW5j ZV9sb2NrZWQpCit7CisJaWYgKHJlcS0+aXJxX2VuYWJsZWQpCisJCXJldHVybjsKKworCVdBUk5f T04oIXJlcS0+cmluZy0+aXJxX2dldChyZXEtPnJpbmcpKTsKKwlyZXEtPmlycV9lbmFibGVkID0g dHJ1ZTsKKworCS8qCisJICogQmVjYXVzZSB0aGUgaW50ZXJydXB0IGlzIG9ubHkgZW5hYmxlZCBv biBkZW1hbmQsIHRoZXJlIGlzIGEgcmFjZQorCSAqIHdoZXJlIHRoZSBpbnRlcnJ1cHQgY2FuIGZp cmUgYmVmb3JlIGFueW9uZSBpcyBsb29raW5nIGZvciBpdC4gU28KKwkgKiBkbyBhbiBleHBsaWNp dCBjaGVjayBmb3IgbWlzc2VkIGludGVycnVwdHMuCisJICovCisJaTkxNV9nZW1fcmVxdWVzdF9u b3RpZnkocmVxLT5yaW5nLCBmZW5jZV9sb2NrZWQpOwogfQogCi1zdGF0aWMgYm9vbCBpOTE1X2dl bV9yZXF1ZXN0X2lzX2NvbXBsZXRlZChzdHJ1Y3QgZmVuY2UgKnJlcV9mZW5jZSkKK3N0YXRpYyBi b29sIGk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX3NpZ25hbGluZyhzdHJ1Y3QgZmVuY2UgKnJlcV9m ZW5jZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSA9IGNvbnRhaW5lcl9v ZihyZXFfZmVuY2UsCiAJCQkJCQkgdHlwZW9mKCpyZXEpLCBmZW5jZSk7CisKKwkvKgorCSAqIE5v IG5lZWQgdG8gYWN0dWFsbHkgZW5hYmxlIGludGVycnVwdCBiYXNlZCBwcm9jZXNzaW5nIHVudGls IHRoZQorCSAqIHJlcXVlc3QgaGFzIGJlZW4gc3VibWl0dGVkIHRvIHRoZSBoYXJkd2FyZS4gQXQg d2hpY2ggcG9pbnQKKwkgKiAnaTkxNV9nZW1fcmVxdWVzdF9zdWJtaXQoKScgaXMgY2FsbGVkLiBT byBvbmx5IHJlYWxseSBlbmFibGUKKwkgKiBzaWduYWxsaW5nIGluIHRoZXJlLiBKdXN0IHNldCBh IGZsYWcgdG8gc2F5IHRoYXQgaW50ZXJydXB0cyBhcmUKKwkgKiB3YW50ZWQgd2hlbiB0aGUgcmVx dWVzdCBpcyBldmVudHVhbGx5IHN1Ym1pdHRlZC4gT24gdGhlIG90aGVyIGhhbmQKKwkgKiBpZiB0 aGUgcmVxdWVzdCBoYXMgYWxyZWFkeSBiZWVuIHN1Ym1pdHRlZCB0aGVuIGludGVycnVwdHMgZG8g bmVlZAorCSAqIHRvIGJlIGVuYWJsZWQgbm93LgorCSAqLworCisJcmVxLT5zaWduYWxfcmVxdWVz dGVkID0gdHJ1ZTsKKworCWlmICghbGlzdF9lbXB0eSgmcmVxLT5zaWduYWxfbGluaykpCisJCWk5 MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX2ludGVycnVwdChyZXEsIHRydWUpOworCisJcmV0dXJuIHRy dWU7Cit9CisKK3ZvaWQgaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywgYm9vbCBmZW5jZV9sb2NrZWQpCit7CisJc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXEsICpyZXFfbmV4dDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwogCXUzMiBzZXFu bzsKIAotCXNlcW5vID0gcmVxLT5yaW5nLT5nZXRfc2Vxbm8ocmVxLT5yaW5nLCBmYWxzZS8qbGF6 eV9jb2hlcmVuY3kqLyk7CisJaWYgKGxpc3RfZW1wdHkoJnJpbmctPmZlbmNlX3NpZ25hbF9saXN0 KSkKKwkJcmV0dXJuOworCisJaWYgKCFmZW5jZV9sb2NrZWQpCisJCXNwaW5fbG9ja19pcnFzYXZl KCZyaW5nLT5mZW5jZV9sb2NrLCBmbGFncyk7CisKKwlzZXFubyA9IHJpbmctPmdldF9zZXFubyhy aW5nLCBmYWxzZSk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUocmVxLCByZXFfbmV4dCwg JnJpbmctPmZlbmNlX3NpZ25hbF9saXN0LCBzaWduYWxfbGluaykgeworCQlpZiAoIXJlcS0+Y2Fu Y2VsbGVkKSB7CisJCQlpZiAoIWk5MTVfc2Vxbm9fcGFzc2VkKHNlcW5vLCByZXEtPnNlcW5vKSkK KwkJCQlicmVhazsKKwkJfQogCi0JcmV0dXJuIGk5MTVfc2Vxbm9fcGFzc2VkKHNlcW5vLCByZXEt PnNlcW5vKTsKKwkJLyoKKwkJICogU3RhcnQgYnkgcmVtb3ZpbmcgdGhlIGZlbmNlIGZyb20gdGhl IHNpZ25hbCBsaXN0IG90aGVyd2lzZQorCQkgKiB0aGUgcmV0aXJlIGNvZGUgY2FuIHJ1biBjb25j dXJyZW50bHkgYW5kIGdldCBjb25mdXNlZC4KKwkJICovCisJCWxpc3RfZGVsX2luaXQoJnJlcS0+ c2lnbmFsX2xpbmspOworCisJCWlmICghcmVxLT5jYW5jZWxsZWQpIHsKKwkJCWZlbmNlX3NpZ25h bF9sb2NrZWQoJnJlcS0+ZmVuY2UpOworCQl9CisKKwkJaWYgKHJlcS0+aXJxX2VuYWJsZWQpIHsK KwkJCXJlcS0+cmluZy0+aXJxX3B1dChyZXEtPnJpbmcpOworCQkJcmVxLT5pcnFfZW5hYmxlZCA9 IGZhbHNlOworCQl9CisKKwkJLyogQ2FuJ3QgdW5yZWZlcmVuY2UgaGVyZSBiZWNhdXNlIHRoYXQg bWlnaHQgZ3JhYiBmZW5jZV9sb2NrICovCisJCWxpc3RfYWRkX3RhaWwoJnJlcS0+dW5zaWduYWxf bGluaywgJnJpbmctPmZlbmNlX3Vuc2lnbmFsX2xpc3QpOworCX0KKworCWlmICghZmVuY2VfbG9j a2VkKQorCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyaW5nLT5mZW5jZV9sb2NrLCBmbGFncyk7 CiB9CiAKIHN0YXRpYyBjb25zdCBjaGFyICppOTE1X2dlbV9yZXF1ZXN0X2dldF9kcml2ZXJfbmFt ZShzdHJ1Y3QgZmVuY2UgKnJlcV9mZW5jZSkKQEAgLTI3MTEsNyArMjg1MCw2IEBAIHN0YXRpYyB2 b2lkIGk5MTVfZ2VtX3JlcXVlc3RfZmVuY2VfdmFsdWVfc3RyKHN0cnVjdCBmZW5jZSAqcmVxX2Zl bmNlLCBjaGFyICpzdHIsCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVuY2Vfb3BzIGk5MTVfZ2Vt X3JlcXVlc3RfZm9wcyA9IHsKIAkuZW5hYmxlX3NpZ25hbGluZwk9IGk5MTVfZ2VtX3JlcXVlc3Rf ZW5hYmxlX3NpZ25hbGluZywKLQkuc2lnbmFsZWQJCT0gaTkxNV9nZW1fcmVxdWVzdF9pc19jb21w bGV0ZWQsCiAJLndhaXQJCQk9IGZlbmNlX2RlZmF1bHRfd2FpdCwKIAkucmVsZWFzZQkJPSBpOTE1 X2dlbV9yZXF1ZXN0X3JlbGVhc2UsCiAJLmdldF9kcml2ZXJfbmFtZQk9IGk5MTVfZ2VtX3JlcXVl c3RfZ2V0X2RyaXZlcl9uYW1lLApAQCAtMjc5NCw2ICsyOTMyLDcgQEAgaW50IGk5MTVfZ2VtX3Jl cXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJZ290byBlcnI7CiAJ fQogCisJSU5JVF9MSVNUX0hFQUQoJnJlcS0+c2lnbmFsX2xpbmspOwogCWZlbmNlX2luaXQoJnJl cS0+ZmVuY2UsICZpOTE1X2dlbV9yZXF1ZXN0X2ZvcHMsICZyaW5nLT5mZW5jZV9sb2NrLAogCQkg ICBjdHgtPmVuZ2luZVtyaW5nLT5pZF0uZmVuY2VfdGltZWxpbmUuZmVuY2VfY29udGV4dCwKIAkJ ICAgaTkxNV9mZW5jZV90aW1lbGluZV9nZXRfbmV4dF9zZXFubygmY3R4LT5lbmdpbmVbcmluZy0+ aWRdLmZlbmNlX3RpbWVsaW5lKSk7CkBAIC0yODMxLDYgKzI5NzAsMTEgQEAgdm9pZCBpOTE1X2dl bV9yZXF1ZXN0X2NhbmNlbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKIAlp bnRlbF9yaW5nX3Jlc2VydmVkX3NwYWNlX2NhbmNlbChyZXEtPnJpbmdidWYpOwogCisJcmVxLT5j YW5jZWxsZWQgPSB0cnVlOworCS8qIEhvdyB0byBwcm9wYWdhdGUgdG8gYW55IGFzc29jaWF0ZWQg c3luY19mZW5jZT8/PyAqLworCXJlcS0+ZmVuY2Uuc3RhdHVzID0gLUVJTlZBTDsKKwlmZW5jZV9z aWduYWxfbG9ja2VkKCZyZXEtPmZlbmNlKTsKKwogCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVu Y2UocmVxKTsKIH0KIApAQCAtMjkyNCw2ICszMDY4LDEzIEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2Vt X3Jlc2V0X3JpbmdfY2xlYW51cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ CWk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHJlcXVlc3QpOwogCX0KIAorCS8qCisJICogVGlkeSB1 cCBhbnl0aGluZyBsZWZ0IG92ZXIuIFRoaXMgaW5jbHVkZXMgYSBjYWxsIHRvCisJICogaTkxNV9n ZW1fcmVxdWVzdF9ub3RpZnkoKSB3aGljaCB3aWxsIG1ha2Ugc3VyZSB0aGF0IGFueSByZXF1ZXN0 cworCSAqIHRoYXQgd2VyZSBvbiB0aGUgc2lnbmFsIHBlbmRpbmcgbGlzdCBnZXQgYWxzbyBjbGVh bmVkIHVwLgorCSAqLworCWk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0c19yaW5nKHJpbmcpOworCiAJ LyogSGF2aW5nIGZsdXNoZWQgYWxsIHJlcXVlc3RzIGZyb20gYWxsIHF1ZXVlcywgd2Uga25vdyB0 aGF0IGFsbAogCSAqIHJpbmdidWZmZXJzIG11c3Qgbm93IGJlIGVtcHR5LiBIb3dldmVyLCBzaW5j ZSB3ZSBkbyBub3QgcmVjbGFpbQogCSAqIGFsbCBzcGFjZSB3aGVuIHJldGlyaW5nIHRoZSByZXF1 ZXN0ICh0byBwcmV2ZW50IEhFQURzIGNvbGxpZGluZwpAQCAtMjk2OSw5ICszMTIwLDE3IEBAIGk5 MTVfZ2VtX3JldGlyZV9yZXF1ZXN0c19yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcp CiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsICpyZXFfbmV4dDsKIAlMSVNU X0hFQUQobGlzdF9oZWFkKTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwogCiAJV0FSTl9PTihpOTE1 X3ZlcmlmeV9saXN0cyhyaW5nLT5kZXYpKTsKIAorCS8qCisJICogSWYgbm8tb25lIGhhcyB3YWl0 ZWQgb24gYSByZXF1ZXN0IHJlY2VudGx5IHRoZW4gaW50ZXJydXB0cyB3aWxsCisJICogbm90IGhh dmUgYmVlbiBlbmFibGVkIGFuZCB0aHVzIG5vIHJlcXVlc3RzIHdpbGwgZXZlciBiZSBtYXJrZWQg YXMKKwkgKiBjb21wbGV0ZWQuIFNvIGRvIGFuIGludGVycnVwdCBjaGVjayBub3cuCisJICovCisJ aTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkocmluZywgZmFsc2UpOworCiAJLyogUmV0aXJlIHJlcXVl c3RzIGZpcnN0IGFzIHdlIHVzZSBpdCBhYm92ZSBmb3IgdGhlIGVhcmx5IHJldHVybi4KIAkgKiBJ ZiB3ZSByZXRpcmUgcmVxdWVzdHMgbGFzdCwgd2UgbWF5IHVzZSBhIGxhdGVyIHNlcW5vIGFuZCBz byBjbGVhcgogCSAqIHRoZSByZXF1ZXN0cyBsaXN0cyB3aXRob3V0IGNsZWFyaW5nIHRoZSBhY3Rp dmUgbGlzdCwgbGVhZGluZyB0bwpAQCAtMzAxMyw2ICszMTcyLDE1IEBAIGk5MTVfZ2VtX3JldGly ZV9yZXF1ZXN0c19yaW5nKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJCWk5MTVfZ2Vt X3JlcXVlc3RfYXNzaWduKCZyaW5nLT50cmFjZV9pcnFfcmVxLCBOVUxMKTsKIAl9CiAKKwkvKiBU aWR5IHVwIGFueSByZXF1ZXN0cyB0aGF0IHdlcmUgcmVjZW50bHkgc2lnbmFsbGVkICovCisJc3Bp bl9sb2NrX2lycXNhdmUoJnJpbmctPmZlbmNlX2xvY2ssIGZsYWdzKTsKKwlsaXN0X3NwbGljZV9p bml0KCZyaW5nLT5mZW5jZV91bnNpZ25hbF9saXN0LCAmbGlzdF9oZWFkKTsKKwlzcGluX3VubG9j a19pcnFyZXN0b3JlKCZyaW5nLT5mZW5jZV9sb2NrLCBmbGFncyk7CisJbGlzdF9mb3JfZWFjaF9l bnRyeV9zYWZlKHJlcSwgcmVxX25leHQsICZsaXN0X2hlYWQsIHVuc2lnbmFsX2xpbmspIHsKKwkJ bGlzdF9kZWwoJnJlcS0+dW5zaWduYWxfbGluayk7CisJCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZl cmVuY2UocmVxKTsKKwl9CisKIAkvKiBSZWFsbHkgZnJlZSBhbnkgcmVxdWVzdHMgdGhhdCB3ZXJl IHJlY2VudGx5IHVucmVmZXJlbmNlZCAqLwogCXNwaW5fbG9jaygmcmluZy0+ZGVsYXllZF9mcmVl X2xvY2spOwogCWxpc3Rfc3BsaWNlX2luaXQoJnJpbmctPmRlbGF5ZWRfZnJlZV9saXN0LCAmbGlz dF9oZWFkKTsKQEAgLTUwNjQsNiArNTIzMiw4IEBAIGluaXRfcmluZ19saXN0cyhzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nKQogewogCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5hY3RpdmVfbGlz dCk7CiAJSU5JVF9MSVNUX0hFQUQoJnJpbmctPnJlcXVlc3RfbGlzdCk7CisJSU5JVF9MSVNUX0hF QUQoJnJpbmctPmZlbmNlX3NpZ25hbF9saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmcmluZy0+ZmVu Y2VfdW5zaWduYWxfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJnJpbmctPmRlbGF5ZWRfZnJlZV9s aXN0KTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggNjhiMDk0Yi4uNzRmODU1MiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC05ODEsNiArOTgxLDggQEAgc3RhdGljIHZvaWQg bm90aWZ5X3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAogCXRyYWNlX2k5MTVf Z2VtX3JlcXVlc3Rfbm90aWZ5KHJpbmcpOwogCisJaTkxNV9nZW1fcmVxdWVzdF9ub3RpZnkocmlu ZywgZmFsc2UpOworCiAJd2FrZV91cF9hbGwoJnJpbmctPmlycV9xdWV1ZSk7CiB9CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMDZhMzk4YS4uNzZmYzI0NSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMKQEAgLTE5MjAsNiArMTkyMCw4IEBAIHN0YXRpYyBpbnQgbG9naWNhbF9yaW5n X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu CiAJcmluZy0+ZGV2ID0gZGV2OwogCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5hY3RpdmVfbGlzdCk7 CiAJSU5JVF9MSVNUX0hFQUQoJnJpbmctPnJlcXVlc3RfbGlzdCk7CisJSU5JVF9MSVNUX0hFQUQo JnJpbmctPmZlbmNlX3NpZ25hbF9saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmcmluZy0+ZmVuY2Vf dW5zaWduYWxfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJnJpbmctPmRlbGF5ZWRfZnJlZV9saXN0 KTsKIAlzcGluX2xvY2tfaW5pdCgmcmluZy0+ZmVuY2VfbG9jayk7CiAJc3Bpbl9sb2NrX2luaXQo JnJpbmctPmRlbGF5ZWRfZnJlZV9sb2NrKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuYwppbmRleCBlNTU3M2U3Li4xZGVjMjUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5jCkBAIC0yMTU4LDYgKzIxNTgsOCBAQCBzdGF0aWMgaW50IGludGVsX2lu aXRfcmluZ19idWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlJTklUX0xJU1RfSEVBRCgm cmluZy0+cmVxdWVzdF9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+ZXhlY2xpc3RfcXVl dWUpOwogCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5idWZmZXJzKTsKKwlJTklUX0xJU1RfSEVBRCgm cmluZy0+ZmVuY2Vfc2lnbmFsX2xpc3QpOworCUlOSVRfTElTVF9IRUFEKCZyaW5nLT5mZW5jZV91 bnNpZ25hbF9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+ZGVsYXllZF9mcmVlX2xpc3Qp OwogCXNwaW5fbG9ja19pbml0KCZyaW5nLT5mZW5jZV9sb2NrKTsKIAlzcGluX2xvY2tfaW5pdCgm cmluZy0+ZGVsYXllZF9mcmVlX2xvY2spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oCmluZGV4IDc3Mzg0ZWQuLjlkMDllZGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmgKQEAgLTM1NCw2ICszNTQsOCBAQCBzdHJ1Y3QgIGludGVsX2VuZ2luZV9j cyB7CiAJdTMyICgqZ2V0X2NtZF9sZW5ndGhfbWFzaykodTMyIGNtZF9oZWFkZXIpOwogCiAJc3Bp bmxvY2tfdCBmZW5jZV9sb2NrOworCXN0cnVjdCBsaXN0X2hlYWQgZmVuY2Vfc2lnbmFsX2xpc3Q7 CisJc3RydWN0IGxpc3RfaGVhZCBmZW5jZV91bnNpZ25hbF9saXN0OwogfTsKIAogYm9vbCBpbnRl bF9yaW5nX2luaXRpYWxpemVkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwotLSAKMS45 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==