From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 03/38] drm/i915: Always use the GTT for error capture Date: Tue, 20 Sep 2016 09:29:37 +0100 Message-ID: <20160920083012.2754-4-chris@chris-wilson.co.uk> References: <20160920083012.2754-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 mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 358386E678 for ; Tue, 20 Sep 2016 08:30:23 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id b184so2071197wma.3 for ; Tue, 20 Sep 2016 01:30:23 -0700 (PDT) In-Reply-To: <20160920083012.2754-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 Cc: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org U2luY2UgdGhlIEdUVCBwcm92aWRlcyB1bml2ZXJzYWwgYWNjZXNzIHRvIGFueSBHUFUgcGFnZSwg d2UgY2FuIHVzZSBpdAp0byByZWR1Y2Ugb3VyIHBsZXRob3JhIG9mIHJlYWQgbWV0aG9kcyB0byBq dXN0IG9uZS4gSXQgYWxzbyBoYXMgdGhlCmltcG9ydGFudCBjaGFyYWN0ZXJpc3RpYyBvZiBiZWlu ZyBleGFjdGx5IHdoYXQgdGhlIEdQVSBzZWVzIC0gaWYgdGhlcmUKYXJlIGluY29oZXJlbmN5IHBy b2JsZW1zLCBzZWVpbmcgdGhlIGJhdGNoIGFzIGV4ZWN1dGVkIChyYXRoZXIgdGhhbiBhcwp0cmFw cGVkIGluc2lkZSB0aGUgY3B1IGNhY2hlKSBpcyBpbXBvcnRhbnQuCgpTaWduZWQtb2ZmLWJ5OiBD aHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgIHwgIDQzICsrKysrKysrLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggICB8ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dwdV9lcnJvci5jIHwgMTIxICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDMgZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgOTIgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCAwYmI0MjMyZjY2YmMuLjc5MDZmYzNhYTQ4 OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTI3MTcsNiArMjcxNyw3IEBA IGludCBpOTE1X2dlbV9pbml0X2dndHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogCSAqLwogCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmZGV2X3ByaXYtPmdndHQ7CiAJdW5z aWduZWQgbG9uZyBob2xlX3N0YXJ0LCBob2xlX2VuZDsKKwlzdHJ1Y3QgaTkxNV9od19wcGd0dCAq cHBndHQ7CiAJc3RydWN0IGRybV9tbV9ub2RlICplbnRyeTsKIAlpbnQgcmV0OwogCkBAIC0yNzI0 LDYgKzI3MjUsMTUgQEAgaW50IGk5MTVfZ2VtX2luaXRfZ2d0dChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAorCS8qIFJlc2VydmUg YSBtYXBwYWJsZSBzbG90IGZvciBvdXIgbG9ja2xlc3MgZXJyb3IgY2FwdHVyZSAqLworCXJldCA9 IGRybV9tbV9pbnNlcnRfbm9kZV9pbl9yYW5nZV9nZW5lcmljKCZnZ3R0LT5iYXNlLm1tLAorCQkJ CQkJICAmZ2d0dC0+Z3B1X2Vycm9yLAorCQkJCQkJICA0MDk2LCAwLCAtMSwKKwkJCQkJCSAgMCwg Z2d0dC0+bWFwcGFibGVfZW5kLAorCQkJCQkJICAwLCAwKTsKKwlpZiAocmV0KQorCQlyZXR1cm4g cmV0OworCiAJLyogQ2xlYXIgYW55IG5vbi1wcmVhbGxvY2F0ZWQgYmxvY2tzICovCiAJZHJtX21t X2Zvcl9lYWNoX2hvbGUoZW50cnksICZnZ3R0LT5iYXNlLm1tLCBob2xlX3N0YXJ0LCBob2xlX2Vu ZCkgewogCQlEUk1fREVCVUdfS01TKCJjbGVhcmluZyB1bnVzZWQgR1RUIHNwYWNlOiBbJWx4LCAl bHhdXG4iLApAQCAtMjczOCwyNSArMjc0OCwyMSBAQCBpbnQgaTkxNV9nZW1faW5pdF9nZ3R0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJCSAgICAgICB0cnVlKTsKIAogCWlm IChVU0VTX1BQR1RUKGRldl9wcml2KSAmJiAhVVNFU19GVUxMX1BQR1RUKGRldl9wcml2KSkgewot CQlzdHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQ7Ci0KIAkJcHBndHQgPSBremFsbG9jKHNpemVv ZigqcHBndHQpLCBHRlBfS0VSTkVMKTsKLQkJaWYgKCFwcGd0dCkKLQkJCXJldHVybiAtRU5PTUVN OworCQlpZiAoIXBwZ3R0KSB7CisJCQlyZXQgPSAtRU5PTUVNOworCQkJZ290byBlcnI7CisJCX0K IAogCQlyZXQgPSBfX2h3X3BwZ3R0X2luaXQocHBndHQsIGRldl9wcml2KTsKLQkJaWYgKHJldCkg ewotCQkJa2ZyZWUocHBndHQpOwotCQkJcmV0dXJuIHJldDsKLQkJfQorCQlpZiAocmV0KQorCQkJ Z290byBlcnJfcHBndHQ7CiAKLQkJaWYgKHBwZ3R0LT5iYXNlLmFsbG9jYXRlX3ZhX3JhbmdlKQor CQlpZiAocHBndHQtPmJhc2UuYWxsb2NhdGVfdmFfcmFuZ2UpIHsKIAkJCXJldCA9IHBwZ3R0LT5i YXNlLmFsbG9jYXRlX3ZhX3JhbmdlKCZwcGd0dC0+YmFzZSwgMCwKIAkJCQkJCQkgICAgcHBndHQt PmJhc2UudG90YWwpOwotCQlpZiAocmV0KSB7Ci0JCQlwcGd0dC0+YmFzZS5jbGVhbnVwKCZwcGd0 dC0+YmFzZSk7Ci0JCQlrZnJlZShwcGd0dCk7Ci0JCQlyZXR1cm4gcmV0OworCQkJaWYgKHJldCkK KwkJCQlnb3RvIGVycl9wcGd0dF9jbGVhbnVwOwogCQl9CiAKIAkJcHBndHQtPmJhc2UuY2xlYXJf cmFuZ2UoJnBwZ3R0LT5iYXNlLApAQCAtMjc3MCw2ICsyNzc2LDE0IEBAIGludCBpOTE1X2dlbV9p bml0X2dndHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCX0KIAogCXJldHVy biAwOworCitlcnJfcHBndHRfY2xlYW51cDoKKwlwcGd0dC0+YmFzZS5jbGVhbnVwKCZwcGd0dC0+ YmFzZSk7CitlcnJfcHBndHQ6CisJa2ZyZWUocHBndHQpOworZXJyOgorCWRybV9tbV9yZW1vdmVf bm9kZSgmZ2d0dC0+Z3B1X2Vycm9yKTsKKwlyZXR1cm4gcmV0OwogfQogCiAvKioKQEAgLTI3ODgs NiArMjgwMiw5IEBAIHZvaWQgaTkxNV9nZ3R0X2NsZWFudXBfaHcoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCiAJaTkxNV9nZW1fY2xlYW51cF9zdG9sZW4oJmRldl9wcml2LT5k cm0pOwogCisJaWYgKGRybV9tbV9ub2RlX2FsbG9jYXRlZCgmZ2d0dC0+Z3B1X2Vycm9yKSkKKwkJ ZHJtX21tX3JlbW92ZV9ub2RlKCZnZ3R0LT5ncHVfZXJyb3IpOworCiAJaWYgKGRybV9tbV9pbml0 aWFsaXplZCgmZ2d0dC0+YmFzZS5tbSkpIHsKIAkJaW50ZWxfdmd0X2RlYmFsbG9vbihkZXZfcHJp dik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKaW5kZXggZWM3OGJlMmY4Yzc3Li5h OTA5OTlmZTJlNTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBAIC00NTAsNiAr NDUwLDggQEAgc3RydWN0IGk5MTVfZ2d0dCB7CiAJYm9vbCBkb19pZGxlX21hcHM7CiAKIAlpbnQg bXRycjsKKworCXN0cnVjdCBkcm1fbW1fbm9kZSBncHVfZXJyb3I7CiB9OwogCiBzdHJ1Y3QgaTkx NV9od19wcGd0dCB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9l cnJvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwppbmRleCAxM2Fk ODZlMTE2OTUuLjgyYTkyOGIwYjJmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ncHVfZXJyb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJv ci5jCkBAIC02MzIsNyArNjMyLDcgQEAgc3RhdGljIHZvaWQgaTkxNV9lcnJvcl9vYmplY3RfZnJl ZShzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfb2JqZWN0ICpvYmopCiAJCXJldHVybjsKIAogCWZvciAo cGFnZSA9IDA7IHBhZ2UgPCBvYmotPnBhZ2VfY291bnQ7IHBhZ2UrKykKLQkJa2ZyZWUob2JqLT5w YWdlc1twYWdlXSk7CisJCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZylvYmotPnBhZ2VzW3BhZ2Vd KTsKIAogCWtmcmVlKG9iaik7CiB9CkBAIC02NjksOTggKzY2OSw2OCBAQCBzdGF0aWMgdm9pZCBp OTE1X2Vycm9yX3N0YXRlX2ZyZWUoc3RydWN0IGtyZWYgKmVycm9yX3JlZikKIAlrZnJlZShlcnJv cik7CiB9CiAKK3N0YXRpYyBpbnQgY29tcHJlc3NfcGFnZSh2b2lkICpzcmMsIHN0cnVjdCBkcm1f aTkxNV9lcnJvcl9vYmplY3QgKmRzdCkKK3sKKwl1bnNpZ25lZCBsb25nIHBhZ2U7CisKKwlwYWdl ID0gX19nZXRfZnJlZV9wYWdlKEdGUF9BVE9NSUMgfCBfX0dGUF9OT1dBUk4pOworCWlmICghcGFn ZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlkc3QtPnBhZ2VzW2RzdC0+cGFnZV9jb3VudCsrXSA9 ICh2b2lkICopcGFnZTsKKworCW1lbWNweSgodm9pZCAqKXBhZ2UsIHNyYywgUEFHRV9TSVpFKTsK KwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHN0cnVjdCBkcm1faTkxNV9lcnJvcl9vYmplY3QgKgot aTkxNV9lcnJvcl9vYmplY3RfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKK2k5MTVfZXJyb3Jfb2JqZWN0X2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwKIAkJCSBzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIHsKLQlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0 ID0gJmRldl9wcml2LT5nZ3R0OwotCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpzcmM7CisJ c3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCA9ICZpOTE1LT5nZ3R0OworCWNvbnN0IHU2NCBzbG90ID0g Z2d0dC0+Z3B1X2Vycm9yLnN0YXJ0OwogCXN0cnVjdCBkcm1faTkxNV9lcnJvcl9vYmplY3QgKmRz dDsKLQlpbnQgbnVtX3BhZ2VzOwotCWJvb2wgdXNlX2dndHQ7Ci0JaW50IGkgPSAwOwotCXU2NCBy ZWxvY19vZmZzZXQ7CisJdW5zaWduZWQgbG9uZyBudW1fcGFnZXM7CisJc3RydWN0IHNndF9pdGVy IGl0ZXI7CisJZG1hX2FkZHJfdCBkbWE7CiAKIAlpZiAoIXZtYSkKIAkJcmV0dXJuIE5VTEw7CiAK LQlzcmMgPSB2bWEtPm9iajsKLQlpZiAoIXNyYy0+cGFnZXMpCi0JCXJldHVybiBOVUxMOwotCi0J bnVtX3BhZ2VzID0gc3JjLT5iYXNlLnNpemUgPj4gUEFHRV9TSElGVDsKLQotCWRzdCA9IGttYWxs b2Moc2l6ZW9mKCpkc3QpICsgbnVtX3BhZ2VzICogc2l6ZW9mKHUzMiAqKSwgR0ZQX0FUT01JQyk7 CisJbnVtX3BhZ2VzID0gbWluX3QodTY0LCB2bWEtPnNpemUsIHZtYS0+b2JqLT5iYXNlLnNpemUp ID4+IFBBR0VfU0hJRlQ7CisJZHN0ID0ga21hbGxvYyhzaXplb2YoKmRzdCkgKyBudW1fcGFnZXMg KiBzaXplb2YodTMyICopLAorCQkgICAgICBHRlBfQVRPTUlDIHwgX19HRlBfTk9XQVJOKTsKIAlp ZiAoIWRzdCkKIAkJcmV0dXJuIE5VTEw7CiAKIAlkc3QtPmd0dF9vZmZzZXQgPSB2bWEtPm5vZGUu c3RhcnQ7Ci0JZHN0LT5ndHRfc2l6ZSA9IHZtYS0+bm9kZS5zaXplOwotCi0JcmVsb2Nfb2Zmc2V0 ID0gZHN0LT5ndHRfb2Zmc2V0OwotCXVzZV9nZ3R0ID0gKHNyYy0+Y2FjaGVfbGV2ZWwgPT0gSTkx NV9DQUNIRV9OT05FICYmCi0JCSAgICh2bWEtPmZsYWdzICYgSTkxNV9WTUFfR0xPQkFMX0JJTkQp ICYmCi0JCSAgIHJlbG9jX29mZnNldCArIG51bV9wYWdlcyAqIFBBR0VfU0laRSA8PSBnZ3R0LT5t YXBwYWJsZV9lbmQpOworCWRzdC0+cGFnZV9jb3VudCA9IDA7CiAKLQkvKiBDYW5ub3QgYWNjZXNz IHN0b2xlbiBhZGRyZXNzIGRpcmVjdGx5LCB0cnkgdG8gdXNlIHRoZSBhcGVydHVyZSAqLwotCWlm IChzcmMtPnN0b2xlbikgewotCQl1c2VfZ2d0dCA9IHRydWU7Ci0KLQkJaWYgKCEodm1hLT5mbGFn cyAmIEk5MTVfVk1BX0dMT0JBTF9CSU5EKSkKLQkJCWdvdG8gdW53aW5kOwotCi0JCXJlbG9jX29m ZnNldCA9IHZtYS0+bm9kZS5zdGFydDsKLQkJaWYgKHJlbG9jX29mZnNldCArIG51bV9wYWdlcyAq IFBBR0VfU0laRSA+IGdndHQtPm1hcHBhYmxlX2VuZCkKLQkJCWdvdG8gdW53aW5kOwotCX0KKwlm b3JfZWFjaF9zZ3RfZG1hKGRtYSwgaXRlciwgdm1hLT5wYWdlcykgeworCQl2b2lkIF9faW9tZW0g KnM7CisJCWludCByZXQ7CiAKLQkvKiBDYW5ub3QgYWNjZXNzIHNub29wZWQgcGFnZXMgdGhyb3Vn aCB0aGUgYXBlcnR1cmUgKi8KLQlpZiAodXNlX2dndHQgJiYgc3JjLT5jYWNoZV9sZXZlbCAhPSBJ OTE1X0NBQ0hFX05PTkUgJiYKLQkgICAgIUhBU19MTEMoZGV2X3ByaXYpKQotCQlnb3RvIHVud2lu ZDsKKwkJZ2d0dC0+YmFzZS5pbnNlcnRfcGFnZSgmZ2d0dC0+YmFzZSwgZG1hLCBzbG90LAorCQkJ CSAgICAgICBJOTE1X0NBQ0hFX05PTkUsIDApOwogCi0JZHN0LT5wYWdlX2NvdW50ID0gbnVtX3Bh Z2VzOwotCXdoaWxlIChudW1fcGFnZXMtLSkgewotCQl2b2lkICpkOworCQlzID0gaW9fbWFwcGlu Z19tYXBfYXRvbWljX3djKCZnZ3R0LT5tYXBwYWJsZSwgc2xvdCk7CisJCXJldCA9IGNvbXByZXNz X3BhZ2UoKHZvaWQgKiBfX2ZvcmNlKXMsIGRzdCk7CisJCWlvX21hcHBpbmdfdW5tYXBfYXRvbWlj KHMpOwogCi0JCWQgPSBrbWFsbG9jKFBBR0VfU0laRSwgR0ZQX0FUT01JQyk7Ci0JCWlmIChkID09 IE5VTEwpCisJCWlmIChyZXQpCiAJCQlnb3RvIHVud2luZDsKLQotCQlpZiAodXNlX2dndHQpIHsK LQkJCXZvaWQgX19pb21lbSAqczsKLQotCQkJLyogU2ltcGx5IGlnbm9yZSB0aWxpbmcgb3IgYW55 IG92ZXJsYXBwaW5nIGZlbmNlLgotCQkJICogSXQncyBwYXJ0IG9mIHRoZSBlcnJvciBzdGF0ZSwg YW5kIHRoaXMgaG9wZWZ1bGx5Ci0JCQkgKiBjYXB0dXJlcyB3aGF0IHRoZSBHUFUgcmVhZC4KLQkJ CSAqLwotCi0JCQlzID0gaW9fbWFwcGluZ19tYXBfYXRvbWljX3djKCZnZ3R0LT5tYXBwYWJsZSwK LQkJCQkJCSAgICAgcmVsb2Nfb2Zmc2V0KTsKLQkJCW1lbWNweV9mcm9taW8oZCwgcywgUEFHRV9T SVpFKTsKLQkJCWlvX21hcHBpbmdfdW5tYXBfYXRvbWljKHMpOwotCQl9IGVsc2UgewotCQkJc3Ry dWN0IHBhZ2UgKnBhZ2U7Ci0JCQl2b2lkICpzOwotCi0JCQlwYWdlID0gaTkxNV9nZW1fb2JqZWN0 X2dldF9wYWdlKHNyYywgaSk7Ci0KLQkJCXMgPSBrbWFwX2F0b21pYyhwYWdlKTsKLQkJCW1lbWNw eShkLCBzLCBQQUdFX1NJWkUpOwotCQkJa3VubWFwX2F0b21pYyhzKTsKLQkJfQotCi0JCWRzdC0+ cGFnZXNbaSsrXSA9IGQ7Ci0JCXJlbG9jX29mZnNldCArPSBQQUdFX1NJWkU7CiAJfQotCi0JcmV0 dXJuIGRzdDsKKwlnb3RvIG91dDsKIAogdW53aW5kOgotCXdoaWxlIChpLS0pCi0JCWtmcmVlKGRz dC0+cGFnZXNbaV0pOworCXdoaWxlIChkc3QtPnBhZ2VfY291bnQtLSkKKwkJZnJlZV9wYWdlKCh1 bnNpZ25lZCBsb25nKWRzdC0+cGFnZXNbZHN0LT5wYWdlX2NvdW50XSk7CiAJa2ZyZWUoZHN0KTsK LQlyZXR1cm4gTlVMTDsKKwlkc3QgPSBOVUxMOworCitvdXQ6CisJZ2d0dC0+YmFzZS5jbGVhcl9y YW5nZSgmZ2d0dC0+YmFzZSwgc2xvdCwgUEFHRV9TSVpFLCB0cnVlKTsKKwlyZXR1cm4gZHN0Owog fQogCiAvKiBUaGUgZXJyb3IgY2FwdHVyZSBpcyBzcGVjaWFsIGFzIHRyaWVzIHRvIHJ1biB1bmRl cm5lYXRoIHRoZSBub3JtYWwKQEAgLTE0MTgsOSArMTM4OCw2IEBAIHN0YXRpYyBpbnQgY2FwdHVy ZSh2b2lkICpkYXRhKQogewogCXN0cnVjdCBkcm1faTkxNV9lcnJvcl9zdGF0ZSAqZXJyb3IgPSBk YXRhOwogCi0JLyogRW5zdXJlIHRoYXQgd2hhdCB3ZSByZWFkYmFjayBmcm9tIG1lbW9yeSBtYXRj aGVzIHdoYXQgdGhlIEdQVSBzZWVzICovCi0Jd2JpbnZkKCk7Ci0KIAlpOTE1X2NhcHR1cmVfZ2Vu X3N0YXRlKGVycm9yLT5pOTE1LCBlcnJvcik7CiAJaTkxNV9jYXB0dXJlX3JlZ19zdGF0ZShlcnJv ci0+aTkxNSwgZXJyb3IpOwogCWk5MTVfZ2VtX3JlY29yZF9mZW5jZXMoZXJyb3ItPmk5MTUsIGVy cm9yKTsKQEAgLTE0MzMsOSArMTQwMCw2IEBAIHN0YXRpYyBpbnQgY2FwdHVyZSh2b2lkICpkYXRh KQogCWVycm9yLT5vdmVybGF5ID0gaW50ZWxfb3ZlcmxheV9jYXB0dXJlX2Vycm9yX3N0YXRlKGVy cm9yLT5pOTE1KTsKIAllcnJvci0+ZGlzcGxheSA9IGludGVsX2Rpc3BsYXlfY2FwdHVyZV9lcnJv cl9zdGF0ZShlcnJvci0+aTkxNSk7CiAKLQkvKiBBbmQgbWFrZSBzdXJlIHdlIGRvbid0IGxlYXZl IHRyYXNoIGluIHRoZSBDUFUgY2FjaGUgKi8KLQl3YmludmQoKTsKLQogCXJldHVybiAwOwogfQog CkBAIC0xNTEyLDcgKzE0NzYsNiBAQCB2b2lkIGk5MTVfZXJyb3Jfc3RhdGVfZ2V0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJaWYgKGVycm9yX3ByaXYtPmVycm9yKQogCQlrcmVmX2dldCgmZXJy b3JfcHJpdi0+ZXJyb3ItPnJlZik7CiAJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+Z3B1X2Vy cm9yLmxvY2spOwotCiB9CiAKIHZvaWQgaTkxNV9lcnJvcl9zdGF0ZV9wdXQoc3RydWN0IGk5MTVf ZXJyb3Jfc3RhdGVfZmlsZV9wcml2ICplcnJvcl9wcml2KQotLSAKMi45LjMKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=