From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 09/59] drm/prime: Align gem_prime_export with obj_funcs.export Date: Fri, 21 Jun 2019 12:37:22 +0200 Message-ID: <20190621103722.GC12905@phenom.ffwll.local> References: <20190614203615.12639-1-daniel.vetter@ffwll.ch> <20190614203615.12639-10-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190614203615.12639-10-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: linux-tegra@vger.kernel.org T24gRnJpLCBKdW4gMTQsIDIwMTkgYXQgMTA6MzU6MjVQTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBUaGUgaWRlYSBpcyB0aGF0IGdlbV9wcmltZV9leHBvcnQgaXMgZGVwcmVjYXRlZCBp biBmYXZvciBvZgo+IG9ial9mdW5jcy5leHBvcnQuIFRoYXQncyBtdWNoIGVhc2llciB0byBkbyBp ZiBib3RoIGhhdmUgbWF0Y2hpbmcKPiBmdW5jdGlvbiBzaWduYXR1cmVzLgo+IAo+IFNpZ25lZC1v ZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IENjOiBSdXNz ZWxsIEtpbmcgPGxpbnV4QGFybWxpbnV4Lm9yZy51az4KPiBDYzogTWFhcnRlbiBMYW5raG9yc3Qg PG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiBDYzogTWF4aW1lIFJpcGFyZCA8 bWF4aW1lLnJpcGFyZEBib290bGluLmNvbT4KPiBDYzogU2VhbiBQYXVsIDxzZWFuQHBvb3JseS5y dW4+Cj4gQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4KPiBDYzogRGFuaWVsIFZl dHRlciA8ZGFuaWVsQGZmd2xsLmNoPgo+IENjOiBaaGVueXUgV2FuZyA8emhlbnl1d0BsaW51eC5p bnRlbC5jb20+Cj4gQ2M6IFpoaSBXYW5nIDx6aGkuYS53YW5nQGludGVsLmNvbT4KPiBDYzogSmFu aSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogSm9vbmFzIExhaHRp bmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgo+IENjOiBSb2RyaWdvIFZpdmkg PHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gQ2M6IFRvbWkgVmFsa2VpbmVuIDx0b21pLnZhbGtl aW5lbkB0aS5jb20+Cj4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNv bT4KPiBDYzogIkNocmlzdGlhbiBLw7ZuaWciIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4g Q2M6ICJEYXZpZCAoQ2h1bk1pbmcpIFpob3UiIDxEYXZpZDEuWmhvdUBhbWQuY29tPgo+IENjOiBU aGllcnJ5IFJlZGluZyA8dGhpZXJyeS5yZWRpbmdAZ21haWwuY29tPgo+IENjOiBKb25hdGhhbiBI dW50ZXIgPGpvbmF0aGFuaEBudmlkaWEuY29tPgo+IENjOiBEYXZlIEFpcmxpZSA8YWlybGllZEBy ZWRoYXQuY29tPgo+IENjOiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0Pgo+IENjOiAiTWlj aGVsIETDpG56ZXIiIDxtaWNoZWwuZGFlbnplckBhbWQuY29tPgo+IENjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBDYzogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1k LmNvbT4KPiBDYzogRmVsaXggS3VlaGxpbmcgPEZlbGl4Lkt1ZWhsaW5nQGFtZC5jb20+Cj4gQ2M6 IEhhd2tpbmcgWmhhbmcgPEhhd2tpbmcuWmhhbmdAYW1kLmNvbT4KPiBDYzogRmVpZmVpIFh1IDxG ZWlmZWkuWHVAYW1kLmNvbT4KPiBDYzogSmltIFF1IDxKaW0uUXVAYW1kLmNvbT4KPiBDYzogRXZh biBRdWFuIDxldmFuLnF1YW5AYW1kLmNvbT4KPiBDYzogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1 bGRAaW50ZWwuY29tPgo+IENjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4Lmlu dGVsLmNvbT4KPiBDYzogVGhvbWFzIFppbW1lcm1hbm4gPHRkekB1c2Vycy5zb3VyY2Vmb3JnZS5u ZXQ+Cj4gQ2M6IEthdGUgU3Rld2FydCA8a3N0ZXdhcnRAbGludXhmb3VuZGF0aW9uLm9yZz4KPiBD YzogU3VtaXQgU2Vtd2FsIDxzdW1pdC5zZW13YWxAbGluYXJvLm9yZz4KPiBDYzogSmlsYXluZSBM b3Zlam95IDxvcGVuc291cmNlQGppbGF5bmUuY29tPgo+IENjOiBUaG9tYXMgR2xlaXhuZXIgPHRn bHhAbGludXRyb25peC5kZT4KPiBDYzogTWlrdWxhcyBQYXRvY2thIDxtcGF0b2NrYUByZWRoYXQu Y29tPgo+IENjOiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3Jn Pgo+IENjOiBKdW53ZWkgWmhhbmcgPEplcnJ5LlpoYW5nQGFtZC5jb20+Cj4gQ2M6IGludGVsLWd2 dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gQ2M6IGludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBDYzogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogbGludXgt dGVncmFAdmdlci5rZXJuZWwub3JnCgpNZXJnZWQgdXAgdG8gdGhpcyBvbmUgdG8gZHJtLW1pc2Mt bmV4dCAoZm9yIDUuNCksIHRoYW5rcyBldmVyeW9uZSBmb3IgdGhlCnJldmlldyBhbmQgY29tbWVu dHMgdGh1cyBmYXIuCi1EYW5pZWwKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kbWFfYnVmLmMgICAgICAgICAgfCA3ICsrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2RtYV9idWYuaCAgICAgICAgICB8IDMgKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5jICAgICAgICAgICAgICAgICAgfCA1ICsrLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5oICAgICAgICAgICAgICAgICAgfCAz ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmMgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgOSArKysrLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2Rt YWJ1Zi5jICAgICAgICAgICB8IDUgKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3Nl bGZ0ZXN0cy9pOTE1X2dlbV9kbWFidWYuYyB8IDggKysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L2RtYWJ1Zi5jICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgICAgICAgICB8IDMgKy0tCj4gIGRy aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtLmggICAgICAgICAgICAgICAgICAgfCAzICst LQo+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFidWYuYyAgICAgICAgICAg IHwgNSArKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcnYuYyAgICAgICAg ICAgICAgICAgIHwgMyArLS0KPiAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcHJpbWUu YyAgICAgICAgICAgICAgICB8IDUgKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5j ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDcgKysrLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v dGVncmEvZ2VtLmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgMyArLS0KPiAgZHJpdmVycy9n cHUvZHJtL3VkbC91ZGxfZG1hYnVmLmMgICAgICAgICAgICAgICAgICAgICB8IDUgKystLS0KPiAg ZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZHJ2LmggICAgICAgICAgICAgICAgICAgICAgICB8IDMg Ky0tCj4gIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2JvLmMgICAgICAgICAgICAgICAgICAgICAg ICAgfCA1ICsrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oICAgICAgICAgICAg ICAgICAgICAgICAgfCAzICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2ZlbmNlLmMg ICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ICBpbmNsdWRlL2RybS9kcm1fZHJ2LmggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgNCArKy0tCj4gIGluY2x1ZGUvZHJtL2RybV9wcmlt ZS5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzICstLQo+ICAyMiBmaWxlcyBjaGFu Z2VkLCAzOSBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RtYV9idWYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kbWFfYnVmLmMKPiBpbmRleCA0ODkwNDFkZjFmNDUuLjQ4 MDlkNGE1ZDcyYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZG1hX2J1Zi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rt YV9idWYuYwo+IEBAIC0zNDUsOCArMzQ1LDcgQEAgY29uc3Qgc3RydWN0IGRtYV9idWZfb3BzIGFt ZGdwdV9kbWFidWZfb3BzID0gewo+ICAgKiBSZXR1cm5zOgo+ICAgKiBTaGFyZWQgRE1BIGJ1ZmZl ciByZXByZXNlbnRpbmcgdGhlIEdFTSBCTyBmcm9tIHRoZSBnaXZlbiBkZXZpY2UuCj4gICAqLwo+ IC1zdHJ1Y3QgZG1hX2J1ZiAqYW1kZ3B1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiAtCQkJCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdvYmosCj4gK3N0cnVjdCBk bWFfYnVmICphbWRncHVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdv YmosCj4gIAkJCQkJaW50IGZsYWdzKQo+ICB7Cj4gIAlzdHJ1Y3QgYW1kZ3B1X2JvICpibyA9IGdl bV90b19hbWRncHVfYm8oZ29iaik7Cj4gQEAgLTM1Niw5ICszNTUsOSBAQCBzdHJ1Y3QgZG1hX2J1 ZiAqYW1kZ3B1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCSAg ICBiby0+ZmxhZ3MgJiBBTURHUFVfR0VNX0NSRUFURV9WTV9BTFdBWVNfVkFMSUQpCj4gIAkJcmV0 dXJuIEVSUl9QVFIoLUVQRVJNKTsKPiAgCj4gLQlidWYgPSBkcm1fZ2VtX3ByaW1lX2V4cG9ydChk ZXYsIGdvYmosIGZsYWdzKTsKPiArCWJ1ZiA9IGRybV9nZW1fcHJpbWVfZXhwb3J0KGdvYmosIGZs YWdzKTsKPiAgCWlmICghSVNfRVJSKGJ1ZikpIHsKPiAtCQlidWYtPmZpbGUtPmZfbWFwcGluZyA9 IGRldi0+YW5vbl9pbm9kZS0+aV9tYXBwaW5nOwo+ICsJCWJ1Zi0+ZmlsZS0+Zl9tYXBwaW5nID0g Z29iai0+ZGV2LT5hbm9uX2lub2RlLT5pX21hcHBpbmc7Cj4gIAkJYnVmLT5vcHMgPSAmYW1kZ3B1 X2RtYWJ1Zl9vcHM7Cj4gIAl9Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZG1hX2J1Zi5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2RtYV9idWYuaAo+IGluZGV4IGM3MDU2Y2JlODY4NS4uN2Y3M2E0Zjk0MjA0IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kbWFfYnVmLmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZG1hX2J1Zi5oCj4gQEAgLTMwLDgg KzMwLDcgQEAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoKPiAgYW1kZ3B1X2dlbV9wcmltZV9pbXBv cnRfc2dfdGFibGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJCSBzdHJ1Y3QgZG1hX2J1 Zl9hdHRhY2htZW50ICphdHRhY2gsCj4gIAkJCQkgc3RydWN0IHNnX3RhYmxlICpzZyk7Cj4gLXN0 cnVjdCBkbWFfYnVmICphbWRncHVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+IC0JCQkJCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ29iaiwKPiArc3RydWN0IGRtYV9i dWYgKmFtZGdwdV9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ29iaiwK PiAgCQkJCQlpbnQgZmxhZ3MpOwo+ICBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmFtZGdwdV9nZW1f cHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCQkJICAgIHN0cnVjdCBk bWFfYnVmICpkbWFfYnVmKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9h cm1hZGFfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9nZW0uYwo+IGluZGV4 IDY0MmQwZTcwZDBmOC4uN2U3ZmNjM2YxZjdmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hcm1hZGEvYXJtYWRhX2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1h ZGFfZ2VtLmMKPiBAQCAtNDg1LDggKzQ4NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1 Zl9vcHMgYXJtYWRhX2dlbV9wcmltZV9kbWFidWZfb3BzID0gewo+ICB9Owo+ICAKPiAgc3RydWN0 IGRtYV9idWYgKgo+IC1hcm1hZGFfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKPiAtCWludCBmbGFncykKPiArYXJtYWRh X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIGludCBmbGFncykK PiAgewo+ICAJREVGSU5FX0RNQV9CVUZfRVhQT1JUX0lORk8oZXhwX2luZm8pOwo+ICAKPiBAQCAt NDk1LDcgKzQ5NCw3IEBAIGFybWFkYV9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAo+ICAJZXhwX2luZm8uZmxhZ3MgPSBP X1JEV1I7Cj4gIAlleHBfaW5mby5wcml2ID0gb2JqOwo+ICAKPiAtCXJldHVybiBkcm1fZ2VtX2Rt YWJ1Zl9leHBvcnQoZGV2LCAmZXhwX2luZm8pOwo+ICsJcmV0dXJuIGRybV9nZW1fZG1hYnVmX2V4 cG9ydChvYmotPmRldiwgJmV4cF9pbmZvKTsKPiAgfQo+ICAKPiAgc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmgg Yi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9nZW0uaAo+IGluZGV4IDFhYzkwNzkyYjE2 Ni4uYzYxOTM4MWVlZWZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJt YWRhX2dlbS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmgKPiBA QCAtMzUsOCArMzUsNyBAQCBzdHJ1Y3QgYXJtYWRhX2dlbV9vYmplY3QgKmFybWFkYV9nZW1fYWxs b2NfcHJpdmF0ZV9vYmplY3Qoc3RydWN0IGRybV9kZXZpY2UgKiwKPiAgCXNpemVfdCk7Cj4gIGlu dCBhcm1hZGFfZ2VtX2R1bWJfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqLCBzdHJ1Y3QgZHJtX2Rl dmljZSAqLAo+ICAJc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iICopOwo+IC1zdHJ1Y3QgZG1h X2J1ZiAqYXJtYWRhX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAt CXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBpbnQgZmxhZ3MpOwo+ICtzdHJ1Y3QgZG1hX2J1 ZiAqYXJtYWRhX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIGlu dCBmbGFncyk7Cj4gIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqYXJtYWRhX2dlbV9wcmltZV9pbXBv cnQoc3RydWN0IGRybV9kZXZpY2UgKiwKPiAgCXN0cnVjdCBkbWFfYnVmICopOwo+ICBpbnQgYXJt YWRhX2dlbV9tYXBfaW1wb3J0KHN0cnVjdCBhcm1hZGFfZ2VtX29iamVjdCAqKTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9w cmltZS5jCj4gaW5kZXggNzhmNmYxMGIyMDYwLi5kNTQ1ZTY4MWNiNDEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9w cmltZS5jCj4gQEAgLTM4Miw5ICszODIsOSBAQCBzdGF0aWMgc3RydWN0IGRtYV9idWYgKmV4cG9y dF9hbmRfcmVnaXN0ZXJfb2JqZWN0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlpZiAob2Jq LT5mdW5jcyAmJiBvYmotPmZ1bmNzLT5leHBvcnQpCj4gIAkJZG1hYnVmID0gb2JqLT5mdW5jcy0+ ZXhwb3J0KG9iaiwgZmxhZ3MpOwo+ICAJZWxzZSBpZiAoZGV2LT5kcml2ZXItPmdlbV9wcmltZV9l eHBvcnQpCj4gLQkJZG1hYnVmID0gZGV2LT5kcml2ZXItPmdlbV9wcmltZV9leHBvcnQoZGV2LCBv YmosIGZsYWdzKTsKPiArCQlkbWFidWYgPSBkZXYtPmRyaXZlci0+Z2VtX3ByaW1lX2V4cG9ydChv YmosIGZsYWdzKTsKPiAgCWVsc2UKPiAtCQlkbWFidWYgPSBkcm1fZ2VtX3ByaW1lX2V4cG9ydChk ZXYsIG9iaiwgZmxhZ3MpOwo+ICsJCWRtYWJ1ZiA9IGRybV9nZW1fcHJpbWVfZXhwb3J0KG9iaiwg ZmxhZ3MpOwo+ICAJaWYgKElTX0VSUihkbWFidWYpKSB7Cj4gIAkJLyogbm9ybWFsbHkgdGhlIGNy ZWF0ZWQgZG1hLWJ1ZiB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIHJlZiwKPiAgCQkgKiBidXQgaWYg dGhhdCBmYWlscyB0aGVuIGRyb3AgdGhlIHJlZgo+IEBAIC04MTIsMTcgKzgxMiwxNiBAQCBFWFBP UlRfU1lNQk9MKGRybV9wcmltZV9wYWdlc190b19zZyk7Cj4gIAo+ICAvKioKPiAgICogZHJtX2dl bV9wcmltZV9leHBvcnQgLSBoZWxwZXIgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZXhw b3J0IGNhbGxiYWNrCj4gLSAqIEBkZXY6IGRybV9kZXZpY2UgdG8gZXhwb3J0IGZyb20KPiAgICog QG9iajogR0VNIG9iamVjdCB0byBleHBvcnQKPiAgICogQGZsYWdzOiBmbGFncyBsaWtlIERSTV9D TE9FWEVDIGFuZCBEUk1fUkRXUgo+ICAgKgo+ICAgKiBUaGlzIGlzIHRoZSBpbXBsZW1lbnRhdGlv biBvZiB0aGUgJmRybV9nZW1fb2JqZWN0X2Z1bmNzLmV4cG9ydCBmdW5jdGlvbnMgZm9yIEdFTSBk cml2ZXJzCj4gICAqIHVzaW5nIHRoZSBQUklNRSBoZWxwZXJzLgo+ICAgKi8KPiAtc3RydWN0IGRt YV9idWYgKmRybV9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gLQkJ CQkgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAo+ICtzdHJ1Y3QgZG1hX2J1ZiAqZHJt X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCj4gIAkJCQkgICAg IGludCBmbGFncykKPiAgewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+ZGV2Owo+ ICAJc3RydWN0IGRtYV9idWZfZXhwb3J0X2luZm8gZXhwX2luZm8gPSB7Cj4gIAkJLmV4cF9uYW1l ID0gS0JVSUxEX01PRE5BTUUsIC8qIHdoaXRlIGxpZSBmb3IgZGVidWcgKi8KPiAgCQkub3duZXIg PSBkZXYtPmRyaXZlci0+Zm9wcy0+b3duZXIsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2dlbS9pOTE1X2dlbV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9kbWFidWYuYwo+IGluZGV4IGE5M2UyMzNjZmFhOS4uNTBiMWI3M2MzMDNhIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9kbWFidWYuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9kbWFidWYuYwo+IEBAIC0yMDQs OCArMjA0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyBpOTE1X2RtYWJ1Zl9v cHMgPSAgewo+ICAJLmVuZF9jcHVfYWNjZXNzID0gaTkxNV9nZW1fZW5kX2NwdV9hY2Nlc3MsCj4g IH07Cj4gIAo+IC1zdHJ1Y3QgZG1hX2J1ZiAqaTkxNV9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gLQkJCQkgICAgICBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9v YmosIGludCBmbGFncykKPiArc3RydWN0IGRtYV9idWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9ydChz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmosIGludCBmbGFncykKPiAgewo+ICAJc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IHRvX2ludGVsX2JvKGdlbV9vYmopOwo+ICAJREVG SU5FX0RNQV9CVUZfRVhQT1JUX0lORk8oZXhwX2luZm8pOwo+IEBAIC0yMjIsNyArMjIxLDcgQEAg c3RydWN0IGRtYV9idWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ICAJCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+ICAJfQo+ICAKPiAtCXJldHVybiBkcm1f Z2VtX2RtYWJ1Zl9leHBvcnQoZGV2LCAmZXhwX2luZm8pOwo+ICsJcmV0dXJuIGRybV9nZW1fZG1h YnVmX2V4cG9ydChnZW1fb2JqLT5kZXYsICZleHBfaW5mbyk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBp bnQgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlc19kbWFidWYoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0 ZXN0cy9pOTE1X2dlbV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVz dHMvaTkxNV9nZW1fZG1hYnVmLmMKPiBpbmRleCBlM2E2NGVkZWY5MTguLmQ4NWQxY2UyNzNjYSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2Vt X2RtYWJ1Zi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9pOTE1 X2dlbV9kbWFidWYuYwo+IEBAIC0yMCw3ICsyMCw3IEBAIHN0YXRpYyBpbnQgaWd0X2RtYWJ1Zl9l eHBvcnQodm9pZCAqYXJnKQo+ICAJaWYgKElTX0VSUihvYmopKQo+ICAJCXJldHVybiBQVFJfRVJS KG9iaik7Cj4gIAo+IC0JZG1hYnVmID0gaTkxNV9nZW1fcHJpbWVfZXhwb3J0KCZpOTE1LT5kcm0s ICZvYmotPmJhc2UsIDApOwo+ICsJZG1hYnVmID0gaTkxNV9nZW1fcHJpbWVfZXhwb3J0KCZvYmot PmJhc2UsIDApOwo+ICAJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwo+ICAJaWYgKElTX0VSUihk bWFidWYpKSB7Cj4gIAkJcHJfZXJyKCJpOTE1X2dlbV9wcmltZV9leHBvcnQgZmFpbGVkIHdpdGgg ZXJyPSVkXG4iLAo+IEBAIC00NCw3ICs0NCw3IEBAIHN0YXRpYyBpbnQgaWd0X2RtYWJ1Zl9pbXBv cnRfc2VsZih2b2lkICphcmcpCj4gIAlpZiAoSVNfRVJSKG9iaikpCj4gIAkJcmV0dXJuIFBUUl9F UlIob2JqKTsKPiAgCj4gLQlkbWFidWYgPSBpOTE1X2dlbV9wcmltZV9leHBvcnQoJmk5MTUtPmRy bSwgJm9iai0+YmFzZSwgMCk7Cj4gKwlkbWFidWYgPSBpOTE1X2dlbV9wcmltZV9leHBvcnQoJm9i ai0+YmFzZSwgMCk7Cj4gIAlpZiAoSVNfRVJSKGRtYWJ1ZikpIHsKPiAgCQlwcl9lcnIoImk5MTVf Z2VtX3ByaW1lX2V4cG9ydCBmYWlsZWQgd2l0aCBlcnI9JWRcbiIsCj4gIAkJICAgICAgIChpbnQp UFRSX0VSUihkbWFidWYpKTsKPiBAQCAtMjE5LDcgKzIxOSw3IEBAIHN0YXRpYyBpbnQgaWd0X2Rt YWJ1Zl9leHBvcnRfdm1hcCh2b2lkICphcmcpCj4gIAlpZiAoSVNfRVJSKG9iaikpCj4gIAkJcmV0 dXJuIFBUUl9FUlIob2JqKTsKPiAgCj4gLQlkbWFidWYgPSBpOTE1X2dlbV9wcmltZV9leHBvcnQo Jmk5MTUtPmRybSwgJm9iai0+YmFzZSwgMCk7Cj4gKwlkbWFidWYgPSBpOTE1X2dlbV9wcmltZV9l eHBvcnQoJm9iai0+YmFzZSwgMCk7Cj4gIAlpZiAoSVNfRVJSKGRtYWJ1ZikpIHsKPiAgCQlwcl9l cnIoImk5MTVfZ2VtX3ByaW1lX2V4cG9ydCBmYWlsZWQgd2l0aCBlcnI9JWRcbiIsCj4gIAkJICAg ICAgIChpbnQpUFRSX0VSUihkbWFidWYpKTsKPiBAQCAtMjY2LDcgKzI2Niw3IEBAIHN0YXRpYyBp bnQgaWd0X2RtYWJ1Zl9leHBvcnRfa21hcCh2b2lkICphcmcpCj4gIAlpZiAoSVNfRVJSKG9iaikp Cj4gIAkJcmV0dXJuIFBUUl9FUlIob2JqKTsKPiAgCj4gLQlkbWFidWYgPSBpOTE1X2dlbV9wcmlt ZV9leHBvcnQoJmk5MTUtPmRybSwgJm9iai0+YmFzZSwgMCk7Cj4gKwlkbWFidWYgPSBpOTE1X2dl bV9wcmltZV9leHBvcnQoJm9iai0+YmFzZSwgMCk7Cj4gIAlpOTE1X2dlbV9vYmplY3RfcHV0KG9i aik7Cj4gIAlpZiAoSVNfRVJSKGRtYWJ1ZikpIHsKPiAgCQllcnIgPSBQVFJfRVJSKGRtYWJ1Zik7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9kbWFidWYuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d2dC9kbWFidWYuYwo+IGluZGV4IDQxYzhlYmM2MGM2My4uMTMwNDRj MDI3ZjI3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9kbWFidWYuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9kbWFidWYuYwo+IEBAIC00OTEsNyArNDkx LDcgQEAgaW50IGludGVsX3ZncHVfZ2V0X2RtYWJ1ZihzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwg dW5zaWduZWQgaW50IGRtYWJ1Zl9pZCkKPiAgCj4gIAlvYmotPmd2dF9pbmZvID0gZG1hYnVmX29i ai0+aW5mbzsKPiAgCj4gLQlkbWFidWYgPSBpOTE1X2dlbV9wcmltZV9leHBvcnQoZGV2LCAmb2Jq LT5iYXNlLCBEUk1fQ0xPRVhFQyB8IERSTV9SRFdSKTsKPiArCWRtYWJ1ZiA9IGk5MTVfZ2VtX3By aW1lX2V4cG9ydCgmb2JqLT5iYXNlLCBEUk1fQ0xPRVhFQyB8IERSTV9SRFdSKTsKPiAgCWlmIChJ U19FUlIoZG1hYnVmKSkgewo+ICAJCWd2dF92Z3B1X2VycigiZXhwb3J0IGRtYS1idWYgZmFpbGVk XG4iKTsKPiAgCQlyZXQgPSBQVFJfRVJSKGRtYWJ1Zik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gaW5kZXggOWRjZTFjNzFiYjlkLi5hOGFmNzcxNjI1NjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBAQCAtMjU4Nyw4ICsyNTg3LDcgQEAgaW50IGk5MTVfZ2VtX29iamVjdF9zZXRf Y2FjaGVfbGV2ZWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgc3RydWN0IGRy bV9nZW1fb2JqZWN0ICppOTE1X2dlbV9wcmltZV9pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgCQkJCXN0cnVjdCBkbWFfYnVmICpkbWFfYnVmKTsKPiAgCj4gLXN0cnVjdCBkbWFfYnVm ICppOTE1X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAtCQkJCXN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtX29iaiwgaW50IGZsYWdzKTsKPiArc3RydWN0IGRtYV9i dWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmos IGludCBmbGFncyk7Cj4gIAo+ICBzdGF0aWMgaW5saW5lIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0 ICoKPiAgX19pOTE1X2dlbV9jb250ZXh0X2xvb2t1cF9yY3Uoc3RydWN0IGRybV9pOTE1X2ZpbGVf cHJpdmF0ZSAqZmlsZV9wcml2LCB1MzIgaWQpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9vbWFwZHJtL29tYXBfZ2VtLmggYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbS5o Cj4gaW5kZXggYzFjNDVmYmRlMTU1Li5lZTBmMjE3Y2Y1OWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW0uaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFw ZHJtL29tYXBfZ2VtLmgKPiBAQCAtNzYsOCArNzYsNyBAQCB1NjQgb21hcF9nZW1fbW1hcF9vZmZz ZXQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwo+ICBzaXplX3Qgb21hcF9nZW1fbW1hcF9z aXplKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKPiAgCj4gIC8qIFBSSU1FIEludGVyZmFj ZSAqLwo+IC1zdHJ1Y3QgZG1hX2J1ZiAqb21hcF9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gLQkJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIGludCBmbGFncyk7 Cj4gK3N0cnVjdCBkbWFfYnVmICpvbWFwX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1f b2JqZWN0ICpvYmosIGludCBmbGFncyk7Cj4gIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb21hcF9n ZW1fcHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJc3RydWN0IGRtYV9i dWYgKmJ1ZmZlcik7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9v bWFwX2dlbV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtX2RtYWJ1 Zi5jCj4gaW5kZXggMGY4YjU5N2NjZDEwLi43ZTdhZDI3NWUzY2YgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW1fZG1hYnVmLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFidWYuYwo+IEBAIC0xMzYsOCArMTM2LDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyBvbWFwX2RtYWJ1Zl9vcHMgPSB7Cj4gIAkubW1h cCA9IG9tYXBfZ2VtX2RtYWJ1Zl9tbWFwLAo+ICB9Owo+ICAKPiAtc3RydWN0IGRtYV9idWYgKm9t YXBfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0JCXN0cnVjdCBk cm1fZ2VtX29iamVjdCAqb2JqLCBpbnQgZmxhZ3MpCj4gK3N0cnVjdCBkbWFfYnVmICpvbWFwX2dl bV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIGludCBmbGFncykKPiAg ewo+ICAJREVGSU5FX0RNQV9CVUZfRVhQT1JUX0lORk8oZXhwX2luZm8pOwo+ICAKPiBAQCAtMTQ2 LDcgKzE0NSw3IEBAIHN0cnVjdCBkbWFfYnVmICpvbWFwX2dlbV9wcmltZV9leHBvcnQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgCWV4cF9pbmZvLmZsYWdzID0gZmxhZ3M7Cj4gIAlleHBfaW5m by5wcml2ID0gb2JqOwo+ICAKPiAtCXJldHVybiBkcm1fZ2VtX2RtYWJ1Zl9leHBvcnQoZGV2LCAm ZXhwX2luZm8pOwo+ICsJcmV0dXJuIGRybV9nZW1fZG1hYnVmX2V4cG9ydChvYmotPmRldiwgJmV4 cF9pbmZvKTsKPiAgfQo+ICAKPiAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9kcnYuYwo+IGluZGV4IDNiMDdhYTZlNTUxZC4uNGE2YWNhYTNmODQzIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rydi5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZHJ2LmMKPiBAQCAtMTMwLDggKzEzMCw3IEBA IGludCByYWRlb25fZ2VtX29iamVjdF9vcGVuKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAo+ ICAJCQkJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICB2b2lkIHJhZGVvbl9nZW1fb2Jq ZWN0X2Nsb3NlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAo+ICAJCQkJc3RydWN0IGRybV9m aWxlICpmaWxlX3ByaXYpOwo+IC1zdHJ1Y3QgZG1hX2J1ZiAqcmFkZW9uX2dlbV9wcmltZV9leHBv cnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAtCQkJCQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3Qg KmdvYmosCj4gK3N0cnVjdCBkbWFfYnVmICpyYWRlb25fZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKmdvYmosCj4gIAkJCQkJaW50IGZsYWdzKTsKPiAgZXh0ZXJuIGludCBy YWRlb25fZ2V0X2NydGNfc2Nhbm91dHBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25l ZCBpbnQgY3J0YywKPiAgCQkJCSAgICAgIHVuc2lnbmVkIGludCBmbGFncywgaW50ICp2cG9zLCBp bnQgKmhwb3MsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3By aW1lLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9wcmltZS5jCj4gaW5kZXggZDNh NWJlYTlhMmM1Li5kZWFmZmNlNTBhMmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fcHJpbWUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X3ByaW1lLmMKPiBAQCAtMTI0LDEyICsxMjQsMTEgQEAgc3RydWN0IHJlc2VydmF0aW9uX29iamVj dCAqcmFkZW9uX2dlbV9wcmltZV9yZXNfb2JqKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQo+ ICAJcmV0dXJuIGJvLT50Ym8ucmVzdjsKPiAgfQo+ICAKPiAtc3RydWN0IGRtYV9idWYgKnJhZGVv bl9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gLQkJCQkJc3RydWN0 IGRybV9nZW1fb2JqZWN0ICpnb2JqLAo+ICtzdHJ1Y3QgZG1hX2J1ZiAqcmFkZW9uX2dlbV9wcmlt ZV9leHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnb2JqLAo+ICAJCQkJCWludCBmbGFncykK PiAgewo+ICAJc3RydWN0IHJhZGVvbl9ibyAqYm8gPSBnZW1fdG9fcmFkZW9uX2JvKGdvYmopOwo+ ICAJaWYgKHJhZGVvbl90dG1fdHRfaGFzX3VzZXJwdHIoYm8tPnRiby50dG0pKQo+ICAJCXJldHVy biBFUlJfUFRSKC1FUEVSTSk7Cj4gLQlyZXR1cm4gZHJtX2dlbV9wcmltZV9leHBvcnQoZGV2LCBn b2JqLCBmbGFncyk7Cj4gKwlyZXR1cm4gZHJtX2dlbV9wcmltZV9leHBvcnQoZ29iaiwgZmxhZ3Mp Owo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uYyBiL2RyaXZl cnMvZ3B1L2RybS90ZWdyYS9nZW0uYwo+IGluZGV4IDRjY2UxMWZkODgzNi4uZmQ1ZTljM2EyNzg5 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS90ZWdyYS9nZW0uYwo+IEBAIC02MjksMjAgKzYyOSwxOSBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGRtYV9idWZfb3BzIHRlZ3JhX2dlbV9wcmltZV9kbWFidWZfb3BzID0gewo+ICAJ LnZ1bm1hcCA9IHRlZ3JhX2dlbV9wcmltZV92dW5tYXAsCj4gIH07Cj4gIAo+IC1zdHJ1Y3QgZG1h X2J1ZiAqdGVncmFfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAo+IC0J CQkJICAgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtLAo+ICtzdHJ1Y3QgZG1hX2J1ZiAq dGVncmFfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbSwKPiAgCQkJ CSAgICAgICBpbnQgZmxhZ3MpCj4gIHsKPiAgCURFRklORV9ETUFfQlVGX0VYUE9SVF9JTkZPKGV4 cF9pbmZvKTsKPiAgCj4gIAlleHBfaW5mby5leHBfbmFtZSA9IEtCVUlMRF9NT0ROQU1FOwo+IC0J ZXhwX2luZm8ub3duZXIgPSBkcm0tPmRyaXZlci0+Zm9wcy0+b3duZXI7Cj4gKwlleHBfaW5mby5v d25lciA9IGdlbS0+ZGV2LT5kcml2ZXItPmZvcHMtPm93bmVyOwo+ICAJZXhwX2luZm8ub3BzID0g JnRlZ3JhX2dlbV9wcmltZV9kbWFidWZfb3BzOwo+ICAJZXhwX2luZm8uc2l6ZSA9IGdlbS0+c2l6 ZTsKPiAgCWV4cF9pbmZvLmZsYWdzID0gZmxhZ3M7Cj4gIAlleHBfaW5mby5wcml2ID0gZ2VtOwo+ ICAKPiAtCXJldHVybiBkcm1fZ2VtX2RtYWJ1Zl9leHBvcnQoZHJtLCAmZXhwX2luZm8pOwo+ICsJ cmV0dXJuIGRybV9nZW1fZG1hYnVmX2V4cG9ydChnZW0tPmRldiwgJmV4cF9pbmZvKTsKPiAgfQo+ ICAKPiAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICp0ZWdyYV9nZW1fcHJpbWVfaW1wb3J0KHN0cnVj dCBkcm1fZGV2aWNlICpkcm0sCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9n ZW0uaCBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uaAo+IGluZGV4IDZiZDdkZDdlNTViNC4u ODVlYmY4M2M3ZTQzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uaAo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uaAo+IEBAIC03Myw4ICs3Myw3IEBAIGV4 dGVybiBjb25zdCBzdHJ1Y3Qgdm1fb3BlcmF0aW9uc19zdHJ1Y3QgdGVncmFfYm9fdm1fb3BzOwo+ ICBpbnQgX190ZWdyYV9nZW1fbW1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbSwgc3RydWN0 IHZtX2FyZWFfc3RydWN0ICp2bWEpOwo+ICBpbnQgdGVncmFfZHJtX21tYXAoc3RydWN0IGZpbGUg KmZpbGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKPiAgCj4gLXN0cnVjdCBkbWFfYnVm ICp0ZWdyYV9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCj4gLQkJCQkg ICAgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW0sCj4gK3N0cnVjdCBkbWFfYnVmICp0ZWdy YV9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtLAo+ICAJCQkJICAg ICAgIGludCBmbGFncyk7Cj4gIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqdGVncmFfZ2VtX3ByaW1l X2ltcG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAo+ICAJCQkJCSAgICAgIHN0cnVjdCBkbWFf YnVmICpidWYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kbWFidWYu YyBiL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2RtYWJ1Zi5jCj4gaW5kZXggYTI4ODkyMTQ2Zjdj Li4xMGE2MGU3ZTkzZDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZG1h YnVmLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kbWFidWYuYwo+IEBAIC0xNzAs OCArMTcwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyB1ZGxfZG1hYnVmX29w cyA9IHsKPiAgCS5yZWxlYXNlCQk9IGRybV9nZW1fZG1hYnVmX3JlbGVhc2UsCj4gIH07Cj4gIAo+ IC1zdHJ1Y3QgZG1hX2J1ZiAqdWRsX2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiAtCQkJCSAgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIGludCBmbGFncykK PiArc3RydWN0IGRtYV9idWYgKnVkbF9nZW1fcHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqLCBpbnQgZmxhZ3MpCj4gIHsKPiAgCURFRklORV9ETUFfQlVGX0VYUE9SVF9JTkZP KGV4cF9pbmZvKTsKPiAgCj4gQEAgLTE4MCw3ICsxNzksNyBAQCBzdHJ1Y3QgZG1hX2J1ZiAqdWRs X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCWV4cF9pbmZvLmZs YWdzID0gZmxhZ3M7Cj4gIAlleHBfaW5mby5wcml2ID0gb2JqOwo+ICAKPiAtCXJldHVybiBkcm1f Z2VtX2RtYWJ1Zl9leHBvcnQoZGV2LCAmZXhwX2luZm8pOwo+ICsJcmV0dXJuIGRybV9nZW1fZG1h YnVmX2V4cG9ydChvYmotPmRldiwgJmV4cF9pbmZvKTsKPiAgfQo+ICAKPiAgc3RhdGljIGludCB1 ZGxfcHJpbWVfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS91ZGwvdWRsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZHJ2 LmgKPiBpbmRleCBhOTI4ODAxMDI2YzEuLjlkMDc5MGJlNTQ0ZiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRs X2Rydi5oCj4gQEAgLTEyNiw4ICsxMjYsNyBAQCBpbnQgdWRsX2dlbV9tbWFwKHN0cnVjdCBkcm1f ZmlsZSAqZmlsZV9wcml2LCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICB2b2lkIHVkbF9nZW1f ZnJlZV9vYmplY3Qoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqKTsKPiAgc3RydWN0IHVk bF9nZW1fb2JqZWN0ICp1ZGxfZ2VtX2FsbG9jX29iamVjdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICAJCQkJCSAgICBzaXplX3Qgc2l6ZSk7Cj4gLXN0cnVjdCBkbWFfYnVmICp1ZGxfZ2VtX3By aW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0JCQkJICAgICBzdHJ1Y3QgZHJt X2dlbV9vYmplY3QgKm9iaiwgaW50IGZsYWdzKTsKPiArc3RydWN0IGRtYV9idWYgKnVkbF9nZW1f cHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBpbnQgZmxhZ3MpOwo+ICBz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKnVkbF9nZW1fcHJpbWVfaW1wb3J0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4gIAkJCQlzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Zik7Cj4gIAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9iby5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92 YzRfYm8uYwo+IGluZGV4IDE0MzRiYjgyOTI2Ny4uYjBmOWViNjYzMmEyIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2JvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0 L3ZjNF9iby5jCj4gQEAgLTY1OCw4ICs2NTgsNyBAQCBzdGF0aWMgdm9pZCB2YzRfYm9fY2FjaGVf dGltZV90aW1lcihzdHJ1Y3QgdGltZXJfbGlzdCAqdCkKPiAgCXNjaGVkdWxlX3dvcmsoJnZjNC0+ Ym9fY2FjaGUudGltZV93b3JrKTsKPiAgfQo+ICAKPiAtc3RydWN0IGRtYV9idWYgKgo+IC12YzRf cHJpbWVfZXhwb3J0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZ2VtX29iamVj dCAqb2JqLCBpbnQgZmxhZ3MpCj4gK3N0cnVjdCBkbWFfYnVmICogdmM0X3ByaW1lX2V4cG9ydChz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgaW50IGZsYWdzKQo+ICB7Cj4gIAlzdHJ1Y3QgdmM0 X2JvICpibyA9IHRvX3ZjNF9ibyhvYmopOwo+ICAJc3RydWN0IGRtYV9idWYgKmRtYWJ1ZjsKPiBA QCAtNjgxLDcgKzY4MCw3IEBAIHZjNF9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIGludCBmbGFncykKPiAgCQlyZXR1cm4gRVJS X1BUUihyZXQpOwo+ICAJfQo+ICAKPiAtCWRtYWJ1ZiA9IGRybV9nZW1fcHJpbWVfZXhwb3J0KGRl diwgb2JqLCBmbGFncyk7Cj4gKwlkbWFidWYgPSBkcm1fZ2VtX3ByaW1lX2V4cG9ydChvYmosIGZs YWdzKTsKPiAgCWlmIChJU19FUlIoZG1hYnVmKSkKPiAgCQl2YzRfYm9fZGVjX3VzZWNudChibyk7 Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oCj4gaW5kZXggOTE3MGEyNGVjNWY1Li5lZmQxZWMzNDMw ZjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaAo+IEBAIC03MDgsOCArNzA4LDcgQEAgc3RydWN0 IHZjNF9ibyAqdmM0X2JvX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzaXplX3Qgc2l6 ZSwKPiAgaW50IHZjNF9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKPiAg CQkgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkgICAgc3RydWN0IGRybV9tb2RlX2Ny ZWF0ZV9kdW1iICphcmdzKTsKPiAtc3RydWN0IGRtYV9idWYgKnZjNF9wcmltZV9leHBvcnQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiAtCQkJCSBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwg aW50IGZsYWdzKTsKPiArc3RydWN0IGRtYV9idWYgKnZjNF9wcmltZV9leHBvcnQoc3RydWN0IGRy bV9nZW1fb2JqZWN0ICpvYmosIGludCBmbGFncyk7Cj4gIGludCB2YzRfY3JlYXRlX2JvX2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkJCXN0cnVjdCBkcm1fZmls ZSAqZmlsZV9wcml2KTsKPiAgaW50IHZjNF9jcmVhdGVfc2hhZGVyX2JvX2lvY3RsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS92Z2VtL3ZnZW1fZmVuY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZmVuY2UuYwo+ IGluZGV4IGViMTdjMGNkMzcyNy4uNzJkNDNkNWVjNWFiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS92Z2VtL3ZnZW1fZmVuY2UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3Zn ZW1fZmVuY2UuYwo+IEBAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIGludCBhdHRhY2hfZG1hYnVm KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlpZiAob2JqLT5kbWFfYnVmKQo+ICAJCXJldHVy biAwOwo+ICAKPiAtCWRtYWJ1ZiA9IGRldi0+ZHJpdmVyLT5nZW1fcHJpbWVfZXhwb3J0KGRldiwg b2JqLCAwKTsKPiArCWRtYWJ1ZiA9IGRldi0+ZHJpdmVyLT5nZW1fcHJpbWVfZXhwb3J0KG9iaiwg MCk7Cj4gIAlpZiAoSVNfRVJSKGRtYWJ1ZikpCj4gIAkJcmV0dXJuIFBUUl9FUlIoZG1hYnVmKTsK PiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcnYuaCBiL2luY2x1ZGUvZHJtL2Ry bV9kcnYuaAo+IGluZGV4IDdiYzQ3OTUzMTljNC4uZWMxYzYzODkyN2IwIDEwMDY0NAo+IC0tLSBh L2luY2x1ZGUvZHJtL2RybV9kcnYuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kcnYuaAo+IEBA IC01ODQsOCArNTg0LDggQEAgc3RydWN0IGRybV9kcml2ZXIgewo+ICAJICogRXhwb3J0IGhvb2sg Zm9yIEdFTSBkcml2ZXJzLiBEZXByZWNhdGVkIGluIGZhdm91ciBvZgo+ICAJICogJmRybV9nZW1f b2JqZWN0X2Z1bmNzLmV4cG9ydC4KPiAgCSAqLwo+IC0Jc3RydWN0IGRtYV9idWYgKiAoKmdlbV9w cmltZV9leHBvcnQpKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gLQkJCQlzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaiwgaW50IGZsYWdzKTsKPiArCXN0cnVjdCBkbWFfYnVmICogKCpnZW1fcHJp bWVfZXhwb3J0KShzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKPiArCQkJCQkgICAgIGludCBm bGFncyk7Cj4gIAkvKioKPiAgCSAqIEBnZW1fcHJpbWVfaW1wb3J0Ogo+ICAJICoKPiBkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0vZHJtX3ByaW1lLmggYi9pbmNsdWRlL2RybS9kcm1fcHJpbWUuaAo+ IGluZGV4IGVlMzJiMDdmM2ViMC4uZDg5MzExYjgyMmQ1IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybV9wcmltZS5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX3ByaW1lLmgKPiBAQCAtOTEs OCArOTEsNyBAQCBpbnQgZHJtX2dlbV9wcmltZV9tbWFwKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7Cj4gIGludCBkcm1fZ2VtX2RtYWJ1Zl9t bWFwKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7 Cj4gIAo+ICBzdHJ1Y3Qgc2dfdGFibGUgKmRybV9wcmltZV9wYWdlc190b19zZyhzdHJ1Y3QgcGFn ZSAqKnBhZ2VzLCB1bnNpZ25lZCBpbnQgbnJfcGFnZXMpOwo+IC1zdHJ1Y3QgZG1hX2J1ZiAqZHJt X2dlbV9wcmltZV9leHBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAtCQkJCSAgICAgc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCj4gK3N0cnVjdCBkbWFfYnVmICpkcm1fZ2VtX3ByaW1l X2V4cG9ydChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKPiAgCQkJCSAgICAgaW50IGZsYWdz KTsKPiAgCj4gIC8qIGhlbHBlciBmdW5jdGlvbnMgZm9yIGltcG9ydGluZyAqLwo+IC0tIAo+IDIu MjAuMQo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBv cmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeA==