From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 07/19] drm/i915: pass the vma to insert_entries Date: Wed, 21 Jun 2017 21:33:33 +0100 Message-ID: <20170621203345.26320-8-matthew.auld@intel.com> References: <20170621203345.26320-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 538106E580 for ; Wed, 21 Jun 2017 20:33:56 +0000 (UTC) In-Reply-To: <20170621203345.26320-1-matthew.auld@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 VGhlIHZtYSBjb250YWlucyBtb3N0IG9mIHRoZSBpbmZvcm1hdGlvbiB3ZSBuZWVkIGZvciBpbnNl cnRpb24uIEJ1dCBhbHNvCmluIHByZXBhcmF0aW9uIGZvciBzdXBwb3J0aW5nIGh1Z2UtcGFnZXMg Zm9yIHRoZSBwcGd0dCwgaXQgd291bGQgYmUKdXNlZnVsIHRvIGtub3cgdGhlIGRldGFpbHMgb2Yg dm1hLT5wYWdlX3NpemVzIGFuZCB0aGUgbm9kZSBzaXplLCBzdWNoCnRoYXQgd2UgY2FuIHdlIGNh biBlYXNpbHkgZGV0ZXJtaW5lIHRoZSBwYWdlIHNpemVzIHdlIGFyZSBhbGxvd2VkIHRvIHVzZQp3 aGVuIGluc2VydGluZyBpbnRvIHRoZSA0OGIgUFBHVFQuICBUaGlzIGlzIGVzcGVjaWFsbHkgdHJ1 ZSBmb3IgNjRLCndoZXJlIHdlIGNhbid0IGp1c3QgYXJiaXRyYXJpbHkgdXNlIGl0LCBzaW5jZSB3 ZSByZXF1aXJlCmFsaWduaW5nL3BhZGRpbmcgdGhlIHZtIHNwYWNlIHRvIDJNLCB3aGljaCBzb21l dGltZXMgd2UgY2FuJ3QgZW5mb3JjZSBpbgp0aGUgdXBwZXIgbGV2ZWxzLgoKU3VnZ2VzdGVkLWJ5 OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTog TWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzogSm9vbmFzIExhaHRpbmVu IDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2d0dC5jICAgICAgICAgICB8IDY4ICsrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggICAgICAgICAgIHwgIDMg Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYyB8IDEwICsr Ky0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2d0dC5jICAgICB8ICAzICst CiA0IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDQ2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggNjFmYzdlOTBhN2RhLi5kZTY3MDg0ZDVm Y2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0yMDcsOCArMjA3LDcgQEAg c3RhdGljIGludCBwcGd0dF9iaW5kX3ZtYShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAlpZiAodm1h LT5vYmotPmd0X3JvKQogCQlwdGVfZmxhZ3MgfD0gUFRFX1JFQURfT05MWTsKIAotCXZtYS0+dm0t Pmluc2VydF9lbnRyaWVzKHZtYS0+dm0sIHZtYS0+cGFnZXMsIHZtYS0+bm9kZS5zdGFydCwKLQkJ CQljYWNoZV9sZXZlbCwgcHRlX2ZsYWdzKTsKKwl2bWEtPnZtLT5pbnNlcnRfZW50cmllcyh2bWEt PnZtLCB2bWEsIGNhY2hlX2xldmVsLCBwdGVfZmxhZ3MpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC05 MDcsMzcgKzkwNiwzNSBAQCBnZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyhzdHJ1Y3QgaTkx NV9od19wcGd0dCAqcHBndHQsCiB9CiAKIHN0YXRpYyB2b2lkIGdlbjhfcHBndHRfaW5zZXJ0XzNs dmwoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCi0JCQkJICAgc3RydWN0IHNnX3RhYmxl ICpwYWdlcywKLQkJCQkgICB1NjQgc3RhcnQsCisJCQkJICAgc3RydWN0IGk5MTVfdm1hICp2bWEs CiAJCQkJICAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xldmVsLAogCQkJCSAgIHUzMiB1 bnVzZWQpCiB7Ci0Jc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0gaTkxNV92bV90b19wcGd0 dCh2bSk7CisJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0gaTkxNV92bV90b19wcGd0dCh2 bWEtPnZtKTsKIAlzdHJ1Y3Qgc2d0X2RtYSBpdGVyID0gewotCQkuc2cgPSBwYWdlcy0+c2dsLAor CQkuc2cgPSB2bWEtPnBhZ2VzLT5zZ2wsCiAJCS5kbWEgPSBzZ19kbWFfYWRkcmVzcyhpdGVyLnNn KSwKIAkJLm1heCA9IGl0ZXIuZG1hICsgaXRlci5zZy0+bGVuZ3RoLAogCX07Ci0Jc3RydWN0IGdl bjhfaW5zZXJ0X3B0ZSBpZHggPSBnZW44X2luc2VydF9wdGUoc3RhcnQpOworCXN0cnVjdCBnZW44 X2luc2VydF9wdGUgaWR4ID0gZ2VuOF9pbnNlcnRfcHRlKHZtYS0+bm9kZS5zdGFydCk7CiAKIAln ZW44X3BwZ3R0X2luc2VydF9wdGVfZW50cmllcyhwcGd0dCwgJnBwZ3R0LT5wZHAsICZpdGVyLCAm aWR4LAogCQkJCSAgICAgIGNhY2hlX2xldmVsKTsKIH0KIAogc3RhdGljIHZvaWQgZ2VuOF9wcGd0 dF9pbnNlcnRfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKLQkJCQkgICBzdHJ1 Y3Qgc2dfdGFibGUgKnBhZ2VzLAotCQkJCSAgIHU2NCBzdGFydCwKKwkJCQkgICBzdHJ1Y3QgaTkx NV92bWEgKnZtYSwKIAkJCQkgICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgY2FjaGVfbGV2ZWwsCiAJ CQkJICAgdTMyIHVudXNlZCkKIHsKIAlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPSBpOTE1 X3ZtX3RvX3BwZ3R0KHZtKTsKIAlzdHJ1Y3Qgc2d0X2RtYSBpdGVyID0gewotCQkuc2cgPSBwYWdl cy0+c2dsLAorCQkuc2cgPSB2bWEtPnBhZ2VzLT5zZ2wsCiAJCS5kbWEgPSBzZ19kbWFfYWRkcmVz cyhpdGVyLnNnKSwKIAkJLm1heCA9IGl0ZXIuZG1hICsgaXRlci5zZy0+bGVuZ3RoLAogCX07CiAJ c3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9pbnRlciAqKnBkcHMgPSBwcGd0dC0+cG1sNC5w ZHBzOwotCXN0cnVjdCBnZW44X2luc2VydF9wdGUgaWR4ID0gZ2VuOF9pbnNlcnRfcHRlKHN0YXJ0 KTsKKwlzdHJ1Y3QgZ2VuOF9pbnNlcnRfcHRlIGlkeCA9IGdlbjhfaW5zZXJ0X3B0ZSh2bWEtPm5v ZGUuc3RhcnQpOwogCiAJd2hpbGUgKGdlbjhfcHBndHRfaW5zZXJ0X3B0ZV9lbnRyaWVzKHBwZ3R0 LCBwZHBzW2lkeC5wbWw0ZSsrXSwgJml0ZXIsCiAJCQkJCSAgICAgJmlkeCwgY2FjaGVfbGV2ZWwp KQpAQCAtMTYyMSwxMyArMTYxOCwxMiBAQCBzdGF0aWMgdm9pZCBnZW42X3BwZ3R0X2NsZWFyX3Jh bmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogfQogCiBzdGF0aWMgdm9pZCBnZW42 X3BwZ3R0X2luc2VydF9lbnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAotCQkJ CSAgICAgIHN0cnVjdCBzZ190YWJsZSAqcGFnZXMsCi0JCQkJICAgICAgdTY0IHN0YXJ0LAorCQkJ CSAgICAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCQkJCSAgICAgIGVudW0gaTkxNV9jYWNoZV9s ZXZlbCBjYWNoZV9sZXZlbCwKIAkJCQkgICAgICB1MzIgZmxhZ3MpCiB7CiAJc3RydWN0IGk5MTVf aHdfcHBndHQgKnBwZ3R0ID0gaTkxNV92bV90b19wcGd0dCh2bSk7Ci0JdW5zaWduZWQgZmlyc3Rf ZW50cnkgPSBzdGFydCA+PiBQQUdFX1NISUZUOworCXVuc2lnbmVkIGZpcnN0X2VudHJ5ID0gdm1h LT5ub2RlLnN0YXJ0ID4+IFBBR0VfU0hJRlQ7CiAJdW5zaWduZWQgYWN0X3B0ID0gZmlyc3RfZW50 cnkgLyBHRU42X1BURVM7CiAJdW5zaWduZWQgYWN0X3B0ZSA9IGZpcnN0X2VudHJ5ICUgR0VONl9Q VEVTOwogCWNvbnN0IHUzMiBwdGVfZW5jb2RlID0gdm0tPnB0ZV9lbmNvZGUoMCwgY2FjaGVfbGV2 ZWwsIGZsYWdzKTsKQEAgLTE2MzUsNyArMTYzMSw3IEBAIHN0YXRpYyB2b2lkIGdlbjZfcHBndHRf aW5zZXJ0X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJZ2VuNl9wdGVf dCAqdmFkZHI7CiAKIAl2YWRkciA9IGttYXBfYXRvbWljX3B4KHBwZ3R0LT5wZC5wYWdlX3RhYmxl W2FjdF9wdF0pOwotCWl0ZXIuc2cgPSBwYWdlcy0+c2dsOworCWl0ZXIuc2cgPSB2bWEtPnBhZ2Vz LT5zZ2w7CiAJaXRlci5kbWEgPSBzZ19kbWFfYWRkcmVzcyhpdGVyLnNnKTsKIAlpdGVyLm1heCA9 IGl0ZXIuZG1hICsgaXRlci5zZy0+bGVuZ3RoOwogCWRvIHsKQEAgLTIwOTAsOCArMjA4Niw3IEBA IHN0YXRpYyB2b2lkIGdlbjhfZ2d0dF9pbnNlcnRfcGFnZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSwKIH0KIAogc3RhdGljIHZvaWQgZ2VuOF9nZ3R0X2luc2VydF9lbnRyaWVzKHN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAotCQkJCSAgICAgc3RydWN0IHNnX3RhYmxlICpzdCwK LQkJCQkgICAgIHU2NCBzdGFydCwKKwkJCQkgICAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCQkJ CSAgICAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGxldmVsLAogCQkJCSAgICAgdTMyIHVudXNlZCkK IHsKQEAgLTIxMDIsOCArMjA5Nyw4IEBAIHN0YXRpYyB2b2lkIGdlbjhfZ2d0dF9pbnNlcnRfZW50 cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAlkbWFfYWRkcl90IGFkZHI7CiAK IAlndHRfZW50cmllcyA9IChnZW44X3B0ZV90IF9faW9tZW0gKilnZ3R0LT5nc207Ci0JZ3R0X2Vu dHJpZXMgKz0gc3RhcnQgPj4gUEFHRV9TSElGVDsKLQlmb3JfZWFjaF9zZ3RfZG1hKGFkZHIsIHNn dF9pdGVyLCBzdCkKKwlndHRfZW50cmllcyArPSB2bWEtPm5vZGUuc3RhcnQgPj4gUEFHRV9TSElG VDsKKwlmb3JfZWFjaF9zZ3RfZG1hKGFkZHIsIHNndF9pdGVyLCB2bWEtPnBhZ2VzKQogCQlnZW44 X3NldF9wdGUoZ3R0X2VudHJpZXMrKywgcHRlX2VuY29kZSB8IGFkZHIpOwogCiAJd21iKCk7CkBA IC0yMTM3LDE3ICsyMTMyLDE2IEBAIHN0YXRpYyB2b2lkIGdlbjZfZ2d0dF9pbnNlcnRfcGFnZShz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKICAqIG1hcHBlZCBCQVIgKGRldl9wcml2LT5t bS5ndHQtPmd0dCkuCiAgKi8KIHN0YXRpYyB2b2lkIGdlbjZfZ2d0dF9pbnNlcnRfZW50cmllcyhz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKLQkJCQkgICAgIHN0cnVjdCBzZ190YWJsZSAq c3QsCi0JCQkJICAgICB1NjQgc3RhcnQsCisJCQkJICAgICBzdHJ1Y3QgaTkxNV92bWEgKnZtYSwK IAkJCQkgICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBsZXZlbCwKIAkJCQkgICAgIHUzMiBmbGFn cykKIHsKIAlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0ID0gaTkxNV92bV90b19nZ3R0KHZtKTsKIAln ZW42X3B0ZV90IF9faW9tZW0gKmVudHJpZXMgPSAoZ2VuNl9wdGVfdCBfX2lvbWVtICopZ2d0dC0+ Z3NtOwotCXVuc2lnbmVkIGludCBpID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKKwl1bnNpZ25lZCBp bnQgaSA9IHZtYS0+bm9kZS5zdGFydCA+PiBQQUdFX1NISUZUOwogCXN0cnVjdCBzZ3RfaXRlciBp dGVyOwogCWRtYV9hZGRyX3QgYWRkcjsKLQlmb3JfZWFjaF9zZ3RfZG1hKGFkZHIsIGl0ZXIsIHN0 KQorCWZvcl9lYWNoX3NndF9kbWEoYWRkciwgaXRlciwgdm1hLT5wYWdlcykKIAkJaW93cml0ZTMy KHZtLT5wdGVfZW5jb2RlKGFkZHIsIGxldmVsLCBmbGFncyksICZlbnRyaWVzW2krK10pOwogCXdt YigpOwogCkBAIC0yMjI5LDggKzIyMjMsNyBAQCBzdGF0aWMgdm9pZCBieHRfdnRkX2dndHRfaW5z ZXJ0X3BhZ2VfX0JLTChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAogc3RydWN0IGlu c2VydF9lbnRyaWVzIHsKIAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bTsKLQlzdHJ1Y3Qg c2dfdGFibGUgKnN0OwotCXU2NCBzdGFydDsKKwlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAllbnVt IGk5MTVfY2FjaGVfbGV2ZWwgbGV2ZWw7CiB9OwogCkBAIC0yMjM4LDE5ICsyMjMxLDE4IEBAIHN0 YXRpYyBpbnQgYnh0X3Z0ZF9nZ3R0X2luc2VydF9lbnRyaWVzX19jYih2b2lkICpfYXJnKQogewog CXN0cnVjdCBpbnNlcnRfZW50cmllcyAqYXJnID0gX2FyZzsKIAotCWdlbjhfZ2d0dF9pbnNlcnRf ZW50cmllcyhhcmctPnZtLCBhcmctPnN0LCBhcmctPnN0YXJ0LCBhcmctPmxldmVsLCAwKTsKKwln ZW44X2dndHRfaW5zZXJ0X2VudHJpZXMoYXJnLT52bSwgYXJnLT52bWEsIGFyZy0+bGV2ZWwsIDAp OwogCWJ4dF92dGRfZ2d0dF93YShhcmctPnZtKTsKIAogCXJldHVybiAwOwogfQogCiBzdGF0aWMg dm9pZCBieHRfdnRkX2dndHRfaW5zZXJ0X2VudHJpZXNfX0JLTChzdHJ1Y3QgaTkxNV9hZGRyZXNz X3NwYWNlICp2bSwKLQkJCQkJICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnN0LAotCQkJCQkgICAgIHU2 NCBzdGFydCwKKwkJCQkJICAgICBzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAkJCQkJICAgICBlbnVt IGk5MTVfY2FjaGVfbGV2ZWwgbGV2ZWwsCiAJCQkJCSAgICAgdTMyIHVudXNlZCkKIHsKLQlzdHJ1 Y3QgaW5zZXJ0X2VudHJpZXMgYXJnID0geyB2bSwgc3QsIHN0YXJ0LCBsZXZlbCB9OworCXN0cnVj dCBpbnNlcnRfZW50cmllcyBhcmcgPSB7IHZtYS0+dm0sIHZtYSwgbGV2ZWwgfTsKIAogCXN0b3Bf bWFjaGluZShieHRfdnRkX2dndHRfaW5zZXJ0X2VudHJpZXNfX2NiLCAmYXJnLCBOVUxMKTsKIH0K QEAgLTIzMTYsMTUgKzIzMDgsMTUgQEAgc3RhdGljIHZvaWQgaTkxNV9nZ3R0X2luc2VydF9wYWdl KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogfQogCiBzdGF0aWMgdm9pZCBpOTE1X2dn dHRfaW5zZXJ0X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCi0JCQkJICAg ICBzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzLAotCQkJCSAgICAgdTY0IHN0YXJ0LAorCQkJCSAgICAg c3RydWN0IGk5MTVfdm1hICp2bWEsCiAJCQkJICAgICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgY2Fj aGVfbGV2ZWwsCiAJCQkJICAgICB1MzIgdW51c2VkKQogewogCXVuc2lnbmVkIGludCBmbGFncyA9 IChjYWNoZV9sZXZlbCA9PSBJOTE1X0NBQ0hFX05PTkUpID8KIAkJQUdQX1VTRVJfTUVNT1JZIDog QUdQX1VTRVJfQ0FDSEVEX01FTU9SWTsKIAotCWludGVsX2d0dF9pbnNlcnRfc2dfZW50cmllcyhw YWdlcywgc3RhcnQgPj4gUEFHRV9TSElGVCwgZmxhZ3MpOworCWludGVsX2d0dF9pbnNlcnRfc2df ZW50cmllcyh2bWEtPnBhZ2VzLCB2bWEtPm5vZGUuc3RhcnQgPj4gUEFHRV9TSElGVCwKKwkJCQkg ICAgZmxhZ3MpOwogfQogCiBzdGF0aWMgdm9pZCBpOTE1X2dndHRfY2xlYXJfcmFuZ2Uoc3RydWN0 IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCkBAIC0yMzUzLDggKzIzNDUsNyBAQCBzdGF0aWMgaW50 IGdndHRfYmluZF92bWEoc3RydWN0IGk5MTVfdm1hICp2bWEsCiAJCXB0ZV9mbGFncyB8PSBQVEVf UkVBRF9PTkxZOwogCiAJaW50ZWxfcnVudGltZV9wbV9nZXQoaTkxNSk7Ci0Jdm1hLT52bS0+aW5z ZXJ0X2VudHJpZXModm1hLT52bSwgdm1hLT5wYWdlcywgdm1hLT5ub2RlLnN0YXJ0LAotCQkJCWNh Y2hlX2xldmVsLCBwdGVfZmxhZ3MpOworCXZtYS0+dm0tPmluc2VydF9lbnRyaWVzKHZtYS0+dm0s IHZtYSwgY2FjaGVfbGV2ZWwsIHB0ZV9mbGFncyk7CiAJaW50ZWxfcnVudGltZV9wbV9wdXQoaTkx NSk7CiAKIAkvKgpAQCAtMjQwNywxNiArMjM5OCwxMyBAQCBzdGF0aWMgaW50IGFsaWFzaW5nX2d0 dF9iaW5kX3ZtYShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAkJCQlnb3RvIGVycl9wYWdlczsKIAkJ fQogCi0JCWFwcGd0dC0+YmFzZS5pbnNlcnRfZW50cmllcygmYXBwZ3R0LT5iYXNlLAotCQkJCQkg ICAgdm1hLT5wYWdlcywgdm1hLT5ub2RlLnN0YXJ0LAotCQkJCQkgICAgY2FjaGVfbGV2ZWwsIHB0 ZV9mbGFncyk7CisJCWFwcGd0dC0+YmFzZS5pbnNlcnRfZW50cmllcygmYXBwZ3R0LT5iYXNlLCB2 bWEsIGNhY2hlX2xldmVsLAorCQkJCQkgICAgcHRlX2ZsYWdzKTsKIAl9CiAKIAlpZiAoZmxhZ3Mg JiBJOTE1X1ZNQV9HTE9CQUxfQklORCkgewogCQlpbnRlbF9ydW50aW1lX3BtX2dldChpOTE1KTsK LQkJdm1hLT52bS0+aW5zZXJ0X2VudHJpZXModm1hLT52bSwKLQkJCQkJdm1hLT5wYWdlcywgdm1h LT5ub2RlLnN0YXJ0LAotCQkJCQljYWNoZV9sZXZlbCwgcHRlX2ZsYWdzKTsKKwkJdm1hLT52bS0+ aW5zZXJ0X2VudHJpZXModm1hLT52bSwgdm1hLCBjYWNoZV9sZXZlbCwgcHRlX2ZsYWdzKTsKIAkJ aW50ZWxfcnVudGltZV9wbV9wdXQoaTkxNSk7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5oCmluZGV4IGU5YzQyOGQ3MTFhYS4uNGMyZjdkN2MxZTdkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuaApAQCAtMzE5LDggKzMxOSw3IEBAIHN0cnVjdCBpOTE1X2FkZHJlc3Nf c3BhY2UgewogCQkJICAgIGVudW0gaTkxNV9jYWNoZV9sZXZlbCBjYWNoZV9sZXZlbCwKIAkJCSAg ICB1MzIgZmxhZ3MpOwogCXZvaWQgKCppbnNlcnRfZW50cmllcykoc3RydWN0IGk5MTVfYWRkcmVz c19zcGFjZSAqdm0sCi0JCQkgICAgICAgc3RydWN0IHNnX3RhYmxlICpzdCwKLQkJCSAgICAgICB1 NjQgc3RhcnQsCisJCQkgICAgICAgc3RydWN0IGk5MTVfdm1hICp2bWEsCiAJCQkgICAgICAgZW51 bSBpOTE1X2NhY2hlX2xldmVsIGNhY2hlX2xldmVsLAogCQkJICAgICAgIHUzMiBmbGFncyk7CiAJ dm9pZCAoKmNsZWFudXApKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYwppbmRleCA3NGZkYjg0ZjY4 NDMuLjBlMWRlZDQyMzlmOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p OTE1X2dlbV9ndHQuYwpAQCAtMTk4LDYgKzE5OCw5IEBAIHN0YXRpYyBpbnQgbG93bGV2ZWxfaG9s ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIHsKIAlJOTE1X1JORF9TVEFURShzZWVk X3BybmcpOwogCXVuc2lnbmVkIGludCBzaXplOworCXN0cnVjdCBpOTE1X3ZtYSBtb2NrX3ZtYTsK KworCW1lbXNldCgmbW9ja192bWEsIDAsIHNpemVvZihzdHJ1Y3QgaTkxNV92bWEpKTsKIAogCS8q IEtlZXAgY3JlYXRpbmcgbGFyZ2VyIG9iamVjdHMgdW50aWwgb25lIGNhbm5vdCBmaXQgaW50byB0 aGUgaG9sZSAqLwogCWZvciAoc2l6ZSA9IDEyOyAoaG9sZV9lbmQgLSBob2xlX3N0YXJ0KSA+PiBz aXplOyBzaXplKyspIHsKQEAgLTI1Niw4ICsyNTksMTEgQEAgc3RhdGljIGludCBsb3dsZXZlbF9o b2xlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJICAgIHZtLT5hbGxvY2F0ZV92 YV9yYW5nZSh2bSwgYWRkciwgQklUX1VMTChzaXplKSkpCiAJCQkJYnJlYWs7CiAKLQkJCXZtLT5p bnNlcnRfZW50cmllcyh2bSwgb2JqLT5tbS5wYWdlcywgYWRkciwKLQkJCQkJICAgSTkxNV9DQUNI RV9OT05FLCAwKTsKKwkJCW1vY2tfdm1hLnBhZ2VzID0gb2JqLT5tbS5wYWdlczsKKwkJCW1vY2tf dm1hLm5vZGUuc2l6ZSA9IEJJVF9VTEwoc2l6ZSk7CisJCQltb2NrX3ZtYS5ub2RlLnN0YXJ0ID0g YWRkcjsKKworCQkJdm0tPmluc2VydF9lbnRyaWVzKHZtLCAmbW9ja192bWEsIEk5MTVfQ0FDSEVf Tk9ORSwgMCk7CiAJCX0KIAkJY291bnQgPSBuOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvbW9ja19ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9tb2NrX2d0dC5jCmluZGV4IGE2MTMwOWM3Y2IzZS4uZjIxMThjZjUzNWEwIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19ndHQuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19ndHQuYwpAQCAtMzMsOCArMzMsNyBAQCBz dGF0aWMgdm9pZCBtb2NrX2luc2VydF9wYWdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZt LAogfQogCiBzdGF0aWMgdm9pZCBtb2NrX2luc2VydF9lbnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgKnZtLAotCQkJCXN0cnVjdCBzZ190YWJsZSAqc3QsCi0JCQkJdTY0IHN0YXJ0LAor CQkJCXN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCQkJCWVudW0gaTkxNV9jYWNoZV9sZXZlbCBsZXZl bCwgdTMyIGZsYWdzKQogewogfQotLSAKMi45LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=