From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI-ping 09/15] drm/i915: Prevent leaking of -EIO from i915_wait_request() Date: Tue, 12 Apr 2016 21:03:03 +0100 Message-ID: <1460491389-8602-9-git-send-email-chris@chris-wilson.co.uk> References: <1460491389-8602-1-git-send-email-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 9B2846E790 for ; Tue, 12 Apr 2016 20:03:27 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id a140so8316327wma.2 for ; Tue, 12 Apr 2016 13:03:27 -0700 (PDT) In-Reply-To: <1460491389-8602-1-git-send-email-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: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org UmVwb3J0aW5nIC1FSU8gZnJvbSBpOTE1X3dhaXRfcmVxdWVzdCgpIGhhcyBwcm92ZW4gdmVyeSB0 cm91YmxlbWF0aWMKb3ZlciB0aGUgeWVhcnMsIHdpdGggbnVtZXJvdXMgaGFyZC10by1yZXByb2R1 Y2UgYnVncyBjcm9wcGluZyB1cCBpbiB0aGUKY29ybmVyIGNhc2Ugb2Ygd2hlcmUgYSByZXNldCBv Y2N1cnMgYW5kIHRoZSBjb2RlIHdhc24ndCBleHBlY3Rpbmcgc3VjaAphbiBlcnJvci4KCklmIHRo ZSB3ZSByZXNldCB0aGUgR1BVIG9yIGhhdmUgZGV0ZWN0ZWQgYSBoYW5nIGFuZCB3aXNoIHRvIHJl c2V0IHRoZQpHUFUsIHRoZSByZXF1ZXN0IGlzIGZvcmNpYmx5IGNvbXBsZXRlIGFuZCB0aGUgd2Fp dCBicm9rZW4uIEN1cnJlbnRseSwgd2UKcmVwb3J0IGVpdGhlciAtRUFHQUlOIG9yIC1FSU8gaW4g b3JkZXIgZm9yIHRoZSBjYWxsZXIgdG8gcmV0cmVhdCBhbmQKcmVzdGFydCB0aGUgd2FpdCAoaWYg YXBwcm9wcmlhdGUpIGFmdGVyIGRyb3BwaW5nIGFuZCB0aGVuIHJlYWNxdWlyaW5nCnRoZSBzdHJ1 Y3RfbXV0ZXggKGVzc2VudGlhbCB0byBhbGxvdyB0aGUgR1BVIHJlc2V0IHRvIHByb2NlZWQpLiBI b3dldmVyLAppZiB3ZSB0YWtlIHRoZSB2aWV3IHRoYXQgdGhlIHJlcXVlc3QgaXMgY29tcGxldGUg KG5vIGZ1cnRoZXIgd29yayB3aWxsCmJlIGRvbmUgb24gaXQgYnkgdGhlIEdQVSBiZWNhdXNlIGl0 IGlzIGRlYWQgYW5kIHNvb24gdG8gYmUgcmVzZXQpLCB0aGVuCndlIGNhbiBwcm9jZWVkIHdpdGgg dGhlIHRhc2sgYXQgaGFuZCBhbmQgdGhlbiBkcm9wIHRoZSBzdHJ1Y3RfbXV0ZXgKYWxsb3dpbmcg dGhlIHJlc2V0IHRvIG9jY3VyLiBUaGlzIHRyYW5zZmVycyB0aGUgYnVyZGVuIG9mIGNoZWNraW5n CndoZXRoZXIgaXQgaXMgc2FmZSB0byBwcm9jZWVkIHRvIHRoZSBjYWxsZXIsIHdoaWNoIGluIGFs bCBidXQgb25lCmluc3RhbmNlIGl0IGlzIHNhZmUgLSBjb21wbGV0ZWx5IGVsaW1pbmF0aW5nIHRo ZSBzb3VyY2Ugb2YgYWxsIHNwdXJpb3VzCi1FSU8uCgpPZiBub3RlLCB3ZSBvbmx5IGhhdmUgdHdv IEFQSSBlbnRyeSBwb2ludHMgd2hlcmUgd2UgZXhwZWN0IHRoYXQKdXNlcnNwYWNlIGNhbiBvYnNl cnZlIGFuIEVJTy4gRmlyc3QgaXMgd2hlbiBzdWJtaXR0aW5nIGFuIGV4ZWNidWYsIGlmCnRoZSBH UFUgaXMgdGVybWluYWxseSB3ZWRnZWQsIHRoZW4gdGhlIG9wZXJhdGlvbiBjYW5ub3Qgc3VjY2Vl ZCBhbmQgYW4KLUVJTyBpcyByZXBvcnRlZC4gU2Vjb25kbHksIGV4aXN0aW5nIHVzZXJzcGFjZSB1 c2VzIHRoZSB0aHJvdHRsZSBpb2N0bAp0byBkZXRlY3QgYW4gYWxyZWFkeSB3ZWRnZWQgR1BVIGJl Zm9yZSBzdGFydGluZyB1c2luZyBIVyBhY2NlbGVyYXRpb24KKG9yIHRvIGNvbmZpcm0gdGhhdCB0 aGUgR1BVIGlzIHdlZGdlZCBhZnRlciBhbiBlcnJvciBjb25kaXRpb24pLiBTbyBpZgp0aGUgR1BV IGlzIHdlZGdlZCB3aGVuIHRoZSB1c2VyIGNhbGxzIHRocm90dGxlLCBhbHNvIHJlcG9ydCAtRUlP LgoKdjI6IFNwbGl0IG1vcmUgY2FyZWZ1bGx5IHRoZSBjaGFuZ2UgdG8gaTkxNV93YWl0X3JlcXVl c3QoKSBhbmQgYXNzb3J0ZWQKQUJJIGZyb20gdGhlIHJlc2V0IGhhbmRsaW5nLgp2MzogQWRkIGEg Y291cGxlIG9mIFdBUk5fT04oRUlPKSB0byB0aGUgaW50ZXJydXB0aWJsZSBtb2Rlc2V0dGluZyBj b2RlCnNvIHRoYXQgd2UgZG9uJ3Qgc3RhcnQgdG8gbGVhayBFSU8gdGhlcmUgaW4gZnV0dXJlIChh bmQgYnJlYWsgb3VyIGhhbmcKcmVzaXN0YW50IG1vZGVzZXR0aW5nKS4KClNpZ25lZC1vZmYtYnk6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgICAgIHwgIDIgLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAg ICB8IDQ0ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jIHwgIDYgKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyAgICB8IDEzICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMgfCAgMyArLS0KIDYgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwg MzggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggODgyMWQzOGMwN2Vk Li4wNjFlY2M0M2Q5MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzA4Myw4ICszMDgz LDYgQEAgaTkxNV9nZW1fZmluZF9hY3RpdmVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpOwogCiBib29sIGk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0cyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKIHZvaWQgaTkxNV9nZW1fcmV0aXJlX3JlcXVlc3RzX3Jpbmcoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKLWludCBfX211c3RfY2hlY2sgaTkxNV9nZW1fY2hlY2tf d2VkZ2Uoc3RydWN0IGk5MTVfZ3B1X2Vycm9yICplcnJvciwKLQkJCQkgICAgICBib29sIGludGVy cnVwdGlibGUpOwogCiBzdGF0aWMgaW5saW5lIHUzMiBpOTE1X3Jlc2V0X2NvdW50ZXIoc3RydWN0 IGk5MTVfZ3B1X2Vycm9yICplcnJvcikKIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDAx Y2RlYmZlYTI3YS4uNzY1ZWZhODhkYjMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTIw NiwxMSArMjA2LDEwIEBAIGk5MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfcGh5cyhzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCUJVR19PTihvYmotPm1hZHYgPT0gX19JOTE1X01BRFZf UFVSR0VEKTsKIAogCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fY3B1X2RvbWFpbihvYmos IHRydWUpOwotCWlmIChyZXQpIHsKKwlpZiAoV0FSTl9PTihyZXQpKSB7CiAJCS8qIEluIHRoZSBl dmVudCBvZiBhIGRpc2FzdGVyLCBhYmFuZG9uIGFsbCBjYWNoZXMgYW5kCiAJCSAqIGhvcGUgZm9y IHRoZSBiZXN0LgogCQkgKi8KLQkJV0FSTl9PTihyZXQgIT0gLUVJTyk7CiAJCW9iai0+YmFzZS5y ZWFkX2RvbWFpbnMgPSBvYmotPmJhc2Uud3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9NQUlOX0NQ VTsKIAl9CiAKQEAgLTExMDUsMTUgKzExMDQsMTMgQEAgcHV0X3JwbToKIAlyZXR1cm4gcmV0Owog fQogCi1pbnQKLWk5MTVfZ2VtX2NoZWNrX3dlZGdlKHN0cnVjdCBpOTE1X2dwdV9lcnJvciAqZXJy b3IsCi0JCSAgICAgYm9vbCBpbnRlcnJ1cHRpYmxlKQorc3RhdGljIGludAoraTkxNV9nZW1fY2hl Y2tfd2VkZ2UodW5zaWduZWQgcmVzZXRfY291bnRlciwgYm9vbCBpbnRlcnJ1cHRpYmxlKQogewot CWlmIChpOTE1X3Jlc2V0X2luX3Byb2dyZXNzX29yX3dlZGdlZChlcnJvcikpIHsKLQkJLyogUmVj b3ZlcnkgY29tcGxldGUsIGJ1dCB0aGUgcmVzZXQgZmFpbGVkIC4uLiAqLwotCQlpZiAoaTkxNV90 ZXJtaW5hbGx5X3dlZGdlZChlcnJvcikpCi0JCQlyZXR1cm4gLUVJTzsKKwlpZiAoX19pOTE1X3Rl cm1pbmFsbHlfd2VkZ2VkKHJlc2V0X2NvdW50ZXIpKQorCQlyZXR1cm4gLUVJTzsKIAorCWlmIChf X2k5MTVfcmVzZXRfaW5fcHJvZ3Jlc3MocmVzZXRfY291bnRlcikpIHsKIAkJLyogTm9uLWludGVy cnVwdGlibGUgY2FsbGVycyBjYW4ndCBoYW5kbGUgLUVBR0FJTiwgaGVuY2UgcmV0dXJuCiAJCSAq IC1FSU8gdW5jb25kaXRpb25hbGx5IGZvciB0aGVzZS4gKi8KIAkJaWYgKCFpbnRlcnJ1cHRpYmxl KQpAQCAtMTI4NywxMyArMTI4NCwxNCBAQCBpbnQgX19pOTE1X3dhaXRfcmVxdWVzdChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJcHJlcGFyZV90b193YWl0KCZlbmdpbmUtPmly cV9xdWV1ZSwgJndhaXQsIHN0YXRlKTsKIAogCQkvKiBXZSBuZWVkIHRvIGNoZWNrIHdoZXRoZXIg YW55IGdwdSByZXNldCBoYXBwZW5lZCBpbiBiZXR3ZWVuCi0JCSAqIHRoZSBjYWxsZXIgZ3JhYmJp bmcgdGhlIHNlcW5vIGFuZCBub3cgLi4uICovCisJCSAqIHRoZSByZXF1ZXN0IGJlaW5nIHN1Ym1p dHRlZCBhbmQgbm93LiBJZiBhIHJlc2V0IGhhcyBvY2N1cnJlZCwKKwkJICogdGhlIHJlcXVlc3Qg aXMgZWZmZWN0aXZlbHkgY29tcGxldGUgKHdlIGVpdGhlciBhcmUgaW4gdGhlCisJCSAqIHByb2Nl c3Mgb2Ygb3IgaGF2ZSBkaXNjYXJkZWQgdGhlIHJlbmRlcmluZyBhbmQgY29tcGxldGVseQorCQkg KiByZXNldCB0aGUgR1BVLiBUaGUgcmVzdWx0cyBvZiB0aGUgcmVxdWVzdCBhcmUgbG9zdCBhbmQg d2UKKwkJICogYXJlIGZyZWUgdG8gY29udGludWUgb24gd2l0aCB0aGUgb3JpZ2luYWwgb3BlcmF0 aW9uLgorCQkgKi8KIAkJaWYgKHJlcS0+cmVzZXRfY291bnRlciAhPSBpOTE1X3Jlc2V0X2NvdW50 ZXIoJmRldl9wcml2LT5ncHVfZXJyb3IpKSB7Ci0JCQkvKiAuLi4gYnV0IHVwZ3JhZGUgdGhlIC1F QUdBSU4gdG8gYW4gLUVJTyBpZiB0aGUgZ3B1Ci0JCQkgKiBpcyB0cnVlbHkgZ29uZS4gKi8KLQkJ CXJldCA9IGk5MTVfZ2VtX2NoZWNrX3dlZGdlKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLCBpbnRlcnJ1 cHRpYmxlKTsKLQkJCWlmIChyZXQgPT0gMCkKLQkJCQlyZXQgPSAtRUFHQUlOOworCQkJcmV0ID0g MDsKIAkJCWJyZWFrOwogCQl9CiAKQEAgLTIxNTQsMTEgKzIxNTIsMTAgQEAgaTkxNV9nZW1fb2Jq ZWN0X3B1dF9wYWdlc19ndHQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlCVUdf T04ob2JqLT5tYWR2ID09IF9fSTkxNV9NQURWX1BVUkdFRCk7CiAKIAlyZXQgPSBpOTE1X2dlbV9v YmplY3Rfc2V0X3RvX2NwdV9kb21haW4ob2JqLCB0cnVlKTsKLQlpZiAocmV0KSB7CisJaWYgKFdB Uk5fT04ocmV0KSkgewogCQkvKiBJbiB0aGUgZXZlbnQgb2YgYSBkaXNhc3RlciwgYWJhbmRvbiBh bGwgY2FjaGVzIGFuZAogCQkgKiBob3BlIGZvciB0aGUgYmVzdC4KIAkJICovCi0JCVdBUk5fT04o cmV0ICE9IC1FSU8pOwogCQlpOTE1X2dlbV9jbGZsdXNoX29iamVjdChvYmosIHRydWUpOwogCQlv YmotPmJhc2UucmVhZF9kb21haW5zID0gb2JqLT5iYXNlLndyaXRlX2RvbWFpbiA9IEk5MTVfR0VN X0RPTUFJTl9DUFU7CiAJfQpAQCAtMjcyOSw4ICsyNzI2LDExIEBAIF9faTkxNV9nZW1fcmVxdWVz dF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAKIAkqcmVxX291dCA9IE5V TEw7CiAKLQlyZXQgPSBpOTE1X2dlbV9jaGVja193ZWRnZSgmZGV2X3ByaXYtPmdwdV9lcnJvciwK LQkJCQkgICBkZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZSk7CisJLyogQUJJOiBCZWZvcmUgdXNl cnNwYWNlIGFjY2Vzc2VzIHRoZSBHUFUgKGUuZy4gZXhlY2J1ZmZlciksIHJlcG9ydAorCSAqIEVJ TyBpZiB0aGUgR1BVIGlzIGFscmVhZHkgd2VkZ2VkLCBvciBFQUdBSU4gdG8gZHJvcCB0aGUgc3Ry dWN0X211dGV4CisJICogYW5kIHJlc3RhcnQuCisJICovCisJcmV0ID0gaTkxNV9nZW1fY2hlY2tf d2VkZ2UocmVzZXRfY291bnRlciwgZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGUpOwogCWlmIChy ZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTQxNjUsOSArNDE2NSw5IEBAIGk5MTVfZ2VtX3Jpbmdf dGhyb3R0bGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQog CWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlyZXQgPSBpOTE1X2dlbV9jaGVja193ZWRnZSgm ZGV2X3ByaXYtPmdwdV9lcnJvciwgZmFsc2UpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7CisJ LyogQUJJOiByZXR1cm4gLUVJTyBpZiBhbHJlYWR5IHdlZGdlZCAqLworCWlmIChpOTE1X3Rlcm1p bmFsbHlfd2VkZ2VkKCZkZXZfcHJpdi0+Z3B1X2Vycm9yKSkKKwkJcmV0dXJuIC1FSU87CiAKIAlz cGluX2xvY2soJmZpbGVfcHJpdi0+bW0ubG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShyZXF1 ZXN0LCAmZmlsZV9wcml2LT5tbS5yZXF1ZXN0X2xpc3QsIGNsaWVudF9saXN0KSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKaW5kZXggZTZiNTkzOGNlNmUyLi4zMmQ5NzI2 ZTM4YjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKQEAgLTExMiwx MCArMTEyLDggQEAgc3RhdGljIHZvaWQgY2FuY2VsX3VzZXJwdHIoc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQogCQl3YXNfaW50ZXJydXB0aWJsZSA9IGRldl9wcml2LT5tbS5pbnRlcnJ1cHRpYmxl OwogCQlkZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZSA9IGZhbHNlOwogCi0JCWxpc3RfZm9yX2Vh Y2hfZW50cnlfc2FmZSh2bWEsIHRtcCwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7Ci0JCQlp bnQgcmV0ID0gaTkxNV92bWFfdW5iaW5kKHZtYSk7Ci0JCQlXQVJOX09OKHJldCAmJiByZXQgIT0g LUVJTyk7Ci0JCX0KKwkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHZtYSwgdG1wLCAmb2JqLT52 bWFfbGlzdCwgb2JqX2xpbmspCisJCQlXQVJOX09OKGk5MTVfdm1hX3VuYmluZCh2bWEpKTsKIAkJ V0FSTl9PTihpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaikpOwogCiAJCWRldl9wcml2LT5t bS5pbnRlcnJ1cHRpYmxlID0gd2FzX2ludGVycnVwdGlibGU7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKaW5kZXggNjUwMGY3N2ZjNzhlLi5iMWI0NTc4NjRlMTcgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTEzNDM2LDExICsxMzQzNiw5IEBAIHN0YXRpYyBp bnQgaW50ZWxfYXRvbWljX3ByZXBhcmVfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAK IAkJCXJldCA9IF9faTkxNV93YWl0X3JlcXVlc3QoaW50ZWxfcGxhbmVfc3RhdGUtPndhaXRfcmVx LAogCQkJCQkJICB0cnVlLCBOVUxMLCBOVUxMKTsKLQotCQkJLyogU3dhbGxvdyAtRUlPIGVycm9y cyB0byBhbGxvdyB1cGRhdGVzIGR1cmluZyBodyBsb2NrdXAuICovCi0JCQlpZiAocmV0ID09IC1F SU8pCi0JCQkJcmV0ID0gMDsKIAkJCWlmIChyZXQpIHsKKwkJCQkvKiBBbnkgaGFuZyBzaG91bGQg YmUgc3dhbGxvd2VkIGJ5IHRoZSB3YWl0ICovCisJCQkJV0FSTl9PTihyZXQgPT0gLUVJTyk7CiAJ CQkJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCQkJCWRybV9hdG9taWNfaGVscGVy X2NsZWFudXBfcGxhbmVzKGRldiwgc3RhdGUpOwogCQkJCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1 Y3RfbXV0ZXgpOwpAQCAtMTM3OTIsMTAgKzEzNzkwLDExIEBAIGludGVsX3ByZXBhcmVfcGxhbmVf ZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCSAqLwogCQlpZiAobmVlZHNfbW9kZXNldChj cnRjX3N0YXRlKSkKIAkJCXJldCA9IGk5MTVfZ2VtX29iamVjdF93YWl0X3JlbmRlcmluZyhvbGRf b2JqLCB0cnVlKTsKLQotCQkvKiBTd2FsbG93IC1FSU8gZXJyb3JzIHRvIGFsbG93IHVwZGF0ZXMg ZHVyaW5nIGh3IGxvY2t1cC4gKi8KLQkJaWYgKHJldCAmJiByZXQgIT0gLUVJTykKKwkJaWYgKHJl dCkgeworCQkJLyogR1BVIGhhbmdzIHNob3VsZCBoYXZlIGJlZW4gc3dhbGxvd2VkIGJ5IHRoZSB3 YWl0ICovCisJCQlXQVJOX09OKHJldCA9PSAtRUlPKTsKIAkJCXJldHVybiByZXQ7CisJCX0KIAl9 CiAKIAkvKiBGb3IgZnJhbWVidWZmZXIgYmFja2VkIGJ5IGRtYWJ1Ziwgd2FpdCBmb3IgZmVuY2Ug Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMDI3YzQ3ZGZmNTViLi5iOGY2Yjk2NDcy YTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0xMDUxLDcgKzEwNTEsNyBAQCB2b2lk IGludGVsX2xvZ2ljYWxfcmluZ19zdG9wKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK IAkJcmV0dXJuOwogCiAJcmV0ID0gaW50ZWxfZW5naW5lX2lkbGUoZW5naW5lKTsKLQlpZiAocmV0 ICYmICFpOTE1X3Jlc2V0X2luX3Byb2dyZXNzX29yX3dlZGdlZCgmZGV2X3ByaXYtPmdwdV9lcnJv cikpCisJaWYgKHJldCkKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcXVpZXNjZSAlcyB3aGlsc3Qg Y2xlYW5pbmcgdXA6ICVkXG4iLAogCQkJICBlbmdpbmUtPm5hbWUsIHJldCk7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCA1NTgyOWI1ZmY4MzcuLjgzOTEzODI0 MzFiMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtMzE4Myw4 ICszMTgzLDcgQEAgaW50ZWxfc3RvcF9lbmdpbmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQogCQlyZXR1cm47CiAKIAlyZXQgPSBpbnRlbF9lbmdpbmVfaWRsZShlbmdpbmUpOwotCWlm IChyZXQgJiYKLQkgICAgIWk5MTVfcmVzZXRfaW5fcHJvZ3Jlc3Nfb3Jfd2VkZ2VkKCZ0b19pOTE1 KGVuZ2luZS0+ZGV2KS0+Z3B1X2Vycm9yKSkKKwlpZiAocmV0KQogCQlEUk1fRVJST1IoImZhaWxl ZCB0byBxdWllc2NlICVzIHdoaWxzdCBjbGVhbmluZyB1cDogJWRcbiIsCiAJCQkgIGVuZ2luZS0+ bmFtZSwgcmV0KTsKIAotLSAKMi44LjAucmMzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK