From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 1/2] drm/atomic: Make prepare_fb/cleanup_fb only take state, v3. Date: Wed, 2 Sep 2015 10:42:40 +0200 Message-ID: <1441183361-24507-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 List-Id: dri-devel@lists.freedesktop.org VGhpcyByZW1vdmVzIHRoZSBuZWVkIHRvIHNlcGFyYXRlbHkgdHJhY2sgZmIgY2hhbmdlcyBpOTE1 LgpUaGF0IHdpbGwgYmUgZG9uZSBhcyBhIHNlcGFyYXRlIGNvbW1pdCwgaG93ZXZlci4KCkNoYW5n ZXMgc2luY2UgdjE6Ci0gQWRkIGRyaS1kZXZlbCB0byBjYy4KLSBGaXggYSBjaGVjayBpbiBpbnRl bCdzIHByZXBhcmUgYW5kIGNsZWFudXAgZmIgdG8gdGFrZSByb3RhdGlvbgogIGludG8gYWNjb3Vu dC4KQ2hhbmdlcyBzaW5jZSB2MjoKLSBTcGxpdCBvdXQgaTkxNSBjaGFuZ2VzIHRvIGEgc2VwYXJh dGUgY29tbWl0LgoKQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKU2lnbmVkLW9m Zi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfcGxhbmUuYyB8 ICA0ICsrKy0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICAgICAgICAgICAg IHwgMjEgKysrKysrLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hl bHBlci5jICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jICAgICAgICAgICAgfCAgOSArKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oICAgICAgICAgICAgICAgIHwgIDIgLS0KIGRyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDQvbWRwNF9wbGFuZS5jICAgICAgIHwgMTAgKysrKysrKystLQogZHJpdmVycy9n cHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMgICAgICAgfCAgOSArKysrKysrKy0KIGRy aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYyAgICAgICAgICAgIHwgMTAgKysrKysr LS0tLQogZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMgICAgICAgICAgICAgICAgICAgICAgfCAg MiAtLQogaW5jbHVkZS9kcm0vZHJtX3BsYW5lX2hlbHBlci5oICAgICAgICAgICAgICAgICAgfCAg MiAtLQogMTAgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3Bs YW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfcGxhbmUuYwpp bmRleCBiZTlmYTgyMjA0OTkuLjM2ZmRhODZiMzUxOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMKQEAgLTcxMiwxMSArNzEyLDEzIEBAIHN0 YXRpYyBpbnQgYXRtZWxfaGxjZGNfcGxhbmVfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUg KnAsCiB9CiAKIHN0YXRpYyBpbnQgYXRtZWxfaGxjZGNfcGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3Qg ZHJtX3BsYW5lICpwLAotCQkJCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJCQkJY29u c3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3X3N0YXRlKQogewogCXN0cnVjdCBhdG1lbF9o bGNkY19wbGFuZSAqcGxhbmUgPSBkcm1fcGxhbmVfdG9fYXRtZWxfaGxjZGNfcGxhbmUocCk7CiAK KwlpZiAoIW5ld19zdGF0ZS0+ZmIpCisJCXJldHVybiAwOworCiAJcmV0dXJuIGF0bWVsX2hsY2Rj X2xheWVyX3VwZGF0ZV9zdGFydCgmcGxhbmUtPmxheWVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19oZWxwZXIuYwppbmRleCBhMjYyOWVlMTMzYmEuLjliMGM0NzY5MGFlOCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWNfaGVscGVyLmMKQEAgLTExMTEsMTcgKzExMTEsMTQgQEAgaW50IGRybV9h dG9taWNfaGVscGVyX3ByZXBhcmVfcGxhbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWNv bnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzICpmdW5jczsKIAkJc3RydWN0IGRybV9w bGFuZSAqcGxhbmUgPSBzdGF0ZS0+cGxhbmVzW2ldOwogCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRl ICpwbGFuZV9zdGF0ZSA9IHN0YXRlLT5wbGFuZV9zdGF0ZXNbaV07Ci0JCXN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiOwogCiAJCWlmICghcGxhbmUpCiAJCQljb250aW51ZTsKIAogCQlmdW5jcyA9 IHBsYW5lLT5oZWxwZXJfcHJpdmF0ZTsKIAotCQlmYiA9IHBsYW5lX3N0YXRlLT5mYjsKLQotCQlp ZiAoZmIgJiYgZnVuY3MtPnByZXBhcmVfZmIpIHsKLQkJCXJldCA9IGZ1bmNzLT5wcmVwYXJlX2Zi KHBsYW5lLCBmYiwgcGxhbmVfc3RhdGUpOworCQlpZiAoZnVuY3MtPnByZXBhcmVfZmIpIHsKKwkJ CXJldCA9IGZ1bmNzLT5wcmVwYXJlX2ZiKHBsYW5lLCBwbGFuZV9zdGF0ZSk7CiAJCQlpZiAocmV0 KQogCQkJCWdvdG8gZmFpbDsKIAkJfQpAQCAtMTEzNCwxNyArMTEzMSwxNCBAQCBmYWlsOgogCQlj b25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyAqZnVuY3M7CiAJCXN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lID0gc3RhdGUtPnBsYW5lc1tpXTsKIAkJc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqcGxhbmVfc3RhdGUgPSBzdGF0ZS0+cGxhbmVfc3RhdGVzW2ldOwotCQlzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICpmYjsKIAogCQlpZiAoIXBsYW5lKQogCQkJY29udGludWU7CiAKIAkJZnVuY3Mg PSBwbGFuZS0+aGVscGVyX3ByaXZhdGU7CiAKLQkJZmIgPSBzdGF0ZS0+cGxhbmVfc3RhdGVzW2ld LT5mYjsKLQotCQlpZiAoZmIgJiYgZnVuY3MtPmNsZWFudXBfZmIpCi0JCQlmdW5jcy0+Y2xlYW51 cF9mYihwbGFuZSwgZmIsIHBsYW5lX3N0YXRlKTsKKwkJaWYgKGZ1bmNzLT5jbGVhbnVwX2ZiKQor CQkJZnVuY3MtPmNsZWFudXBfZmIocGxhbmUsIHBsYW5lX3N0YXRlKTsKIAogCX0KIApAQCAtMTMw MCwxNCArMTI5NCwxMSBAQCB2b2lkIGRybV9hdG9taWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAlmb3JfZWFjaF9wbGFuZV9pbl9zdGF0ZShvbGRfc3Rh dGUsIHBsYW5lLCBwbGFuZV9zdGF0ZSwgaSkgewogCQljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2hl bHBlcl9mdW5jcyAqZnVuY3M7Ci0JCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYjsKIAog CQlmdW5jcyA9IHBsYW5lLT5oZWxwZXJfcHJpdmF0ZTsKIAotCQlvbGRfZmIgPSBwbGFuZV9zdGF0 ZS0+ZmI7Ci0KLQkJaWYgKG9sZF9mYiAmJiBmdW5jcy0+Y2xlYW51cF9mYikKLQkJCWZ1bmNzLT5j bGVhbnVwX2ZiKHBsYW5lLCBvbGRfZmIsIHBsYW5lX3N0YXRlKTsKKwkJaWYgKGZ1bmNzLT5jbGVh bnVwX2ZiKQorCQkJZnVuY3MtPmNsZWFudXBfZmIocGxhbmUsIHBsYW5lX3N0YXRlKTsKIAl9CiB9 CiBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX3BsYW5lX2hlbHBlci5jCmluZGV4IDVlNWEwN2FmMDJjOC4uZDM4NGViY2YwYWFmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMKQEAgLTQyNiw3ICs0MjYsNyBAQCBpbnQgZHJt X3BsYW5lX2hlbHBlcl9jb21taXQoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAKIAlpZiAocGxh bmVfZnVuY3MtPnByZXBhcmVfZmIgJiYgcGxhbmVfc3RhdGUtPmZiICYmCiAJICAgIHBsYW5lX3N0 YXRlLT5mYiAhPSBvbGRfZmIpIHsKLQkJcmV0ID0gcGxhbmVfZnVuY3MtPnByZXBhcmVfZmIocGxh bmUsIHBsYW5lX3N0YXRlLT5mYiwKKwkJcmV0ID0gcGxhbmVfZnVuY3MtPnByZXBhcmVfZmIocGxh bmUsCiAJCQkJCSAgICAgIHBsYW5lX3N0YXRlKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gb3V0OwpA QCAtNDc5LDggKzQ3OSw4IEBAIGludCBkcm1fcGxhbmVfaGVscGVyX2NvbW1pdChzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSwKIAkJcmV0ID0gMDsKIAl9CiAKLQlpZiAocGxhbmVfZnVuY3MtPmNsZWFu dXBfZmIgJiYgb2xkX2ZiKQotCQlwbGFuZV9mdW5jcy0+Y2xlYW51cF9mYihwbGFuZSwgb2xkX2Zi LCBwbGFuZV9zdGF0ZSk7CisJaWYgKHBsYW5lX2Z1bmNzLT5jbGVhbnVwX2ZiKQorCQlwbGFuZV9m dW5jcy0+Y2xlYW51cF9mYihwbGFuZSwgcGxhbmVfc3RhdGUpOwogb3V0OgogCWlmIChwbGFuZV9z dGF0ZSkgewogCQlpZiAocGxhbmUtPmZ1bmNzLT5hdG9taWNfZGVzdHJveV9zdGF0ZSkKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA4YjgyNTUzMTg1M2UuLmVkY2Y4NzQ2NDQw ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTMyNjYsMTAgKzEzMjY2 LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX3NoYXJlZF9kcGxsX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKICAqLwogaW50CiBpbnRlbF9wcmVwYXJlX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAotCQkgICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCSAgICAg ICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7CisJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIg PSBuZXdfc3RhdGUtPmZiOwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19p bnRlbF9wbGFuZShwbGFuZSk7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGlu dGVsX2ZiX29iaihmYik7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9sZF9vYmogPSBp bnRlbF9mYl9vYmoocGxhbmUtPmZiKTsKQEAgLTEzMzA3LDE5ICsxMzMwNywxOCBAQCBpbnRlbF9w cmVwYXJlX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogICovCiB2b2lkCiBpbnRl bF9jbGVhbnVwX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAotCQkgICAgICAgc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICpvbGRfc3RhdGUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5k ZXY7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7 CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihvbGRfc3Rh dGUtPmZiKTsKIAotCWlmIChXQVJOX09OKCFvYmopKQorCWlmICghb2JqKQogCQlyZXR1cm47CiAK IAlpZiAocGxhbmUtPnR5cGUgIT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SIHx8CiAJICAgICFJTlRF TF9JTkZPKGRldiktPmN1cnNvcl9uZWVkc19waHlzaWNhbCkgewogCQltdXRleF9sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7Ci0JCWludGVsX3VucGluX2ZiX29iaihmYiwgb2xkX3N0YXRlKTsKKwkJ aW50ZWxfdW5waW5fZmJfb2JqKG9sZF9zdGF0ZS0+ZmIsIG9sZF9zdGF0ZSk7CiAJCW11dGV4X3Vu bG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgK aW5kZXggNjU4MjQwNWZiMDM4Li4xMDRhN2Y4YjY1MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCkBAIC0xMDYyLDEwICsxMDYyLDggQEAgdm9pZCBpbnRlbF9maW5pc2hfcGFnZV9mbGlwKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBwaXBlKTsKIHZvaWQgaW50ZWxfZmluaXNoX3BhZ2Vf ZmxpcF9wbGFuZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGxhbmUpOwogdm9pZCBpbnRl bF9jaGVja19wYWdlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpOwogaW50 IGludGVsX3ByZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCi0JCQkgICBz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKm5ld19zdGF0ZSk7CiB2b2lkIGludGVsX2NsZWFudXBfcGxhbmVfZmIoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCi0JCQkgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkg ICAgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3N0YXRlKTsKIGludCBpbnRlbF9w bGFuZV9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCSAg ICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNC9tZHA0X3BsYW5lLmMKaW5kZXggZTlkZWUzNjdiNTk3Li4zMGQ1N2U3NGM0MmYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5jCkBAIC05OSwyMiAr OTksMjggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgbWRwNF9wbGFuZV9m dW5jcyA9IHsKIH07CiAKIHN0YXRpYyBpbnQgbWRwNF9wbGFuZV9wcmVwYXJlX2ZiKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAotCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJY29uc3Qg c3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3X3N0YXRlKQogewogCXN0cnVjdCBtZHA0X3BsYW5l ICptZHA0X3BsYW5lID0gdG9fbWRwNF9wbGFuZShwbGFuZSk7CiAJc3RydWN0IG1kcDRfa21zICpt ZHA0X2ttcyA9IGdldF9rbXMocGxhbmUpOworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0g bmV3X3N0YXRlLT5mYjsKKworCWlmICghZmIpCisJCXJldHVybiAwOwogCiAJREJHKCIlczogcHJl cGFyZTogRkJbJXVdIiwgbWRwNF9wbGFuZS0+bmFtZSwgZmItPmJhc2UuaWQpOwogCXJldHVybiBt c21fZnJhbWVidWZmZXJfcHJlcGFyZShmYiwgbWRwNF9rbXMtPmlkKTsKIH0KIAogc3RhdGljIHZv aWQgbWRwNF9wbGFuZV9jbGVhbnVwX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAotCQlzdHJ1 Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAq b2xkX3N0YXRlKQogewogCXN0cnVjdCBtZHA0X3BsYW5lICptZHA0X3BsYW5lID0gdG9fbWRwNF9w bGFuZShwbGFuZSk7CiAJc3RydWN0IG1kcDRfa21zICptZHA0X2ttcyA9IGdldF9rbXMocGxhbmUp OworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gb2xkX3N0YXRlLT5mYjsKKworCWlmICgh ZmIpCisJCXJldHVybjsKIAogCURCRygiJXM6IGNsZWFudXA6IEZCWyV1XSIsIG1kcDRfcGxhbmUt Pm5hbWUsIGZiLT5iYXNlLmlkKTsKIAltc21fZnJhbWVidWZmZXJfY2xlYW51cChmYiwgbWRwNF9r bXMtPmlkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9w bGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKaW5kZXgg MDdmYjYyZmVhNmRjLi40ZDM5MGI2OTllOWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t c20vbWRwL21kcDUvbWRwNV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21k cDUvbWRwNV9wbGFuZS5jCkBAIC0yNTAsMTEgKzI1MCwxNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9wbGFuZV9mdW5jcyBtZHA1X3BsYW5lX2Z1bmNzID0gewogfTsKIAogc3RhdGljIGludCBt ZHA1X3BsYW5lX3ByZXBhcmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCi0JCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiLAogCQljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdf c3RhdGUpCiB7CiAJc3RydWN0IG1kcDVfcGxhbmUgKm1kcDVfcGxhbmUgPSB0b19tZHA1X3BsYW5l KHBsYW5lKTsKIAlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gZ2V0X2ttcyhwbGFuZSk7CisJ c3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBuZXdfc3RhdGUtPmZiOworCisJaWYgKCFuZXdf c3RhdGUtPmZiKQorCQlyZXR1cm4gMDsKIAogCURCRygiJXM6IHByZXBhcmU6IEZCWyV1XSIsIG1k cDVfcGxhbmUtPm5hbWUsIGZiLT5iYXNlLmlkKTsKIAlyZXR1cm4gbXNtX2ZyYW1lYnVmZmVyX3By ZXBhcmUoZmIsIG1kcDVfa21zLT5pZCk7CkBAIC0yNjYsNiArMjY5LDEwIEBAIHN0YXRpYyB2b2lk IG1kcDVfcGxhbmVfY2xlYW51cF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIHsKIAlzdHJ1 Y3QgbWRwNV9wbGFuZSAqbWRwNV9wbGFuZSA9IHRvX21kcDVfcGxhbmUocGxhbmUpOwogCXN0cnVj dCBtZHA1X2ttcyAqbWRwNV9rbXMgPSBnZXRfa21zKHBsYW5lKTsKKwlzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiA9IG9sZF9zdGF0ZS0+ZmI7CisKKwlpZiAoIWZiKQorCQlyZXR1cm47CiAKIAlE QkcoIiVzOiBjbGVhbnVwOiBGQlsldV0iLCBtZHA1X3BsYW5lLT5uYW1lLCBmYi0+YmFzZS5pZCk7 CiAJbXNtX2ZyYW1lYnVmZmVyX2NsZWFudXAoZmIsIG1kcDVfa21zLT5pZCk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0v b21hcGRybS9vbWFwX3BsYW5lLmMKaW5kZXggMDk4OTA0Njk2YTVjLi4wOWUzNjNiYjU1ZjIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfcGxhbmUuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKQEAgLTYwLDE3ICs2MCwxOSBAQCB0b19v bWFwX3BsYW5lX3N0YXRlKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQogfQogCiBzdGF0 aWMgaW50IG9tYXBfcGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLQkJ CQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJIGNvbnN0IHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKm5ld19zdGF0ZSkKIHsKLQlyZXR1cm4gb21hcF9mcmFtZWJ1ZmZlcl9waW4oZmIp OworCWlmICghbmV3X3N0YXRlLT5mYikKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gb21hcF9mcmFt ZWJ1ZmZlcl9waW4obmV3X3N0YXRlLT5mYik7CiB9CiAKIHN0YXRpYyB2b2lkIG9tYXBfcGxhbmVf Y2xlYW51cF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLQkJCQkgIHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLAogCQkJCSAgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3N0 YXRlKQogewotCW9tYXBfZnJhbWVidWZmZXJfdW5waW4oZmIpOworCWlmIChvbGRfc3RhdGUtPmZi KQorCQlvbWFwX2ZyYW1lYnVmZmVyX3VucGluKG9sZF9zdGF0ZS0+ZmIpOwogfQogCiBzdGF0aWMg dm9pZCBvbWFwX3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9kYy5jCmluZGV4IGRkZWZiODVkYzRmNy4uYjRhZjRhYjljZTZiIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMu YwpAQCAtNDgwLDE0ICs0ODAsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVu Y3MgdGVncmFfcHJpbWFyeV9wbGFuZV9mdW5jcyA9IHsKIH07CiAKIHN0YXRpYyBpbnQgdGVncmFf cGxhbmVfcHJlcGFyZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLQkJCQkgIHN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiLAogCQkJCSAgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAq bmV3X3N0YXRlKQogewogCXJldHVybiAwOwogfQogCiBzdGF0aWMgdm9pZCB0ZWdyYV9wbGFuZV9j bGVhbnVwX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAotCQkJCSAgIHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9m YikKIHsKIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9wbGFuZV9oZWxwZXIuaCBiL2lu Y2x1ZGUvZHJtL2RybV9wbGFuZV9oZWxwZXIuaAppbmRleCBkZGE0MDFiZjkxMGUuLjVhN2Y5ZDRl ZmIxZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3BsYW5lX2hlbHBlci5oCisrKyBiL2lu Y2x1ZGUvZHJtL2RybV9wbGFuZV9oZWxwZXIuaApAQCAtNTgsMTAgKzU4LDggQEAgaW50IGRybV9j cnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9jcnRjICpjcnRjLAog ICovCiBzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBlcl9mdW5jcyB7CiAJaW50ICgqcHJlcGFyZV9mYiko c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCi0JCQkgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi LAogCQkJICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfc3RhdGUpOwogCXZvaWQg KCpjbGVhbnVwX2ZiKShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLQkJCSAgIHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiLAogCQkJICAgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xk X3N0YXRlKTsKIAogCWludCAoKmF0b21pY19jaGVjaykoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs Ci0tIAoyLjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK