From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 4/5] drm/atomic: Fix freeing connector/plane state too early by tracking commits, v2. Date: Wed, 30 Aug 2017 14:17:51 +0200 Message-ID: <20170830121752.31291-5-maarten.lankhorst@linux.intel.com> References: <20170830121752.31291-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: <20170830121752.31291-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: intel-gfx@lists.freedesktop.org Q3VycmVudGx5IHdlIG5lYXRseSB0cmFjayB0aGUgY3J0YyBzdGF0ZSwgYnV0IGZvcmdldCB0byBs b29rIGF0CnBsYW5lL2Nvbm5lY3RvciBzdGF0ZS4KCldoZW4gZG9pbmcgYSBub25ibG9ja2luZyBt b2Rlc2V0LCBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSBhIHNldHByb3AKYmVmb3JlIHRoZSBtb2Rl c2V0IGNvbXBsZXRlcywgdGhlIHNldHByb3Agd2lsbCBzZWUgdGhlIG1vZGVzZXRzIG5ldwpzdGF0 ZSBhcyB0aGUgb2xkIHN0YXRlIGFuZCBmcmVlIGl0LgoKVGhpcyBoYXMgdG8gYmUgc29sdmVkIGJ5 IHdhaXRpbmcgZm9yIGh3X2RvbmUgb24gdGhlIGNvbm5lY3RvciwgZXZlbgppZiBpdCdzIG5vdCBh c3NpZ25lZCB0byBhIGNydGMuIFdoZW4gYSBjb25uZWN0b3IgaXMgdW5ib3VuZCB3ZSB0YWtlCnRo ZSBsYXN0IGNydGMgY29tbWl0LCBhbmQgd2hlbiBpdCBzdGF5cyB1bmJvdW5kIHdlIGNyZWF0ZSBh IG5ldwpmYWtlIGNydGMgY29tbWl0IGZvciB0aGF0IGdldHMgc2lnbmFsZWQgb24gaHdfZG9uZSBm b3IgYWxsIHRoZQpwbGFuZXMvY29ubmVjdG9ycy4KCldlIHdhaXQgZm9yIGl0IHRoZSBzYW1lIHdh eSBhcyB3ZSBkbyBmb3IgY3J0YydzLCB3aGljaCB3aWxsIG1ha2UKc3VyZSB3ZSBuZXZlciBydW4g aW50byBhIHVzZS1hZnRlci1mcmVlIHNpdHVhdGlvbi4KCkNoYW5nZXMgc2luY2UgdjE6Ci0gT25s eSBjcmVhdGUgYSBzaW5nbGUgZGlzYWJsZSBjb21taXQuIChkYW52ZXQpCi0gRml4IGxlYWsgaW4g aW50ZWxfbGVnYWN5X2N1cnNvcl91cGRhdGUuCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmto b3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpUZXN0Y2FzZToga21zX2F0 b21pY190cmFuc2l0aW9uLnBsYW5lLXVzZS1hZnRlci1ub25ibG9ja2luZy11bmJpbmQqCkNjOiBM YXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgIHwgICA0ICsKIGRyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICB8IDE1NiArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgICAyICsK IGluY2x1ZGUvZHJtL2RybV9hdG9taWMuaCAgICAgICAgICAgICB8ICAxMiArKysKIGluY2x1ZGUv ZHJtL2RybV9jb25uZWN0b3IuaCAgICAgICAgICB8ICAgNyArKwogaW5jbHVkZS9kcm0vZHJtX3Bs YW5lLmggICAgICAgICAgICAgIHwgICA3ICsrCiA2IGZpbGVzIGNoYW5nZWQsIDE4MiBpbnNlcnRp b25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCmluZGV4IDJjY2U0OGYyMDNl MC4uNzVmNWY3NGRlOWJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKQEAgLTE5Miw2ICsxOTIsMTAgQEAg dm9pZCBkcm1fYXRvbWljX3N0YXRlX2RlZmF1bHRfY2xlYXIoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQogCX0KIAlzdGF0ZS0+bnVtX3ByaXZhdGVfb2JqcyA9IDA7CiAKKwlpZiAoc3Rh dGUtPmZha2VfY29tbWl0KSB7CisJCWRybV9jcnRjX2NvbW1pdF9wdXQoc3RhdGUtPmZha2VfY29t bWl0KTsKKwkJc3RhdGUtPmZha2VfY29tbWl0ID0gTlVMTDsKKwl9CiB9CiBFWFBPUlRfU1lNQk9M KGRybV9hdG9taWNfc3RhdGVfZGVmYXVsdF9jbGVhcik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMKaW5kZXggOGNjYjhiNjUzNmMwLi4wMzRmNTYzZmIxMzAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jCkBAIC0xNjQ0LDYgKzE2NDQsNDAgQEAgc3RhdGljIHZvaWQgcmVs ZWFzZV9jcnRjX2NvbW1pdChzdHJ1Y3QgY29tcGxldGlvbiAqY29tcGxldGlvbikKIAlkcm1fY3J0 Y19jb21taXRfcHV0KGNvbW1pdCk7CiB9CiAKK3N0YXRpYyB2b2lkIGluaXRfY29tbWl0KHN0cnVj dCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdCwgc3RydWN0IGRybV9jcnRjICpjcnRjKQoreworCWlu aXRfY29tcGxldGlvbigmY29tbWl0LT5mbGlwX2RvbmUpOworCWluaXRfY29tcGxldGlvbigmY29t bWl0LT5od19kb25lKTsKKwlpbml0X2NvbXBsZXRpb24oJmNvbW1pdC0+Y2xlYW51cF9kb25lKTsK KwlJTklUX0xJU1RfSEVBRCgmY29tbWl0LT5jb21taXRfZW50cnkpOworCWtyZWZfaW5pdCgmY29t bWl0LT5yZWYpOworCWNvbW1pdC0+Y3J0YyA9IGNydGM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZHJt X2NydGNfY29tbWl0ICoKK2Zha2Vfb3JfY3J0Y19jb21taXQoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCit7CisJc3RydWN0IGRybV9jcnRjX2Nv bW1pdCAqY29tbWl0OworCisJaWYgKGNydGMpIHsKKwkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpu ZXdfY3J0Y19zdGF0ZTsKKworCQluZXdfY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X25ld19j cnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKKworCQljb21taXQgPSBuZXdfY3J0Y19zdGF0ZS0+Y29t bWl0OworCX0gZWxzZSBpZiAoIXN0YXRlLT5mYWtlX2NvbW1pdCkgeworCQlzdGF0ZS0+ZmFrZV9j b21taXQgPSBjb21taXQgPSBremFsbG9jKHNpemVvZigqY29tbWl0KSwgR0ZQX0tFUk5FTCk7CisJ CWlmICghY29tbWl0KQorCQkJcmV0dXJuIE5VTEw7CisKKwkJaW5pdF9jb21taXQoY29tbWl0LCBO VUxMKTsKKwl9IGVsc2UKKwkJY29tbWl0ID0gc3RhdGUtPmZha2VfY29tbWl0OworCisJZHJtX2Ny dGNfY29tbWl0X2dldChjb21taXQpOworCXJldHVybiBjb21taXQ7Cit9CisKIC8qKgogICogZHJt X2F0b21pY19oZWxwZXJfc2V0dXBfY29tbWl0IC0gc2V0dXAgcG9zc2libHkgbm9uYmxvY2tpbmcg Y29tbWl0CiAgKiBAc3RhdGU6IG5ldyBtb2Rlc2V0IHN0YXRlIHRvIGJlIGNvbW1pdHRlZApAQCAt MTY5Miw2ICsxNzI2LDEwIEBAIGludCBkcm1fYXRvbWljX2hlbHBlcl9zZXR1cF9jb21taXQoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogewogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsK IAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLCAqbmV3X2NydGNfc3RhdGU7 CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm47CisJc3RydWN0IGRybV9jb25uZWN0b3Jfc3Rh dGUgKm9sZF9jb25uX3N0YXRlLCAqbmV3X2Nvbm5fc3RhdGU7CisJc3RydWN0IGRybV9wbGFuZSAq cGxhbmU7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5lX3N0YXRlLCAqbmV3X3Bs YW5lX3N0YXRlOwogCXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1pdDsKIAlpbnQgaSwgcmV0 OwogCkBAIC0xNzAwLDEyICsxNzM4LDcgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX3NldHVwX2Nv bW1pdChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCWlmICghY29tbWl0KQogCQkJ cmV0dXJuIC1FTk9NRU07CiAKLQkJaW5pdF9jb21wbGV0aW9uKCZjb21taXQtPmZsaXBfZG9uZSk7 Ci0JCWluaXRfY29tcGxldGlvbigmY29tbWl0LT5od19kb25lKTsKLQkJaW5pdF9jb21wbGV0aW9u KCZjb21taXQtPmNsZWFudXBfZG9uZSk7Ci0JCUlOSVRfTElTVF9IRUFEKCZjb21taXQtPmNvbW1p dF9lbnRyeSk7Ci0JCWtyZWZfaW5pdCgmY29tbWl0LT5yZWYpOwotCQljb21taXQtPmNydGMgPSBj cnRjOworCQlpbml0X2NvbW1pdChjb21taXQsIGNydGMpOwogCiAJCW5ld19jcnRjX3N0YXRlLT5j b21taXQgPSBjb21taXQ7CiAKQEAgLTE3NDEsNiArMTc3NCwzNiBAQCBpbnQgZHJtX2F0b21pY19o ZWxwZXJfc2V0dXBfY29tbWl0KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIAkJZHJt X2NydGNfY29tbWl0X2dldChjb21taXQpOwogCX0KIAorCWZvcl9lYWNoX29sZG5ld19jb25uZWN0 b3JfaW5fc3RhdGUoc3RhdGUsIGNvbm4sIG9sZF9jb25uX3N0YXRlLCBuZXdfY29ubl9zdGF0ZSwg aSkgeworCQlpZiAobmV3X2Nvbm5fc3RhdGUtPmNydGMpCisJCQljb250aW51ZTsKKworCQlpZiAo bm9uYmxvY2sgJiYgb2xkX2Nvbm5fc3RhdGUtPmNvbW1pdCAmJgorCQkgICAgIXRyeV93YWl0X2Zv cl9jb21wbGV0aW9uKCZvbGRfY29ubl9zdGF0ZS0+Y29tbWl0LT5mbGlwX2RvbmUpKQorCQkJcmV0 dXJuIC1FQlVTWTsKKworCQljb21taXQgPSBmYWtlX29yX2NydGNfY29tbWl0KHN0YXRlLCBvbGRf Y29ubl9zdGF0ZS0+Y3J0Yyk7CisJCWlmICghY29tbWl0KQorCQkJcmV0dXJuIC1FTk9NRU07CisK KwkJbmV3X2Nvbm5fc3RhdGUtPmNvbW1pdCA9IGNvbW1pdDsKKwl9CisKKwlmb3JfZWFjaF9vbGRu ZXdfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBvbGRfcGxhbmVfc3RhdGUsIG5ld19wbGFu ZV9zdGF0ZSwgaSkgeworCQlpZiAobmV3X3BsYW5lX3N0YXRlLT5jcnRjKQorCQkJY29udGludWU7 CisKKwkJaWYgKG5vbmJsb2NrICYmIG9sZF9wbGFuZV9zdGF0ZS0+Y29tbWl0ICYmCisJCSAgICAh dHJ5X3dhaXRfZm9yX2NvbXBsZXRpb24oJm9sZF9wbGFuZV9zdGF0ZS0+Y29tbWl0LT5mbGlwX2Rv bmUpKQorCQkJcmV0dXJuIC1FQlVTWTsKKworCQljb21taXQgPSBmYWtlX29yX2NydGNfY29tbWl0 KHN0YXRlLCBvbGRfcGxhbmVfc3RhdGUtPmNydGMpOworCQlpZiAoIWNvbW1pdCkKKwkJCXJldHVy biAtRU5PTUVNOworCisJCW5ld19wbGFuZV9zdGF0ZS0+Y29tbWl0ID0gY29tbWl0OworCX0KKwog CXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9zZXR1cF9jb21t aXQpOwpAQCAtMTc2MSw2ICsxODI0LDEwIEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfd2FpdF9m b3JfZGVwZW5kZW5jaWVzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCiB7CiAJ c3RydWN0IGRybV9jcnRjICpjcnRjOwogCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNf c3RhdGU7CisJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqb2xkX3BsYW5lX3N0YXRlOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uOworCXN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZTsKIAlzdHJ1Y3QgZHJtX2NydGNf Y29tbWl0ICpjb21taXQ7CiAJaW50IGk7CiAJbG9uZyByZXQ7CkBAIC0xNzg1LDYgKzE4NTIsNDgg QEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9kZXBlbmRlbmNpZXMoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKIAkJCURSTV9FUlJPUigiW0NSVEM6JWQ6JXNdIGZs aXBfZG9uZSB0aW1lZCBvdXRcbiIsCiAJCQkJICBjcnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1lKTsK IAl9CisKKwlmb3JfZWFjaF9vbGRfY29ubmVjdG9yX2luX3N0YXRlKG9sZF9zdGF0ZSwgY29ubiwg b2xkX2Nvbm5fc3RhdGUsIGkpIHsKKwkJY29tbWl0ID0gb2xkX2Nvbm5fc3RhdGUtPmNvbW1pdDsK KworCQlpZiAoIWNvbW1pdCkKKwkJCWNvbnRpbnVlOworCisJCXJldCA9IHdhaXRfZm9yX2NvbXBs ZXRpb25fdGltZW91dCgmY29tbWl0LT5od19kb25lLAorCQkJCQkJICAxMCpIWik7CisJCWlmIChy ZXQgPT0gMCkKKwkJCURSTV9FUlJPUigiW0NPTk5FQ1RPUjolZDolc10gaHdfZG9uZSB0aW1lZCBv dXRcbiIsCisJCQkJICBjb25uLT5iYXNlLmlkLCBjb25uLT5uYW1lKTsKKworCQkvKiBDdXJyZW50 bHkgbm8gc3VwcG9ydCBmb3Igb3ZlcndyaXRpbmcgZmxpcHMsIGhlbmNlCisJCSAqIHN0YWxsIGZv ciBwcmV2aW91cyBvbmUgdG8gZXhlY3V0ZSBjb21wbGV0ZWx5LiAqLworCQlyZXQgPSB3YWl0X2Zv cl9jb21wbGV0aW9uX3RpbWVvdXQoJmNvbW1pdC0+ZmxpcF9kb25lLAorCQkJCQkJICAxMCpIWik7 CisJCWlmIChyZXQgPT0gMCkKKwkJCURSTV9FUlJPUigiW0NPTk5FQ1RPUjolZDolc10gZmxpcF9k b25lIHRpbWVkIG91dFxuIiwKKwkJCQkgIGNvbm4tPmJhc2UuaWQsIGNvbm4tPm5hbWUpOworCX0K KworCWZvcl9lYWNoX29sZF9wbGFuZV9pbl9zdGF0ZShvbGRfc3RhdGUsIHBsYW5lLCBvbGRfcGxh bmVfc3RhdGUsIGkpIHsKKwkJY29tbWl0ID0gb2xkX3BsYW5lX3N0YXRlLT5jb21taXQ7CisKKwkJ aWYgKCFjb21taXQpCisJCQljb250aW51ZTsKKworCQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9u X3RpbWVvdXQoJmNvbW1pdC0+aHdfZG9uZSwKKwkJCQkJCSAgMTAqSFopOworCQlpZiAocmV0ID09 IDApCisJCQlEUk1fRVJST1IoIltQTEFORTolZDolc10gaHdfZG9uZSB0aW1lZCBvdXRcbiIsCisJ CQkJICBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUpOworCisJCS8qIEN1cnJlbnRseSBubyBz dXBwb3J0IGZvciBvdmVyd3JpdGluZyBmbGlwcywgaGVuY2UKKwkJICogc3RhbGwgZm9yIHByZXZp b3VzIG9uZSB0byBleGVjdXRlIGNvbXBsZXRlbHkuICovCisJCXJldCA9IHdhaXRfZm9yX2NvbXBs ZXRpb25fdGltZW91dCgmY29tbWl0LT5mbGlwX2RvbmUsCisJCQkJCQkgIDEwKkhaKTsKKwkJaWYg KHJldCA9PSAwKQorCQkJRFJNX0VSUk9SKCJbUExBTkU6JWQ6JXNdIGZsaXBfZG9uZSB0aW1lZCBv dXRcbiIsCisJCQkJICBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUpOworCX0KIH0KIEVYUE9S VF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZGVwZW5kZW5jaWVzKTsKIApAQCAt MTgxOSw2ICsxOTI4LDExIEBAIHZvaWQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSkKIAkJV0FSTl9PTihuZXdfY3J0Y19z dGF0ZS0+ZXZlbnQpOwogCQljb21wbGV0ZV9hbGwoJmNvbW1pdC0+aHdfZG9uZSk7CiAJfQorCisJ aWYgKG9sZF9zdGF0ZS0+ZmFrZV9jb21taXQpIHsKKwkJY29tcGxldGVfYWxsKCZvbGRfc3RhdGUt PmZha2VfY29tbWl0LT5od19kb25lKTsKKwkJY29tcGxldGVfYWxsKCZvbGRfc3RhdGUtPmZha2Vf Y29tbWl0LT5mbGlwX2RvbmUpOworCX0KIH0KIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxw ZXJfY29tbWl0X2h3X2RvbmUpOwogCkBAIC0yMjQxLDYgKzIzNTUsMjggQEAgaW50IGRybV9hdG9t aWNfaGVscGVyX3N3YXBfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJ aWYgKHJldCkKIAkJCQlyZXR1cm4gcmV0OwogCQl9CisKKwkJZm9yX2VhY2hfb2xkX2Nvbm5lY3Rv cl9pbl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yLCBvbGRfY29ubl9zdGF0ZSwgaSkgeworCQkJY29t bWl0ID0gb2xkX2Nvbm5fc3RhdGUtPmNvbW1pdDsKKworCQkJaWYgKCFjb21taXQpCisJCQkJY29u dGludWU7CisKKwkJCXJldCA9IHdhaXRfZm9yX2NvbXBsZXRpb25faW50ZXJydXB0aWJsZSgmY29t bWl0LT5od19kb25lKTsKKwkJCWlmIChyZXQpCisJCQkJcmV0dXJuIHJldDsKKwkJfQorCisJCWZv cl9lYWNoX29sZF9wbGFuZV9pbl9zdGF0ZShzdGF0ZSwgcGxhbmUsIG9sZF9wbGFuZV9zdGF0ZSwg aSkgeworCQkJY29tbWl0ID0gb2xkX3BsYW5lX3N0YXRlLT5jb21taXQ7CisKKwkJCWlmICghY29t bWl0KQorCQkJCWNvbnRpbnVlOworCisJCQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2ludGVy cnVwdGlibGUoJmNvbW1pdC0+aHdfZG9uZSk7CisJCQlpZiAocmV0KQorCQkJCXJldHVybiByZXQ7 CisJCX0KIAl9CiAKIAlmb3JfZWFjaF9vbGRuZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBj b25uZWN0b3IsIG9sZF9jb25uX3N0YXRlLCBuZXdfY29ubl9zdGF0ZSwgaSkgewpAQCAtMzIyMyw2 ICszMzU5LDcgQEAgdm9pZCBfX2RybV9hdG9taWNfaGVscGVyX3BsYW5lX2R1cGxpY2F0ZV9zdGF0 ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJZHJtX2ZyYW1lYnVmZmVyX2dldChzdGF0ZS0+ ZmIpOwogCiAJc3RhdGUtPmZlbmNlID0gTlVMTDsKKwlzdGF0ZS0+Y29tbWl0ID0gTlVMTDsKIH0K IEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kdXBsaWNhdGVfc3RhdGUp OwogCkBAIC0zMjY0LDYgKzM0MDEsOSBAQCB2b2lkIF9fZHJtX2F0b21pY19oZWxwZXJfcGxhbmVf ZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKIAogCWlmIChzdGF0 ZS0+ZmVuY2UpCiAJCWRtYV9mZW5jZV9wdXQoc3RhdGUtPmZlbmNlKTsKKworCWlmIChzdGF0ZS0+ Y29tbWl0KQorCQlkcm1fY3J0Y19jb21taXRfcHV0KHN0YXRlLT5jb21taXQpOwogfQogRVhQT1JU X1NZTUJPTChfX2RybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lfc3RhdGUpOwogCkBAIC0z MzQyLDYgKzM0ODIsNyBAQCBfX2RybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVf c3RhdGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAltZW1jcHkoc3RhdGUsIGNv bm5lY3Rvci0+c3RhdGUsIHNpemVvZigqc3RhdGUpKTsKIAlpZiAoc3RhdGUtPmNydGMpCiAJCWRy bV9jb25uZWN0b3JfZ2V0KGNvbm5lY3Rvcik7CisJc3RhdGUtPmNvbW1pdCA9IE5VTEw7CiB9CiBF WFBPUlRfU1lNQk9MKF9fZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0 ZSk7CiAKQEAgLTM0NjgsNiArMzYwOSw5IEBAIF9fZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9y X2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlKQogewogCWlm IChzdGF0ZS0+Y3J0YykKIAkJZHJtX2Nvbm5lY3Rvcl9wdXQoc3RhdGUtPmNvbm5lY3Rvcik7CisK KwlpZiAoc3RhdGUtPmNvbW1pdCkKKwkJZHJtX2NydGNfY29tbWl0X3B1dChzdGF0ZS0+Y29tbWl0 KTsKIH0KIEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJv eV9zdGF0ZSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAzZjNjYjk2 YWExMWUuLjcwY2UwMjc1MzE3NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpA QCAtMTMxMDksOCArMTMxMDksMTAgQEAgaW50ZWxfbGVnYWN5X2N1cnNvcl91cGRhdGUoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCiAKIAkvKiBTd2FwIHBsYW5lIHN0YXRlICovCiAJbmV3X3BsYW5l X3N0YXRlLT5mZW5jZSA9IG9sZF9wbGFuZV9zdGF0ZS0+ZmVuY2U7CisJbmV3X3BsYW5lX3N0YXRl LT5jb21taXQgPSBvbGRfcGxhbmVfc3RhdGUtPmNvbW1pdDsKIAkqdG9faW50ZWxfcGxhbmVfc3Rh dGUob2xkX3BsYW5lX3N0YXRlKSA9ICp0b19pbnRlbF9wbGFuZV9zdGF0ZShuZXdfcGxhbmVfc3Rh dGUpOwogCW5ld19wbGFuZV9zdGF0ZS0+ZmVuY2UgPSBOVUxMOworCW5ld19wbGFuZV9zdGF0ZS0+ Y29tbWl0ID0gTlVMTDsKIAluZXdfcGxhbmVfc3RhdGUtPmZiID0gb2xkX2ZiOwogCXRvX2ludGVs X3BsYW5lX3N0YXRlKG5ld19wbGFuZV9zdGF0ZSktPnZtYSA9IE5VTEw7CiAKZGlmZiAtLWdpdCBh L2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaCBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaAppbmRl eCBlNzZkOWY5NWMxOTEuLmJhOTc2ZjRhNDkzOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJt X2F0b21pYy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9hdG9taWMuaApAQCAtMjM2LDYgKzIzNiwx OCBAQCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSB7CiAJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVp cmVfY3R4ICphY3F1aXJlX2N0eDsKIAogCS8qKgorCSAqIEBmYWtlX2NvbW1pdDoKKwkgKgorCSAq IFVzZWQgZm9yIHNpZ25hbGluZyB1bmJvdW5kIHBsYW5lcy9jb25uZWN0b3JzLgorCSAqIFdoZW4g YSBjb25uZWN0b3Igb3IgcGxhbmUgaXMgbm90IGJvdW5kIHRvIGFueSBDUlRDLCBpdCdzIHN0aWxs IGltcG9ydGFudAorCSAqIHRvIHByZXNlcnZlIGxpbmVhcml0eSB0byBwcmV2ZW50IHRoZSBhdG9t aWMgc3RhdGVzIGZyb20gYmVpbmcgZnJlZWQgdG8gZWFybHkuCisJICoKKwkgKiBUaGlzIGNvbW1p dCAoaWYgc2V0KSBpcyBub3QgYm91bmQgdG8gYW55IGNydGMsIGJ1dCB3aWxsIGJlIGNvbXBsZXRl ZCB3aGVuCisJICogZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUoKSBpcyBjYWxsZWQu CisJICovCisJc3RydWN0IGRybV9jcnRjX2NvbW1pdCAqZmFrZV9jb21taXQ7CisKKwkvKioKIAkg KiBAY29tbWl0X3dvcms6CiAJICoKIAkgKiBXb3JrIGl0ZW0gd2hpY2ggY2FuIGJlIHVzZWQgYnkg dGhlIGRyaXZlciBvciBoZWxwZXJzIHRvIGV4ZWN1dGUgdGhlCmRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKaW5kZXgg ZWE4ZGE0MDFjOTNjLi44ODM3NjQ5ZDE2ZTggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9j b25uZWN0b3IuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKQEAgLTM0Nyw2ICsz NDcsMTMgQEAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewogCiAJc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlOwogCisJLyoqCisJICogQGNvbW1pdDogVHJhY2tzIHRoZSBwZW5kaW5n IGNvbW1pdCB0byBwcmV2ZW50IHVzZS1hZnRlci1mcmVlIGNvbmRpdGlvbnMuCisJICoKKwkgKiBJ cyBvbmx5IHNldCB3aGVuIEBjcnRjIGlzIE5VTEwuCisJICovCisJc3RydWN0IGRybV9jcnRjX2Nv bW1pdCAqY29tbWl0OworCiAJc3RydWN0IGRybV90dl9jb25uZWN0b3Jfc3RhdGUgdHY7CiAKIAkv KioKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oIGIvaW5jbHVkZS9kcm0vZHJt X3BsYW5lLmgKaW5kZXggNzNmOTBmOWQwNTdmLi43ZDk2MTE2ZmQ0YzQgMTAwNjQ0Ci0tLSBhL2lu Y2x1ZGUvZHJtL2RybV9wbGFuZS5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCkBAIC0x MjMsNiArMTIzLDEzIEBAIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgewogCSAqLwogCWJvb2wgdmlz aWJsZTsKIAorCS8qKgorCSAqIEBjb21taXQ6IFRyYWNrcyB0aGUgcGVuZGluZyBjb21taXQgdG8g cHJldmVudCB1c2UtYWZ0ZXItZnJlZSBjb25kaXRpb25zLgorCSAqCisJICogSXMgb25seSBzZXQg d2hlbiBAY3J0YyBpcyBOVUxMLgorCSAqLworCXN0cnVjdCBkcm1fY3J0Y19jb21taXQgKmNvbW1p dDsKKwogCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKIH07CiAKLS0gCjIuMTEuMAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==