From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 07/17] drm/i915/gt: Provide a local intel_context.vm Date: Tue, 30 Jul 2019 14:30:25 +0100 Message-ID: <20190730133035.1977-8-chris@chris-wilson.co.uk> References: <20190730133035.1977-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id C87866E512 for ; Tue, 30 Jul 2019 13:30:56 +0000 (UTC) In-Reply-To: <20190730133035.1977-1-chris@chris-wilson.co.uk> 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 VHJhY2sgdGhlIGN1cnJlbnRseSBib3VuZCBhZGRyZXNzIHNwYWNlIHVzZWQgYnkgdGhlIEhXIGNv bnRleHQuIE1pbm9yCmNvbnZlcnNpb25zIHRvIHVzZSB0aGUgbG9jYWwgaW50ZWxfY29udGV4dC52 bSBhcmUgbWFkZSwgbGVhdmluZyBiZWhpbmQKc29tZSBtb3JlIHN1cmdlcnkgcmVxdWlyZWQgdG8g bWFrZSBpbnRlbF9jb250ZXh0IHRoZSBwcmltYXJ5IHRocm91Z2ggdGhlCnNlbGZ0ZXN0cy4KClNp Z25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZp ZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY2xpZW50X2JsdC5jICAgIHwgIDQgKy0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyAgICAgICB8IDE1 ICsrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNi dWZmZXIuYyAgICB8IDExICsrKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fb2JqZWN0X2JsdC5jICAgIHwgIDYgKy0tLS0tCiAuLi4vZ3B1L2RybS9pOTE1L2dlbS9z ZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2NvbnRleHQuYyAgICAgICAgICAgfCAgNCArKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9jb250ZXh0X3R5cGVzLmggICAgIHwgIDQgKysrLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgICAgICAgICAgICAgICB8ICA5ICsrKy0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jICAgICAgICB8ICA2ICsrKy0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jICAgICAgICAgICAgICB8ICAy ICstCiAxMCBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY2xpZW50X2Js dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NsaWVudF9ibHQuYwppbmRl eCA2ZjUzN2U4ZTRkZWEuLjIzMTJhMGM2YWY4OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX2NsaWVudF9ibHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fY2xpZW50X2JsdC5jCkBAIC0yNTAsMTMgKzI1MCwxMSBAQCBpbnQgaTkx NV9nZW1fc2NoZWR1bGVfZmlsbF9wYWdlc19ibHQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAkJCQkgICAgIHUzMiB2YWx1ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7Ci0Jc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQg KmN0eCA9IGNlLT5nZW1fY29udGV4dDsKLQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9 IGN0eC0+dm0gPzogJmk5MTUtPmdndHQudm07CiAJc3RydWN0IGNsZWFyX3BhZ2VzX3dvcmsgKndv cms7CiAJc3RydWN0IGk5MTVfc2xlZXZlICpzbGVldmU7CiAJaW50IGVycjsKIAotCXNsZWV2ZSA9 IGNyZWF0ZV9zbGVldmUodm0sIG9iaiwgcGFnZXMsIHBhZ2Vfc2l6ZXMpOworCXNsZWV2ZSA9IGNy ZWF0ZV9zbGVldmUoY2UtPnZtLCBvYmosIHBhZ2VzLCBwYWdlX3NpemVzKTsKIAlpZiAoSVNfRVJS KHNsZWV2ZSkpCiAJCXJldHVybiBQVFJfRVJSKHNsZWV2ZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IDBmNmIwNjc4ZjU0OC4uYjI4YzdjYTY4 MWE4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4 dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKQEAg LTQ3NSwxMCArNDc1LDE4IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICoKIF9f c2V0X3BwZ3R0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsIHN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgKnZtKQogewogCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKm9sZCA9IGN0eC0+ dm07CisJc3RydWN0IGk5MTVfZ2VtX2VuZ2luZXNfaXRlciBpdDsKKwlzdHJ1Y3QgaW50ZWxfY29u dGV4dCAqY2U7CiAKIAljdHgtPnZtID0gaTkxNV92bV9nZXQodm0pOwogCWN0eC0+ZGVzY190ZW1w bGF0ZSA9IGRlZmF1bHRfZGVzY190ZW1wbGF0ZShjdHgtPmk5MTUsIHZtKTsKIAorCWZvcl9lYWNo X2dlbV9lbmdpbmUoY2UsIGk5MTVfZ2VtX2NvbnRleHRfbG9ja19lbmdpbmVzKGN0eCksIGl0KSB7 CisJCWk5MTVfdm1fcHV0KGNlLT52bSk7CisJCWNlLT52bSA9IGk5MTVfdm1fZ2V0KHZtKTsKKwl9 CisJaTkxNV9nZW1fY29udGV4dF91bmxvY2tfZW5naW5lcyhjdHgpOworCiAJcmV0dXJuIG9sZDsK IH0KIApAQCAtMTAwNCw3ICsxMDEyLDcgQEAgc3RhdGljIHZvaWQgc2V0X3BwZ3R0X2JhcnJpZXIo dm9pZCAqZGF0YSkKIAogc3RhdGljIGludCBlbWl0X3BwZ3R0X3VwZGF0ZShzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICpycSwgdm9pZCAqZGF0YSkKIHsKLQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2 bSA9IHJxLT5nZW1fY29udGV4dC0+dm07CisJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0g PSBycS0+aHdfY29udGV4dC0+dm07CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0g cnEtPmVuZ2luZTsKIAl1MzIgYmFzZSA9IGVuZ2luZS0+bW1pb19iYXNlOwogCXUzMiAqY3M7CkBA IC0xMTEzLDkgKzExMjEsOCBAQCBzdGF0aWMgaW50IHNldF9wcGd0dChzdHJ1Y3QgZHJtX2k5MTVf ZmlsZV9wcml2YXRlICpmaWxlX3ByaXYsCiAJCQkJICAgc2V0X3BwZ3R0X2JhcnJpZXIsCiAJCQkJ ICAgb2xkKTsKIAlpZiAoZXJyKSB7Ci0JCWN0eC0+dm0gPSBvbGQ7Ci0JCWN0eC0+ZGVzY190ZW1w bGF0ZSA9IGRlZmF1bHRfZGVzY190ZW1wbGF0ZShjdHgtPmk5MTUsIG9sZCk7Ci0JCWk5MTVfdm1f cHV0KHZtKTsKKwkJaTkxNV92bV9wdXQoX19zZXRfcHBndHQoY3R4LCBvbGQpKTsKKwkJaTkxNV92 bV9wdXQob2xkKTsKIAl9CiAKIHVubG9jazoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IDAxOTAxZGFkMzNmNy4uNGRiNDQ2MzA4OWNlIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZXhlY2J1ZmZlci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAg LTIyMyw3ICsyMjMsNiBAQCBzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyIHsKIAlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmU7IC8qKiBlbmdpbmUgdG8gcXVldWUgdGhlIHJlcXVlc3QgdG8gKi8K IAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY29udGV4dDsgLyogbG9naWNhbCBzdGF0ZSBmb3IgdGhl IHJlcXVlc3QgKi8KIAlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqZ2VtX2NvbnRleHQ7IC8qKiBj YWxsZXIncyBjb250ZXh0ICovCi0Jc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07IC8qKiBH VFQgYW5kIHZtYSBmb3IgdGhlIHJlcXVlc3QgKi8KIAogCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJl cXVlc3Q7IC8qKiBvdXIgcmVxdWVzdCB0byBidWlsZCAqLwogCXN0cnVjdCBpOTE1X3ZtYSAqYmF0 Y2g7IC8qKiBpZGVudGl0eSBvZiB0aGUgYmF0Y2ggb2JqL3ZtYSAqLwpAQCAtNjk3LDcgKzY5Niw3 IEBAIHN0YXRpYyBpbnQgZWJfcmVzZXJ2ZShzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYikKIAog CQljYXNlIDE6CiAJCQkvKiBUb28gZnJhZ21lbnRlZCwgdW5iaW5kIGV2ZXJ5dGhpbmcgYW5kIHJl dHJ5ICovCi0JCQllcnIgPSBpOTE1X2dlbV9ldmljdF92bShlYi0+dm0pOworCQkJZXJyID0gaTkx NV9nZW1fZXZpY3Rfdm0oZWItPmNvbnRleHQtPnZtKTsKIAkJCWlmIChlcnIpCiAJCQkJcmV0dXJu IGVycjsKIAkJCWJyZWFrOwpAQCAtNzI1LDEyICs3MjQsOCBAQCBzdGF0aWMgaW50IGViX3NlbGVj dF9jb250ZXh0KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXIgKmViKQogCQlyZXR1cm4gLUVOT0VOVDsK IAogCWViLT5nZW1fY29udGV4dCA9IGN0eDsKLQlpZiAoY3R4LT52bSkgewotCQllYi0+dm0gPSBj dHgtPnZtOworCWlmIChjdHgtPnZtKQogCQllYi0+aW52YWxpZF9mbGFncyB8PSBFWEVDX09CSkVD VF9ORUVEU19HVFQ7Ci0JfSBlbHNlIHsKLQkJZWItPnZtID0gJmViLT5pOTE1LT5nZ3R0LnZtOwot CX0KIAogCWViLT5jb250ZXh0X2ZsYWdzID0gMDsKIAlpZiAodGVzdF9iaXQoVUNPTlRFWFRfTk9f WkVST01BUCwgJmN0eC0+dXNlcl9mbGFncykpCkBAIC04MzIsNyArODI3LDcgQEAgc3RhdGljIGlu dCBlYl9sb29rdXBfdm1hcyhzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYikKIAkJCWdvdG8gZXJy X3ZtYTsKIAkJfQogCi0JCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKG9iaiwgZWItPnZtLCBOVUxM KTsKKwkJdm1hID0gaTkxNV92bWFfaW5zdGFuY2Uob2JqLCBlYi0+Y29udGV4dC0+dm0sIE5VTEwp OwogCQlpZiAoSVNfRVJSKHZtYSkpIHsKIAkJCWVyciA9IFBUUl9FUlIodm1hKTsKIAkJCWdvdG8g ZXJyX29iajsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9v YmplY3RfYmx0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X2Js dC5jCmluZGV4IGNiNDJlM2EzMTJlMi4uNjg1MDY0YWYzMmQxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X2JsdC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfYmx0LmMKQEAgLTQ3LDE1ICs0NywxMSBAQCBp bnQgaTkxNV9nZW1fb2JqZWN0X2ZpbGxfYmx0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJCQkgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKIAkJCSAgICAgdTMyIHZhbHVl KQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmotPmJhc2Uu ZGV2KTsKLQlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4ID0gY2UtPmdlbV9jb250ZXh0Owot CXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtID0gY3R4LT52bSA/OiAmaTkxNS0+Z2d0dC52 bTsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAlp bnQgZXJyOwogCi0JLyogWFhYOiBjZS0+dm0gcGxlYXNlICovCi0Jdm1hID0gaTkxNV92bWFfaW5z dGFuY2Uob2JqLCB2bSwgTlVMTCk7CisJdm1hID0gaTkxNV92bWFfaW5zdGFuY2Uob2JqLCBjZS0+ dm0sIE5VTEwpOwogCWlmIChJU19FUlIodm1hKSkKIAkJcmV0dXJuIFBUUl9FUlIodm1hKTsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9j b250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2Nv bnRleHQuYwppbmRleCBiYmQxN2Q0YjhmZmQuLjdmOWY2NzAxYjMyYyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMKQEAg LTc0Nyw3ICs3NDcsNyBAQCBlbWl0X3JwY3NfcXVlcnkoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwKIAogCUdFTV9CVUdfT04oIWludGVsX2VuZ2luZV9jYW5fc3RvcmVfZHdvcmQoY2Ut PmVuZ2luZSkpOwogCi0Jdm1hID0gaTkxNV92bWFfaW5zdGFuY2Uob2JqLCBjZS0+Z2VtX2NvbnRl eHQtPnZtLCBOVUxMKTsKKwl2bWEgPSBpOTE1X3ZtYV9pbnN0YW5jZShvYmosIGNlLT52bSwgTlVM TCk7CiAJaWYgKElTX0VSUih2bWEpKQogCQlyZXR1cm4gUFRSX0VSUih2bWEpOwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0LmMKaW5kZXggMjExYWM2NTY4YTVkLi4zNGM4ZTM3 YTczYjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0LmMKQEAgLTIwOSw2 ICsyMDksOCBAQCBpbnRlbF9jb250ZXh0X2luaXQoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAog CWtyZWZfaW5pdCgmY2UtPnJlZik7CiAKIAljZS0+Z2VtX2NvbnRleHQgPSBjdHg7CisJY2UtPnZt ID0gaTkxNV92bV9nZXQoY3R4LT52bSA/OiAmZW5naW5lLT5ndC0+Z2d0dC0+dm0pOworCiAJY2Ut PmVuZ2luZSA9IGVuZ2luZTsKIAljZS0+b3BzID0gZW5naW5lLT5jb3BzOwogCWNlLT5zc2V1ID0g ZW5naW5lLT5zc2V1OwpAQCAtMjI0LDYgKzIyNiw4IEBAIGludGVsX2NvbnRleHRfaW5pdChzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAKIHZvaWQgaW50ZWxfY29udGV4dF9maW5pKHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjZSkKIHsKKwlpOTE1X3ZtX3B1dChjZS0+dm0pOworCiAJbXV0ZXhfZGVz dHJveSgmY2UtPnBpbl9tdXRleCk7CiAJaTkxNV9hY3RpdmVfZmluaSgmY2UtPmFjdGl2ZSk7CiB9 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0X3R5cGVz LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0X3R5cGVzLmgKaW5kZXgg NGMwZTIxMWM3MTVkLi42OGE3ZTk3OWIxYTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2NvbnRleHRfdHlwZXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9jb250ZXh0X3R5cGVzLmgKQEAgLTM2LDcgKzM2LDYgQEAgc3RydWN0IGludGVsX2Nv bnRleHRfb3BzIHsKIHN0cnVjdCBpbnRlbF9jb250ZXh0IHsKIAlzdHJ1Y3Qga3JlZiByZWY7CiAK LQlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqZ2VtX2NvbnRleHQ7CiAJc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmluZmxpZ2h0OwogI2Rl ZmluZSBpbnRlbF9jb250ZXh0X2luZmxpZ2h0KGNlKSBwdHJfbWFza19iaXRzKChjZSktPmluZmxp Z2h0LCAyKQpAQCAtNDQsNiArNDMsOSBAQCBzdHJ1Y3QgaW50ZWxfY29udGV4dCB7CiAjZGVmaW5l IGludGVsX2NvbnRleHRfaW5mbGlnaHRfaW5jKGNlKSBwdHJfY291bnRfaW5jKCYoY2UpLT5pbmZs aWdodCkKICNkZWZpbmUgaW50ZWxfY29udGV4dF9pbmZsaWdodF9kZWMoY2UpIHB0cl9jb3VudF9k ZWMoJihjZSktPmluZmxpZ2h0KQogCisJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07CisJ c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmdlbV9jb250ZXh0OworCiAJc3RydWN0IGxpc3RfaGVh ZCBzaWduYWxfbGluazsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHNpZ25hbHM7CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfbHJjLmMKaW5kZXggODZkZDFlZGRjZWFjLi41MTgxZDI5ZDI3MmUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCkBAIC0xNjA1LDggKzE2MDUsNiBAQCBfX2V4ZWNs aXN0c19jb250ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAJdm9pZCAqdmFkZHI7 CiAJaW50IHJldDsKIAotCUdFTV9CVUdfT04oIWNlLT5nZW1fY29udGV4dC0+dm0pOwotCiAJcmV0 ID0gZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2MoY2UsIGVuZ2luZSk7CiAJaWYgKHJl dCkKIAkJZ290byBlcnI7CkBAIC0xNzE2LDggKzE3MTQsNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1p dF9pbml0X2JyZWFkY3J1bWIoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiBzdGF0aWMgaW50IGVt aXRfcGRwcyhzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKIAljb25zdCBzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICogY29uc3QgZW5naW5lID0gcnEtPmVuZ2luZTsKLQlzdHJ1Y3QgaTkxNV9wcGd0 dCAqIGNvbnN0IHBwZ3R0ID0KLQkJaTkxNV92bV90b19wcGd0dChycS0+Z2VtX2NvbnRleHQtPnZt KTsKKwlzdHJ1Y3QgaTkxNV9wcGd0dCAqIGNvbnN0IHBwZ3R0ID0gaTkxNV92bV90b19wcGd0dChy cS0+aHdfY29udGV4dC0+dm0pOwogCWludCBlcnIsIGk7CiAJdTMyICpjczsKIApAQCAtMTc5MCw3 ICsxNzg3LDcgQEAgc3RhdGljIGludCBleGVjbGlzdHNfcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpyZXF1ZXN0KQogCSAqLwogCiAJLyogVW5jb25kaXRpb25hbGx5IGludmFsaWRh dGUgR1BVIGNhY2hlcyBhbmQgVExCcy4gKi8KLQlpZiAoaTkxNV92bV9pc180bHZsKHJlcXVlc3Qt PmdlbV9jb250ZXh0LT52bSkpCisJaWYgKGk5MTVfdm1faXNfNGx2bChyZXF1ZXN0LT5od19jb250 ZXh0LT52bSkpCiAJCXJldCA9IHJlcXVlc3QtPmVuZ2luZS0+ZW1pdF9mbHVzaChyZXF1ZXN0LCBF TUlUX0lOVkFMSURBVEUpOwogCWVsc2UKIAkJcmV0ID0gZW1pdF9wZHBzKHJlcXVlc3QpOwpAQCAt MjkwOSw3ICsyOTA2LDcgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2luaXRfcmVnX3N0YXRlKHUz MiAqcmVncywKIAkJCQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCQkg ICAgIHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQogewotCXN0cnVjdCBpOTE1X3BwZ3R0ICpwcGd0 dCA9IGk5MTVfdm1fdG9fcHBndHQoY2UtPmdlbV9jb250ZXh0LT52bSk7CisJc3RydWN0IGk5MTVf cHBndHQgKnBwZ3R0ID0gaTkxNV92bV90b19wcGd0dChjZS0+dm0pOwogCWJvb2wgcmNzID0gZW5n aW5lLT5jbGFzcyA9PSBSRU5ERVJfQ0xBU1M7CiAJdTMyIGJhc2UgPSBlbmdpbmUtPm1taW9fYmFz ZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZl ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDEx YWZlNjRjYzI1Ni4uOGQyNGE0OWU1MTM5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfcmluZ2J1ZmZlci5jCkBAIC0xMzgwLDkgKzEzODAsOSBAQCBzdGF0aWMgc3RydWN0IGk5MTVf YWRkcmVzc19zcGFjZSAqdm1fYWxpYXMoc3RydWN0IGludGVsX2NvbnRleHQgKmNlKQogewogCXN0 cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtOwogCi0Jdm0gPSBjZS0+Z2VtX2NvbnRleHQtPnZt OwotCWlmICghdm0pCi0JCXZtID0gJmNlLT5lbmdpbmUtPmd0LT5nZ3R0LT5hbGlhcy0+dm07CisJ dm0gPSBjZS0+dm07CisJaWYgKGk5MTVfaXNfZ2d0dCh2bSkpCisJCXZtID0gJmk5MTVfdm1fdG9f Z2d0dCh2bSktPmFsaWFzLT52bTsKIAogCXJldHVybiB2bTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2 dC9zY2hlZHVsZXIuYwppbmRleCA5ZjNmZDdkOTZhNjkuLmY0MDUyNGIwZTMwMCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3NjaGVkdWxlci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYwpAQCAtMTE1Nyw3ICsxMTU3LDcgQEAgdm9pZCBpbnRl bF92Z3B1X2NsZWFuX3N1Ym1pc3Npb24oc3RydWN0IGludGVsX3ZncHUgKnZncHUpCiAKIAlpbnRl bF92Z3B1X3NlbGVjdF9zdWJtaXNzaW9uX29wcyh2Z3B1LCBBTExfRU5HSU5FUywgMCk7CiAKLQlp OTE1X2NvbnRleHRfcHBndHRfcm9vdF9yZXN0b3JlKHMsIGk5MTVfdm1fdG9fcHBndHQocy0+c2hh ZG93WzBdLT5nZW1fY29udGV4dC0+dm0pKTsKKwlpOTE1X2NvbnRleHRfcHBndHRfcm9vdF9yZXN0 b3JlKHMsIGk5MTVfdm1fdG9fcHBndHQocy0+c2hhZG93WzBdLT52bSkpOwogCWZvcl9lYWNoX2Vu Z2luZShlbmdpbmUsIHZncHUtPmd2dC0+ZGV2X3ByaXYsIGlkKQogCQlpbnRlbF9jb250ZXh0X3Vu cGluKHMtPnNoYWRvd1tpZF0pOwogCi0tIAoyLjIyLjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeA==