From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 6/6] drm/i915: Lazily unbind vma on close Date: Mon, 23 Apr 2018 11:14:00 +0100 Message-ID: <20180423101400.27418-6-chris@chris-wilson.co.uk> References: <20180423101400.27418-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 057B46E185 for ; Mon, 23 Apr 2018 10:14:36 +0000 (UTC) In-Reply-To: <20180423101400.27418-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 V2hlbiB1c2Vyc3BhY2UgaXMgcGFzc2luZyBhcm91bmQgc3dhcGJ1ZmZlcnMgdXNpbmcgRFJJLCB3 ZSBmcmVxdWVudGx5CmhhdmUgdG8gb3BlbiBhbmQgY2xvc2UgdGhlIHNhbWUgb2JqZWN0IGluIHRo ZSBmb3JlaWduIGFkZHJlc3Mgc3BhY2UuClRoaXMgc2hvd3MgaXRzZWxmIGFzIHRoZSBzYW1lIG9i amVjdCBiZWluZyByZWJvdW5kIGF0IHJvdWdobHkgMzBmcHMKKHdpdGggYSBzZWNvbmQgb2JqZWN0 IGFsc28gYmVpbmcgcmVib3VuZCBhdCAzMGZwcyksIHdoaWNoIGludm9sdmVzIHVzCmhhdmluZyB0 byByZXdyaXRlIHRoZSBwYWdlIHRhYmxlcyBhbmQgbWFpbnRhaW4gdGhlIGRybV9tbSByYW5nZSBt YW5hZ2VyCmV2ZXJ5IHRpbWUuCgpIb3dldmVyLCBzaW5jZSB0aGUgb2JqZWN0IHN0aWxsIGV4aXN0 cyBhbmQgaXQgaXMgb25seSB0aGUgbG9jYWwgaGFuZGxlCnRoYXQgZGlzYXBwZWFycywgaWYgd2Ug YXJlIGxhenkgYW5kIGRvIG5vdCB1bmJpbmQgdGhlIFZNQSBpbW1lZGlhdGVseQp3aGVuIHRoZSBs b2NhbCB1c2VyIGNsb3NlcyB0aGUgb2JqZWN0IGJ1dCBkZWZlciBpdCB1bnRpbCB0aGUgR1BVIGlz CmlkbGUsIHRoZW4gd2UgY2FuIHJldXNlIHRoZSBzYW1lIFZNQSBiaW5kaW5nLiBXZSBzdGlsbCBo YXZlIHRvIGJlCmNhcmVmdWwgdG8gbWFyayB0aGUgaGFuZGxlIGFuZCBsb29rdXAgdGFibGVzIGFz IGNsb3NlZCB0byBtYWludGFpbiB0aGUKdUFCSSwganVzdCBhbGxvd2luZyB0aGUgdW5kZXJseWlu ZyBWTUEgdG8gYmUgcmVzdXJyZWN0ZWQgaWYgdGhlIHVzZXIgaXMKYWJsZSB0byBhY2Nlc3MgdGhl IHNhbWUgb2JqZWN0IGZyb20gdGhlIHNhbWUgY29udGV4dCBhZ2Fpbi4KCklmIHRoZSBvYmplY3Qg aXRzZWxmIGlzIGRlc3Ryb3llZCAobmVpdGhlciB1c2Vyc3BhY2Uga2VlcGluZyBhIGhhbmRsZSB0 bwppdCksIHRoZSBWTUEgd2lsbCBiZSByZWFwZWQgaW1tZWRpYXRlbHkgYXMgdXN1YWwuCgpJbiB0 aGUgZnV0dXJlLCB0aGlzIHdpbGwgYmUgZXZlbiBtb3JlIHVzZWZ1bCBhcyBpbnN0YW50aWF0aW5n IGEgbmV3IFZNQQpmb3IgdXNlIG9uIHRoZSBHUFUgd2lsbCBiZWNvbWUgaGVhdmllci4gQSBudWlz YW5jZSBpbmRlZWQsIHNvIG5pcCBpdCBpbgp0aGUgYnVkLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZy dGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg ICAgICAgICAgICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVj YnVmZmVyLmMgICAgfCAgNSArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j ICAgICAgICAgICB8IDE0ICsrKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmMg ICAgICAgICAgICAgICB8IDM5ICsrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfdm1hLmggICAgICAgICAgICAgICB8ICA1ICsrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyAgIHwgIDIgKy0KIC4uLi9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jICB8ICAxICsKIDggZmlsZXMgY2hhbmdlZCwgNTEgaW5z ZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXgg ODljYjc0YzMwYTAwLi5iMmY3OGRhOWJjM2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAt MjA2MCw2ICsyMDYwLDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCiAJCXN0cnVjdCBs aXN0X2hlYWQgdGltZWxpbmVzOwogCQlzdHJ1Y3QgbGlzdF9oZWFkIGxpdmVfcmluZ3M7CisJCXN0 cnVjdCBsaXN0X2hlYWQgY2xvc2VkX3ZtYTsKIAkJdTMyIGFjdGl2ZV9yZXF1ZXN0czsKIAogCQkv KioKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGYwNzU1NjY5M2NmZS4uNGZiN2Q0NWI1YjVk IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTE2NSw2ICsxNjUsNyBAQCBzdGF0aWMgdTMy IF9faTkxNV9nZW1fcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlpOTE1X3Rp bWVsaW5lc19wYXJrKGk5MTUpOwogCiAJaTkxNV9wbXVfZ3RfcGFya2VkKGk5MTUpOworCWk5MTVf dm1hX3BhcmtlZChpOTE1KTsKIAogCWk5MTUtPmd0LmF3YWtlID0gZmFsc2U7CiAKQEAgLTQ3OTIs NyArNDc5Myw3IEBAIHN0YXRpYyB2b2lkIF9faTkxNV9nZW1fZnJlZV9vYmplY3RzKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJCQkgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7 CiAJCQlHRU1fQlVHX09OKGk5MTVfdm1hX2lzX2FjdGl2ZSh2bWEpKTsKIAkJCXZtYS0+ZmxhZ3Mg Jj0gfkk5MTVfVk1BX1BJTl9NQVNLOwotCQkJaTkxNV92bWFfY2xvc2Uodm1hKTsKKwkJCV9faTkx NV92bWFfZmluYWxfY2xvc2Uodm1hKTsKIAkJfQogCQlHRU1fQlVHX09OKCFsaXN0X2VtcHR5KCZv YmotPnZtYV9saXN0KSk7CiAJCUdFTV9CVUdfT04oIVJCX0VNUFRZX1JPT1QoJm9iai0+dm1hX3Ry ZWUpKTsKQEAgLTU1OTUsNiArNTU5Niw3IEBAIGludCBpOTE1X2dlbV9pbml0X2Vhcmx5KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCUlOSVRfTElTVF9IRUFEKCZkZXZfcHJp di0+Z3QubGl2ZV9yaW5ncyk7CiAJSU5JVF9MSVNUX0hFQUQoJmRldl9wcml2LT5ndC50aW1lbGlu ZXMpOworCUlOSVRfTElTVF9IRUFEKCZkZXZfcHJpdi0+Z3QuY2xvc2VkX3ZtYSk7CiAKIAlpOTE1 X2dlbV9pbml0X19tbShkZXZfcHJpdik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYwppbmRleCBjNzRmNWRmM2ZiNWEuLmU1YjgzNzFlMzBkZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtNzY4LDYgKzc2OCwxMSBA QCBzdGF0aWMgaW50IGViX2xvb2t1cF92bWFzKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXIgKmViKQog CQlsdXQtPmN0eCA9IGViLT5jdHg7CiAJCWx1dC0+aGFuZGxlID0gaGFuZGxlOwogCisJCWlmICh2 bWEtPmZsYWdzICYgSTkxNV9WTUFfQ0xPU0VEKSB7CisJCQl2bWEtPmZsYWdzICY9IH5JOTE1X1ZN QV9DTE9TRUQ7CisJCQlsaXN0X2RlbCgmdm1hLT5jbG9zZWRfbGluayk7CisJCX0KKwogYWRkX3Zt YToKIAkJZXJyID0gZWJfYWRkX3ZtYShlYiwgaSwgdm1hKTsKIAkJaWYgKHVubGlrZWx5KGVycikp CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IGU5ZDgyODMyNGY2Ny4uYzE1ODdk ODNmZDE5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtMjIxOCw2ICsyMjE4 LDEyIEBAIGk5MTVfcHBndHRfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKIH0KIAogdm9pZCBpOTE1X3BwZ3R0X2Nsb3NlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtKQoreworCUdFTV9CVUdfT04odm0tPmNsb3NlZCk7CisJdm0tPmNsb3NlZCA9IHRydWU7Cit9 CisKK3N0YXRpYyB2b2lkIHBwZ3R0X2Nsb3NlX3ZtYShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICp2bSkKIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkICpwaGFzZXNbXSA9IHsKIAkJJnZtLT5hY3RpdmVf bGlzdCwKQEAgLTIyMjYsMTUgKzIyMzIsMTIgQEAgdm9pZCBpOTE1X3BwZ3R0X2Nsb3NlKHN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQogCQlOVUxMLAogCX0sICoqcGhhc2U7CiAKLQlHRU1f QlVHX09OKHZtLT5jbG9zZWQpOwogCXZtLT5jbG9zZWQgPSB0cnVlOwotCiAJZm9yIChwaGFzZSA9 IHBoYXNlczsgKnBoYXNlOyBwaGFzZSsrKSB7CiAJCXN0cnVjdCBpOTE1X3ZtYSAqdm1hLCAqdm47 CiAKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZtYSwgdm4sICpwaGFzZSwgdm1fbGluaykK LQkJCWlmICghaTkxNV92bWFfaXNfY2xvc2VkKHZtYSkpCi0JCQkJaTkxNV92bWFfY2xvc2Uodm1h KTsKKwkJCV9faTkxNV92bWFfZmluYWxfY2xvc2Uodm1hKTsKIAl9CiB9CiAKQEAgLTIyNDUsNyAr MjI0OCw4IEBAIHZvaWQgaTkxNV9wcGd0dF9yZWxlYXNlKHN0cnVjdCBrcmVmICprcmVmKQogCiAJ dHJhY2VfaTkxNV9wcGd0dF9yZWxlYXNlKCZwcGd0dC0+YmFzZSk7CiAKLQkvKiB2bWFzIHNob3Vs ZCBhbHJlYWR5IGJlIHVuYm91bmQgYW5kIGRlc3Ryb3llZCAqLworCXBwZ3R0X2Nsb3NlX3ZtYSgm cHBndHQtPmJhc2UpOworCiAJR0VNX0JVR19PTighbGlzdF9lbXB0eSgmcHBndHQtPmJhc2UuYWN0 aXZlX2xpc3QpKTsKIAlHRU1fQlVHX09OKCFsaXN0X2VtcHR5KCZwcGd0dC0+YmFzZS5pbmFjdGl2 ZV9saXN0KSk7CiAJR0VNX0JVR19PTighbGlzdF9lbXB0eSgmcHBndHQtPmJhc2UudW5ib3VuZF9s aXN0KSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYwppbmRleCA0YmRhM2JkMjliZjUuLjU3NDRmNDQw OWYwOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5jCkBAIC00Niw4ICs0Niw2IEBAIGk5MTVfdm1h X3JldGlyZShzdHJ1Y3QgaTkxNV9nZW1fYWN0aXZlICphY3RpdmUsIHN0cnVjdCBpOTE1X3JlcXVl c3QgKnJxKQogCiAJR0VNX0JVR19PTighZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUp KTsKIAlsaXN0X21vdmVfdGFpbCgmdm1hLT52bV9saW5rLCAmdm1hLT52bS0+aW5hY3RpdmVfbGlz dCk7Ci0JaWYgKHVubGlrZWx5KGk5MTVfdm1hX2lzX2Nsb3NlZCh2bWEpICYmICFpOTE1X3ZtYV9p c19waW5uZWQodm1hKSkpCi0JCVdBUk5fT04oaTkxNV92bWFfdW5iaW5kKHZtYSkpOwogCiAJR0VN X0JVR19PTighaTkxNV9nZW1fb2JqZWN0X2lzX2FjdGl2ZShvYmopKTsKIAlpZiAoLS1vYmotPmFj dGl2ZV9jb3VudCkKQEAgLTIzMiw3ICsyMzAsNiBAQCBpOTE1X3ZtYV9pbnN0YW5jZShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCWlmICghdm1hKQogCQl2bWEgPSB2bWFfY3JlYXRl KG9iaiwgdm0sIHZpZXcpOwogCi0JR0VNX0JVR19PTighSVNfRVJSKHZtYSkgJiYgaTkxNV92bWFf aXNfY2xvc2VkKHZtYSkpOwogCUdFTV9CVUdfT04oIUlTX0VSUih2bWEpICYmIGk5MTVfdm1hX2Nv bXBhcmUodm1hLCB2bSwgdmlldykpOwogCUdFTV9CVUdfT04oIUlTX0VSUih2bWEpICYmIHZtYV9s b29rdXAob2JqLCB2bSwgdmlldykgIT0gdm1hKTsKIAlyZXR1cm4gdm1hOwpAQCAtNjg5LDggKzY4 Niw2IEBAIHN0YXRpYyB2b2lkIGk5MTVfdm1hX2Rlc3Ryb3koc3RydWN0IGk5MTVfdm1hICp2bWEp CiAJaW50IGk7CiAKIAlHRU1fQlVHX09OKHZtYS0+bm9kZS5hbGxvY2F0ZWQpOwotCUdFTV9CVUdf T04oaTkxNV92bWFfaXNfYWN0aXZlKHZtYSkpOwotCUdFTV9CVUdfT04oIWk5MTVfdm1hX2lzX2Ns b3NlZCh2bWEpKTsKIAlHRU1fQlVHX09OKHZtYS0+ZmVuY2UpOwogCiAJZm9yIChpID0gMDsgaSA8 IEFSUkFZX1NJWkUodm1hLT5sYXN0X3JlYWQpOyBpKyspCkBAIC02OTksNiArNjk0LDcgQEAgc3Rh dGljIHZvaWQgaTkxNV92bWFfZGVzdHJveShzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIAogCWxpc3Rf ZGVsKCZ2bWEtPm9ial9saW5rKTsKIAlsaXN0X2RlbCgmdm1hLT52bV9saW5rKTsKKwlyYl9lcmFz ZSgmdm1hLT5vYmpfbm9kZSwgJnZtYS0+b2JqLT52bWFfdHJlZSk7CiAKIAlpZiAoIWk5MTVfdm1h X2lzX2dndHQodm1hKSkKIAkJaTkxNV9wcGd0dF9wdXQoaTkxNV92bV90b19wcGd0dCh2bWEtPnZt KSk7CkBAIC03MDgsMTMgKzcwNCwzNCBAQCBzdGF0aWMgdm9pZCBpOTE1X3ZtYV9kZXN0cm95KHN0 cnVjdCBpOTE1X3ZtYSAqdm1hKQogCiB2b2lkIGk5MTVfdm1hX2Nsb3NlKHN0cnVjdCBpOTE1X3Zt YSAqdm1hKQogeworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJnZtYS0+dm0tPmk5MTUtPmRybS5zdHJ1 Y3RfbXV0ZXgpOworCiAJR0VNX0JVR19PTihpOTE1X3ZtYV9pc19jbG9zZWQodm1hKSk7CiAJdm1h LT5mbGFncyB8PSBJOTE1X1ZNQV9DTE9TRUQ7CiAKLQlyYl9lcmFzZSgmdm1hLT5vYmpfbm9kZSwg JnZtYS0+b2JqLT52bWFfdHJlZSk7CisJbGlzdF9hZGRfdGFpbCgmdm1hLT5jbG9zZWRfbGluaywg JnZtYS0+dm0tPmk5MTUtPmd0LmNsb3NlZF92bWEpOworfQogCi0JaWYgKCFpOTE1X3ZtYV9pc19h Y3RpdmUodm1hKSAmJiAhaTkxNV92bWFfaXNfcGlubmVkKHZtYSkpCi0JCVdBUk5fT04oaTkxNV92 bWFfdW5iaW5kKHZtYSkpOwordm9pZCBfX2k5MTVfdm1hX2ZpbmFsX2Nsb3NlKHN0cnVjdCBpOTE1 X3ZtYSAqdm1hKQoreworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJnZtYS0+dm0tPmk5MTUtPmRybS5z dHJ1Y3RfbXV0ZXgpOworCisJR0VNX0JVR19PTihpOTE1X3ZtYV9pc19hY3RpdmUodm1hKSk7CisJ R0VNX0JVR19PTihpOTE1X3ZtYV9pc19waW5uZWQodm1hKSk7CisKKwlpZiAoaTkxNV92bWFfaXNf Y2xvc2VkKHZtYSkpCisJCWxpc3RfZGVsKCZ2bWEtPmNsb3NlZF9saW5rKTsKKworCVdBUk5fT04o aTkxNV92bWFfdW5iaW5kKHZtYSkpOworCWk5MTVfdm1hX2Rlc3Ryb3kodm1hKTsKK30KKwordm9p ZCBpOTE1X3ZtYV9wYXJrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJc3Ry dWN0IGk5MTVfdm1hICp2bWEsICpuZXh0OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZt YSwgbmV4dCwgJmk5MTUtPmd0LmNsb3NlZF92bWEsIGNsb3NlZF9saW5rKQorCQlfX2k5MTVfdm1h X2ZpbmFsX2Nsb3NlKHZtYSk7CiB9CiAKIHN0YXRpYyB2b2lkIF9faTkxNV92bWFfaW91bm1hcChz dHJ1Y3QgaTkxNV92bWEgKnZtYSkKQEAgLTgwNCw3ICs4MjEsNyBAQCBpbnQgaTkxNV92bWFfdW5i aW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogCQlyZXR1cm4gLUVCVVNZOwogCiAJaWYgKCFkcm1f bW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpCi0JCWdvdG8gZGVzdHJveTsKKwkJcmV0dXJu IDA7CiAKIAlHRU1fQlVHX09OKG9iai0+YmluZF9jb3VudCA9PSAwKTsKIAlHRU1fQlVHX09OKCFp OTE1X2dlbV9vYmplY3RfaGFzX3Bpbm5lZF9wYWdlcyhvYmopKTsKQEAgLTg0MSwxMCArODU4LDYg QEAgaW50IGk5MTVfdm1hX3VuYmluZChzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIAogCWk5MTVfdm1h X3JlbW92ZSh2bWEpOwogCi1kZXN0cm95OgotCWlmICh1bmxpa2VseShpOTE1X3ZtYV9pc19jbG9z ZWQodm1hKSkpCi0JCWk5MTVfdm1hX2Rlc3Ryb3kodm1hKTsKLQogCXJldHVybiAwOwogfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZtYS5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92bWEuaAppbmRleCA4YzUwMjIwOTU0MTguLjBhOTc5MDU1NWQ4NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3ZtYS5oCkBAIC0xMTksNiArMTE5LDggQEAgc3RydWN0IGk5MTVfdm1h IHsKIAkvKiogVGhpcyB2bWEncyBwbGFjZSBpbiB0aGUgZXZpY3Rpb24gbGlzdCAqLwogCXN0cnVj dCBsaXN0X2hlYWQgZXZpY3RfbGluazsKIAorCXN0cnVjdCBsaXN0X2hlYWQgY2xvc2VkX2xpbms7 CisKIAkvKioKIAkgKiBVc2VkIGZvciBwZXJmb3JtaW5nIHJlbG9jYXRpb25zIGR1cmluZyBleGVj YnVmZmVyIGluc2VydGlvbi4KIAkgKi8KQEAgLTI4NSw2ICsyODcsNyBAQCB2b2lkIGk5MTVfdm1h X3Jldm9rZV9tbWFwKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKTsKIGludCBfX211c3RfY2hlY2sgaTkx NV92bWFfdW5iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKTsKIHZvaWQgaTkxNV92bWFfdW5saW5r X2N0eChzdHJ1Y3QgaTkxNV92bWEgKnZtYSk7CiB2b2lkIGk5MTVfdm1hX2Nsb3NlKHN0cnVjdCBp OTE1X3ZtYSAqdm1hKTsKK3ZvaWQgX19pOTE1X3ZtYV9maW5hbF9jbG9zZShzdHJ1Y3QgaTkxNV92 bWEgKnZtYSk7CiAKIGludCBfX2k5MTVfdm1hX2RvX3BpbihzdHJ1Y3QgaTkxNV92bWEgKnZtYSwK IAkJICAgICAgdTY0IHNpemUsIHU2NCBhbGlnbm1lbnQsIHU2NCBmbGFncyk7CkBAIC00MDgsNiAr NDExLDggQEAgaTkxNV92bWFfdW5waW5fZmVuY2Uoc3RydWN0IGk5MTVfdm1hICp2bWEpCiAJCV9f aTkxNV92bWFfdW5waW5fZmVuY2Uodm1hKTsKIH0KIAordm9pZCBpOTE1X3ZtYV9wYXJrZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOworCiAjZGVmaW5lIGZvcl9lYWNoX3VudGlsKGNv bmQpIGlmIChjb25kKSBicmVhazsgZWxzZQogCiAvKioKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaHVnZV9wYWdlcy5jCmluZGV4IDA1YmJlZjM2M2ZmZi4uOGZiMGI5ZjQzNGM5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKQEAgLTEwOTEs NyArMTA5MSw3IEBAIHN0YXRpYyBpbnQgX19pZ3Rfd3JpdGVfaHVnZShzdHJ1Y3QgaTkxNV9nZW1f Y29udGV4dCAqY3R4LAogb3V0X3ZtYV91bnBpbjoKIAlpOTE1X3ZtYV91bnBpbih2bWEpOwogb3V0 X3ZtYV9jbG9zZToKLQlpOTE1X3ZtYV9jbG9zZSh2bWEpOworCV9faTkxNV92bWFfZmluYWxfY2xv c2Uodm1hKTsKIAogCXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKaW5kZXggYWI2Y2QwZTE2ZDliLi5jNTBkOWZlNzY0 NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9k ZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2 aWNlLmMKQEAgLTIyNiw2ICsyMjYsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqbW9ja19n ZW1fZGV2aWNlKHZvaWQpCiAKIAlJTklUX0xJU1RfSEVBRCgmaTkxNS0+Z3QubGl2ZV9yaW5ncyk7 CiAJSU5JVF9MSVNUX0hFQUQoJmk5MTUtPmd0LnRpbWVsaW5lcyk7CisJSU5JVF9MSVNUX0hFQUQo Jmk5MTUtPmd0LmNsb3NlZF92bWEpOwogCiAJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9t dXRleCk7CiAJbW9ja19pbml0X2dndHQoaTkxNSk7Ci0tIAoyLjE3LjAKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=