From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 2/2] drm/atomic: Fix freeing connector/plane state too early by tracking commits Date: Tue, 29 Aug 2017 16:02:03 +0200 Message-ID: <20170829140203.10574-2-maarten.lankhorst@linux.intel.com> References: <20170829140203.10574-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170829140203.10574-1-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org, Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org Q3VycmVudGx5IHdlIG5lYXRseSB0cmFjayB0aGUgY3J0YyBzdGF0ZSwgYnV0IGZvcmdldCB0byBs b29rIGF0CnBsYW5lL2Nvbm5lY3RvciBzdGF0ZS4KCldoZW4gZG9pbmcgYSBub25ibG9ja2luZyBt b2Rlc2V0LCBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSBhIHNldHByb3AKYmVmb3JlIHRoZSBtb2Rl c2V0IGNvbXBsZXRlcywgdGhlIHNldHByb3Agd2lsbCBzZWUgdGhlIG1vZGVzZXRzIG5ldwpzdGF0 ZSBhcyB0aGUgb2xkIHN0YXRlIGFuZCBmcmVlIGl0LgoKVGhpcyBoYXMgdG8gYmUgc29sdmVkIGJ5 IHdhaXRpbmcgZm9yIGh3X2RvbmUgb24gdGhlIGNvbm5lY3RvciwgZXZlbgppZiBpdCdzIG5vdCBh c3NpZ25lZCB0byBhIGNydGMuIFdoZW4gYSBjb25uZWN0b3IgaXMgdW5ib3VuZCB3ZSB0YWtlCnRo ZSBsYXN0IGNydGMgY29tbWl0LCBhbmQgd2hlbiBpdCBzdGF5cyB1bmJvdW5kIHdlIGNyZWF0ZSBh IG5ldwpjcnRjIGNvbW1pdCBmb3IgdGhlIGNvbm5lY3RvciB0aGF0IGdldHMgc2lnbmFsZWQgb24g aHdfZG9uZS4KCldlIHdhaXQgZm9yIGl0IHRoZSBzYW1lIHdheSBhcyB3ZSBkbyBmb3IgY3J0Yydz LCB3aGljaCB3aWxsIG1ha2UKc3VyZSB3ZSBuZXZlciBydW4gaW50byBhIHVzZS1hZnRlci1mcmVl IHNpdHVhdGlvbi4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClRlc3RjYXNlOiBrbXNfYXRvbWljX3RyYW5zaXRpb24u cGxhbmUtdXNlLWFmdGVyLW5vbmJsb2NraW5nLXVuYmluZCoKQ2M6IExhdXJlbnQgUGluY2hhcnQg PGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY19oZWxwZXIuYyB8IDE3MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0KIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgIHwgICA3ICsrCiBpbmNs dWRlL2RybS9kcm1fcGxhbmUuaCAgICAgICAgICAgICB8ICAgNyArKwogMyBmaWxlcyBjaGFuZ2Vk LCAxNzkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X2hlbHBlci5jCmluZGV4IDljMjg4OGNiNDA4MS4uYTRmZDUwMGQ2MjAwIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY19oZWxwZXIuYwpAQCAtMTY0NCw2ICsxNjQ0LDM5IEBAIHN0YXRpYyB2b2lkIHJl bGVhc2VfY3J0Y19jb21taXQoc3RydWN0IGNvbXBsZXRpb24gKmNvbXBsZXRpb24pCiAJZHJtX2Ny dGNfY29tbWl0X3B1dChjb21taXQpOwogfQogCitzdGF0aWMgdm9pZCBpbml0X2NvbW1pdChzdHJ1 Y3QgZHJtX2NydGNfY29tbWl0ICpjb21taXQsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3sKKwlp bml0X2NvbXBsZXRpb24oJmNvbW1pdC0+ZmxpcF9kb25lKTsKKwlpbml0X2NvbXBsZXRpb24oJmNv bW1pdC0+aHdfZG9uZSk7CisJaW5pdF9jb21wbGV0aW9uKCZjb21taXQtPmNsZWFudXBfZG9uZSk7 CisJSU5JVF9MSVNUX0hFQUQoJmNvbW1pdC0+Y29tbWl0X2VudHJ5KTsKKwlrcmVmX2luaXQoJmNv bW1pdC0+cmVmKTsKKwljb21taXQtPmNydGMgPSBjcnRjOworfQorCitzdGF0aWMgc3RydWN0IGRy bV9jcnRjX2NvbW1pdCAqCitpbml0X29yX3JlZl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3sKKwlzdHJ1Y3QgZHJtX2Ny dGNfY29tbWl0ICpjb21taXQ7CisKKwlpZiAoY3J0YykgeworCQlzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKm5ld19jcnRjX3N0YXRlOworCisJCW5ld19jcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRf bmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOworCisJCWNvbW1pdCA9IG5ld19jcnRjX3N0YXRl LT5jb21taXQ7CisJCWRybV9jcnRjX2NvbW1pdF9nZXQoY29tbWl0KTsKKwl9IGVsc2UgeworCQlj b21taXQgPSBremFsbG9jKHNpemVvZigqY29tbWl0KSwgR0ZQX0tFUk5FTCk7CisJCWlmICghY29t bWl0KQorCQkJcmV0dXJuIE5VTEw7CisKKwkJaW5pdF9jb21taXQoY29tbWl0LCBOVUxMKTsKKwl9 CisKKwlyZXR1cm4gY29tbWl0OworfQorCiAvKioKICAqIGRybV9hdG9taWNfaGVscGVyX3NldHVw X2NvbW1pdCAtIHNldHVwIHBvc3NpYmx5IG5vbmJsb2NraW5nIGNvbW1pdAogICogQHN0YXRlOiBu ZXcgbW9kZXNldCBzdGF0ZSB0byBiZSBjb21taXR0ZWQKQEAgLTE2OTIsNiArMTcyNSwxMCBAQCBp bnQgZHJtX2F0b21pY19oZWxwZXJfc2V0dXBfY29tbWl0KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZSwKIHsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAJc3RydWN0IGRybV9jcnRjX3N0 YXRlICpvbGRfY3J0Y19zdGF0ZSwgKm5ld19jcnRjX3N0YXRlOworCXN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uOworCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSwg Km5ld19jb25uX3N0YXRlOworCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOworCXN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgKm9sZF9wbGFuZV9zdGF0ZSwgKm5ld19wbGFuZV9zdGF0ZTsKIAlzdHJ1Y3Qg ZHJtX2NydGNfY29tbWl0ICpjb21taXQ7CiAJaW50IGksIHJldDsKIApAQCAtMTcwMCwxMiArMTcz Nyw3IEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zZXR1cF9jb21taXQoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlLAogCQlpZiAoIWNvbW1pdCkKIAkJCXJldHVybiAtRU5PTUVNOwogCi0J CWluaXRfY29tcGxldGlvbigmY29tbWl0LT5mbGlwX2RvbmUpOwotCQlpbml0X2NvbXBsZXRpb24o JmNvbW1pdC0+aHdfZG9uZSk7Ci0JCWluaXRfY29tcGxldGlvbigmY29tbWl0LT5jbGVhbnVwX2Rv bmUpOwotCQlJTklUX0xJU1RfSEVBRCgmY29tbWl0LT5jb21taXRfZW50cnkpOwotCQlrcmVmX2lu aXQoJmNvbW1pdC0+cmVmKTsKLQkJY29tbWl0LT5jcnRjID0gY3J0YzsKKwkJaW5pdF9jb21taXQo Y29tbWl0LCBjcnRjKTsKIAogCQluZXdfY3J0Y19zdGF0ZS0+Y29tbWl0ID0gY29tbWl0OwogCkBA IC0xNzQxLDYgKzE3NzMsMzYgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX3NldHVwX2NvbW1pdChz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCWRybV9jcnRjX2NvbW1pdF9nZXQoY29t bWl0KTsKIAl9CiAKKwlmb3JfZWFjaF9vbGRuZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBj b25uLCBvbGRfY29ubl9zdGF0ZSwgbmV3X2Nvbm5fc3RhdGUsIGkpIHsKKwkJaWYgKG5ld19jb25u X3N0YXRlLT5jcnRjKQorCQkJY29udGludWU7CisKKwkJaWYgKG5vbmJsb2NrICYmIG9sZF9jb25u X3N0YXRlLT5jb21taXQgJiYKKwkJICAgICF0cnlfd2FpdF9mb3JfY29tcGxldGlvbigmb2xkX2Nv bm5fc3RhdGUtPmNvbW1pdC0+ZmxpcF9kb25lKSkKKwkJCXJldHVybiAtRUJVU1k7CisKKwkJY29t bWl0ID0gaW5pdF9vcl9yZWZfY3J0Y19jb21taXQoc3RhdGUsIG9sZF9jb25uX3N0YXRlLT5jcnRj KTsKKwkJaWYgKCFjb21taXQpCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQluZXdfY29ubl9zdGF0 ZS0+Y29tbWl0ID0gY29tbWl0OworCX0KKworCWZvcl9lYWNoX29sZG5ld19wbGFuZV9pbl9zdGF0 ZShzdGF0ZSwgcGxhbmUsIG9sZF9wbGFuZV9zdGF0ZSwgbmV3X3BsYW5lX3N0YXRlLCBpKSB7CisJ CWlmIChuZXdfcGxhbmVfc3RhdGUtPmNydGMpCisJCQljb250aW51ZTsKKworCQlpZiAobm9uYmxv Y2sgJiYgb2xkX3BsYW5lX3N0YXRlLT5jb21taXQgJiYKKwkJICAgICF0cnlfd2FpdF9mb3JfY29t cGxldGlvbigmb2xkX3BsYW5lX3N0YXRlLT5jb21taXQtPmZsaXBfZG9uZSkpCisJCQlyZXR1cm4g LUVCVVNZOworCisJCWNvbW1pdCA9IGluaXRfb3JfcmVmX2NydGNfY29tbWl0KHN0YXRlLCBvbGRf cGxhbmVfc3RhdGUtPmNydGMpOworCQlpZiAoIWNvbW1pdCkKKwkJCXJldHVybiAtRU5PTUVNOwor CisJCW5ld19wbGFuZV9zdGF0ZS0+Y29tbWl0ID0gY29tbWl0OworCX0KKwogCXJldHVybiAwOwog fQogRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9zZXR1cF9jb21taXQpOwpAQCAtMTc2 MSw2ICsxODIzLDEwIEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5j aWVzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9j cnRjICpjcnRjOwogCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGU7CisJc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmU7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5l X3N0YXRlOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOworCXN0cnVjdCBkcm1fY29ubmVj dG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZTsKIAlzdHJ1Y3QgZHJtX2NydGNfY29tbWl0ICpjb21t aXQ7CiAJaW50IGk7CiAJbG9uZyByZXQ7CkBAIC0xNzg1LDYgKzE4NTEsNDggQEAgdm9pZCBkcm1f YXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKm9sZF9zdGF0ZSkKIAkJCURSTV9FUlJPUigiW0NSVEM6JWQ6JXNdIGZsaXBfZG9uZSB0aW1l ZCBvdXRcbiIsCiAJCQkJICBjcnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1lKTsKIAl9CisKKwlmb3Jf ZWFjaF9vbGRfY29ubmVjdG9yX2luX3N0YXRlKG9sZF9zdGF0ZSwgY29ubiwgb2xkX2Nvbm5fc3Rh dGUsIGkpIHsKKwkJY29tbWl0ID0gb2xkX2Nvbm5fc3RhdGUtPmNvbW1pdDsKKworCQlpZiAoIWNv bW1pdCkKKwkJCWNvbnRpbnVlOworCisJCXJldCA9IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91 dCgmY29tbWl0LT5od19kb25lLAorCQkJCQkJICAxMCpIWik7CisJCWlmIChyZXQgPT0gMCkKKwkJ CURSTV9FUlJPUigiW0NPTk5FQ1RPUjolZDolc10gaHdfZG9uZSB0aW1lZCBvdXRcbiIsCisJCQkJ ICBjb25uLT5iYXNlLmlkLCBjb25uLT5uYW1lKTsKKworCQkvKiBDdXJyZW50bHkgbm8gc3VwcG9y dCBmb3Igb3ZlcndyaXRpbmcgZmxpcHMsIGhlbmNlCisJCSAqIHN0YWxsIGZvciBwcmV2aW91cyBv bmUgdG8gZXhlY3V0ZSBjb21wbGV0ZWx5LiAqLworCQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9u X3RpbWVvdXQoJmNvbW1pdC0+ZmxpcF9kb25lLAorCQkJCQkJICAxMCpIWik7CisJCWlmIChyZXQg PT0gMCkKKwkJCURSTV9FUlJPUigiW0NPTk5FQ1RPUjolZDolc10gZmxpcF9kb25lIHRpbWVkIG91 dFxuIiwKKwkJCQkgIGNvbm4tPmJhc2UuaWQsIGNvbm4tPm5hbWUpOworCX0KKworCWZvcl9lYWNo X29sZF9wbGFuZV9pbl9zdGF0ZShvbGRfc3RhdGUsIHBsYW5lLCBvbGRfcGxhbmVfc3RhdGUsIGkp IHsKKwkJY29tbWl0ID0gb2xkX3BsYW5lX3N0YXRlLT5jb21taXQ7CisKKwkJaWYgKCFjb21taXQp CisJCQljb250aW51ZTsKKworCQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQoJmNv bW1pdC0+aHdfZG9uZSwKKwkJCQkJCSAgMTAqSFopOworCQlpZiAocmV0ID09IDApCisJCQlEUk1f RVJST1IoIltQTEFORTolZDolc10gaHdfZG9uZSB0aW1lZCBvdXRcbiIsCisJCQkJICBwbGFuZS0+ YmFzZS5pZCwgcGxhbmUtPm5hbWUpOworCisJCS8qIEN1cnJlbnRseSBubyBzdXBwb3J0IGZvciBv dmVyd3JpdGluZyBmbGlwcywgaGVuY2UKKwkJICogc3RhbGwgZm9yIHByZXZpb3VzIG9uZSB0byBl eGVjdXRlIGNvbXBsZXRlbHkuICovCisJCXJldCA9IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91 dCgmY29tbWl0LT5mbGlwX2RvbmUsCisJCQkJCQkgIDEwKkhaKTsKKwkJaWYgKHJldCA9PSAwKQor CQkJRFJNX0VSUk9SKCJbUExBTkU6JWQ6JXNdIGZsaXBfZG9uZSB0aW1lZCBvdXRcbiIsCisJCQkJ ICBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUpOworCX0KIH0KIEVYUE9SVF9TWU1CT0woZHJt X2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5jaWVzKTsKIApAQCAtMTgwNyw2ICsxOTE1 LDEwIEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAJc3Ry dWN0IGRybV9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubjsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGU7CisJ c3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3X3Bs YW5lX3N0YXRlOwogCXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdDsKIAlpbnQgaTsKIApA QCAtMTgxOSw2ICsxOTMxLDIzIEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2Rv bmUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKIAkJV0FSTl9PTihuZXdfY3J0 Y19zdGF0ZS0+ZXZlbnQpOwogCQljb21wbGV0ZV9hbGwoJmNvbW1pdC0+aHdfZG9uZSk7CiAJfQor CisJZm9yX2VhY2hfbmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZShvbGRfc3RhdGUsIGNvbm4sIG5ld19j b25uX3N0YXRlLCBpKSB7CisJCWNvbW1pdCA9IG5ld19jb25uX3N0YXRlLT5jb21taXQ7CisJCWlm IChjb21taXQgJiYgIWNvbW1pdC0+Y3J0YykgeworCQkJY29tcGxldGVfYWxsKCZjb21taXQtPmh3 X2RvbmUpOworCQkJY29tcGxldGVfYWxsKCZjb21taXQtPmZsaXBfZG9uZSk7CisJCX0KKwl9CisK Kwlmb3JfZWFjaF9uZXdfcGxhbmVfaW5fc3RhdGUob2xkX3N0YXRlLCBwbGFuZSwgbmV3X3BsYW5l X3N0YXRlLCBpKSB7CisJCWNvbW1pdCA9IG5ld19wbGFuZV9zdGF0ZS0+Y29tbWl0OworCQlpZiAo Y29tbWl0ICYmICFjb21taXQtPmNydGMpIHsKKwkJCWNvbXBsZXRlX2FsbCgmY29tbWl0LT5od19k b25lKTsKKwkJCWNvbXBsZXRlX2FsbCgmY29tbWl0LT5mbGlwX2RvbmUpOworCQl9CisJfQorCiB9 CiBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9od19kb25lKTsKIApAQCAt MjI1OCw2ICsyMzg3LDI4IEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsK IAkJfQorCisJCWZvcl9lYWNoX29sZF9jb25uZWN0b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm5lY3Rv ciwgb2xkX2Nvbm5fc3RhdGUsIGkpIHsKKwkJCWNvbW1pdCA9IG9sZF9jb25uX3N0YXRlLT5jb21t aXQ7CisKKwkJCWlmICghY29tbWl0KQorCQkJCWNvbnRpbnVlOworCisJCQlyZXQgPSB3YWl0X2Zv cl9jb21wbGV0aW9uX2ludGVycnVwdGlibGUoJmNvbW1pdC0+aHdfZG9uZSk7CisJCQlpZiAocmV0 KQorCQkJCXJldHVybiByZXQ7CisJCX0KKworCQlmb3JfZWFjaF9vbGRfcGxhbmVfaW5fc3RhdGUo c3RhdGUsIHBsYW5lLCBvbGRfcGxhbmVfc3RhdGUsIGkpIHsKKwkJCWNvbW1pdCA9IG9sZF9wbGFu ZV9zdGF0ZS0+Y29tbWl0OworCisJCQlpZiAoIWNvbW1pdCkKKwkJCQljb250aW51ZTsKKworCQkJ cmV0ID0gd2FpdF9mb3JfY29tcGxldGlvbl9pbnRlcnJ1cHRpYmxlKCZjb21taXQtPmh3X2RvbmUp OworCQkJaWYgKHJldCkKKwkJCQlyZXR1cm4gcmV0OworCQl9CiAJfQogCiAJZm9yX2VhY2hfb2xk bmV3X2Nvbm5lY3Rvcl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBvbGRfY29ubl9zdGF0ZSwg bmV3X2Nvbm5fc3RhdGUsIGkpIHsKQEAgLTMyNDAsNiArMzM5MSw3IEBAIHZvaWQgX19kcm1fYXRv bWljX2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs CiAJCWRybV9mcmFtZWJ1ZmZlcl9nZXQoc3RhdGUtPmZiKTsKIAogCXN0YXRlLT5mZW5jZSA9IE5V TEw7CisJc3RhdGUtPmNvbW1pdCA9IE5VTEw7CiB9CiBFWFBPUlRfU1lNQk9MKF9fZHJtX2F0b21p Y19oZWxwZXJfcGxhbmVfZHVwbGljYXRlX3N0YXRlKTsKIApAQCAtMzI4MSw2ICszNDMzLDkgQEAg dm9pZCBfX2RybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqc3RhdGUpCiAKIAlpZiAoc3RhdGUtPmZlbmNlKQogCQlkbWFfZmVuY2VfcHV0 KHN0YXRlLT5mZW5jZSk7CisKKwlpZiAoc3RhdGUtPmNvbW1pdCkKKwkJZHJtX2NydGNfY29tbWl0 X3B1dChzdGF0ZS0+Y29tbWl0KTsKIH0KIEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBl cl9wbGFuZV9kZXN0cm95X3N0YXRlKTsKIApAQCAtMzM1OSw2ICszNTE0LDcgQEAgX19kcm1fYXRv bWljX2hlbHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCiAJbWVtY3B5KHN0YXRlLCBjb25uZWN0b3ItPnN0YXRlLCBzaXplb2YoKnN0 YXRlKSk7CiAJaWYgKHN0YXRlLT5jcnRjKQogCQlkcm1fY29ubmVjdG9yX2dldChjb25uZWN0b3Ip OworCXN0YXRlLT5jb21taXQgPSBOVUxMOwogfQogRVhQT1JUX1NZTUJPTChfX2RybV9hdG9taWNf aGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVfc3RhdGUpOwogCkBAIC0zNDg1LDYgKzM2NDEsOSBA QCBfX2RybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpzdGF0ZSkKIHsKIAlpZiAoc3RhdGUtPmNydGMpCiAJCWRybV9jb25u ZWN0b3JfcHV0KHN0YXRlLT5jb25uZWN0b3IpOworCisJaWYgKHN0YXRlLT5jb21taXQpCisJCWRy bV9jcnRjX2NvbW1pdF9wdXQoc3RhdGUtPmNvbW1pdCk7CiB9CiBFWFBPUlRfU1lNQk9MKF9fZHJt X2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2Rlc3Ryb3lfc3RhdGUpOwogCmRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgK aW5kZXggZWE4ZGE0MDFjOTNjLi44ODM3NjQ5ZDE2ZTggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJt L2RybV9jb25uZWN0b3IuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKQEAgLTM0 Nyw2ICszNDcsMTMgQEAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewogCiAJc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlOwogCisJLyoqCisJICogQGNvbW1pdDogVHJhY2tzIHRoZSBw ZW5kaW5nIGNvbW1pdCB0byBwcmV2ZW50IHVzZS1hZnRlci1mcmVlIGNvbmRpdGlvbnMuCisJICoK KwkgKiBJcyBvbmx5IHNldCB3aGVuIEBjcnRjIGlzIE5VTEwuCisJICovCisJc3RydWN0IGRybV9j cnRjX2NvbW1pdCAqY29tbWl0OworCiAJc3RydWN0IGRybV90dl9jb25uZWN0b3Jfc3RhdGUgdHY7 CiAKIAkvKioKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oIGIvaW5jbHVkZS9k cm0vZHJtX3BsYW5lLmgKaW5kZXggNzNmOTBmOWQwNTdmLi43ZDk2MTE2ZmQ0YzQgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5o CkBAIC0xMjMsNiArMTIzLDEzIEBAIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgewogCSAqLwogCWJv b2wgdmlzaWJsZTsKIAorCS8qKgorCSAqIEBjb21taXQ6IFRyYWNrcyB0aGUgcGVuZGluZyBjb21t aXQgdG8gcHJldmVudCB1c2UtYWZ0ZXItZnJlZSBjb25kaXRpb25zLgorCSAqCisJICogSXMgb25s eSBzZXQgd2hlbiBAY3J0YyBpcyBOVUxMLgorCSAqLworCXN0cnVjdCBkcm1fY3J0Y19jb21taXQg KmNvbW1pdDsKKwogCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKIH07CiAKLS0gCjIu MTEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==