From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Herring Subject: [PATCH v2 2/5] drm: etnaviv: Switch to use drm_gem_object reservation_object Date: Sat, 2 Feb 2019 09:41:55 -0600 Message-ID: <20190202154158.10443-3-robh@kernel.org> References: <20190202154158.10443-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190202154158.10443-1-robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Sean Paul , Rob Clark , Maxime Ripard , David Airlie , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Maarten Lankhorst , etnaviv-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Eric Anholt , Christian Gmeiner , Daniel Vetter , Russell King , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Lucas Stach List-Id: linux-arm-msm@vger.kernel.org Tm93IHRoYXQgdGhlIGJhc2Ugc3RydWN0IGRybV9nZW1fb2JqZWN0IGhhcyBhIHJlc2VydmF0aW9u X29iamVjdCwgdXNlIGl0CmFuZCByZW1vdmUgdGhlIHByaXZhdGUgQk8gb25lLgoKQ2M6IEx1Y2Fz IFN0YWNoIDxsLnN0YWNoQHBlbmd1dHJvbml4LmRlPgpDYzogUnVzc2VsbCBLaW5nIDxsaW51eCtl dG5hdml2QGFybWxpbnV4Lm9yZy51az4KQ2M6IENocmlzdGlhbiBHbWVpbmVyIDxjaHJpc3RpYW4u Z21laW5lckBnbWFpbC5jb20+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+CkNj OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+CkNjOiBldG5hdml2QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpTaWduZWQtb2ZmLWJ5OiBSb2IgSGVycmluZyA8cm9iaEBrZXJuZWwub3JnPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZHJ2LmMgICAgICAgIHwgIDEgLQog ZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuaCAgICAgICAgfCAgMSAtCiBkcml2 ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5jICAgICAgICB8IDE2ICsrKysrLS0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oICAgICAgICB8ICA0IC0t LS0KIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3ByaW1lLmMgIHwgIDcgLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMgfCAyMiAr KysrKysrKysrLS0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAz NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5h dml2X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYwppbmRleCAx OGMyN2Y3OTVjZjYuLjlmNDJmNzUzODIzNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0 bmF2aXYvZXRuYXZpdl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2 X2Rydi5jCkBAIC00NzMsNyArNDczLDYgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGV0bmF2 aXZfZHJtX2RyaXZlciA9IHsKIAkucHJpbWVfZmRfdG9faGFuZGxlID0gZHJtX2dlbV9wcmltZV9m ZF90b19oYW5kbGUsCiAJLmdlbV9wcmltZV9leHBvcnQgICA9IGRybV9nZW1fcHJpbWVfZXhwb3J0 LAogCS5nZW1fcHJpbWVfaW1wb3J0ICAgPSBkcm1fZ2VtX3ByaW1lX2ltcG9ydCwKLQkuZ2VtX3By aW1lX3Jlc19vYmogID0gZXRuYXZpdl9nZW1fcHJpbWVfcmVzX29iaiwKIAkuZ2VtX3ByaW1lX3Bp biAgICAgID0gZXRuYXZpdl9nZW1fcHJpbWVfcGluLAogCS5nZW1fcHJpbWVfdW5waW4gICAgPSBl dG5hdml2X2dlbV9wcmltZV91bnBpbiwKIAkuZ2VtX3ByaW1lX2dldF9zZ190YWJsZSA9IGV0bmF2 aXZfZ2VtX3ByaW1lX2dldF9zZ190YWJsZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9l dG5hdml2L2V0bmF2aXZfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2Ry di5oCmluZGV4IDRiZjY5OGRlNTk5Ni4uMzUxZGIwYzU4MjJkIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5h dml2L2V0bmF2aXZfZHJ2LmgKQEAgLTYxLDcgKzYxLDYgQEAgdm9pZCAqZXRuYXZpdl9nZW1fcHJp bWVfdm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaik7CiB2b2lkIGV0bmF2aXZfZ2VtX3By aW1lX3Z1bm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgdm9pZCAqdmFkZHIpOwogaW50 IGV0bmF2aXZfZ2VtX3ByaW1lX21tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCiAJCQkg ICBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7Ci1zdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0 ICpldG5hdml2X2dlbV9wcmltZV9yZXNfb2JqKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsK IHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZXRuYXZpdl9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0 YWNoLCBzdHJ1Y3Qgc2dfdGFibGUgKnNnKTsKIGludCBldG5hdml2X2dlbV9wcmltZV9waW4oc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0 bmF2aXYvZXRuYXZpdl9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2Vt LmMKaW5kZXggMWZhNzQyMjZkYjkxLi4zZTk1NGFkY2IyY2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2 aXYvZXRuYXZpdl9nZW0uYwpAQCAtMzk3LDEzICszOTcsMTMgQEAgaW50IGV0bmF2aXZfZ2VtX2Nw dV9wcmVwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCB1MzIgb3AsCiAJfQogCiAJaWYgKG9w ICYgRVROQV9QUkVQX05PU1lOQykgewotCQlpZiAoIXJlc2VydmF0aW9uX29iamVjdF90ZXN0X3Np Z25hbGVkX3JjdShldG5hdml2X29iai0+cmVzdiwKKwkJaWYgKCFyZXNlcnZhdGlvbl9vYmplY3Rf dGVzdF9zaWduYWxlZF9yY3Uob2JqLT5yZXN2LAogCQkJCQkJCSAgd3JpdGUpKQogCQkJcmV0dXJu IC1FQlVTWTsKIAl9IGVsc2UgewogCQl1bnNpZ25lZCBsb25nIHJlbWFpbiA9IGV0bmF2aXZfdGlt ZW91dF90b19qaWZmaWVzKHRpbWVvdXQpOwogCi0JCXJldCA9IHJlc2VydmF0aW9uX29iamVjdF93 YWl0X3RpbWVvdXRfcmN1KGV0bmF2aXZfb2JqLT5yZXN2LAorCQlyZXQgPSByZXNlcnZhdGlvbl9v YmplY3Rfd2FpdF90aW1lb3V0X3JjdShvYmotPnJlc3YsCiAJCQkJCQkJICB3cml0ZSwgdHJ1ZSwg cmVtYWluKTsKIAkJaWYgKHJldCA8PSAwKQogCQkJcmV0dXJuIHJldCA9PSAwID8gLUVUSU1FRE9V VCA6IHJldDsKQEAgLTQ1OSw3ICs0NTksNyBAQCBzdGF0aWMgdm9pZCBldG5hdml2X2dlbV9kZXNj cmliZV9mZW5jZShzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwKIHN0YXRpYyB2b2lkIGV0bmF2aXZf Z2VtX2Rlc2NyaWJlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBzdHJ1Y3Qgc2VxX2ZpbGUg Km0pCiB7CiAJc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmogPSB0b19ldG5h dml2X2JvKG9iaik7Ci0Jc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcm9iaiA9IGV0bmF2aXZf b2JqLT5yZXN2OworCXN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJvYmogPSBvYmotPnJlc3Y7 CiAJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdF9saXN0ICpmb2JqOwogCXN0cnVjdCBkbWFfZmVu Y2UgKmZlbmNlOwogCXVuc2lnbmVkIGxvbmcgb2ZmID0gZHJtX3ZtYV9ub2RlX3N0YXJ0KCZvYmot PnZtYV9ub2RlKTsKQEAgLTU0OSw4ICs1NDksNiBAQCB2b2lkIGV0bmF2aXZfZ2VtX2ZyZWVfb2Jq ZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQogCiAJZHJtX2dlbV9mcmVlX21tYXBfb2Zm c2V0KG9iaik7CiAJZXRuYXZpdl9vYmotPm9wcy0+cmVsZWFzZShldG5hdml2X29iaik7Ci0JaWYg KGV0bmF2aXZfb2JqLT5yZXN2ID09ICZldG5hdml2X29iai0+X3Jlc3YpCi0JCXJlc2VydmF0aW9u X29iamVjdF9maW5pKCZldG5hdml2X29iai0+X3Jlc3YpOwogCWRybV9nZW1fb2JqZWN0X3JlbGVh c2Uob2JqKTsKIAogCWtmcmVlKGV0bmF2aXZfb2JqKTsKQEAgLTU5NiwxMiArNTk0LDggQEAgc3Rh dGljIGludCBldG5hdml2X2dlbV9uZXdfaW1wbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIg c2l6ZSwgdTMyIGZsYWdzLAogCiAJZXRuYXZpdl9vYmotPmZsYWdzID0gZmxhZ3M7CiAJZXRuYXZp dl9vYmotPm9wcyA9IG9wczsKLQlpZiAocm9iaikgewotCQlldG5hdml2X29iai0+cmVzdiA9IHJv Ymo7Ci0JfSBlbHNlIHsKLQkJZXRuYXZpdl9vYmotPnJlc3YgPSAmZXRuYXZpdl9vYmotPl9yZXN2 OwotCQlyZXNlcnZhdGlvbl9vYmplY3RfaW5pdCgmZXRuYXZpdl9vYmotPl9yZXN2KTsKLQl9CisJ aWYgKHJvYmopCisJCWV0bmF2aXZfb2JqLT5iYXNlLnJlc3YgPSByb2JqOwogCiAJbXV0ZXhfaW5p dCgmZXRuYXZpdl9vYmotPmxvY2spOwogCUlOSVRfTElTVF9IRUFEKCZldG5hdml2X29iai0+dnJh bV9saXN0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2Vt LmggYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oCmluZGV4IDc2MDc5YzIy OTFmOC4uNzAxNTgzN2NjYzFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l dG5hdml2X2dlbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtLmgK QEAgLTQ3LDEwICs0Nyw2IEBAIHN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgewogCXN0cnVjdCBz Z190YWJsZSAqc2d0OwogCXZvaWQgKnZhZGRyOwogCi0JLyogbm9ybWFsbHkgKHJlc3YgPT0gJl9y ZXN2KSBleGNlcHQgZm9yIGltcG9ydGVkIGJvJ3MgKi8KLQlzdHJ1Y3QgcmVzZXJ2YXRpb25fb2Jq ZWN0ICpyZXN2OwotCXN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgX3Jlc3Y7Ci0KIAlzdHJ1Y3Qg bGlzdF9oZWFkIHZyYW1fbGlzdDsKIAogCS8qIGNhY2hlIG1haW50ZW5hbmNlICovCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9wcmltZS5jIGIvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fcHJpbWUuYwppbmRleCAwNTY2MTcxZjhkZjIu LjAxZTdhZDk2MzM5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZp dl9nZW1fcHJpbWUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9w cmltZS5jCkBAIC0xMzksMTAgKzEzOSwzIEBAIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZXRuYXZp dl9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAly ZXR1cm4gRVJSX1BUUihyZXQpOwogfQotCi1zdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpldG5h dml2X2dlbV9wcmltZV9yZXNfb2JqKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQotewotCXN0 cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqID0gdG9fZXRuYXZpdl9ibyhvYmop OwotCi0JcmV0dXJuIGV0bmF2aXZfb2JqLT5yZXN2OwotfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRu YXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYwppbmRleCAzMDg3NWY4ZjI5MzMuLmExMDI4MWU5MTVl NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKQEAg LTEwOCw5ICsxMDgsOSBAQCBzdGF0aWMgaW50IHN1Ym1pdF9sb29rdXBfb2JqZWN0cyhzdHJ1Y3Qg ZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJtaXQsCiBzdGF0aWMgdm9pZCBzdWJtaXRfdW5sb2NrX29i amVjdChzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJtaXQsIGludCBpKQogewogCWlmIChz dWJtaXQtPmJvc1tpXS5mbGFncyAmIEJPX0xPQ0tFRCkgewotCQlzdHJ1Y3QgZXRuYXZpdl9nZW1f b2JqZWN0ICpldG5hdml2X29iaiA9IHN1Ym1pdC0+Ym9zW2ldLm9iajsKKwkJc3RydWN0IGRybV9n ZW1fb2JqZWN0ICpvYmogPSAmc3VibWl0LT5ib3NbaV0ub2JqLT5iYXNlOwogCi0JCXd3X211dGV4 X3VubG9jaygmZXRuYXZpdl9vYmotPnJlc3YtPmxvY2spOworCQl3d19tdXRleF91bmxvY2soJm9i ai0+cmVzdi0+bG9jayk7CiAJCXN1Ym1pdC0+Ym9zW2ldLmZsYWdzICY9IH5CT19MT0NLRUQ7CiAJ fQogfQpAQCAtMTIyLDcgKzEyMiw3IEBAIHN0YXRpYyBpbnQgc3VibWl0X2xvY2tfb2JqZWN0cyhz dHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJtaXQsCiAKIHJldHJ5OgogCWZvciAoaSA9IDA7 IGkgPCBzdWJtaXQtPm5yX2JvczsgaSsrKSB7Ci0JCXN0cnVjdCBldG5hdml2X2dlbV9vYmplY3Qg KmV0bmF2aXZfb2JqID0gc3VibWl0LT5ib3NbaV0ub2JqOworCQlzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKm9iaiA9ICZzdWJtaXQtPmJvc1tpXS5vYmotPmJhc2U7CiAKIAkJaWYgKHNsb3dfbG9ja2Vk ID09IGkpCiAJCQlzbG93X2xvY2tlZCA9IC0xOwpAQCAtMTMwLDcgKzEzMCw3IEBAIHN0YXRpYyBp bnQgc3VibWl0X2xvY2tfb2JqZWN0cyhzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJtaXQs CiAJCWNvbnRlbmRlZCA9IGk7CiAKIAkJaWYgKCEoc3VibWl0LT5ib3NbaV0uZmxhZ3MgJiBCT19M T0NLRUQpKSB7Ci0JCQlyZXQgPSB3d19tdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmV0bmF2aXZf b2JqLT5yZXN2LT5sb2NrLAorCQkJcmV0ID0gd3dfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZv YmotPnJlc3YtPmxvY2ssCiAJCQkJCQkJICB0aWNrZXQpOwogCQkJaWYgKHJldCA9PSAtRUFMUkVB RFkpCiAJCQkJRFJNX0VSUk9SKCJCTyBhdCBpbmRleCAldSBhbHJlYWR5IG9uIHN1Ym1pdCBsaXN0 XG4iLApAQCAtMTUzLDEyICsxNTMsMTIgQEAgc3RhdGljIGludCBzdWJtaXRfbG9ja19vYmplY3Rz KHN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCwKIAkJc3VibWl0X3VubG9ja19vYmpl Y3Qoc3VibWl0LCBzbG93X2xvY2tlZCk7CiAKIAlpZiAocmV0ID09IC1FREVBRExLKSB7Ci0JCXN0 cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqOworCQlzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKm9iajsKIAotCQlldG5hdml2X29iaiA9IHN1Ym1pdC0+Ym9zW2NvbnRlbmRlZF0ub2Jq OworCQlvYmogPSAmc3VibWl0LT5ib3NbY29udGVuZGVkXS5vYmotPmJhc2U7CiAKIAkJLyogd2Ug bG9zdCBvdXQgaW4gYSBzZXFubyByYWNlLCBsb2NrIGFuZCByZXRyeS4uICovCi0JCXJldCA9IHd3 X211dGV4X2xvY2tfc2xvd19pbnRlcnJ1cHRpYmxlKCZldG5hdml2X29iai0+cmVzdi0+bG9jaywK KwkJcmV0ID0gd3dfbXV0ZXhfbG9ja19zbG93X2ludGVycnVwdGlibGUoJm9iai0+cmVzdi0+bG9j aywKIAkJCQkJCSAgICAgICB0aWNrZXQpOwogCQlpZiAoIXJldCkgewogCQkJc3VibWl0LT5ib3Nb Y29udGVuZGVkXS5mbGFncyB8PSBCT19MT0NLRUQ7CkBAIC0xNzYsNyArMTc2LDcgQEAgc3RhdGlj IGludCBzdWJtaXRfZmVuY2Vfc3luYyhzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJtaXQp CiAKIAlmb3IgKGkgPSAwOyBpIDwgc3VibWl0LT5ucl9ib3M7IGkrKykgewogCQlzdHJ1Y3QgZXRu YXZpdl9nZW1fc3VibWl0X2JvICpibyA9ICZzdWJtaXQtPmJvc1tpXTsKLQkJc3RydWN0IHJlc2Vy dmF0aW9uX29iamVjdCAqcm9iaiA9IGJvLT5vYmotPnJlc3Y7CisJCXN0cnVjdCByZXNlcnZhdGlv bl9vYmplY3QgKnJvYmogPSBiby0+b2JqLT5iYXNlLnJlc3Y7CiAKIAkJaWYgKCEoYm8tPmZsYWdz ICYgRVROQV9TVUJNSVRfQk9fV1JJVEUpKSB7CiAJCQlyZXQgPSByZXNlcnZhdGlvbl9vYmplY3Rf cmVzZXJ2ZV9zaGFyZWQocm9iaiwgMSk7CkBAIC0yMDcsMTMgKzIwNywxMyBAQCBzdGF0aWMgdm9p ZCBzdWJtaXRfYXR0YWNoX29iamVjdF9mZW5jZXMoc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAq c3VibWl0KQogCWludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IHN1Ym1pdC0+bnJfYm9zOyBpKysp IHsKLQkJc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmogPSBzdWJtaXQtPmJv c1tpXS5vYmo7CisJCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0gJnN1Ym1pdC0+Ym9zW2ld Lm9iai0+YmFzZTsKIAogCQlpZiAoc3VibWl0LT5ib3NbaV0uZmxhZ3MgJiBFVE5BX1NVQk1JVF9C T19XUklURSkKLQkJCXJlc2VydmF0aW9uX29iamVjdF9hZGRfZXhjbF9mZW5jZShldG5hdml2X29i ai0+cmVzdiwKKwkJCXJlc2VydmF0aW9uX29iamVjdF9hZGRfZXhjbF9mZW5jZShvYmotPnJlc3Ys CiAJCQkJCQkJICBzdWJtaXQtPm91dF9mZW5jZSk7CiAJCWVsc2UKLQkJCXJlc2VydmF0aW9uX29i amVjdF9hZGRfc2hhcmVkX2ZlbmNlKGV0bmF2aXZfb2JqLT5yZXN2LAorCQkJcmVzZXJ2YXRpb25f b2JqZWN0X2FkZF9zaGFyZWRfZmVuY2Uob2JqLT5yZXN2LAogCQkJCQkJCSAgICBzdWJtaXQtPm91 dF9mZW5jZSk7CiAKIAkJc3VibWl0X3VubG9ja19vYmplY3Qoc3VibWl0LCBpKTsKLS0gCjIuMTku MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRy ZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==