From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 09/59] drm/prime: Align gem_prime_export with obj_funcs.export Date: Fri, 14 Jun 2019 22:35:25 +0200 Message-ID: <20190614203615.12639-10-daniel.vetter@ffwll.ch> References: <20190614203615.12639-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190614203615.12639-1-daniel.vetter-/w4YWyX8dFk@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: DRI Development Cc: Kate Stewart , Maxime Ripard , Daniel Vetter , Joonas Lahtinen , Chris Wilson , Eric Anholt , Thomas Zimmermann , Thierry Reding , Jilayne Lovejoy , Daniel Vetter , Sumit Semwal , "David (ChunMing) Zhou" , Mika Kuoppala , Russell King , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Jonathan Hunter , David Airlie , Tomi Valkeinen , Matthew Auld , Feifei Xu , Dave Airlie , Zhi Wang l List-Id: dri-devel@lists.freedesktop.org VGhlIGlkZWEgaXMgdGhhdCBnZW1fcHJpbWVfZXhwb3J0IGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Ig b2YKb2JqX2Z1bmNzLmV4cG9ydC4gVGhhdCdzIG11Y2ggZWFzaWVyIHRvIGRvIGlmIGJvdGggaGF2 ZSBtYXRjaGluZwpmdW5jdGlvbiBzaWduYXR1cmVzLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZl dHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+CkNjOiBSdXNzZWxsIEtpbmcgPGxpbnV4QGFy bWxpbnV4Lm9yZy51az4KQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBs aW51eC5pbnRlbC5jb20+CkNjOiBNYXhpbWUgUmlwYXJkIDxtYXhpbWUucmlwYXJkQGJvb3RsaW4u Y29tPgpDYzogU2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+CkNjOiBEYXZpZCBBaXJsaWUgPGFp cmxpZWRAbGludXguaWU+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+CkNjOiBa aGVueXUgV2FuZyA8emhlbnl1d0BsaW51eC5pbnRlbC5jb20+CkNjOiBaaGkgV2FuZyA8emhpLmEu d2FuZ0BpbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwu Y29tPgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29t PgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDYzogVG9taSBWYWxr ZWluZW4gPHRvbWkudmFsa2VpbmVuQHRpLmNvbT4KQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVy LmRldWNoZXJAYW1kLmNvbT4KQ2M6ICJDaHJpc3RpYW4gS8O2bmlnIiA8Y2hyaXN0aWFuLmtvZW5p Z0BhbWQuY29tPgpDYzogIkRhdmlkIChDaHVuTWluZykgWmhvdSIgPERhdmlkMS5aaG91QGFtZC5j b20+CkNjOiBUaGllcnJ5IFJlZGluZyA8dGhpZXJyeS5yZWRpbmdAZ21haWwuY29tPgpDYzogSm9u YXRoYW4gSHVudGVyIDxqb25hdGhhbmhAbnZpZGlhLmNvbT4KQ2M6IERhdmUgQWlybGllIDxhaXJs aWVkQHJlZGhhdC5jb20+CkNjOiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PgpDYzogIk1p Y2hlbCBEw6RuemVyIiA8bWljaGVsLmRhZW56ZXJAYW1kLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNv bT4KQ2M6IEZlbGl4IEt1ZWhsaW5nIDxGZWxpeC5LdWVobGluZ0BhbWQuY29tPgpDYzogSGF3a2lu ZyBaaGFuZyA8SGF3a2luZy5aaGFuZ0BhbWQuY29tPgpDYzogRmVpZmVpIFh1IDxGZWlmZWkuWHVA YW1kLmNvbT4KQ2M6IEppbSBRdSA8SmltLlF1QGFtZC5jb20+CkNjOiBFdmFuIFF1YW4gPGV2YW4u cXVhbkBhbWQuY29tPgpDYzogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpD YzogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBUaG9t YXMgWmltbWVybWFubiA8dGR6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KQ2M6IEthdGUgU3Rld2Fy dCA8a3N0ZXdhcnRAbGludXhmb3VuZGF0aW9uLm9yZz4KQ2M6IFN1bWl0IFNlbXdhbCA8c3VtaXQu c2Vtd2FsQGxpbmFyby5vcmc+CkNjOiBKaWxheW5lIExvdmVqb3kgPG9wZW5zb3VyY2VAamlsYXlu ZS5jb20+CkNjOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT4KQ2M6IE1pa3Vs YXMgUGF0b2NrYSA8bXBhdG9ja2FAcmVkaGF0LmNvbT4KQ2M6IEdyZWcgS3JvYWgtSGFydG1hbiA8 Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+CkNjOiBKdW53ZWkgWmhhbmcgPEplcnJ5LlpoYW5n QGFtZC5jb20+CkNjOiBpbnRlbC1ndnQtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogaW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpDYzogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKQ2M6IGxpbnV4LXRlZ3JhQHZnZXIua2VybmVsLm9yZwotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9kbWFfYnVmLmMgICAgICAgICAgfCA3ICsrKy0tLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kbWFfYnVmLmggICAgICAgICAgfCAzICstLQog ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmMgICAgICAgICAgICAgICAgICB8IDUg KystLS0KIGRyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5oICAgICAgICAgICAgICAg ICAgfCAzICstLQogZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDkgKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1f ZG1hYnVmLmMgICAgICAgICAgIHwgNSArKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3Nl bGZ0ZXN0cy9pOTE1X2dlbV9kbWFidWYuYyB8IDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC9kbWFidWYuYyAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgICAgICAgIHwgMyArLS0KIGRyaXZlcnMv Z3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtLmggICAgICAgICAgICAgICAgICAgfCAzICstLQogZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW1fZG1hYnVmLmMgICAgICAgICAgICB8IDUgKyst LS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5jICAgICAgICAgICAgICAgICAg fCAzICstLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcHJpbWUuYyAgICAgICAgICAg ICAgICB8IDUgKystLS0KIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uYyAgICAgICAgICAgICAg ICAgICAgICAgICAgfCA3ICsrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uaCAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAzICstLQogZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZG1h YnVmLmMgICAgICAgICAgICAgICAgICAgICB8IDUgKystLS0KIGRyaXZlcnMvZ3B1L2RybS91ZGwv dWRsX2Rydi5oICAgICAgICAgICAgICAgICAgICAgICAgfCAzICstLQogZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfYm8uYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDUgKystLS0KIGRyaXZlcnMv Z3B1L2RybS92YzQvdmM0X2Rydi5oICAgICAgICAgICAgICAgICAgICAgICAgfCAzICstLQogZHJp dmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0K IGluY2x1ZGUvZHJtL2RybV9kcnYuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0 ICsrLS0KIGluY2x1ZGUvZHJtL2RybV9wcmltZS5oICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAzICstLQogMjIgZmlsZXMgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgNTcgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rt YV9idWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kbWFfYnVmLmMKaW5k ZXggNDg5MDQxZGYxZjQ1Li40ODA5ZDRhNWQ3MmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9kbWFfYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2RtYV9idWYuYwpAQCAtMzQ1LDggKzM0NSw3IEBAIGNvbnN0IHN0cnVjdCBk bWFfYnVmX29wcyBhbWRncHVfZG1hYnVmX29wcyA9IHsKICAqIFJldHVybnM6CiAgKiBTaGFyZWQg RE1BIGJ1ZmZlciByZXByZXNlbnRpbmcgdGhlIEdFTSBCTyBmcm9tIHRoZSBnaXZlbiBkZXZpY2Uu CiAgKi8KLXN0cnVjdCBkbWFfYnVmICphbWRncHVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAotCQkJCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdvYmosCitzdHJ1Y3Qg ZG1hX2J1ZiAqYW1kZ3B1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpn b2JqLAogCQkJCQlpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IGFtZGdwdV9ibyAqYm8gPSBnZW1fdG9f YW1kZ3B1X2JvKGdvYmopOwpAQCAtMzU2LDkgKzM1NSw5IEBAIHN0cnVjdCBkbWFfYnVmICphbWRn cHVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCSAgICBiby0+Zmxh Z3MgJiBBTURHUFVfR0VNX0NSRUFURV9WTV9BTFdBWVNfVkFMSUQpCiAJCXJldHVybiBFUlJfUFRS KC1FUEVSTSk7CiAKLQlidWYgPSBkcm1fZ2VtX3ByaW1lX2V4cG9ydChkZXYsIGdvYmosIGZsYWdz KTsKKwlidWYgPSBkcm1fZ2VtX3ByaW1lX2V4cG9ydChnb2JqLCBmbGFncyk7CiAJaWYgKCFJU19F UlIoYnVmKSkgewotCQlidWYtPmZpbGUtPmZfbWFwcGluZyA9IGRldi0+YW5vbl9pbm9kZS0+aV9t YXBwaW5nOworCQlidWYtPmZpbGUtPmZfbWFwcGluZyA9IGdvYmotPmRldi0+YW5vbl9pbm9kZS0+ aV9tYXBwaW5nOwogCQlidWYtPm9wcyA9ICZhbWRncHVfZG1hYnVmX29wczsKIAl9CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kbWFfYnVmLmggYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZG1hX2J1Zi5oCmluZGV4IGM3MDU2Y2JlODY4 NS4uN2Y3M2E0Zjk0MjA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZG1hX2J1Zi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9k bWFfYnVmLmgKQEAgLTMwLDggKzMwLDcgQEAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoKIGFtZGdw dV9nZW1fcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJ IHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKIAkJCQkgc3RydWN0IHNnX3RhYmxl ICpzZyk7Ci1zdHJ1Y3QgZG1hX2J1ZiAqYW1kZ3B1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKLQkJCQkJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnb2JqLAorc3RydWN0 IGRtYV9idWYgKmFtZGdwdV9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq Z29iaiwKIAkJCQkJaW50IGZsYWdzKTsKIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqYW1kZ3B1X2dl bV9wcmltZV9pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJICAgIHN0cnVjdCBk bWFfYnVmICpkbWFfYnVmKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJt YWRhX2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmMKaW5kZXggNjQy ZDBlNzBkMGY4Li43ZTdmY2MzZjFmN2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1h ZGEvYXJtYWRhX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5j CkBAIC00ODUsOCArNDg1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyBhcm1h ZGFfZ2VtX3ByaW1lX2RtYWJ1Zl9vcHMgPSB7CiB9OwogCiBzdHJ1Y3QgZG1hX2J1ZiAqCi1hcm1h ZGFfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaiwKLQlpbnQgZmxhZ3MpCithcm1hZGFfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IGZsYWdzKQogewogCURFRklORV9ETUFfQlVGX0VY UE9SVF9JTkZPKGV4cF9pbmZvKTsKIApAQCAtNDk1LDcgKzQ5NCw3IEBAIGFybWFkYV9nZW1fcHJp bWVfZXhwb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqLAogCWV4cF9pbmZvLmZsYWdzID0gT19SRFdSOwogCWV4cF9pbmZvLnByaXYgPSBvYmo7CiAK LQlyZXR1cm4gZHJtX2dlbV9kbWFidWZfZXhwb3J0KGRldiwgJmV4cF9pbmZvKTsKKwlyZXR1cm4g ZHJtX2dlbV9kbWFidWZfZXhwb3J0KG9iai0+ZGV2LCAmZXhwX2luZm8pOwogfQogCiBzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1h ZGFfZ2VtLmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9nZW0uaAppbmRleCAxYWM5 MDc5MmIxNjYuLmM2MTkzODFlZWVmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybWFk YS9hcm1hZGFfZ2VtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmgK QEAgLTM1LDggKzM1LDcgQEAgc3RydWN0IGFybWFkYV9nZW1fb2JqZWN0ICphcm1hZGFfZ2VtX2Fs bG9jX3ByaXZhdGVfb2JqZWN0KHN0cnVjdCBkcm1fZGV2aWNlICosCiAJc2l6ZV90KTsKIGludCBh cm1hZGFfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqLCBzdHJ1Y3QgZHJtX2Rldmlj ZSAqLAogCXN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfZHVtYiAqKTsKLXN0cnVjdCBkbWFfYnVmICph cm1hZGFfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCXN0cnVjdCBk cm1fZ2VtX29iamVjdCAqb2JqLCBpbnQgZmxhZ3MpOworc3RydWN0IGRtYV9idWYgKmFybWFkYV9n ZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBpbnQgZmxhZ3MpOwog c3RydWN0IGRybV9nZW1fb2JqZWN0ICphcm1hZGFfZ2VtX3ByaW1lX2ltcG9ydChzdHJ1Y3QgZHJt X2RldmljZSAqLAogCXN0cnVjdCBkbWFfYnVmICopOwogaW50IGFybWFkYV9nZW1fbWFwX2ltcG9y dChzdHJ1Y3QgYXJtYWRhX2dlbV9vYmplY3QgKik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX3ByaW1lLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmMKaW5kZXggNzhmNmYx MGIyMDYwLi5kNTQ1ZTY4MWNiNDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJp bWUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmMKQEAgLTM4Miw5ICszODIsOSBA QCBzdGF0aWMgc3RydWN0IGRtYV9idWYgKmV4cG9ydF9hbmRfcmVnaXN0ZXJfb2JqZWN0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJaWYgKG9iai0+ZnVuY3MgJiYgb2JqLT5mdW5jcy0+ZXhwb3J0 KQogCQlkbWFidWYgPSBvYmotPmZ1bmNzLT5leHBvcnQob2JqLCBmbGFncyk7CiAJZWxzZSBpZiAo ZGV2LT5kcml2ZXItPmdlbV9wcmltZV9leHBvcnQpCi0JCWRtYWJ1ZiA9IGRldi0+ZHJpdmVyLT5n ZW1fcHJpbWVfZXhwb3J0KGRldiwgb2JqLCBmbGFncyk7CisJCWRtYWJ1ZiA9IGRldi0+ZHJpdmVy LT5nZW1fcHJpbWVfZXhwb3J0KG9iaiwgZmxhZ3MpOwogCWVsc2UKLQkJZG1hYnVmID0gZHJtX2dl bV9wcmltZV9leHBvcnQoZGV2LCBvYmosIGZsYWdzKTsKKwkJZG1hYnVmID0gZHJtX2dlbV9wcmlt ZV9leHBvcnQob2JqLCBmbGFncyk7CiAJaWYgKElTX0VSUihkbWFidWYpKSB7CiAJCS8qIG5vcm1h bGx5IHRoZSBjcmVhdGVkIGRtYS1idWYgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSByZWYsCiAJCSAq IGJ1dCBpZiB0aGF0IGZhaWxzIHRoZW4gZHJvcCB0aGUgcmVmCkBAIC04MTIsMTcgKzgxMiwxNiBA QCBFWFBPUlRfU1lNQk9MKGRybV9wcmltZV9wYWdlc190b19zZyk7CiAKIC8qKgogICogZHJtX2dl bV9wcmltZV9leHBvcnQgLSBoZWxwZXIgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZXhw b3J0IGNhbGxiYWNrCi0gKiBAZGV2OiBkcm1fZGV2aWNlIHRvIGV4cG9ydCBmcm9tCiAgKiBAb2Jq OiBHRU0gb2JqZWN0IHRvIGV4cG9ydAogICogQGZsYWdzOiBmbGFncyBsaWtlIERSTV9DTE9FWEVD IGFuZCBEUk1fUkRXUgogICoKICAqIFRoaXMgaXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSAm ZHJtX2dlbV9vYmplY3RfZnVuY3MuZXhwb3J0IGZ1bmN0aW9ucyBmb3IgR0VNIGRyaXZlcnMKICAq IHVzaW5nIHRoZSBQUklNRSBoZWxwZXJzLgogICovCi1zdHJ1Y3QgZG1hX2J1ZiAqZHJtX2dlbV9w cmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCQkgICAgIHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqb2JqLAorc3RydWN0IGRtYV9idWYgKmRybV9nZW1fcHJpbWVfZXhwb3J0KHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAogCQkJCSAgICAgaW50IGZsYWdzKQogeworCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmRldjsKIAlzdHJ1Y3QgZG1hX2J1Zl9leHBvcnRfaW5m byBleHBfaW5mbyA9IHsKIAkJLmV4cF9uYW1lID0gS0JVSUxEX01PRE5BTUUsIC8qIHdoaXRlIGxp ZSBmb3IgZGVidWcgKi8KIAkJLm93bmVyID0gZGV2LT5kcml2ZXItPmZvcHMtPm93bmVyLApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2RtYWJ1Zi5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2RtYWJ1Zi5jCmluZGV4IGE5M2UyMzNjZmFh OS4uNTBiMWI3M2MzMDNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fZG1hYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2Rt YWJ1Zi5jCkBAIC0yMDQsOCArMjA0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29w cyBpOTE1X2RtYWJ1Zl9vcHMgPSAgewogCS5lbmRfY3B1X2FjY2VzcyA9IGk5MTVfZ2VtX2VuZF9j cHVfYWNjZXNzLAogfTsKIAotc3RydWN0IGRtYV9idWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9ydChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJCSAgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq Z2VtX29iaiwgaW50IGZsYWdzKQorc3RydWN0IGRtYV9idWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9y dChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmosIGludCBmbGFncykKIHsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gdG9faW50ZWxfYm8oZ2VtX29iaik7CiAJREVGSU5F X0RNQV9CVUZfRVhQT1JUX0lORk8oZXhwX2luZm8pOwpAQCAtMjIyLDcgKzIyMSw3IEBAIHN0cnVj dCBkbWFfYnVmICppOTE1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJfQogCi0JcmV0dXJuIGRybV9nZW1fZG1hYnVmX2V4 cG9ydChkZXYsICZleHBfaW5mbyk7CisJcmV0dXJuIGRybV9nZW1fZG1hYnVmX2V4cG9ydChnZW1f b2JqLT5kZXYsICZleHBfaW5mbyk7CiB9CiAKIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0X2dl dF9wYWdlc19kbWFidWYoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fZG1hYnVmLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2RtYWJ1Zi5jCmlu ZGV4IGUzYTY0ZWRlZjkxOC4uZDg1ZDFjZTI3M2NhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2VtX2RtYWJ1Zi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fZG1hYnVmLmMKQEAgLTIwLDcgKzIwLDcg QEAgc3RhdGljIGludCBpZ3RfZG1hYnVmX2V4cG9ydCh2b2lkICphcmcpCiAJaWYgKElTX0VSUihv YmopKQogCQlyZXR1cm4gUFRSX0VSUihvYmopOwogCi0JZG1hYnVmID0gaTkxNV9nZW1fcHJpbWVf ZXhwb3J0KCZpOTE1LT5kcm0sICZvYmotPmJhc2UsIDApOworCWRtYWJ1ZiA9IGk5MTVfZ2VtX3By aW1lX2V4cG9ydCgmb2JqLT5iYXNlLCAwKTsKIAlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAJ aWYgKElTX0VSUihkbWFidWYpKSB7CiAJCXByX2VycigiaTkxNV9nZW1fcHJpbWVfZXhwb3J0IGZh aWxlZCB3aXRoIGVycj0lZFxuIiwKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RhdGljIGludCBpZ3RfZG1h YnVmX2ltcG9ydF9zZWxmKHZvaWQgKmFyZykKIAlpZiAoSVNfRVJSKG9iaikpCiAJCXJldHVybiBQ VFJfRVJSKG9iaik7CiAKLQlkbWFidWYgPSBpOTE1X2dlbV9wcmltZV9leHBvcnQoJmk5MTUtPmRy bSwgJm9iai0+YmFzZSwgMCk7CisJZG1hYnVmID0gaTkxNV9nZW1fcHJpbWVfZXhwb3J0KCZvYmot PmJhc2UsIDApOwogCWlmIChJU19FUlIoZG1hYnVmKSkgewogCQlwcl9lcnIoImk5MTVfZ2VtX3By aW1lX2V4cG9ydCBmYWlsZWQgd2l0aCBlcnI9JWRcbiIsCiAJCSAgICAgICAoaW50KVBUUl9FUlIo ZG1hYnVmKSk7CkBAIC0yMTksNyArMjE5LDcgQEAgc3RhdGljIGludCBpZ3RfZG1hYnVmX2V4cG9y dF92bWFwKHZvaWQgKmFyZykKIAlpZiAoSVNfRVJSKG9iaikpCiAJCXJldHVybiBQVFJfRVJSKG9i aik7CiAKLQlkbWFidWYgPSBpOTE1X2dlbV9wcmltZV9leHBvcnQoJmk5MTUtPmRybSwgJm9iai0+ YmFzZSwgMCk7CisJZG1hYnVmID0gaTkxNV9nZW1fcHJpbWVfZXhwb3J0KCZvYmotPmJhc2UsIDAp OwogCWlmIChJU19FUlIoZG1hYnVmKSkgewogCQlwcl9lcnIoImk5MTVfZ2VtX3ByaW1lX2V4cG9y dCBmYWlsZWQgd2l0aCBlcnI9JWRcbiIsCiAJCSAgICAgICAoaW50KVBUUl9FUlIoZG1hYnVmKSk7 CkBAIC0yNjYsNyArMjY2LDcgQEAgc3RhdGljIGludCBpZ3RfZG1hYnVmX2V4cG9ydF9rbWFwKHZv aWQgKmFyZykKIAlpZiAoSVNfRVJSKG9iaikpCiAJCXJldHVybiBQVFJfRVJSKG9iaik7CiAKLQlk bWFidWYgPSBpOTE1X2dlbV9wcmltZV9leHBvcnQoJmk5MTUtPmRybSwgJm9iai0+YmFzZSwgMCk7 CisJZG1hYnVmID0gaTkxNV9nZW1fcHJpbWVfZXhwb3J0KCZvYmotPmJhc2UsIDApOwogCWk5MTVf Z2VtX29iamVjdF9wdXQob2JqKTsKIAlpZiAoSVNfRVJSKGRtYWJ1ZikpIHsKIAkJZXJyID0gUFRS X0VSUihkbWFidWYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2RtYWJ1 Zi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2RtYWJ1Zi5jCmluZGV4IDQxYzhlYmM2MGM2 My4uMTMwNDRjMDI3ZjI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZG1h YnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2RtYWJ1Zi5jCkBAIC00OTEsNyAr NDkxLDcgQEAgaW50IGludGVsX3ZncHVfZ2V0X2RtYWJ1ZihzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdw dSwgdW5zaWduZWQgaW50IGRtYWJ1Zl9pZCkKIAogCW9iai0+Z3Z0X2luZm8gPSBkbWFidWZfb2Jq LT5pbmZvOwogCi0JZG1hYnVmID0gaTkxNV9nZW1fcHJpbWVfZXhwb3J0KGRldiwgJm9iai0+YmFz ZSwgRFJNX0NMT0VYRUMgfCBEUk1fUkRXUik7CisJZG1hYnVmID0gaTkxNV9nZW1fcHJpbWVfZXhw b3J0KCZvYmotPmJhc2UsIERSTV9DTE9FWEVDIHwgRFJNX1JEV1IpOwogCWlmIChJU19FUlIoZG1h YnVmKSkgewogCQlndnRfdmdwdV9lcnIoImV4cG9ydCBkbWEtYnVmIGZhaWxlZFxuIik7CiAJCXJl dCA9IFBUUl9FUlIoZG1hYnVmKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDlkY2UxYzcx YmI5ZC4uYThhZjc3MTYyNTY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI1ODcsOCAr MjU4Nyw3IEBAIGludCBpOTE1X2dlbV9vYmplY3Rfc2V0X2NhY2hlX2xldmVsKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCiBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmk5MTVfZ2VtX3By aW1lX2ltcG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCXN0cnVjdCBkbWFfYnVmICpk bWFfYnVmKTsKIAotc3RydWN0IGRtYV9idWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAotCQkJCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtX29iaiwgaW50 IGZsYWdzKTsKK3N0cnVjdCBkbWFfYnVmICppOTE1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRy bV9nZW1fb2JqZWN0ICpnZW1fb2JqLCBpbnQgZmxhZ3MpOwogCiBzdGF0aWMgaW5saW5lIHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0ICoKIF9faTkxNV9nZW1fY29udGV4dF9sb29rdXBfcmN1KHN0cnVj dCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiwgdTMyIGlkKQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW0uaCBiL2RyaXZlcnMvZ3B1L2RybS9vbWFw ZHJtL29tYXBfZ2VtLmgKaW5kZXggYzFjNDVmYmRlMTU1Li5lZTBmMjE3Y2Y1OWQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vb21hcF9nZW0uaApAQCAtNzYsOCArNzYsNyBAQCB1NjQgb21hcF9nZW1fbW1h cF9vZmZzZXQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwogc2l6ZV90IG9tYXBfZ2VtX21t YXBfc2l6ZShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaik7CiAKIC8qIFBSSU1FIEludGVyZmFj ZSAqLwotc3RydWN0IGRtYV9idWYgKm9tYXBfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAotCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IGZsYWdzKTsKK3N0 cnVjdCBkbWFfYnVmICpvbWFwX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0 ICpvYmosIGludCBmbGFncyk7CiBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9tYXBfZ2VtX3ByaW1l X2ltcG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlzdHJ1Y3QgZG1hX2J1ZiAqYnVmZmVy KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW1fZG1hYnVm LmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFidWYuYwppbmRleCAwZjhi NTk3Y2NkMTAuLjdlN2FkMjc1ZTNjZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vb21hcF9nZW1fZG1hYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9n ZW1fZG1hYnVmLmMKQEAgLTEzNiw4ICsxMzYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9i dWZfb3BzIG9tYXBfZG1hYnVmX29wcyA9IHsKIAkubW1hcCA9IG9tYXBfZ2VtX2RtYWJ1Zl9tbWFw LAogfTsKIAotc3RydWN0IGRtYV9idWYgKm9tYXBfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAotCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IGZsYWdzKQor c3RydWN0IGRtYV9idWYgKm9tYXBfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKm9iaiwgaW50IGZsYWdzKQogewogCURFRklORV9ETUFfQlVGX0VYUE9SVF9JTkZPKGV4cF9p bmZvKTsKIApAQCAtMTQ2LDcgKzE0NSw3IEBAIHN0cnVjdCBkbWFfYnVmICpvbWFwX2dlbV9wcmlt ZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlleHBfaW5mby5mbGFncyA9IGZsYWdz OwogCWV4cF9pbmZvLnByaXYgPSBvYmo7CiAKLQlyZXR1cm4gZHJtX2dlbV9kbWFidWZfZXhwb3J0 KGRldiwgJmV4cF9pbmZvKTsKKwlyZXR1cm4gZHJtX2dlbV9kbWFidWZfZXhwb3J0KG9iai0+ZGV2 LCAmZXhwX2luZm8pOwogfQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9kcnYuYwppbmRleCAzYjA3YWE2ZTU1MWQuLjRhNmFjYWEzZjg0MyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMKQEAgLTEzMCw4ICsxMzAsNyBAQCBpbnQgcmFkZW9u X2dlbV9vYmplY3Rfb3BlbihzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKIAkJCQlzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdik7CiB2b2lkIHJhZGVvbl9nZW1fb2JqZWN0X2Nsb3NlKHN0cnVj dCBkcm1fZ2VtX29iamVjdCAqb2JqLAogCQkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsK LXN0cnVjdCBkbWFfYnVmICpyYWRlb25fZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAotCQkJCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdvYmosCitzdHJ1Y3QgZG1hX2J1 ZiAqcmFkZW9uX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnb2JqLAog CQkJCQlpbnQgZmxhZ3MpOwogZXh0ZXJuIGludCByYWRlb25fZ2V0X2NydGNfc2Nhbm91dHBvcyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgY3J0YywKIAkJCQkgICAgICB1bnNp Z25lZCBpbnQgZmxhZ3MsIGludCAqdnBvcywgaW50ICpocG9zLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcHJpbWUuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX3ByaW1lLmMKaW5kZXggZDNhNWJlYTlhMmM1Li5kZWFmZmNlNTBhMmUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3ByaW1lLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fcHJpbWUuYwpAQCAtMTI0LDEyICsxMjQsMTEgQEAgc3RydWN0 IHJlc2VydmF0aW9uX29iamVjdCAqcmFkZW9uX2dlbV9wcmltZV9yZXNfb2JqKHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqb2JqKQogCXJldHVybiBiby0+dGJvLnJlc3Y7CiB9CiAKLXN0cnVjdCBkbWFf YnVmICpyYWRlb25fZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJ CQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdvYmosCitzdHJ1Y3QgZG1hX2J1ZiAqcmFkZW9uX2dl bV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnb2JqLAogCQkJCQlpbnQgZmxh Z3MpCiB7CiAJc3RydWN0IHJhZGVvbl9ibyAqYm8gPSBnZW1fdG9fcmFkZW9uX2JvKGdvYmopOwog CWlmIChyYWRlb25fdHRtX3R0X2hhc191c2VycHRyKGJvLT50Ym8udHRtKSkKIAkJcmV0dXJuIEVS Ul9QVFIoLUVQRVJNKTsKLQlyZXR1cm4gZHJtX2dlbV9wcmltZV9leHBvcnQoZGV2LCBnb2JqLCBm bGFncyk7CisJcmV0dXJuIGRybV9nZW1fcHJpbWVfZXhwb3J0KGdvYmosIGZsYWdzKTsKIH0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9nZW0uYwppbmRleCA0Y2NlMTFmZDg4MzYuLmZkNWU5YzNhMjc4OSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9n ZW0uYwpAQCAtNjI5LDIwICs2MjksMTkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29w cyB0ZWdyYV9nZW1fcHJpbWVfZG1hYnVmX29wcyA9IHsKIAkudnVubWFwID0gdGVncmFfZ2VtX3By aW1lX3Z1bm1hcCwKIH07CiAKLXN0cnVjdCBkbWFfYnVmICp0ZWdyYV9nZW1fcHJpbWVfZXhwb3J0 KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCi0JCQkJICAgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVj dCAqZ2VtLAorc3RydWN0IGRtYV9idWYgKnRlZ3JhX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRy bV9nZW1fb2JqZWN0ICpnZW0sCiAJCQkJICAgICAgIGludCBmbGFncykKIHsKIAlERUZJTkVfRE1B X0JVRl9FWFBPUlRfSU5GTyhleHBfaW5mbyk7CiAKIAlleHBfaW5mby5leHBfbmFtZSA9IEtCVUlM RF9NT0ROQU1FOwotCWV4cF9pbmZvLm93bmVyID0gZHJtLT5kcml2ZXItPmZvcHMtPm93bmVyOwor CWV4cF9pbmZvLm93bmVyID0gZ2VtLT5kZXYtPmRyaXZlci0+Zm9wcy0+b3duZXI7CiAJZXhwX2lu Zm8ub3BzID0gJnRlZ3JhX2dlbV9wcmltZV9kbWFidWZfb3BzOwogCWV4cF9pbmZvLnNpemUgPSBn ZW0tPnNpemU7CiAJZXhwX2luZm8uZmxhZ3MgPSBmbGFnczsKIAlleHBfaW5mby5wcml2ID0gZ2Vt OwogCi0JcmV0dXJuIGRybV9nZW1fZG1hYnVmX2V4cG9ydChkcm0sICZleHBfaW5mbyk7CisJcmV0 dXJuIGRybV9nZW1fZG1hYnVmX2V4cG9ydChnZW0tPmRldiwgJmV4cF9pbmZvKTsKIH0KIAogc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICp0ZWdyYV9nZW1fcHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0sCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZ2VtLmggYi9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvZ2VtLmgKaW5kZXggNmJkN2RkN2U1NWI0Li44NWViZjgzYzdlNDMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vdGVncmEvZ2VtLmgKQEAgLTczLDggKzczLDcgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCB2 bV9vcGVyYXRpb25zX3N0cnVjdCB0ZWdyYV9ib192bV9vcHM7CiBpbnQgX190ZWdyYV9nZW1fbW1h cChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEp OwogaW50IHRlZ3JhX2RybV9tbWFwKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3Qgdm1fYXJlYV9z dHJ1Y3QgKnZtYSk7CiAKLXN0cnVjdCBkbWFfYnVmICp0ZWdyYV9nZW1fcHJpbWVfZXhwb3J0KHN0 cnVjdCBkcm1fZGV2aWNlICpkcm0sCi0JCQkJICAgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq Z2VtLAorc3RydWN0IGRtYV9idWYgKnRlZ3JhX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9n ZW1fb2JqZWN0ICpnZW0sCiAJCQkJICAgICAgIGludCBmbGFncyk7CiBzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKnRlZ3JhX2dlbV9wcmltZV9pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKIAkJ CQkJICAgICAgc3RydWN0IGRtYV9idWYgKmJ1Zik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdWRsL3VkbF9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2RtYWJ1Zi5jCmlu ZGV4IGEyODg5MjE0NmY3Yy4uMTBhNjBlN2U5M2Q2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vdWRsL3VkbF9kbWFidWYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kbWFidWYu YwpAQCAtMTcwLDggKzE3MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgdWRs X2RtYWJ1Zl9vcHMgPSB7CiAJLnJlbGVhc2UJCT0gZHJtX2dlbV9kbWFidWZfcmVsZWFzZSwKIH07 CiAKLXN0cnVjdCBkbWFfYnVmICp1ZGxfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAotCQkJCSAgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIGludCBmbGFncykK K3N0cnVjdCBkbWFfYnVmICp1ZGxfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKm9iaiwgaW50IGZsYWdzKQogewogCURFRklORV9ETUFfQlVGX0VYUE9SVF9JTkZPKGV4cF9p bmZvKTsKIApAQCAtMTgwLDcgKzE3OSw3IEBAIHN0cnVjdCBkbWFfYnVmICp1ZGxfZ2VtX3ByaW1l X2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWV4cF9pbmZvLmZsYWdzID0gZmxhZ3M7 CiAJZXhwX2luZm8ucHJpdiA9IG9iajsKIAotCXJldHVybiBkcm1fZ2VtX2RtYWJ1Zl9leHBvcnQo ZGV2LCAmZXhwX2luZm8pOworCXJldHVybiBkcm1fZ2VtX2RtYWJ1Zl9leHBvcnQob2JqLT5kZXYs ICZleHBfaW5mbyk7CiB9CiAKIHN0YXRpYyBpbnQgdWRsX3ByaW1lX2NyZWF0ZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuaAppbmRleCBhOTI4ODAxMDI2YzEuLjlkMDc5 MGJlNTQ0ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZHJ2LmgKQEAgLTEyNiw4ICsxMjYsNyBAQCBpbnQgdWRs X2dlbV9tbWFwKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LCBzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogdm9pZCB1ZGxfZ2VtX2ZyZWVfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2Vt X29iaik7CiBzdHJ1Y3QgdWRsX2dlbV9vYmplY3QgKnVkbF9nZW1fYWxsb2Nfb2JqZWN0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJCSAgICBzaXplX3Qgc2l6ZSk7Ci1zdHJ1Y3QgZG1hX2J1 ZiAqdWRsX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCQkgICAg IHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBpbnQgZmxhZ3MpOworc3RydWN0IGRtYV9idWYg KnVkbF9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBpbnQgZmxh Z3MpOwogc3RydWN0IGRybV9nZW1fb2JqZWN0ICp1ZGxfZ2VtX3ByaW1lX2ltcG9ydChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCQkJCXN0cnVjdCBkbWFfYnVmICpkbWFfYnVmKTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfYm8uYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQv dmM0X2JvLmMKaW5kZXggMTQzNGJiODI5MjY3Li5iMGY5ZWI2NjMyYTIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS92YzQvdmM0X2JvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf Ym8uYwpAQCAtNjU4LDggKzY1OCw3IEBAIHN0YXRpYyB2b2lkIHZjNF9ib19jYWNoZV90aW1lX3Rp bWVyKHN0cnVjdCB0aW1lcl9saXN0ICp0KQogCXNjaGVkdWxlX3dvcmsoJnZjNC0+Ym9fY2FjaGUu dGltZV93b3JrKTsKIH0KIAotc3RydWN0IGRtYV9idWYgKgotdmM0X3ByaW1lX2V4cG9ydChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IGZsYWdz KQorc3RydWN0IGRtYV9idWYgKiB2YzRfcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZ2VtX29iamVj dCAqb2JqLCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IHZjNF9ibyAqYm8gPSB0b192YzRfYm8ob2Jq KTsKIAlzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmOwpAQCAtNjgxLDcgKzY4MCw3IEBAIHZjNF9wcmlt ZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpv YmosIGludCBmbGFncykKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIAl9CiAKLQlkbWFidWYgPSBk cm1fZ2VtX3ByaW1lX2V4cG9ydChkZXYsIG9iaiwgZmxhZ3MpOworCWRtYWJ1ZiA9IGRybV9nZW1f cHJpbWVfZXhwb3J0KG9iaiwgZmxhZ3MpOwogCWlmIChJU19FUlIoZG1hYnVmKSkKIAkJdmM0X2Jv X2RlY191c2VjbnQoYm8pOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oCmluZGV4IDkxNzBhMjRlYzVmNS4u ZWZkMWVjMzQzMGY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaApAQCAtNzA4LDggKzcwOCw3IEBAIHN0 cnVjdCB2YzRfYm8gKnZjNF9ib19jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc2l6ZV90 IHNpemUsCiBpbnQgdmM0X2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAog CQkgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJICAgIHN0cnVjdCBkcm1fbW9kZV9jcmVh dGVfZHVtYiAqYXJncyk7Ci1zdHJ1Y3QgZG1hX2J1ZiAqdmM0X3ByaW1lX2V4cG9ydChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAotCQkJCSBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IGZs YWdzKTsKK3N0cnVjdCBkbWFfYnVmICp2YzRfcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqLCBpbnQgZmxhZ3MpOwogaW50IHZjNF9jcmVhdGVfYm9faW9jdGwoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2 KTsKIGludCB2YzRfY3JlYXRlX3NoYWRlcl9ib19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5j ZS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jCmluZGV4IGViMTdjMGNkMzcy Ny4uNzJkNDNkNWVjNWFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Zl bmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9mZW5jZS5jCkBAIC0xMDgsNyAr MTA4LDcgQEAgc3RhdGljIGludCBhdHRhY2hfZG1hYnVmKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiAJaWYgKG9iai0+ZG1hX2J1ZikKIAkJcmV0dXJuIDA7CiAKLQlkbWFidWYgPSBkZXYtPmRyaXZl ci0+Z2VtX3ByaW1lX2V4cG9ydChkZXYsIG9iaiwgMCk7CisJZG1hYnVmID0gZGV2LT5kcml2ZXIt PmdlbV9wcmltZV9leHBvcnQob2JqLCAwKTsKIAlpZiAoSVNfRVJSKGRtYWJ1ZikpCiAJCXJldHVy biBQVFJfRVJSKGRtYWJ1Zik7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcnYuaCBi L2luY2x1ZGUvZHJtL2RybV9kcnYuaAppbmRleCA3YmM0Nzk1MzE5YzQuLmVjMWM2Mzg5MjdiMCAx MDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Rydi5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9k cnYuaApAQCAtNTg0LDggKzU4NCw4IEBAIHN0cnVjdCBkcm1fZHJpdmVyIHsKIAkgKiBFeHBvcnQg aG9vayBmb3IgR0VNIGRyaXZlcnMuIERlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mCiAJICogJmRybV9n ZW1fb2JqZWN0X2Z1bmNzLmV4cG9ydC4KIAkgKi8KLQlzdHJ1Y3QgZG1hX2J1ZiAqICgqZ2VtX3By aW1lX2V4cG9ydCkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCQlzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKm9iaiwgaW50IGZsYWdzKTsKKwlzdHJ1Y3QgZG1hX2J1ZiAqICgqZ2VtX3ByaW1lX2V4 cG9ydCkoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCisJCQkJCSAgICAgaW50IGZsYWdzKTsK IAkvKioKIAkgKiBAZ2VtX3ByaW1lX2ltcG9ydDoKIAkgKgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX3ByaW1lLmggYi9pbmNsdWRlL2RybS9kcm1fcHJpbWUuaAppbmRleCBlZTMyYjA3ZjNl YjAuLmQ4OTMxMWI4MjJkNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3ByaW1lLmgKKysr IGIvaW5jbHVkZS9kcm0vZHJtX3ByaW1lLmgKQEAgLTkxLDggKzkxLDcgQEAgaW50IGRybV9nZW1f cHJpbWVfbW1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgc3RydWN0IHZtX2FyZWFfc3Ry dWN0ICp2bWEpOwogaW50IGRybV9nZW1fZG1hYnVmX21tYXAoc3RydWN0IGRtYV9idWYgKmRtYV9i dWYsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKIAogc3RydWN0IHNnX3RhYmxlICpkcm1f cHJpbWVfcGFnZXNfdG9fc2coc3RydWN0IHBhZ2UgKipwYWdlcywgdW5zaWduZWQgaW50IG5yX3Bh Z2VzKTsKLXN0cnVjdCBkbWFfYnVmICpkcm1fZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAotCQkJCSAgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCitzdHJ1Y3Qg ZG1hX2J1ZiAqZHJtX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmos CiAJCQkJICAgICBpbnQgZmxhZ3MpOwogCiAvKiBoZWxwZXIgZnVuY3Rpb25zIGZvciBpbXBvcnRp bmcgKi8KLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4