From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [Intel-gfx] [PATCH 2/2] drm: Pass the user drm_mode_fb_cmd2 as const to .fb_create() Date: Tue, 17 Nov 2015 16:45:50 +0200 Message-ID: <87d1v8elb5.fsf@intel.com> References: <1447261890-3960-1-git-send-email-ville.syrjala@linux.intel.com> <1447261890-3960-2-git-send-email-ville.syrjala@linux.intel.com> <20151117094857.GI16848@phenom.ffwll.local> <564B2BFA.5000006@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <564B2BFA.5000006@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: John Harrison , Daniel Vetter , ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAxNyBOb3YgMjAxNSwgSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVs LmNvbT4gd3JvdGU6Cj4gVGhpcyBzZWVtcyB0byBoYXZlIGNhdXNlZCBhIHdhcm5pbmcgdG8gYXBw ZWFyLiBJIGdlbmVyYWxseSBidWlsZCB3aXRoIAo+IC1XZXJyb3Igd2hpY2ggbWVhbnMgbXkgYnVp bGQgaXMgYnJva2VuIDooLgo+Cj4gaW50ZWxfZGlzcGxheS5jOiBJbiBmdW5jdGlvbiAnaW50ZWxf dXNlcl9mcmFtZWJ1ZmZlcl9jcmVhdGUnOgo+IGk5MTUvaW50ZWxfZGlzcGxheS5jKDE0NTkzKTI6 IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiAKPiAnaW50ZWxfZnJhbWVidWZmZXJfY3Jl YXRlJyBkaXNjYXJkcyAnY29uc3QnIHF1YWxpZmllciBmcm9tIHBvaW50ZXIgCj4gdGFyZ2V0IHR5 cGUgW2VuYWJsZWQgYnkgZGVmYXVsdF0KPiAgICBmYiA9IGludGVsX2ZyYW1lYnVmZmVyX2NyZWF0 ZShkZXYsIG1vZGVfY21kLCBvYmopOwo+ICAgIF4KPiBpbnRlbF9kaXNwbGF5LmMoMTAxMjgpMTog bm90ZTogZXhwZWN0ZWQgJ3N0cnVjdCBkcm1fbW9kZV9mYl9jbWQyIConIGJ1dCAKPiBhcmd1bWVu dCBpcyBvZiB0eXBlICdjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqJwoKVGhpcyBpcyBu b3cgZml4ZWQgaW4gZHJtLWludGVsLW5pZ2h0bHkuCgpCUiwKSmFuaS4KCgo+Cj4KPgo+Cj4gT24g MTcvMTEvMjAxNSAwOTo0OCwgRGFuaWVsIFZldHRlciB3cm90ZToKPj4gT24gV2VkLCBOb3YgMTEs IDIwMTUgYXQgMDc6MTE6MjlQTSArMDIwMCwgdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20g d3JvdGU6Cj4+PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPgo+Pj4KPj4+IERyaXZlcnMgc2hvdWxkbid0IGNsb2JiZXIgdGhlIHBhc3NlZCBpbiBh ZGRmYiBpb2N0bCBwYXJhbWV0ZXJzLgo+Pj4gaTkxNSB3YXMgZG9pbmcganVzdCB0aGF0LiBUbyBw cmV2ZW50IGl0IGZyb20gaGFwcGVuaW5nIGFnYWluLAo+Pj4gcGFzcyB0aGUgc3RydWN0IGFyb3Vu ZCBhcyBjb25zdCwgc3RhcnRpbmcgYWxsIHRoZSB3YXkgZnJvbQo+Pj4gaW50ZXJuYWxfZnJhbWVi dWZmZXJfY3JlYXRlKCkuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4+IC0tLQo+Pj4gSSB0cmllZCB0byBjcm9z cy1jb21waWxlIGV2ZXJ5dGhpbmcsIGFuZCBkaWRuJ3QgZ2V0IGFueSBmYWlsdXJlcywKPj4+IGJ1 dCBJJ20gbm90IDEwMCUgc3VyZSBJIGNhdWdodCBldmVyeSBkcml2ZXIuCj4+IEFwcGxpZWQgdG8g ZHJtLW1pc2MuIFdpdGggYSBiaXQgb2Ygc29ha2luZyB0aGF0IHNob3VsZCBjYXRjaCBhbnl0aGlu Zwo+PiBtaXNzZWQuCj4+IC1EYW5pZWwKPj4KPj4+IC0tLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGlzcGxheS5jICB8IDQgKystLQo+Pj4gICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfbW9kZS5oICAgICB8IDIgKy0KPj4+ICAgZHJpdmVycy9ncHUv ZHJtL2FybWFkYS9hcm1hZGFfZmIuYyAgICAgICAgICAgfCA0ICsrLS0KPj4+ICAgZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfZmIuaCAgICAgICAgICAgfCAyICstCj4+PiAgIGRyaXZlcnMv Z3B1L2RybS9hc3QvYXN0X2Rydi5oICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gICBkcml2ZXJz L2dwdS9kcm0vYXN0L2FzdF9mYi5jICAgICAgICAgICAgICAgICB8IDIgKy0KPj4+ICAgZHJpdmVy cy9ncHUvZHJtL2FzdC9hc3RfbWFpbi5jICAgICAgICAgICAgICAgfCA0ICsrLS0KPj4+ICAgZHJp dmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMgfCAyICstCj4+PiAgIGRy aXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Nocy5oICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gICBk cml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfZmJkZXYuYyAgICAgICAgICB8IDIgKy0KPj4+ICAg ZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX21tLmMgICAgICAgICAgICAgfCA0ICsrLS0KPj4+ ICAgZHJpdmVycy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNfZHJ2LmggICAgICAgICAgfCAyICstCj4+ PiAgIGRyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2ZiZGV2LmMgICAgICAgIHwgMiArLQo+ Pj4gICBkcml2ZXJzL2dwdS9kcm0vY2lycnVzL2NpcnJ1c19tYWluLmMgICAgICAgICB8IDQgKyst LQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYyAgICAgICAgICAgICAgICAgICB8IDQg KystLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgICAgICAgICAgICB8 IDIgKy0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL2RybV9mYl9jbWFfaGVscGVyLmMgICAgICAgICAg fCA0ICsrLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZiLmMgICAg ICAgfCA0ICsrLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZiLmgg ICAgICAgfCAyICstCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvZnJhbWVidWZmZXIuYyAg ICAgICAgIHwgNiArKystLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jICAgICAgICAgfCAyICstCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBf ZHJ2LmggICAgICAgIHwgMiArLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAw X2ZiLmMgICAgICAgICB8IDIgKy0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIw MF9tYWluLmMgICAgICAgfCA0ICsrLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmggICAgICAgICAgICAgICAgfCA0ICsrLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL21zbS9tc21f ZmIuYyAgICAgICAgICAgICAgICAgfCA0ICsrLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbm91dmVhdV9kaXNwbGF5LmMgICAgfCA0ICsrLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvbm91dmVhdV9kaXNwbGF5LmggICAgfCAyICstCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9v bWFwZHJtL29tYXBfZHJ2LmggICAgICAgICAgIHwgNiArKystLS0KPj4+ICAgZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vb21hcF9mYi5jICAgICAgICAgICAgfCA0ICsrLS0KPj4+ICAgZHJpdmVycy9n cHUvZHJtL3F4bC9xeGxfZGlzcGxheS5jICAgICAgICAgICAgfCA0ICsrLS0KPj4+ICAgZHJpdmVy cy9ncHUvZHJtL3F4bC9xeGxfZHJ2LmggICAgICAgICAgICAgICAgfCAyICstCj4+PiAgIGRyaXZl cnMvZ3B1L2RybS9xeGwvcXhsX2ZiLmMgICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gICBkcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kaXNwbGF5LmMgICAgICB8IDQgKystLQo+Pj4gICBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tb2RlLmggICAgICAgICB8IDIgKy0KPj4+ICAg ZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9rbXMuYyAgICAgICAgfCAyICstCj4+PiAg IGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZmIuYyAgIHwgNiArKystLS0K Pj4+ICAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9mYi5oICAgfCAyICst Cj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9zaG1vYmlsZS9zaG1vYl9kcm1fa21zLmMgICAgIHwgMiAr LQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmggICAgICAgICAgICAgICAgICB8IDIg Ky0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2ZiLmMgICAgICAgICAgICAgICAgICAgfCA0 ICsrLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmMgICAgICAgICAg fCAyICstCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2Rydi5oICAgICAgICAgICAgICAg IHwgMiArLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9mYi5jICAgICAgICAgICAgICAg ICB8IDQgKystLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZGlzcGxheS5j ICAgICB8IDQgKystLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJ2Lmgg ICAgICAgICB8IDIgKy0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMg ICAgICAgICAgfCAyICstCj4+PiAgIGluY2x1ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAg ICAgICAgICAgIHwgMiArLQo+Pj4gICBpbmNsdWRlL2RybS9kcm1fY3J0Y19oZWxwZXIuaCAgICAg ICAgICAgICAgICB8IDIgKy0KPj4+ICAgaW5jbHVkZS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuaCAg ICAgICAgICAgICAgfCAyICstCj4+PiAgIDUwIGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMo KyksIDc0IGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2Rpc3BsYXkuYwo+Pj4gaW5kZXggZTE3M2E1YS4uN2Q1ZTA1OCAxMDA2NDQKPj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMKPj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMKPj4+IEBAIC00ODEs NyArNDgxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXJfZnVuY3MgYW1k Z3B1X2ZiX2Z1bmNzID0gewo+Pj4gICBpbnQKPj4+ICAgYW1kZ3B1X2ZyYW1lYnVmZmVyX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCQkJc3RydWN0IGFtZGdwdV9mcmFtZWJ1ZmZl ciAqcmZiLAo+Pj4gLQkJCXN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICsJ CQljb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAgIAkJCXN0cnVj dCBkcm1fZ2VtX29iamVjdCAqb2JqKQo+Pj4gICB7Cj4+PiAgIAlpbnQgcmV0Owo+Pj4gQEAgLTQ5 OCw3ICs0OTgsNyBAQCBhbWRncHVfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+Pj4gICBzdGF0aWMgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqCj4+PiAgIGFtZGdwdV91 c2VyX2ZyYW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICAJCQkg ICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCj4+PiAtCQkJICAgICAgIHN0cnVjdCBk cm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICsJCQkgICAgICAgY29uc3Qgc3RydWN0IGRy bV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gICB7Cj4+PiAgIAlzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKm9iajsKPj4+ICAgCXN0cnVjdCBhbWRncHVfZnJhbWVidWZmZXIgKmFtZGdwdV9mYjsK Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW9kZS5o IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X21vZGUuaAo+Pj4gaW5kZXggYjYy YzE3MS4uZGU0NTI5OTYgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfbW9kZS5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfbW9kZS5oCj4+PiBAQCAtNTUxLDcgKzU1MSw3IEBAIGludCBhbWRncHVfZ2V0X2NydGNfc2Nh bm91dHBvcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZSwKPj4+ICAg Cj4+PiAgIGludCBhbWRncHVfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+Pj4gICAJCQkgICAgIHN0cnVjdCBhbWRncHVfZnJhbWVidWZmZXIgKnJmYiwKPj4+IC0JCQkg ICAgIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICsJCQkgICAgIGNvbnN0 IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkJICAgICBzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKm9iaik7Cj4+PiAgIAo+Pj4gICBpbnQgYW1kZ3B1ZmJfcmVtb3ZlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKTsKPj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9mYi5jIGIvZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfZmIuYwo+Pj4gaW5kZXggMWM5MDk2OS4uNWZhNGJmMiAxMDA2 NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2ZiLmMKPj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2ZiLmMKPj4+IEBAIC0zNSw3ICszNSw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNzIGFybWFkYV9mYl9mdW5j cyA9IHsKPj4+ICAgfTsKPj4+ICAgCj4+PiAgIHN0cnVjdCBhcm1hZGFfZnJhbWVidWZmZXIgKmFy bWFkYV9mcmFtZWJ1ZmZlcl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+IC0Jc3Ry dWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGUsIHN0cnVjdCBhcm1hZGFfZ2VtX29iamVjdCAqb2Jq KQo+Pj4gKwljb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZSwgc3RydWN0IGFybWFk YV9nZW1fb2JqZWN0ICpvYmopCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCBhcm1hZGFfZnJhbWVidWZm ZXIgKmRmYjsKPj4+ICAgCXVpbnQ4X3QgZm9ybWF0LCBjb25maWc7Cj4+PiBAQCAtMTAxLDcgKzEw MSw3IEBAIHN0cnVjdCBhcm1hZGFfZnJhbWVidWZmZXIgKmFybWFkYV9mcmFtZWJ1ZmZlcl9jcmVh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgfQo+Pj4gICAKPj4+ICAgc3RhdGljIHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmFybWFkYV9mYl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPj4+IC0Jc3RydWN0IGRybV9maWxlICpkZmlsZSwgc3RydWN0IGRybV9tb2RlX2ZiX2Nt ZDIgKm1vZGUpCj4+PiArCXN0cnVjdCBkcm1fZmlsZSAqZGZpbGUsIGNvbnN0IHN0cnVjdCBkcm1f bW9kZV9mYl9jbWQyICptb2RlKQo+Pj4gICB7Cj4+PiAgIAlzdHJ1Y3QgYXJtYWRhX2dlbV9vYmpl Y3QgKm9iajsKPj4+ICAgCXN0cnVjdCBhcm1hZGFfZnJhbWVidWZmZXIgKmRmYjsKPj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9mYi5oIGIvZHJpdmVycy9ncHUv ZHJtL2FybWFkYS9hcm1hZGFfZmIuaAo+Pj4gaW5kZXggY2UzZjEyZS4uNDgwNzNjNCAxMDA2NDQK Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2ZiLmgKPj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2ZiLmgKPj4+IEBAIC0xOSw2ICsxOSw2IEBAIHN0 cnVjdCBhcm1hZGFfZnJhbWVidWZmZXIgewo+Pj4gICAjZGVmaW5lIGRybV9mYl9vYmooZmIpIGRy bV9mYl90b19hcm1hZGFfZmIoZmIpLT5vYmoKPj4+ICAgCj4+PiAgIHN0cnVjdCBhcm1hZGFfZnJh bWVidWZmZXIgKmFybWFkYV9mcmFtZWJ1ZmZlcl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKiwK Pj4+IC0Jc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKiwgc3RydWN0IGFybWFkYV9nZW1fb2JqZWN0 ICopOwo+Pj4gKwljb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqLCBzdHJ1Y3QgYXJtYWRh X2dlbV9vYmplY3QgKik7Cj4+PiAgIAo+Pj4gICAjZW5kaWYKPj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYXN0L2FzdF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2Rydi5o Cj4+PiBpbmRleCAwNWY2NTIyLi5lMjI3ZjhhIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FzdC9hc3RfZHJ2LmgKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2Rydi5o Cj4+PiBAQCAtMzA5LDcgKzMwOSw3IEBAIGV4dGVybiB2b2lkIGFzdF9tb2RlX2Zpbmkoc3RydWN0 IGRybV9kZXZpY2UgKmRldik7Cj4+PiAgIAo+Pj4gICBpbnQgYXN0X2ZyYW1lYnVmZmVyX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCQkJIHN0cnVjdCBhc3RfZnJhbWVidWZmZXIg KmFzdF9mYiwKPj4+IC0JCQkgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4g KwkJCSBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAgIAkJCSBz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaik7Cj4+PiAgIAo+Pj4gICBpbnQgYXN0X2ZiZGV2X2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FzdC9hc3RfZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2ZiLmMKPj4+IGluZGV4 IGEzN2U3ZWEuLjUzMjBmOGMgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXN0L2Fz dF9mYi5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9mYi5jCj4+PiBAQCAtMTYz LDcgKzE2Myw3IEBAIHN0YXRpYyBzdHJ1Y3QgZmJfb3BzIGFzdGZiX29wcyA9IHsKPj4+ICAgfTsK Pj4+ICAgCj4+PiAgIHN0YXRpYyBpbnQgYXN0ZmJfY3JlYXRlX29iamVjdChzdHJ1Y3QgYXN0X2Zi ZGV2ICphZmJkZXYsCj4+PiAtCQkJICAgICAgIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2Rl X2NtZCwKPj4+ICsJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVf Y21kLAo+Pj4gICAJCQkgICAgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoqZ29ial9wKQo+Pj4g ICB7Cj4+PiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gYWZiZGV2LT5oZWxwZXIuZGV2Owo+ Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21haW4uYyBiL2RyaXZlcnMv Z3B1L2RybS9hc3QvYXN0X21haW4uYwo+Pj4gaW5kZXggNTQxYTYxMC4uOTc1OTAwOSAxMDA2NDQK Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X21haW4uYwo+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FzdC9hc3RfbWFpbi5jCj4+PiBAQCAtMzA5LDcgKzMwOSw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNzIGFzdF9mYl9mdW5jcyA9IHsKPj4+ICAg Cj4+PiAgIGludCBhc3RfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ Pj4gICAJCQkgc3RydWN0IGFzdF9mcmFtZWJ1ZmZlciAqYXN0X2ZiLAo+Pj4gLQkJCSBzdHJ1Y3Qg ZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArCQkJIGNvbnN0IHN0cnVjdCBkcm1fbW9k ZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkJIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq KQo+Pj4gICB7Cj4+PiAgIAlpbnQgcmV0Owo+Pj4gQEAgLTMyNyw3ICszMjcsNyBAQCBpbnQgYXN0 X2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgc3RhdGljIHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKgo+Pj4gICBhc3RfdXNlcl9mcmFtZWJ1ZmZlcl9jcmVhdGUo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bHAsCj4+PiAtCSAgICAgICBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCj4+PiAr CSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCj4+PiAgIHsK Pj4+ICAgCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqOwo+Pj4gICAJc3RydWN0IGFzdF9mcmFt ZWJ1ZmZlciAqYXN0X2ZiOwo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1o bGNkYy9hdG1lbF9obGNkY19kYy5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVs X2hsY2RjX2RjLmMKPj4+IGluZGV4IDI0NGRmMGEuLjgxNjg5NTQgMTAwNjQ0Cj4+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfZGMuYwo+Pj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMKPj4+IEBAIC00MDIsNyAr NDAyLDcgQEAgc3RhdGljIGlycXJldHVybl90IGF0bWVsX2hsY2RjX2RjX2lycV9oYW5kbGVyKGlu dCBpcnEsIHZvaWQgKmRhdGEpCj4+PiAgIH0KPj4+ICAgCj4+PiAgIHN0YXRpYyBzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICphdG1lbF9obGNkY19mYl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPj4+IC0JCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LCBzdHJ1Y3QgZHJtX21vZGVfZmJf Y21kMiAqbW9kZV9jbWQpCj4+PiArCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwgY29uc3Qg c3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gICB7Cj4+PiAgIAlyZXR1cm4g ZHJtX2ZiX2NtYV9jcmVhdGUoZGV2LCBmaWxlX3ByaXYsIG1vZGVfY21kKTsKPj4+ICAgfQo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Nocy5oIGIvZHJpdmVycy9ncHUv ZHJtL2JvY2hzL2JvY2hzLmgKPj4+IGluZGV4IDcxZjI2ODcuLjE5YjVhZGEgMTAwNjQ0Cj4+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHMuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2JvY2hzL2JvY2hzLmgKPj4+IEBAIC0xNDksNyArMTQ5LDcgQEAgaW50IGJvY2hzX2R1bWJf bW1hcF9vZmZzZXQoc3RydWN0IGRybV9maWxlICpmaWxlLCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+Pj4gICAKPj4+ICAgaW50IGJvY2hzX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPj4+ICAgCQkJICAgc3RydWN0IGJvY2hzX2ZyYW1lYnVmZmVyICpnZmIsCj4+PiAt CQkJICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4gKwkJCSAgIGNvbnN0 IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkJICAgc3RydWN0IGRy bV9nZW1fb2JqZWN0ICpvYmopOwo+Pj4gICBpbnQgYm9jaHNfYm9fcGluKHN0cnVjdCBib2Noc19i byAqYm8sIHUzMiBwbF9mbGFnLCB1NjQgKmdwdV9hZGRyKTsKPj4+ICAgaW50IGJvY2hzX2JvX3Vu cGluKHN0cnVjdCBib2Noc19ibyAqYm8pOwo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9ib2Nocy9ib2Noc19mYmRldi5jIGIvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX2ZiZGV2 LmMKPj4+IGluZGV4IDA5YTA2MzcuLjc1MjBiZjggMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYm9jaHMvYm9jaHNfZmJkZXYuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JvY2hz L2JvY2hzX2ZiZGV2LmMKPj4+IEBAIC0zNCw3ICszNCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZmJfb3Bz IGJvY2hzZmJfb3BzID0gewo+Pj4gICB9Owo+Pj4gICAKPj4+ICAgc3RhdGljIGludCBib2Noc2Zi X2NyZWF0ZV9vYmplY3Qoc3RydWN0IGJvY2hzX2RldmljZSAqYm9jaHMsCj4+PiAtCQkJCSBzdHJ1 Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArCQkJCSBjb25zdCBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAgIAkJCQkgc3RydWN0IGRybV9nZW1fb2JqZWN0 ICoqZ29ial9wKQo+Pj4gICB7Cj4+PiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gYm9jaHMt PmRldjsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYm9jaHMvYm9jaHNfbW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19tbS5jCj4+PiBpbmRleCBmNjllNmJmLi5kODEy YWQwIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JvY2hzL2JvY2hzX21tLmMKPj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ib2Nocy9ib2Noc19tbS5jCj4+PiBAQCAtNDg0LDcgKzQ4 NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNzIGJvY2hzX2Zi X2Z1bmNzID0gewo+Pj4gICAKPj4+ICAgaW50IGJvY2hzX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCQkJICAgc3RydWN0IGJvY2hzX2ZyYW1lYnVmZmVyICpn ZmIsCj4+PiAtCQkJICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4gKwkJ CSAgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkJICAg c3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCj4+PiAgIHsKPj4+ICAgCWludCByZXQ7Cj4+PiBA QCAtNTAyLDcgKzUwMiw3IEBAIGludCBib2Noc19mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4+PiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICoKPj4+ICAg Ym9jaHNfdXNlcl9mcmFtZWJ1ZmZlcl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ ICAgCQkJICAgICAgc3RydWN0IGRybV9maWxlICpmaWxwLAo+Pj4gLQkJCSAgICAgIHN0cnVjdCBk cm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICsJCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqOwo+Pj4gICAJc3RydWN0IGJvY2hzX2ZyYW1lYnVmZmVyICpib2Noc19mYjsKPj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2lycnVzL2NpcnJ1c19kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2Rydi5oCj4+PiBpbmRleCA3MDUwNjE1Li4xMzcwYTUx IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNfZHJ2LmgKPj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2Rydi5oCj4+PiBAQCAtMjA3LDcg KzIwNyw3IEBAIGludCBjaXJydXNfZHVtYl9jcmVhdGUoc3RydWN0IGRybV9maWxlICpmaWxlLAo+ Pj4gICAKPj4+ICAgaW50IGNpcnJ1c19mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4+PiAgIAkJCSAgIHN0cnVjdCBjaXJydXNfZnJhbWVidWZmZXIgKmdmYiwKPj4+IC0J CQkgICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4gKwkJCSAgICBjb25z dCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAgIAkJCSAgICBzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKm9iaik7Cj4+PiAgIAo+Pj4gICBib29sIGNpcnJ1c19jaGVja19mcmFt ZWJ1ZmZlcihzdHJ1Y3QgY2lycnVzX2RldmljZSAqY2RldiwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0 LAo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2lycnVzX2ZiZGV2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vY2lycnVzL2NpcnJ1c19mYmRldi5jCj4+PiBpbmRleCA1ODkxMDNi Li4zYjViZTcyIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNf ZmJkZXYuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2NpcnJ1cy9jaXJydXNfZmJkZXYuYwo+ Pj4gQEAgLTEzNSw3ICsxMzUsNyBAQCBzdGF0aWMgc3RydWN0IGZiX29wcyBjaXJydXNmYl9vcHMg PSB7Cj4+PiAgIH07Cj4+PiAgIAo+Pj4gICBzdGF0aWMgaW50IGNpcnJ1c2ZiX2NyZWF0ZV9vYmpl Y3Qoc3RydWN0IGNpcnJ1c19mYmRldiAqYWZiZGV2LAo+Pj4gLQkJCSAgICAgICBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArCQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1f bW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkJICAgICAgIHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqKmdvYmpfcCkKPj4+ICAgewo+Pj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGFm YmRldi0+aGVscGVyLmRldjsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vY2lycnVz L2NpcnJ1c19tYWluLmMgYi9kcml2ZXJzL2dwdS9kcm0vY2lycnVzL2NpcnJ1c19tYWluLmMKPj4+ IGluZGV4IDA1NWZkODYuLjA5MDc3MTUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v Y2lycnVzL2NpcnJ1c19tYWluLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9jaXJydXMvY2ly cnVzX21haW4uYwo+Pj4gQEAgLTI5LDcgKzI5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f ZnJhbWVidWZmZXJfZnVuY3MgY2lycnVzX2ZiX2Z1bmNzID0gewo+Pj4gICAKPj4+ICAgaW50IGNp cnJ1c19mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAgIAkJCSAg ICBzdHJ1Y3QgY2lycnVzX2ZyYW1lYnVmZmVyICpnZmIsCj4+PiAtCQkJICAgIHN0cnVjdCBkcm1f bW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICsJCQkgICAgY29uc3Qgc3RydWN0IGRybV9tb2Rl X2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4gICAJCQkgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpv YmopCj4+PiAgIHsKPj4+ICAgCWludCByZXQ7Cj4+PiBAQCAtNDcsNyArNDcsNyBAQCBpbnQgY2ly cnVzX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgc3RhdGlj IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKgo+Pj4gICBjaXJydXNfdXNlcl9mcmFtZWJ1ZmZlcl9j cmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCQkJICAgICAgIHN0cnVjdCBkcm1f ZmlsZSAqZmlscCwKPj4+IC0JCQkgICAgICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVf Y21kKQo+Pj4gKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9j bWQpCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCBjaXJydXNfZGV2aWNlICpjZGV2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKPj4+ICAgCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqOwo+Pj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRj LmMKPj4+IGluZGV4IDI0YzU0MzQuLjMyZGQxMzQgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2NydGMuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPj4+ IEBAIC00NSw3ICs0NSw3IEBACj4+PiAgIAo+Pj4gICBzdGF0aWMgc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqCj4+PiAgIGludGVybmFsX2ZyYW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+Pj4gLQkJCSAgICBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqciwKPj4+ICsJCQkg ICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKnIsCj4+PiAgIAkJCSAgICBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4+PiAgIAo+Pj4gICAvKiBBdm9pZCBib2lsZXJwbGF0ZS4g IEknbSB0aXJlZCBvZiB0eXBpbmcuICovCj4+PiBAQCAtMzIzNSw3ICszMjM1LDcgQEAgc3RhdGlj IGludCBmcmFtZWJ1ZmZlcl9jaGVjayhjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqcikK Pj4+ICAgCj4+PiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICoKPj4+ICAgaW50ZXJu YWxfZnJhbWVidWZmZXJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAtCQkJICAg IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICpyLAo+Pj4gKwkJCSAgICBjb25zdCBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqciwKPj4+ICAgCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2 KQo+Pj4gICB7Cj4+PiAgIAlzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAmZGV2LT5t b2RlX2NvbmZpZzsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVs cGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKPj4+IGluZGV4IGVmNTM0 NzUuLjZiNGNmMjUgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVs cGVyLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwo+Pj4gQEAg LTgxOCw3ICs4MTgsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9oZWxwZXJfY29ubmVjdG9yX2RwbXMp Owo+Pj4gICAgKiBtZXRhZGF0YSBmaWVsZHMuCj4+PiAgICAqLwo+Pj4gICB2b2lkIGRybV9oZWxw ZXJfbW9kZV9maWxsX2ZiX3N0cnVjdChzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPj4+IC0J CQkJICAgIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICsJCQkJICAgIGNv bnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICAgewo+Pj4gICAJaW50 IGk7Cj4+PiAgIAo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfY21hX2hl bHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9jbWFfaGVscGVyLmMKPj4+IGluZGV4IGMx OWE2MjUuLmI3ZDViODQgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2Nt YV9oZWxwZXIuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9jbWFfaGVscGVyLmMK Pj4+IEBAIC03NCw3ICs3NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNz IGRybV9mYl9jbWFfZnVuY3MgPSB7Cj4+PiAgIH07Cj4+PiAgIAo+Pj4gICBzdGF0aWMgc3RydWN0 IGRybV9mYl9jbWEgKmRybV9mYl9jbWFfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ IC0Jc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLCBzdHJ1Y3QgZHJtX2dlbV9jbWFf b2JqZWN0ICoqb2JqLAo+Pj4gKwljb25zdCBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAq bW9kZV9jbWQsIHN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3QgKipvYmosCj4+PiAgIAl1bnNpZ25l ZCBpbnQgbnVtX3BsYW5lcykKPj4+ICAgewo+Pj4gICAJc3RydWN0IGRybV9mYl9jbWEgKmZiX2Nt YTsKPj4+IEBAIC0xMDcsNyArMTA3LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fZmJfY21hICpkcm1f ZmJfY21hX2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAgICAqIGNoZWNrZWQgYmVm b3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4KPj4+ICAgICovCj4+PiAgIHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmRybV9mYl9jbWFfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAt CXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9k ZV9jbWQpCj4+PiArCXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LCBjb25zdCBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCBkcm1fZmJfY21h ICpmYl9jbWE7Cj4+PiAgIAlzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpvYmpzWzRdOwo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9mYi5jIGIvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZiLmMKPj4+IGluZGV4IGZjZWEyOGIuLjQ5 YjliYzMgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1f ZmIuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZiLmMKPj4+ IEBAIC0xMTcsNyArMTE3LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fZnJhbWVidWZmZXJfZnVuY3Mg ZXh5bm9zX2RybV9mYl9mdW5jcyA9IHsKPj4+ICAgCj4+PiAgIHN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKgo+Pj4gICBleHlub3NfZHJtX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPj4+IC0JCQkgICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4g KwkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAgIAkJ CSAgICBzdHJ1Y3QgZXh5bm9zX2RybV9nZW0gKipleHlub3NfZ2VtLAo+Pj4gICAJCQkgICAgaW50 IGNvdW50KQo+Pj4gICB7Cj4+PiBAQCAtMTU0LDcgKzE1NCw3IEBAIGVycjoKPj4+ICAgCj4+PiAg IHN0YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICoKPj4+ICAgZXh5bm9zX3VzZXJfZmJfY3Jl YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAo+ Pj4gLQkJICAgICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gKwkJICAg ICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gICB7Cj4+PiAg IAlzdHJ1Y3QgZXh5bm9zX2RybV9nZW0gKmV4eW5vc19nZW1bTUFYX0ZCX0JVRkZFUl07Cj4+PiAg IAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iajsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmIuaCBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV9mYi5oCj4+PiBpbmRleCA3MjZhMmQ0Li5hOGE3NWFjIDEwMDY0NAo+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZiLmgKPj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9mYi5oCj4+PiBAQCAtMTgsNyArMTgsNyBAQAo+Pj4g ICAKPj4+ICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqCj4+PiAgIGV4eW5vc19kcm1fZnJhbWVi dWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gLQkJCSAgICBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fbW9k ZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkJICAgIHN0cnVjdCBleHlub3NfZHJtX2dlbSAq KmV4eW5vc19nZW0sCj4+PiAgIAkJCSAgICBpbnQgY291bnQpOwo+Pj4gICAKPj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2ZyYW1lYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vZ21hNTAwL2ZyYW1lYnVmZmVyLmMKPj4+IGluZGV4IDJlYWYxYjMuLmRjMDUwOGQgMTAwNjQ0 Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2ZyYW1lYnVmZmVyLmMKPj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvZnJhbWVidWZmZXIuYwo+Pj4gQEAgLTI0MSw3ICsyNDEs NyBAQCBzdGF0aWMgc3RydWN0IGZiX29wcyBwc2JmYl91bmFjY2VsX29wcyA9IHsKPj4+ICAgICov Cj4+PiAgIHN0YXRpYyBpbnQgcHNiX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPj4+ICAgCQkJCQlzdHJ1Y3QgcHNiX2ZyYW1lYnVmZmVyICpmYiwKPj4+IC0JCQkJCXN0 cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICsJCQkJCWNvbnN0IHN0cnVjdCBk cm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkJCQlzdHJ1Y3QgZ3R0X3JhbmdlICpn dCkKPj4+ICAgewo+Pj4gICAJdTMyIGJwcCwgZGVwdGg7Cj4+PiBAQCAtMjg0LDcgKzI4NCw3IEBA IHN0YXRpYyBpbnQgcHNiX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK Pj4+ICAgCj4+PiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpwc2JfZnJhbWVidWZm ZXJfY3JlYXRlCj4+PiAgIAkJCShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gLQkJCSBzdHJ1 Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArCQkJIGNvbnN0IHN0cnVjdCBkcm1f bW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkJIHN0cnVjdCBndHRfcmFuZ2UgKmd0KQo+ Pj4gICB7Cj4+PiAgIAlzdHJ1Y3QgcHNiX2ZyYW1lYnVmZmVyICpmYjsKPj4+IEBAIC00ODgsNyAr NDg4LDcgQEAgb3V0X2VycjE6Cj4+PiAgICAqLwo+Pj4gICBzdGF0aWMgc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqcHNiX3VzZXJfZnJhbWVidWZmZXJfY3JlYXRlCj4+PiAgIAkJCShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHAsCj4+PiAtCQkJIHN0cnVjdCBkcm1f bW9kZV9mYl9jbWQyICpjbWQpCj4+PiArCQkJIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQy ICpjbWQpCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCBndHRfcmFuZ2UgKnI7Cj4+PiAgIAlzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKm9iajsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK Pj4+IGluZGV4IGMzYWE2ZjUuLjU4ZGJhYzcgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYwo+Pj4gQEAgLTE0NTc4LDcgKzE0NTc4LDcgQEAgc3RhdGljIGludCBpbnRl bF9mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAgIHN0YXRpYyBz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICoKPj4+ICAgaW50ZWxfdXNlcl9mcmFtZWJ1ZmZlcl9jcmVh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCQkJICAgICAgc3RydWN0IGRybV9maWxl ICpmaWxwLAo+Pj4gLQkJCSAgICAgIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICp1c2VyX21vZGVf Y21kKQo+Pj4gKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICp1c2VyX21v ZGVfY21kKQo+Pj4gICB7Cj4+PiAgIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKPj4+ICAg CXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAw L21nYWcyMDBfZHJ2LmgKPj4+IGluZGV4IDkxMjE1MWMuLjIwNWIyODAgMTAwNjQ0Cj4+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2Rydi5oCj4+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2Rydi5oCj4+PiBAQCAtMjUyLDcgKzI1Miw3IEBAIHZv aWQgbWdhZzIwMF9mYmRldl9maW5pKHN0cnVjdCBtZ2FfZGV2aWNlICptZGV2KTsKPj4+ICAgCQkJ CS8qIG1nYWcyMDBfbWFpbi5jICovCj4+PiAgIGludCBtZ2FnMjAwX2ZyYW1lYnVmZmVyX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCQkJICAgICBzdHJ1Y3QgbWdhX2ZyYW1lYnVm ZmVyICptZmIsCj4+PiAtCQkJICAgICBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQs Cj4+PiArCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+ PiAgIAkJCSAgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwo+Pj4gICAKPj4+ICAgCj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9mYi5jIGIvZHJp dmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9mYi5jCj4+PiBpbmRleCBiMzViNWIyLi5kOWIw NGIwIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9mYi5j Cj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX2ZiLmMKPj4+IEBAIC0x MzgsNyArMTM4LDcgQEAgc3RhdGljIHN0cnVjdCBmYl9vcHMgbWdhZzIwMGZiX29wcyA9IHsKPj4+ ICAgfTsKPj4+ICAgCj4+PiAgIHN0YXRpYyBpbnQgbWdhZzIwMGZiX2NyZWF0ZV9vYmplY3Qoc3Ry dWN0IG1nYV9mYmRldiAqYWZiZGV2LAo+Pj4gLQkJCQkgICBzdHJ1Y3QgZHJtX21vZGVfZmJfY21k MiAqbW9kZV9jbWQsCj4+PiArCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICpt b2RlX2NtZCwKPj4+ICAgCQkJCSAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqKmdvYmpfcCkKPj4+ ICAgewo+Pj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGFmYmRldi0+aGVscGVyLmRldjsK Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21haW4uYyBi L2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbWFpbi5jCj4+PiBpbmRleCBiMWEwZjU2 Li45MTQ3NDQ0IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIw MF9tYWluLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21nYWcyMDBfbWFpbi5j Cj4+PiBAQCAtMjksNyArMjksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZl cl9mdW5jcyBtZ2FfZmJfZnVuY3MgPSB7Cj4+PiAgIAo+Pj4gICBpbnQgbWdhZzIwMF9mcmFtZWJ1 ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAgIAkJCSAgICAgc3RydWN0IG1n YV9mcmFtZWJ1ZmZlciAqZ2ZiLAo+Pj4gLQkJCSAgICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIg Km1vZGVfY21kLAo+Pj4gKwkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1v ZGVfY21kLAo+Pj4gICAJCQkgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQo+Pj4gICB7 Cj4+PiAgIAlpbnQgcmV0Owo+Pj4gQEAgLTQ3LDcgKzQ3LDcgQEAgaW50IG1nYWcyMDBfZnJhbWVi dWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICBzdGF0aWMgc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqCj4+PiAgIG1nYWcyMDBfdXNlcl9mcmFtZWJ1ZmZlcl9jcmVhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCQkJCXN0cnVjdCBkcm1fZmlsZSAqZmlscCwKPj4+ IC0JCQkJc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gKwkJCQljb25zdCBz dHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCBk cm1fZ2VtX29iamVjdCAqb2JqOwo+Pj4gICAJc3RydWN0IG1nYV9mcmFtZWJ1ZmZlciAqbWdhX2Zi Owo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPj4+IGluZGV4IDNiZTdhNTYuLjlhNzEzYjcgMTAwNjQ0 Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAo+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKPj4+IEBAIC0yNDAsOSArMjQwLDkgQEAgdWludDMyX3Qg bXNtX2ZyYW1lYnVmZmVyX2lvdmEoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBpZCwg aW50IHBsYW5lKTsKPj4+ICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICptc21fZnJhbWVidWZmZXJf Ym8oc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBwbGFuZSk7Cj4+PiAgIGNvbnN0IHN0 cnVjdCBtc21fZm9ybWF0ICptc21fZnJhbWVidWZmZXJfZm9ybWF0KHN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiKTsKPj4+ICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqbXNtX2ZyYW1lYnVmZmVy X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+IC0JCXN0cnVjdCBkcm1fbW9kZV9mYl9j bWQyICptb2RlX2NtZCwgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoqYm9zKTsKPj4+ICsJCWNvbnN0 IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwgc3RydWN0IGRybV9nZW1fb2JqZWN0 ICoqYm9zKTsKPj4+ICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqbXNtX2ZyYW1lYnVmZmVyX2Ny ZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gLQkJc3RydWN0IGRybV9maWxlICpmaWxl LCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpOwo+Pj4gKwkJc3RydWN0IGRybV9m aWxlICpmaWxlLCBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpOwo+Pj4g ICAKPj4+ICAgc3RydWN0IGRybV9mYl9oZWxwZXIgKm1zbV9mYmRldl9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwo+Pj4gICAKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9mYi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZmIuYwo+Pj4gaW5kZXggMTIxNzEz MjguLmE0NzRkNmMgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9mYi5j Cj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9mYi5jCj4+PiBAQCAtMTM4LDcgKzEz OCw3IEBAIGNvbnN0IHN0cnVjdCBtc21fZm9ybWF0ICptc21fZnJhbWVidWZmZXJfZm9ybWF0KHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQo+Pj4gICB9Cj4+PiAgIAo+Pj4gICBzdHJ1Y3QgZHJt X2ZyYW1lYnVmZmVyICptc21fZnJhbWVidWZmZXJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4+PiAtCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQy ICptb2RlX2NtZCkKPj4+ICsJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZSwgY29uc3Qgc3RydWN0IGRy bV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gICB7Cj4+PiAgIAlzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKmJvc1s0XSA9IHswfTsKPj4+ICAgCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOwo+ Pj4gQEAgLTE2OCw3ICsxNjgsNyBAQCBvdXRfdW5yZWY6Cj4+PiAgIH0KPj4+ICAgCj4+PiAgIHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKm1zbV9mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4+PiAtCQlzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsIHN0cnVj dCBkcm1fZ2VtX29iamVjdCAqKmJvcykKPj4+ICsJCWNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9j bWQyICptb2RlX2NtZCwgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoqYm9zKQo+Pj4gICB7Cj4+PiAg IAlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4+ICAg CXN0cnVjdCBtc21fa21zICprbXMgPSBwcml2LT5rbXM7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91 dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuYwo+Pj4gaW5kZXggZGI2YmM2Ny4uZWE5ZDNiYyAxMDA2NDQK Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jCj4+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rpc3BsYXkuYwo+Pj4gQEAgLTI0 Niw3ICsyNDYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlcl9mdW5jcyBu b3V2ZWF1X2ZyYW1lYnVmZmVyX2Z1bmNzID0gewo+Pj4gICBpbnQKPj4+ICAgbm91dmVhdV9mcmFt ZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAgIAkJCSBzdHJ1Y3Qgbm91 dmVhdV9mcmFtZWJ1ZmZlciAqbnZfZmIsCj4+PiAtCQkJIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQy ICptb2RlX2NtZCwKPj4+ICsJCQkgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVf Y21kLAo+Pj4gICAJCQkgc3RydWN0IG5vdXZlYXVfYm8gKm52Ym8pCj4+PiAgIHsKPj4+ICAgCXN0 cnVjdCBub3V2ZWF1X2Rpc3BsYXkgKmRpc3AgPSBub3V2ZWF1X2Rpc3BsYXkoZGV2KTsKPj4+IEBA IC0yNzIsNyArMjcyLDcgQEAgbm91dmVhdV9mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCj4+PiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICoKPj4+ICAgbm91 dmVhdV91c2VyX2ZyYW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4g ICAJCQkJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCj4+PiAtCQkJCXN0cnVjdCBkcm1fbW9k ZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICsJCQkJY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2Nt ZDIgKm1vZGVfY21kKQo+Pj4gICB7Cj4+PiAgIAlzdHJ1Y3Qgbm91dmVhdV9mcmFtZWJ1ZmZlciAq bm91dmVhdV9mYjsKPj4+ICAgCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtOwo+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5oIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmgKPj4+IGluZGV4IDg1NmFiZTAuLjVh NTdkOGIgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2Rp c3BsYXkuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5 LmgKPj4+IEBAIC0yMyw3ICsyMyw3IEBAIG5vdXZlYXVfZnJhbWVidWZmZXIoc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIpCj4+PiAgIH0KPj4+ICAgCj4+PiAgIGludCBub3V2ZWF1X2ZyYW1lYnVm ZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKiwgc3RydWN0IG5vdXZlYXVfZnJhbWVidWZmZXIg KiwKPj4+IC0JCQkgICAgIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICosIHN0cnVjdCBub3V2ZWF1 X2JvICopOwo+Pj4gKwkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKiwgc3Ry dWN0IG5vdXZlYXVfYm8gKik7Cj4+PiAgIAo+Pj4gICBzdHJ1Y3Qgbm91dmVhdV9wYWdlX2ZsaXBf c3RhdGUgewo+Pj4gICAJc3RydWN0IGxpc3RfaGVhZCBoZWFkOwo+Pj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9vbWFwX2Rydi5oCj4+PiBpbmRleCA1YzM2N2FhLi4xMzBmY2E3IDEwMDY0NAo+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vb21hcF9kcnYuaAo+Pj4gQEAgLTE3Miw5ICsxNzIsOSBAQCB2b2lkIGNvcHlf dGltaW5nc19kcm1fdG9fb21hcChzdHJ1Y3Qgb21hcF92aWRlb190aW1pbmdzICp0aW1pbmdzLAo+ Pj4gICB1aW50MzJfdCBvbWFwX2ZyYW1lYnVmZmVyX2dldF9mb3JtYXRzKHVpbnQzMl90ICpwaXhl bF9mb3JtYXRzLAo+Pj4gICAJCXVpbnQzMl90IG1heF9mb3JtYXRzLCBlbnVtIG9tYXBfY29sb3Jf bW9kZSBzdXBwb3J0ZWRfbW9kZXMpOwo+Pj4gICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbWFw X2ZyYW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gLQkJc3RydWN0 IGRybV9maWxlICpmaWxlLCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpOwo+Pj4g KwkJc3RydWN0IGRybV9maWxlICpmaWxlLCBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAq bW9kZV9jbWQpOwo+Pj4gICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbWFwX2ZyYW1lYnVmZmVy X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+IC0JCXN0cnVjdCBkcm1fbW9kZV9mYl9j bWQyICptb2RlX2NtZCwgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoqYm9zKTsKPj4+ICsJCWNvbnN0 IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwgc3RydWN0IGRybV9nZW1fb2JqZWN0 ICoqYm9zKTsKPj4+ICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvbWFwX2ZyYW1lYnVmZmVyX2Jv KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBpbnQgcCk7Cj4+PiAgIGludCBvbWFwX2ZyYW1l YnVmZmVyX3BpbihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7Cj4+PiAgIHZvaWQgb21hcF9m cmFtZWJ1ZmZlcl91bnBpbihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7Cj4+PiBAQCAtMjQ4 LDcgKzI0OCw3IEBAIHN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKm9tYXBfZW5jb2Rlcl9nZXRfZHNz ZGV2KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7Cj4+PiAgIAo+Pj4gICBzdGF0aWMgaW5s aW5lIGludCBvYmplY3RzX2xvb2t1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICAJCXN0 cnVjdCBkcm1fZmlsZSAqZmlscCwgdWludDMyX3QgcGl4ZWxfZm9ybWF0LAo+Pj4gLQkJc3RydWN0 IGRybV9nZW1fb2JqZWN0ICoqYm9zLCB1aW50MzJfdCAqaGFuZGxlcykKPj4+ICsJCXN0cnVjdCBk cm1fZ2VtX29iamVjdCAqKmJvcywgY29uc3QgdWludDMyX3QgKmhhbmRsZXMpCj4+PiAgIHsKPj4+ ICAgCWludCBpLCBuID0gZHJtX2Zvcm1hdF9udW1fcGxhbmVzKHBpeGVsX2Zvcm1hdCk7Cj4+PiAg IAo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZmIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZmIuYwo+Pj4gaW5kZXggNjM2YTFmOS4uYWQyMDJk ZiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZmIuYwo+Pj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9mYi5jCj4+PiBAQCAtMzY0LDcgKzM2 NCw3IEBAIHZvaWQgb21hcF9mcmFtZWJ1ZmZlcl9kZXNjcmliZShzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYiwgc3RydWN0IHNlcV9maWxlICptKQo+Pj4gICAjZW5kaWYKPj4+ICAgCj4+PiAgIHN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9tYXBfZnJhbWVidWZmZXJfY3JlYXRlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4+PiAtCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVjdCBkcm1fbW9k ZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICsJCXN0cnVjdCBkcm1fZmlsZSAqZmlsZSwgY29uc3Qg c3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gICB7Cj4+PiAgIAlzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKmJvc1s0XTsKPj4+ICAgCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi Owo+Pj4gQEAgLTM4Niw3ICszODYsNyBAQCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbWFwX2Zy YW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICB9Cj4+PiAgIAo+ Pj4gICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbWFwX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPj4+IC0JCXN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2Nt ZCwgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoqYm9zKQo+Pj4gKwkJY29uc3Qgc3RydWN0IGRybV9t b2RlX2ZiX2NtZDIgKm1vZGVfY21kLCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKipib3MpCj4+PiAg IHsKPj4+ICAgCXN0cnVjdCBvbWFwX2ZyYW1lYnVmZmVyICpvbWFwX2ZiID0gTlVMTDsKPj4+ICAg CXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gTlVMTDsKPj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9k aXNwbGF5LmMKPj4+IGluZGV4IDE4M2FlYTEuLmNkZGJhMDcgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9x eGwvcXhsX2Rpc3BsYXkuYwo+Pj4gQEAgLTUyMSw3ICs1MjEsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlcl9mdW5jcyBxeGxfZmJfZnVuY3MgPSB7Cj4+PiAgIGludAo+Pj4g ICBxeGxfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICAJCSAg ICAgc3RydWN0IHF4bF9mcmFtZWJ1ZmZlciAqcWZiLAo+Pj4gLQkJICAgICBzdHJ1Y3QgZHJtX21v ZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9m Yl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq KQo+Pj4gICB7Cj4+PiAgIAlpbnQgcmV0Owo+Pj4gQEAgLTEwMDMsNyArMTAwMyw3IEBAIHN0YXRp YyBpbnQgcWRldl9vdXRwdXRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgbnVtX291 dHB1dCkKPj4+ICAgc3RhdGljIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKgo+Pj4gICBxeGxfdXNl cl9mcmFtZWJ1ZmZlcl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCQkJICAg IHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAo+Pj4gLQkJCSAgICBzdHJ1Y3QgZHJtX21vZGVf ZmJfY21kMiAqbW9kZV9jbWQpCj4+PiArCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9j bWQyICptb2RlX2NtZCkKPj4+ICAgewo+Pj4gICAJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7 Cj4+PiAgIAlzdHJ1Y3QgcXhsX2ZyYW1lYnVmZmVyICpxeGxfZmI7Cj4+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9k cnYuaAo+Pj4gaW5kZXggMDFhODY5NC4uNmU2YjliMSAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX2Rydi5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9k cnYuaAo+Pj4gQEAgLTM5MCw3ICszOTAsNyBAQCB2b2lkIHF4bF9mYmRldl9zZXRfc3VzcGVuZChz dHJ1Y3QgcXhsX2RldmljZSAqcWRldiwgaW50IHN0YXRlKTsKPj4+ICAgaW50Cj4+PiAgIHF4bF9m cmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAgIAkJICAgICBzdHJ1 Y3QgcXhsX2ZyYW1lYnVmZmVyICpyZmIsCj4+PiAtCQkgICAgIHN0cnVjdCBkcm1fbW9kZV9mYl9j bWQyICptb2RlX2NtZCwKPj4+ICsJCSAgICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIg Km1vZGVfY21kLAo+Pj4gICAJCSAgICAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwo+Pj4g ICB2b2lkIHF4bF9kaXNwbGF5X3JlYWRfY2xpZW50X21vbml0b3JzX2NvbmZpZyhzdHJ1Y3QgcXhs X2RldmljZSAqcWRldik7Cj4+PiAgIHZvaWQgcXhsX3NlbmRfbW9uaXRvcnNfY29uZmlnKHN0cnVj dCBxeGxfZGV2aWNlICpxZGV2KTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhs L3F4bF9mYi5jIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZmIuYwo+Pj4gaW5kZXggYzRhNTUy Ni4uMTFmNTQzYiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2ZiLmMK Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2ZiLmMKPj4+IEBAIC0yODMsNyArMjgz LDcgQEAgaW50IHF4bF9nZXRfaGFuZGxlX2Zvcl9wcmltYXJ5X2ZiKHN0cnVjdCBxeGxfZGV2aWNl ICpxZGV2LAo+Pj4gICB9Cj4+PiAgIAo+Pj4gICBzdGF0aWMgaW50IHF4bGZiX2NyZWF0ZV9waW5u ZWRfb2JqZWN0KHN0cnVjdCBxeGxfZmJkZXYgKnFmYmRldiwKPj4+IC0JCQkJICAgICAgc3RydWN0 IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4gKwkJCQkgICAgICBjb25zdCBzdHJ1Y3Qg ZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAgIAkJCQkgICAgICBzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKipnb2JqX3ApCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCBxeGxfZGV2aWNlICpxZGV2 ID0gcWZiZGV2LT5xZGV2Owo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXku Ywo+Pj4gaW5kZXggYThkOTkyNy4uZGVkNTFmYiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX2Rpc3BsYXkuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fZGlzcGxheS5jCj4+PiBAQCAtMTI5Miw3ICsxMjkyLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXJfZnVuY3MgcmFkZW9uX2ZiX2Z1bmNzID0gewo+Pj4g ICBpbnQKPj4+ICAgcmFkZW9uX2ZyYW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPj4+ICAgCQkJc3RydWN0IHJhZGVvbl9mcmFtZWJ1ZmZlciAqcmZiLAo+Pj4gLQkJCXN0cnVj dCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICsJCQljb25zdCBzdHJ1Y3QgZHJtX21v ZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAgIAkJCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq KQo+Pj4gICB7Cj4+PiAgIAlpbnQgcmV0Owo+Pj4gQEAgLTEzMDksNyArMTMwOSw3IEBAIHJhZGVv bl9mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAgIHN0YXRpYyBz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICoKPj4+ICAgcmFkZW9uX3VzZXJfZnJhbWVidWZmZXJfY3Jl YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAgIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdiwKPj4+IC0JCQkgICAgICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1v ZGVfY21kKQo+Pj4gKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9k ZV9jbWQpCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqOwo+Pj4gICAJ c3RydWN0IHJhZGVvbl9mcmFtZWJ1ZmZlciAqcmFkZW9uX2ZiOwo+Pj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21vZGUuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX21vZGUuaAo+Pj4gaW5kZXggODMwZTE3MS4uYjhlM2MyNyAxMDA2NDQKPj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21vZGUuaAo+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW9kZS5oCj4+PiBAQCAtOTI5LDcgKzkyOSw3IEBAIGV4 dGVybiB2b2lkIHJhZGVvbl9jcnRjX2ZiX2dhbW1hX2dldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMs IHUxNiAqcmVkLCB1MTYgKmdyZWVuCj4+PiAgIAkJCQkgICAgIHUxNiAqYmx1ZSwgaW50IHJlZ25v KTsKPj4+ICAgaW50IHJhZGVvbl9mcmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4+PiAgIAkJCSAgICAgc3RydWN0IHJhZGVvbl9mcmFtZWJ1ZmZlciAqcmZiLAo+Pj4gLQkJ CSAgICAgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4gKwkJCSAgICAgY29u c3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4gICAJCQkgICAgIHN0cnVj dCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKPj4+ICAgCj4+PiAgIGludCByYWRlb25mYl9yZW1vdmUo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpOwo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfa21zLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jCj4+PiBpbmRleCBjYTEyZThjLi40M2Jj ZTY5IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9rbXMu Ywo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9rbXMuYwo+Pj4gQEAg LTEzNiw3ICsxMzYsNyBAQCBpbnQgcmNhcl9kdV9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGUsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAgIAo+Pj4gICBzdGF0aWMgc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqCj4+PiAgIHJjYXJfZHVfZmJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAo+Pj4gLQkJICBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCj4+PiArCQkgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9m Yl9jbWQyICptb2RlX2NtZCkKPj4+ICAgewo+Pj4gICAJc3RydWN0IHJjYXJfZHVfZGV2aWNlICpy Y2R1ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4+ICAgCWNvbnN0IHN0cnVjdCByY2FyX2R1X2Zvcm1h dF9pbmZvICpmb3JtYXQ7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV9mYi5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2Ry bV9mYi5jCj4+PiBpbmRleCAwMDI2NDViLi5iOGFjNTkxIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9mYi5jCj4+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiLmMKPj4+IEBAIC03Miw3ICs3Miw3IEBAIHN0 YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1bmNzIHJvY2tjaGlwX2RybV9mYl9mdW5jcyA9 IHsKPj4+ICAgfTsKPj4+ICAgCj4+PiAgIHN0YXRpYyBzdHJ1Y3Qgcm9ja2NoaXBfZHJtX2ZiICoK Pj4+IC1yb2NrY2hpcF9mYl9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArcm9ja2NoaXBfZmJfYWxsb2Moc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+ Pj4gICAJCSAgc3RydWN0IGRybV9nZW1fb2JqZWN0ICoqb2JqLCB1bnNpZ25lZCBpbnQgbnVtX3Bs YW5lcykKPj4+ICAgewo+Pj4gICAJc3RydWN0IHJvY2tjaGlwX2RybV9mYiAqcm9ja2NoaXBfZmI7 Cj4+PiBAQCAtMTAyLDcgKzEwMiw3IEBAIHJvY2tjaGlwX2ZiX2FsbG9jKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCj4+PiAg IHN0YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICoKPj4+ICAgcm9ja2NoaXBfdXNlcl9mYl9j cmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYs Cj4+PiAtCQkJc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gKwkJCWNvbnN0 IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICAgewo+Pj4gICAJc3RydWN0 IHJvY2tjaGlwX2RybV9mYiAqcm9ja2NoaXBfZmI7Cj4+PiAgIAlzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKm9ianNbUk9DS0NISVBfTUFYX0ZCX0JVRkZFUl07Cj4+PiBAQCAtMTczLDcgKzE3Myw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzIHJvY2tjaGlwX2RybV9t b2RlX2NvbmZpZ19mdW5jcyA9IHsKPj4+ICAgCj4+PiAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg Kgo+Pj4gICByb2NrY2hpcF9kcm1fZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+Pj4gLQkJCSAgICAgIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ ICsJCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAg IAkJCSAgICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQo+Pj4gICB7Cj4+PiAgIAlzdHJ1 Y3Qgcm9ja2NoaXBfZHJtX2ZiICpyb2NrY2hpcF9mYjsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiLmggYi9kcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvcm9ja2NoaXBfZHJtX2ZiLmgKPj4+IGluZGV4IDA5NTc0ZDQuLjJmZTQ3ZjEgMTAwNjQ0 Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2ZiLmgKPj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZmIuaAo+Pj4gQEAg LTE3LDcgKzE3LDcgQEAKPj4+ICAgCj4+PiAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKgo+Pj4g ICByb2NrY2hpcF9kcm1fZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ Pj4gLQkJCSAgICAgIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICsJCQkg ICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAgIAkJCSAg ICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKPj4+ICAgdm9pZCByb2NrY2hpcF9kcm1f ZnJhbWVidWZmZXJfZmluaShzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYik7Cj4+PiAgIAo+Pj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zaG1vYmlsZS9zaG1vYl9kcm1fa21zLmMgYi9k cml2ZXJzL2dwdS9kcm0vc2htb2JpbGUvc2htb2JfZHJtX2ttcy5jCj4+PiBpbmRleCBhYWY5OGFj Li4zODhhMGZjIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3NobW9iaWxlL3NobW9i X2RybV9rbXMuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3NobW9iaWxlL3NobW9iX2RybV9r bXMuYwo+Pj4gQEAgLTEwNCw3ICsxMDQsNyBAQCBjb25zdCBzdHJ1Y3Qgc2htb2JfZHJtX2Zvcm1h dF9pbmZvICpzaG1vYl9kcm1fZm9ybWF0X2luZm8odTMyIGZvdXJjYykKPj4+ICAgCj4+PiAgIHN0 YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICoKPj4+ICAgc2htb2JfZHJtX2ZiX2NyZWF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKPj4+IC0J CSAgICBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCj4+PiArCQkgICAgY29uc3Qg c3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gICB7Cj4+PiAgIAljb25zdCBz dHJ1Y3Qgc2htb2JfZHJtX2Zvcm1hdF9pbmZvICpmb3JtYXQ7Cj4+PiAgIAo+Pj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uaCBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9k cm0uaAo+Pj4gaW5kZXggOTQyY2FkOS4uZDg4YTJkMSAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS90ZWdyYS9kcm0uaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5o Cj4+PiBAQCAtMjY4LDcgKzI2OCw3IEBAIGludCB0ZWdyYV9mYl9nZXRfdGlsaW5nKHN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZyYW1lYnVmZmVyLAo+Pj4gICAJCQlzdHJ1Y3QgdGVncmFfYm9fdGls aW5nICp0aWxpbmcpOwo+Pj4gICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICp0ZWdyYV9mYl9jcmVh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKPj4+ICAgCQkJCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUsCj4+PiAtCQkJCQlzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqY21kKTsKPj4+ICsJCQkJCWNv bnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICpjbWQpOwo+Pj4gICBpbnQgdGVncmFfZHJtX2Zi X3ByZXBhcmUoc3RydWN0IGRybV9kZXZpY2UgKmRybSk7Cj4+PiAgIHZvaWQgdGVncmFfZHJtX2Zi X2ZyZWUoc3RydWN0IGRybV9kZXZpY2UgKmRybSk7Cj4+PiAgIGludCB0ZWdyYV9kcm1fZmJfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtKTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdGVncmEvZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9mYi5jCj4+PiBpbmRleCBiZWMw N2Q5Li5lZGU5ZTk0IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2ZiLmMK Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9mYi5jCj4+PiBAQCAtOTIsNyArOTIsNyBA QCBzdGF0aWMgc3RydWN0IGRybV9mcmFtZWJ1ZmZlcl9mdW5jcyB0ZWdyYV9mYl9mdW5jcyA9IHsK Pj4+ICAgfTsKPj4+ICAgCj4+PiAgIHN0YXRpYyBzdHJ1Y3QgdGVncmFfZmIgKnRlZ3JhX2ZiX2Fs bG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCj4+PiAtCQkJCSAgICAgICBzdHJ1Y3QgZHJtX21v ZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX21v ZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiAgIAkJCQkgICAgICAgc3RydWN0IHRlZ3JhX2JvICoq cGxhbmVzLAo+Pj4gICAJCQkJICAgICAgIHVuc2lnbmVkIGludCBudW1fcGxhbmVzKQo+Pj4gICB7 Cj4+PiBAQCAtMTMxLDcgKzEzMSw3IEBAIHN0YXRpYyBzdHJ1Y3QgdGVncmFfZmIgKnRlZ3JhX2Zi X2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCj4+PiAgIAo+Pj4gICBzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICp0ZWdyYV9mYl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKPj4+ICAg CQkJCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4+PiAtCQkJCQlzdHJ1Y3QgZHJtX21vZGVfZmJf Y21kMiAqY21kKQo+Pj4gKwkJCQkJY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKmNtZCkK Pj4+ICAgewo+Pj4gICAJdW5zaWduZWQgaW50IGhzdWIsIHZzdWIsIGk7Cj4+PiAgIAlzdHJ1Y3Qg dGVncmFfYm8gKnBsYW5lc1s0XTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGls Y2RjL3RpbGNkY19kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX2Rydi5jCj4+ PiBpbmRleCA4NzZjYWQ1Li40ZGRiMjFlIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3RpbGNkYy90aWxjZGNfZHJ2LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGls Y2RjX2Rydi5jCj4+PiBAQCAtNDYsNyArNDYsNyBAQCB2b2lkIHRpbGNkY19tb2R1bGVfY2xlYW51 cChzdHJ1Y3QgdGlsY2RjX21vZHVsZSAqbW9kKQo+Pj4gICBzdGF0aWMgc3RydWN0IG9mX2Rldmlj ZV9pZCB0aWxjZGNfb2ZfbWF0Y2hbXTsKPj4+ICAgCj4+PiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2Zy YW1lYnVmZmVyICp0aWxjZGNfZmJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiAt CQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1v ZGVfY21kKQo+Pj4gKwkJc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsIGNvbnN0IHN0cnVjdCBk cm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICAgewo+Pj4gICAJcmV0dXJuIGRybV9mYl9j bWFfY3JlYXRlKGRldiwgZmlsZV9wcml2LCBtb2RlX2NtZCk7Cj4+PiAgIH0KPj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS91ZGwv dWRsX2Rydi5oCj4+PiBpbmRleCA4MGFkYmFjLi40YTA2NGVmIDEwMDY0NAo+Pj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3VkbC91ZGxfZHJ2LmgKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS91ZGwv dWRsX2Rydi5oCj4+PiBAQCAtMTA4LDcgKzEwOCw3IEBAIHZvaWQgdWRsX2ZiZGV2X3VucGx1Zyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPj4+ICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqCj4+ PiAgIHVkbF9mYl91c2VyX2ZiX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICAJ CSAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPj4+IC0JCSAgICAgIHN0cnVjdCBkcm1fbW9k ZV9mYl9jbWQyICptb2RlX2NtZCk7Cj4+PiArCQkgICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVf ZmJfY21kMiAqbW9kZV9jbWQpOwo+Pj4gICAKPj4+ICAgaW50IHVkbF9yZW5kZXJfaGxpbmUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGJwcCwgc3RydWN0IHVyYiAqKnVyYl9wdHIsCj4+PiAg IAkJICAgICBjb25zdCBjaGFyICpmcm9udCwgY2hhciAqKnVyYl9idWZfcHRyLAo+Pj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vdWRs L3VkbF9mYi5jCj4+PiBpbmRleCA2MmM3YjFkLi5mMDliMTFhIDEwMDY0NAo+Pj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3VkbC91ZGxfZmIuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3VkbC91 ZGxfZmIuYwo+Pj4gQEAgLTQ1Niw3ICs0NTYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9m cmFtZWJ1ZmZlcl9mdW5jcyB1ZGxmYl9mdW5jcyA9IHsKPj4+ICAgc3RhdGljIGludAo+Pj4gICB1 ZGxfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICAJCSAgICAg c3RydWN0IHVkbF9mcmFtZWJ1ZmZlciAqdWZiLAo+Pj4gLQkJICAgICBzdHJ1Y3QgZHJtX21vZGVf ZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9j bWQyICptb2RlX2NtZCwKPj4+ICAgCQkgICAgIHN0cnVjdCB1ZGxfZ2VtX29iamVjdCAqb2JqKQo+ Pj4gICB7Cj4+PiAgIAlpbnQgcmV0Owo+Pj4gQEAgLTYyNCw3ICs2MjQsNyBAQCB2b2lkIHVkbF9m YmRldl91bnBsdWcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPj4+ICAgc3RydWN0IGRybV9mcmFt ZWJ1ZmZlciAqCj4+PiAgIHVkbF9mYl91c2VyX2ZiX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+Pj4gICAJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPj4+IC0JCSAgIHN0cnVjdCBk cm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICsJCSAgIGNvbnN0IHN0cnVjdCBkcm1fbW9k ZV9mYl9jbWQyICptb2RlX2NtZCkKPj4+ICAgewo+Pj4gICAJc3RydWN0IGRybV9nZW1fb2JqZWN0 ICpvYmo7Cj4+PiAgIAlzdHJ1Y3QgdWRsX2ZyYW1lYnVmZmVyICp1ZmI7Cj4+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5LmMKPj4+IGluZGV4IGY1NDU5MTMuLjMwNmE3ZGYg MTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZGlzcGxheS5j Cj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZGlzcGxheS5jCj4+PiBA QCAtMjE1LDcgKzIxNSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyX2Z1 bmNzIHZpcnRpb19ncHVfZmJfZnVuY3MgPSB7Cj4+PiAgIGludAo+Pj4gICB2aXJ0aW9fZ3B1X2Zy YW1lYnVmZmVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+ICAgCQkJICAgIHN0cnVj dCB2aXJ0aW9fZ3B1X2ZyYW1lYnVmZmVyICp2Z2ZiLAo+Pj4gLQkJCSAgICBzdHJ1Y3QgZHJtX21v ZGVfZmJfY21kMiAqbW9kZV9jbWQsCj4+PiArCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9m Yl9jbWQyICptb2RlX2NtZCwKPj4+ICAgCQkJICAgIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq KQo+Pj4gICB7Cj4+PiAgIAlpbnQgcmV0Owo+Pj4gQEAgLTQ2NSw3ICs0NjUsNyBAQCBzdGF0aWMg aW50IHZnZGV2X291dHB1dF9pbml0KHN0cnVjdCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXYsIGlu dCBpbmRleCkKPj4+ICAgc3RhdGljIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKgo+Pj4gICB2aXJ0 aW9fZ3B1X3VzZXJfZnJhbWVidWZmZXJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ PiAgIAkJCQkgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKPj4+IC0JCQkJICAgc3RydWN0 IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQo+Pj4gKwkJCQkgICBjb25zdCBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqID0gTlVMTDsKPj4+ICAgCXN0cnVjdCB2aXJ0aW9fZ3B1X2ZyYW1lYnVmZmVyICp2 aXJ0aW9fZ3B1X2ZiOwo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmly dGdwdV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kcnYuaAo+Pj4gaW5k ZXggNzlmMGFiZS4uOGY0ODZmNCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0 aW8vdmlydGdwdV9kcnYuaAo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1 X2Rydi5oCj4+PiBAQCAtMzI4LDcgKzMyOCw3IEBAIHZvaWQgdmlydGlvX2dwdV9kZXF1ZXVlX2Zl bmNlX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKPj4+ICAgLyogdmlydGlvX2dwdV9k aXNwbGF5LmMgKi8KPj4+ICAgaW50IHZpcnRpb19ncHVfZnJhbWVidWZmZXJfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+Pj4gICAJCQkJc3RydWN0IHZpcnRpb19ncHVfZnJhbWVidWZmZXIg KnZnZmIsCj4+PiAtCQkJCXN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCwKPj4+ICsJ CQkJY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kLAo+Pj4gICAJCQkJc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmopOwo+Pj4gICBpbnQgdmlydGlvX2dwdV9tb2Rlc2V0X2lu aXQoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2Rldik7Cj4+PiAgIHZvaWQgdmlydGlvX2dw dV9tb2Rlc2V0X2Zpbmkoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2Rldik7Cj4+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMgYi9kcml2ZXJzL2dw dS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwo+Pj4gaW5kZXggOWZjZDdmOC4uZTM4ZGIzNTEgMTAw NjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwo+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKPj4+IEBAIC05MzAsNyArOTMw LDcgQEAgdm13X2ttc19uZXdfZnJhbWVidWZmZXIoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJp diwKPj4+ICAgCj4+PiAgIHN0YXRpYyBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICp2bXdfa21zX2Zi X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICAJCQkJCQkgc3RydWN0IGRybV9m aWxlICpmaWxlX3ByaXYsCj4+PiAtCQkJCQkJIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2Rl X2NtZDIpCj4+PiArCQkJCQkJIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2Nt ZDIpCj4+PiAgIHsKPj4+ICAgCXN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYgPSB2bXdfcHJp dihkZXYpOwo+Pj4gICAJc3RydWN0IHR0bV9vYmplY3RfZmlsZSAqdGZpbGUgPSB2bXdfZnByaXYo ZmlsZV9wcml2KS0+dGZpbGU7Cj4+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMu aCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPj4+IGluZGV4IDNmMGM2OTAuLmJkMjczNjQgMTAw NjQ0Cj4+PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4+PiArKysgYi9pbmNsdWRlL2Ry bS9kcm1fY3J0Yy5oCj4+PiBAQCAtOTkyLDcgKzk5Miw3IEBAIHN0cnVjdCBkcm1fbW9kZV9zZXQg ewo+Pj4gICBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzIHsKPj4+ICAgCXN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKigqZmJfY3JlYXRlKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gICAJ CQkJCSAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsCj4+PiAtCQkJCQkgICAgIHN0cnVj dCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCk7Cj4+PiArCQkJCQkgICAgIGNvbnN0IHN0cnVj dCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCk7Cj4+PiAgIAl2b2lkICgqb3V0cHV0X3BvbGxf Y2hhbmdlZCkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4+PiAgIAo+Pj4gICAJaW50ICgqYXRv bWljX2NoZWNrKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9jcnRjX2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2NydGNfaGVscGVyLmgK Pj4+IGluZGV4IDNmZWJiNGIuLmUyMmFiMjkgMTAwNjQ0Cj4+PiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fY3J0Y19oZWxwZXIuaAo+Pj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGNfaGVscGVyLmgK Pj4+IEBAIC0xOTcsNyArMTk3LDcgQEAgZXh0ZXJuIGludCBkcm1faGVscGVyX2Nvbm5lY3Rvcl9k cG1zKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCBtb2RlKTsKPj4+ICAgZXh0 ZXJuIHZvaWQgZHJtX2hlbHBlcl9tb3ZlX3BhbmVsX2Nvbm5lY3RvcnNfdG9faGVhZChzdHJ1Y3Qg ZHJtX2RldmljZSAqKTsKPj4+ICAgCj4+PiAgIGV4dGVybiB2b2lkIGRybV9oZWxwZXJfbW9kZV9m aWxsX2ZiX3N0cnVjdChzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPj4+IC0JCQkJCSAgIHN0 cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCk7Cj4+PiArCQkJCQkgICBjb25zdCBzdHJ1 Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpOwo+Pj4gICAKPj4+ICAgc3RhdGljIGlubGlu ZSB2b2lkIGRybV9jcnRjX2hlbHBlcl9hZGQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+Pj4gICAJ CQkJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgKmZ1bmNzKQo+Pj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mYl9jbWFfaGVscGVyLmggYi9pbmNsdWRlL2Ry bS9kcm1fZmJfY21hX2hlbHBlci5oCj4+PiBpbmRleCBjNTRjZjNkLi5iZTYyYmQzIDEwMDY0NAo+ Pj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuaAo+Pj4gKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2ZiX2NtYV9oZWxwZXIuaAo+Pj4gQEAgLTE4LDcgKzE4LDcgQEAgdm9pZCBkcm1f ZmJkZXZfY21hX3Jlc3RvcmVfbW9kZShzdHJ1Y3QgZHJtX2ZiZGV2X2NtYSAqZmJkZXZfY21hKTsK Pj4+ICAgdm9pZCBkcm1fZmJkZXZfY21hX2hvdHBsdWdfZXZlbnQoc3RydWN0IGRybV9mYmRldl9j bWEgKmZiZGV2X2NtYSk7Cj4+PiAgIAo+Pj4gICBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpkcm1f ZmJfY21hX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4gLQlzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdiwgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKTsKPj4+ICsJ c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYsIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQy ICptb2RlX2NtZCk7Cj4+PiAgIAo+Pj4gICBzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0ICpkcm1f ZmJfY21hX2dldF9nZW1fb2JqKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+Pj4gICAJdW5z aWduZWQgaW50IHBsYW5lKTsKPj4+IC0tIAo+Pj4gMi40LjEwCj4+Pgo+Pj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+IEludGVsLWdmeCBtYWlsaW5n IGxpc3QKPj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+IGh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPgo+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKSmFuaSBOaWt1 bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==