From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liviu Dudau Subject: Re: [PATCH 1/3] drm: Plumb modifiers through plane init Date: Wed, 3 May 2017 11:34:12 +0100 Message-ID: <20170503103412.GH28653@e110455-lin.cambridge.arm.com> References: <20170503051428.4734-1-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170503051428.4734-1-ben@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ben Widawsky Cc: Intel GFX , Daniel Stone , DRI Development List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXkgMDIsIDIwMTcgYXQgMTA6MTQ6MjZQTSAtMDcwMCwgQmVuIFdpZGF3c2t5IHdy b3RlOgo+IHYyOiBBIG1pbm9yIGFkZGl0aW9uIGZyb20gRGFuaWVsCj4gCj4gQ2M6IERhbmllbCBT dG9uZSA8ZGFuaWVsc0Bjb2xsYWJvcmEuY29tPgoKWW91IGFyZSAqcmVhbGx5KiBwdXNoaW5nIHlv dXIgbHVjayBieSBub3QgQ2MtaW5nICphbnkqIG9mIHRoZSBtYWludGFpbmVycyBvZgp0aGUgZHJp dmVycyB5b3UgdG91Y2guIFlvdSBkbyB3YW50IHJldmlld3MsIGRvbid0IHlvdT8KCj4gU2lnbmVk LW9mZi1ieTogQmVuIFdpZGF3c2t5IDxiZW5AYndpZGF3c2submV0Pgo+IC0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMgICAgICAgICAgICAgICB8ICAxICsKPiAgZHJpdmVy cy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMgICAgICAgICAgICAgICAgfCAgMSArCj4gIGRyaXZl cnMvZ3B1L2RybS9hcm0vbWFsaWRwX3BsYW5lcy5jICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJp dmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5jICAgICAgICAgICAgfCAgMSArCj4gIGRy aXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX292ZXJsYXkuYyAgICAgICAgIHwgIDEgKwo+ICBk cml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfcGxhbmUuYyB8ICA0ICsrKy0K PiAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jICAgICAgICAgICAgfCAgMSAr Cj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyAgICAgICAgICAgICAgICAgICAgIHwgMzIg KysrKysrKysrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3NpbXBsZV9r bXNfaGVscGVyLmMgICAgICAgICB8ICAzICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4 eW5vc19kcm1fcGxhbmUuYyAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9mc2wtZGN1 L2ZzbF9kY3VfZHJtX3BsYW5lLmMgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2hpc2ls aWNvbi9oaWJtYy9oaWJtY19kcm1fZGUuYyAgfCAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9oaXNp bGljb24va2lyaW4va2lyaW5fZHJtX2FkZS5jIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jICAgICAgICAgICAgfCAgNyArKysrKy0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgICAgICAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYyAgICAgICAgICAgICAgIHwgIDQgKystLQo+ICBkcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jICAgICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9wbGFuZS5jICAgICAgICAgICAgIHwgIDEgKwo+ICBk cml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfcGxhbmUuYyAgICAgICB8ICAyICstCj4g IGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9wbGFuZS5jICAgICAgIHwgIDQgKyst LQo+ICBkcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhzZmJfZHJ2LmMgICAgICAgICAgICAgICB8ICAy ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jICAgICAgICAgIHwg IDUgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMgICAgICAgICAg ICB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMgICAgICAgICAg ICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYyAg ICAgICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3ZzcC5j ICAgICAgICAgICB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X2RybV92b3AuYyAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2N1cnNv ci5jICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfZ2Rw LmMgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9o cXZkcC5jICAgICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9z dW40aV9sYXllci5jICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L2RjLmMgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS92YzQvdmM0X3BsYW5lLmMgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUuYyAgICAgICAgICAgICB8ICA0ICsrLS0KPiAgZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2Nybi5jICAgICAgICAgICAgfCAgNCArKy0tCj4g IGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3N0ZHUuYyAgICAgICAgICAgIHwgIDQgKyst LQo+ICBkcml2ZXJzL2dwdS9kcm0venRlL3p4X3BsYW5lLmMgICAgICAgICAgICAgICAgICB8ICAy ICstCj4gIGluY2x1ZGUvZHJtL2RybV9wbGFuZS5oICAgICAgICAgICAgICAgICAgICAgICAgIHwg MjEgKysrKysrKysrKysrKysrLQo+ICBpbmNsdWRlL2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIu aCAgICAgICAgICAgICB8ICAxICsKPiAgaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmggICAg ICAgICAgICAgICAgICAgfCAxMSArKysrKysrKysKPiAgNDEgZmlsZXMgY2hhbmdlZCwgMTI2IGlu c2VydGlvbnMoKyksIDQ2IGRlbGV0aW9ucygtKQoKSSB3aXNoIHRoZXJlIHdhcyBhIHdheSB0byBz b3J0IHRoZSBub24tZHJpdmVyLXNwZWNpZmljIGNoYW5nZXMgb3V0IG9mIHRoaXMgcGF0Y2ggYW5k CnB1dCB0aGUgYXQgdGhlIGJlZ2lubmluZyBvciBhdCB0aGUgZW5kIG9mIHRoZSBwYXRjaHNldC4g VGhhdCB3YXkgb25lIGRvZXMgbm90IGhhdmUgdG8KaHVudCB0aHJvdWdoIHRoZSBmaWxlIGZvciB0 aGUgcmVsZXZhbnQgY2hhbmdlcyBpbiB0aGUgQVBJLgoKSG93IGFib3V0IGludHJvZHVjaW5nIGEg bmV3IGZ1bmN0aW9uIGNhbGxlZCBkcm1fdW5pdmVyc2FsX3BsYW5lX21vZF9pbml0KCkgdGhhdCBo YXMKdGhlIG5ldyBwYXJhbWV0ZXIsIGEgc2Vjb25kIHBhdGNoIHRoYXQgbW92ZXMgdGhlIHJlbGV2 YW50L2FsbCBkcml2ZXJzIHRvIHRoZSBuZXcgZnVuY3Rpb24KYW5kIChpZiBhbGwgZHJpdmVycyB3 ZXJlIGNvbnZlcnRlZCkgYSB0aGlyZCBwYXRjaCB0byByZW5hbWUgZHJtX3VuaXZlcnNhbF9wbGFu ZV9tb2RfaW5pdCgpCmJhY2sgdG8gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KCk/IEkga25vdyBp dCBpcyBtb3JlIGNodXJuLCBidXQgSSdtIHN0cnVnZ2xpbmcgdG8gZmlndXJlCm91dCB3aHkgYWxs IHRoZSBkcml2ZXJzIGhhdmUgdG8gcGFzcyBhIE5VTEwgaGVyZS4gRWl0aGVyIHRoZXkgY2FyZSBh Ym91dCBtb2RpZmllcnMgb3IKdGhleSBkb24ndCwgaW4gd2hpY2ggY2FzZSBhIHNlcGFyYXRlIGZ1 bmN0aW9uIHdvdWxkIG1ha2UgdGhpbmdzIG1vcmUgb2J2aW91cy4KCkZpbmFsbHksIHRoZSBxdWVz dGlvbnMgSSBzaG91bGQndmUgc3RhcnRlZCB3aXRoOiB3aHkgdGhlIGNoYW5nZT8gV2hhdCBhcmUg eW91IHRyeWluZyB0bwphY2hpZXZlPyBJdCBpcyBub3QgdmVyeSBjbGVhciBmcm9tIHRoZSBjb21t aXQgbWVzc2FnZSBhdCBhbGwuCgo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJj L2FyY3BndV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9jcnRjLmMKPiBpbmRl eCBhZDlhOTU5MTZmMWYuLmNkOGEyNGM3YzY3ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYXJjL2FyY3BndV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9j cnRjLmMKPiBAQCAtMjE4LDYgKzIxOCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICphcmNf cGd1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKPiAgCj4gIAlyZXQgPSBkcm1f dW5pdmVyc2FsX3BsYW5lX2luaXQoZHJtLCBwbGFuZSwgMHhmZiwgJmFyY19wZ3VfcGxhbmVfZnVu Y3MsCj4gIAkJCQkgICAgICAgZm9ybWF0cywgQVJSQVlfU0laRShmb3JtYXRzKSwKPiArCQkJCSAg ICAgICBOVUxMLAo+ICAJCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwpOwo+ ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2Rf Y3J0Yy5jCj4gaW5kZXggNzk4YTNjYzQ4MGEyLi4wY2FhMDNhZTg3MDggMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YXJtL2hkbGNkX2NydGMuYwo+IEBAIC0zMDMsNiArMzAzLDcgQEAgc3RhdGljIHN0cnVjdCBkcm1f cGxhbmUgKmhkbGNkX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKPiAgCj4gIAly ZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoZHJtLCBwbGFuZSwgMHhmZiwgJmhkbGNkX3Bs YW5lX2Z1bmNzLAo+ICAJCQkJICAgICAgIGZvcm1hdHMsIEFSUkFZX1NJWkUoZm9ybWF0cyksCj4g KwkJCQkgICAgICAgTlVMTCwKPiAgCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLCBO VUxMKTsKPiAgCWlmIChyZXQpIHsKPiAgCQlkZXZtX2tmcmVlKGRybS0+ZGV2LCBwbGFuZSk7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX3BsYW5lcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKPiBpbmRleCA4MTRmZGEyM2NlYWQuLmIxNTY2 MTBjNjhhNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9wbGFuZXMu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX3BsYW5lcy5jCj4gQEAgLTQwMCw3 ICs0MDAsNyBAQCBpbnQgbWFsaWRwX2RlX3BsYW5lc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk cm0pCj4gIAkJCQkJRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKPiAgCQlyZXQgPSBkcm1fdW5pdmVy c2FsX3BsYW5lX2luaXQoZHJtLCAmcGxhbmUtPmJhc2UsIGNydGNzLAo+ICAJCQkJCSAgICAgICAm bWFsaWRwX2RlX3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAo+IC0JCQkJCSAgICAgICBuLCBwbGFuZV90 eXBlLCBOVUxMKTsKPiArCQkJCQkgICAgICAgbiwgTlVMTCwgcGxhbmVfdHlwZSwgTlVMTCk7CgpJ dCB3b3VsZCBiZSBuaWNlIGlmIHlvdSBjYW4gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBjaGFuZ2Uu IEVpdGhlciBhZGQgdGhlIE5VTEwgb24gYSBuZXcgbGluZQpvciBrZWVwIHVwZGF0aW5nIHRoZSBs aW5lIHdoZXJlIHRoZSBuZXcgcGFyYW1ldGVyIHdvdWxkIGZpdC4gRGlkIHlvdSBkbyB0aGlzIGNo YW5nZSBtYW51YWxseQpvciB1c2VkIGNvY2NpbmVsbGU/Cgo+ICAJCWlmIChyZXQgPCAwKQo+ICAJ CQlnb3RvIGNsZWFudXA7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRh L2FybWFkYV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMKPiBp bmRleCA0ZmUxOWZkZTg0ZjkuLmVhNDhlZjg4ZjBlNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRh L2FybWFkYV9jcnRjLmMKPiBAQCAtMTI2OSw2ICsxMjY5LDcgQEAgc3RhdGljIGludCBhcm1hZGFf ZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHN0cnVjdCBkZXZpY2UgKmRl diwKPiAgCQkJCSAgICAgICAmYXJtYWRhX3ByaW1hcnlfcGxhbmVfZnVuY3MsCj4gIAkJCQkgICAg ICAgYXJtYWRhX3ByaW1hcnlfZm9ybWF0cywKPiAgCQkJCSAgICAgICBBUlJBWV9TSVpFKGFybWFk YV9wcmltYXJ5X2Zvcm1hdHMpLAo+ICsJCQkJICAgICAgIE5VTEwsCj4gIAkJCQkgICAgICAgRFJN X1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJa2ZyZWUocHJp bWFyeSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX292ZXJs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX292ZXJsYXkuYwo+IGluZGV4IDQy NGU0NjVmZjQwNy4uMDA1NDE0NDI4N2FlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h cm1hZGEvYXJtYWRhX292ZXJsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJt YWRhX292ZXJsYXkuYwo+IEBAIC00NjAsNiArNDYwLDcgQEAgaW50IGFybWFkYV9vdmVybGF5X3Bs YW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGNydGNzKQo+ ICAJCQkJICAgICAgICZhcm1hZGFfb3ZsX3BsYW5lX2Z1bmNzLAo+ICAJCQkJICAgICAgIGFybWFk YV9vdmxfZm9ybWF0cywKPiAgCQkJCSAgICAgICBBUlJBWV9TSVpFKGFybWFkYV9vdmxfZm9ybWF0 cyksCj4gKwkJCQkgICAgICAgTlVMTCwKPiAgCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9PVkVS TEFZLCBOVUxMKTsKPiAgCWlmIChyZXQpIHsKPiAgCQlrZnJlZShkcGxhbmUpOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfcGxhbmUuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19wbGFuZS5jCj4gaW5kZXggMjlj YzEwZDA1M2ViLi5iNWM2Y2YyZDhjMzYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2F0 bWVsLWhsY2RjL2F0bWVsX2hsY2RjX3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXRt ZWwtaGxjZGMvYXRtZWxfaGxjZGNfcGxhbmUuYwo+IEBAIC0xMDU4LDcgKzEwNTgsOSBAQCBzdGF0 aWMgaW50IGF0bWVsX2hsY2RjX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ICAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJnBsYW5lLT5iYXNlLCAwLAo+ ICAJCQkJICAgICAgICZsYXllcl9wbGFuZV9mdW5jcywKPiAgCQkJCSAgICAgICBkZXNjLT5mb3Jt YXRzLT5mb3JtYXRzLAo+IC0JCQkJICAgICAgIGRlc2MtPmZvcm1hdHMtPm5mb3JtYXRzLCB0eXBl LCBOVUxMKTsKPiArCQkJCSAgICAgICBkZXNjLT5mb3JtYXRzLT5uZm9ybWF0cywKPiArCQkJCSAg ICAgICBOVUxMLAo+ICsJCQkJICAgICAgIHR5cGUsIE5VTEwpOwo+ICAJaWYgKHJldCkKPiAgCQly ZXR1cm4gcmV0Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0 X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2hlbHBlci5jCj4gaW5kZXgg MmIzMzgyNWYyZjkzLi45Y2IxZWVkZTBiNGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9tb2Rlc2V0X2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0 X2hlbHBlci5jCj4gQEAgLTEyNCw2ICsxMjQsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAq Y3JlYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkJCSAgICAg ICAmZHJtX3ByaW1hcnlfaGVscGVyX2Z1bmNzLAo+ICAJCQkJICAgICAgIHNhZmVfbW9kZXNldF9m b3JtYXRzLAo+ICAJCQkJICAgICAgIEFSUkFZX1NJWkUoc2FmZV9tb2Rlc2V0X2Zvcm1hdHMpLAo+ ICsJCQkJICAgICAgIE5VTEwsCj4gIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwg TlVMTCk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJa2ZyZWUocHJpbWFyeSk7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUu Ywo+IGluZGV4IGZlZGQ0ZDYwZDljZC4uMjg2ZTE4Mzg5MWU1IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmUu Ywo+IEBAIC03MCw2ICs3MCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgZHJtX251bV9wbGFuZXMo c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgICogQGZ1bmNzOiBjYWxsYmFja3MgZm9yIHRoZSBu ZXcgcGxhbmUKPiAgICogQGZvcm1hdHM6IGFycmF5IG9mIHN1cHBvcnRlZCBmb3JtYXRzIChEUk1f Rk9STUFUXF9cKikKPiAgICogQGZvcm1hdF9jb3VudDogbnVtYmVyIG9mIGVsZW1lbnRzIGluIEBm b3JtYXRzCj4gKyAqIEBmb3JtYXRfbW9kaWZpZXJzOiBhcnJheSBvZiBzdHJ1Y3QgZHJtX2Zvcm1h dCBtb2RpZmllcnMgdGVybWluYXRlZCBieSBJTlZBTElECgpZb3UgYWN0dWFsbHkgY2FsbGVkIHRo ZSB0aGluZyBEUk1fRk9STUFUX01PRF9JTlZBTElELiBNYWtlIHN1cmUgdGhlIGRvY3VtZW50YXRp b24gY29ycmVjdGx5CnJlZmxlY3RzIHRoYXQuCgo+ICAgKiBAdHlwZTogdHlwZSBvZiBwbGFuZSAo b3ZlcmxheSwgcHJpbWFyeSwgY3Vyc29yKQo+ICAgKiBAbmFtZTogcHJpbnRmIHN0eWxlIGZvcm1h dCBzdHJpbmcgZm9yIHRoZSBwbGFuZSBuYW1lLCBvciBOVUxMIGZvciBkZWZhdWx0IG5hbWUKPiAg ICoKPiBAQCAtODIsMTAgKzgzLDEyIEBAIGludCBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAkJCSAgICAg dWludDMyX3QgcG9zc2libGVfY3J0Y3MsCj4gIAkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9wbGFu ZV9mdW5jcyAqZnVuY3MsCj4gIAkJCSAgICAgY29uc3QgdWludDMyX3QgKmZvcm1hdHMsIHVuc2ln bmVkIGludCBmb3JtYXRfY291bnQsCj4gKwkJCSAgICAgY29uc3QgdWludDY0X3QgKmZvcm1hdF9t b2RpZmllcnMsCj4gIAkJCSAgICAgZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlLAo+ICAJCQkgICAg IGNvbnN0IGNoYXIgKm5hbWUsIC4uLikKPiAgewo+ICAJc3RydWN0IGRybV9tb2RlX2NvbmZpZyAq Y29uZmlnID0gJmRldi0+bW9kZV9jb25maWc7Cj4gKwl1bnNpZ25lZCBpbnQgZm9ybWF0X21vZGlm aWVyX2NvdW50ID0gMDsKPiAgCWludCByZXQ7Cj4gIAo+ICAJcmV0ID0gZHJtX21vZGVfb2JqZWN0 X2FkZChkZXYsICZwbGFuZS0+YmFzZSwgRFJNX01PREVfT0JKRUNUX1BMQU5FKTsKPiBAQCAtMTA1 LDYgKzEwOCwyOCBAQCBpbnQgZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCXJldHVybiAtRU5PTUVNOwo+ ICAJfQo+ICAKPiArCS8qIEZpcnN0IGRyaXZlciB0byBuZWVkIG1vcmUgdGhhbiA2NCBmb3JtYXRz IG5lZWRzIHRvIGZpeCB0aGlzICovCj4gKwlpZiAoV0FSTl9PTihmb3JtYXRfY291bnQgPiA2NCkp Cj4gKwkJcmV0dXJuIC1FSU5WQUw7CgpXaGF0IGlzIHRoZSBsaW5rIGJldHdlZW4gZm9ybWF0X2Nv dW50IGFuZCBmb3JtYXQgbW9kaWZpZXJzPyBXaHkgYXJlIHlvdSBpbnRyb2R1Y2luZwp0aGlzIGFy dGlmaWNpYWwgcmVzdHJpY3Rpb24gb24gdGhlIGZvcm1hdF9jb3VudD8gQWxzbywgdGhlcmUgZG9l c24ndCBzZWVtIHRvIGJlIGFueQpjaGVjayBpZiBmb3JtYXRfbW9kaWZpZXJfY291bnQgPT0gZm9y bWF0X2NvdW50LiBXaGF0IGhhcHBlbnMgd2hlbiB0aGV5IGRvbid0IG1hdGNoPwoKPiArCj4gKwlp ZiAoZm9ybWF0X21vZGlmaWVycykgewo+ICsJCWNvbnN0IHVpbnQ2NF90ICp0ZW1wX21vZGlmaWVy cyA9IGZvcm1hdF9tb2RpZmllcnM7Cj4gKwkJd2hpbGUgKCp0ZW1wX21vZGlmaWVycysrICE9IERS TV9GT1JNQVRfTU9EX0lOVkFMSUQpCj4gKwkJCWZvcm1hdF9tb2RpZmllcl9jb3VudCsrOwo+ICsJ fQo+ICsKPiArCXBsYW5lLT5tb2RpZmllcl9jb3VudCA9IGZvcm1hdF9tb2RpZmllcl9jb3VudDsK CldoeSBkbyB5b3UgbmVlZCB0byByZW1lbWJlciB0aGlzPyBJdCBpcyBub3QgdXNlZCBhbnl3aGVy ZSBlbHNlIQoKPiArCXBsYW5lLT5tb2RpZmllcnMgPSBrbWFsbG9jX2FycmF5KGZvcm1hdF9tb2Rp Zmllcl9jb3VudCwKPiArCQkJCQkgc2l6ZW9mKGZvcm1hdF9tb2RpZmllcnNbMF0pLAo+ICsJCQkJ CSBHRlBfS0VSTkVMKTsKPiArCj4gKwlpZiAoZm9ybWF0X21vZGlmaWVyX2NvdW50ICYmICFwbGFu ZS0+bW9kaWZpZXJzKSB7Cj4gKwkJRFJNX0RFQlVHX0tNUygib3V0IG9mIG1lbW9yeSB3aGVuIGFs bG9jYXRpbmcgcGxhbmVcbiIpOwo+ICsJCWtmcmVlKHBsYW5lLT5mb3JtYXRfdHlwZXMpOwo+ICsJ CWRybV9tb2RlX29iamVjdF91bnJlZ2lzdGVyKGRldiwgJnBsYW5lLT5iYXNlKTsKPiArCQlyZXR1 cm4gLUVOT01FTTsKPiArCX0KPiArCj4gIAlpZiAobmFtZSkgewo+ICAJCXZhX2xpc3QgYXA7Cj4g IAo+IEBAIC0xMTcsMTIgKzE0MiwxNSBAQCBpbnQgZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJfQo+ICAJ aWYgKCFwbGFuZS0+bmFtZSkgewo+ICAJCWtmcmVlKHBsYW5lLT5mb3JtYXRfdHlwZXMpOwo+ICsJ CWtmcmVlKHBsYW5lLT5tb2RpZmllcnMpOwo+ICAJCWRybV9tb2RlX29iamVjdF91bnJlZ2lzdGVy KGRldiwgJnBsYW5lLT5iYXNlKTsKPiAgCQlyZXR1cm4gLUVOT01FTTsKPiAgCX0KPiAgCj4gIAlt ZW1jcHkocGxhbmUtPmZvcm1hdF90eXBlcywgZm9ybWF0cywgZm9ybWF0X2NvdW50ICogc2l6ZW9m KHVpbnQzMl90KSk7Cj4gIAlwbGFuZS0+Zm9ybWF0X2NvdW50ID0gZm9ybWF0X2NvdW50Owo+ICsJ bWVtY3B5KHBsYW5lLT5tb2RpZmllcnMsIGZvcm1hdF9tb2RpZmllcnMsCj4gKwkgICAgICAgZm9y bWF0X21vZGlmaWVyX2NvdW50ICogc2l6ZW9mKGZvcm1hdF9tb2RpZmllcnNbMF0pKTsKCkRvbid0 IHlvdSBuZWVkIHRvIGNoZWNrIHRoYXQgZm9ybWF0X21vZGlmaWVycyAhPSBOVUxMIGJlZm9yZSBt ZW1jcHk/Cgo+ICAJcGxhbmUtPnBvc3NpYmxlX2NydGNzID0gcG9zc2libGVfY3J0Y3M7Cj4gIAlw bGFuZS0+dHlwZSA9IHR5cGU7Cj4gIAo+IEBAIC0yMDUsNyArMjMzLDggQEAgaW50IGRybV9wbGFu ZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ ICAKPiAgCXR5cGUgPSBpc19wcmltYXJ5ID8gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSA6IERSTV9Q TEFORV9UWVBFX09WRVJMQVk7Cj4gIAlyZXR1cm4gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRl diwgcGxhbmUsIHBvc3NpYmxlX2NydGNzLCBmdW5jcywKPiAtCQkJCQlmb3JtYXRzLCBmb3JtYXRf Y291bnQsIHR5cGUsIE5VTEwpOwo+ICsJCQkJCWZvcm1hdHMsIGZvcm1hdF9jb3VudCwKPiArCQkJ CQlOVUxMLCB0eXBlLCBOVUxMKTsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9wbGFuZV9pbml0 KTsKPiAgCj4gQEAgLTIyNCw2ICsyNTMsNyBAQCB2b2lkIGRybV9wbGFuZV9jbGVhbnVwKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lKQo+ICAJZHJtX21vZGVzZXRfbG9ja19maW5pKCZwbGFuZS0+bXV0 ZXgpOwo+ICAKPiAgCWtmcmVlKHBsYW5lLT5mb3JtYXRfdHlwZXMpOwo+ICsJa2ZyZWUocGxhbmUt Pm1vZGlmaWVycyk7Cj4gIAlkcm1fbW9kZV9vYmplY3RfdW5yZWdpc3RlcihkZXYsICZwbGFuZS0+ YmFzZSk7Cj4gIAo+ICAJQlVHX09OKGxpc3RfZW1wdHkoJnBsYW5lLT5oZWFkKSk7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwo+IGluZGV4IGUwODRmOWY4Y2E2Ni4uOTQ5 ZjBhYjBlMjY3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19o ZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuYwo+ IEBAIC0xOTMsNiArMTkzLDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fc2ltcGxlX2Rpc3BsYXlfcGlw ZV9hdHRhY2hfYnJpZGdlKTsKPiAgICogQGZ1bmNzOiBjYWxsYmFja3MgZm9yIHRoZSBkaXNwbGF5 IHBpcGUgKG9wdGlvbmFsKQo+ICAgKiBAZm9ybWF0czogYXJyYXkgb2Ygc3VwcG9ydGVkIGZvcm1h dHMgKERSTV9GT1JNQVRcX1wqKQo+ICAgKiBAZm9ybWF0X2NvdW50OiBudW1iZXIgb2YgZWxlbWVu dHMgaW4gQGZvcm1hdHMKPiArICogQGZvcm1hdF9tb2RpZmllcnM6IGFycmF5IG9mIGZvcm1hdHMg bW9kaWZpZXJzCj4gICAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciB0byBhdHRhY2ggYW5kIHJlZ2lz dGVyIChvcHRpb25hbCkKPiAgICoKPiAgICogU2V0cyB1cCBhIGRpc3BsYXkgcGlwZWxpbmUgd2hp Y2ggY29uc2lzdCBvZiBhIHJlYWxseSBzaW1wbGUKPiBAQCAtMjEzLDYgKzIxNCw3IEBAIGludCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJ CXN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKPiAgCQkJY29uc3Qgc3RydWN0 IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2Z1bmNzICpmdW5jcywKPiAgCQkJY29uc3QgdWludDMy X3QgKmZvcm1hdHMsIHVuc2lnbmVkIGludCBmb3JtYXRfY291bnQsCj4gKwkJCWNvbnN0IHVpbnQ2 NF90ICpmb3JtYXRfbW9kaWZpZXJzLAo+ICAJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSAmcGlwZS0+ZW5jb2Rl cjsKPiBAQCAtMjI3LDYgKzIyOSw3IEBAIGludCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2lu aXQoZGV2LCBwbGFuZSwgMCwKPiAgCQkJCSAgICAgICAmZHJtX3NpbXBsZV9rbXNfcGxhbmVfZnVu Y3MsCj4gIAkJCQkgICAgICAgZm9ybWF0cywgZm9ybWF0X2NvdW50LAo+ICsJCQkJICAgICAgIGZv cm1hdF9tb2RpZmllcnMsCj4gIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVM TCk7Cj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3NfZHJtX3BsYW5lLmMKPiBpbmRleCBjMmYxN2YzMGFmYWIuLjc1ZDQ5MjhkZDE5NiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5jCj4gQEAgLTI4 NCw3ICsyODQsNyBAQCBpbnQgZXh5bm9zX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgCQkJCSAgICAgICAmZXh5bm9zX3BsYW5lX2Z1bmNzLAo+ICAJCQkJICAgICAgIGNvbmZp Zy0+cGl4ZWxfZm9ybWF0cywKPiAgCQkJCSAgICAgICBjb25maWctPm51bV9waXhlbF9mb3JtYXRz LAo+IC0JCQkJICAgICAgIGNvbmZpZy0+dHlwZSwgTlVMTCk7Cj4gKwkJCQkgICAgICAgTlVMTCwg Y29uZmlnLT50eXBlLCBOVUxMKTsKPiAgCWlmIChlcnIpIHsKPiAgCQlEUk1fRVJST1IoImZhaWxl ZCB0byBpbml0aWFsaXplIHBsYW5lXG4iKTsKPiAgCQlyZXR1cm4gZXJyOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9wbGFuZS5jIGIvZHJpdmVycy9n cHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYwo+IGluZGV4IDBhMjA3MjNhYTZlMS4u OTU1NGIyNDU3NDZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9k Y3VfZHJtX3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2Ry bV9wbGFuZS5jCj4gQEAgLTIyNCw3ICsyMjQsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICpmc2xfZGN1 X2RybV9wcmltYXJ5X2NyZWF0ZV9wbGFuZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCQkJ ICAgICAgICZmc2xfZGN1X2RybV9wbGFuZV9mdW5jcywKPiAgCQkJCSAgICAgICBmc2xfZGN1X2Ry bV9wbGFuZV9mb3JtYXRzLAo+ICAJCQkJICAgICAgIEFSUkFZX1NJWkUoZnNsX2RjdV9kcm1fcGxh bmVfZm9ybWF0cyksCj4gLQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7 Cj4gKwkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7Cj4gIAlp ZiAocmV0KSB7Cj4gIAkJa2ZyZWUocHJpbWFyeSk7Cj4gIAkJcHJpbWFyeSA9IE5VTEw7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJtX2RlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kZS5jCj4gaW5kZXgg NTk1NDJiZGRjOTgwLi4zMzllOTE0Y2JhYTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZGUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9o aXNpbGljb24vaGlibWMvaGlibWNfZHJtX2RlLmMKPiBAQCAtMTgxLDYgKzE4MSw3IEBAIHN0YXRp YyBzdHJ1Y3QgZHJtX3BsYW5lICpoaWJtY19wbGFuZV9pbml0KHN0cnVjdCBoaWJtY19kcm1fcHJp dmF0ZSAqcHJpdikKPiAgCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5l LCAxLCAmaGlibWNfcGxhbmVfZnVuY3MsCj4gIAkJCQkgICAgICAgY2hhbm5lbF9mb3JtYXRzMSwK PiAgCQkJCSAgICAgICBBUlJBWV9TSVpFKGNoYW5uZWxfZm9ybWF0czEpLAo+ICsJCQkJICAgICAg IE5VTEwsCj4gIAkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKPiAgCQkJCSAgICAg ICBOVUxMKTsKPiAgCWlmIChyZXQpIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2hp c2lsaWNvbi9raXJpbi9raXJpbl9kcm1fYWRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29u L2tpcmluL2tpcmluX2RybV9hZGUuYwo+IGluZGV4IGM5NmMyMjhhOTg5OC4uMWFjYjhhZjEyMjQ2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJt X2FkZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1f YWRlLmMKPiBAQCAtOTA5LDcgKzkwOSw3IEBAIHN0YXRpYyBpbnQgYWRlX3BsYW5lX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGFkZV9wbGFuZSAqYXBsYW5lLAo+ICAJCXJldHVy biByZXQ7Cj4gIAo+ICAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJmFwbGFu ZS0+YmFzZSwgMSwgJmFkZV9wbGFuZV9mdW5jcywKPiAtCQkJCSAgICAgICBmbXRzLCBmbXRzX2Nu dCwgdHlwZSwgTlVMTCk7Cj4gKwkJCQkgICAgICAgZm10cywgZm10c19jbnQsIE5VTEwsIHR5cGUs IE5VTEwpOwo+ICAJaWYgKHJldCkgewo+ICAJCURSTV9FUlJPUigiZmFpbCB0byBpbml0IHBsYW5l LCBjaD0lZFxuIiwgYXBsYW5lLT5jaCk7Cj4gIAkJcmV0dXJuIHJldDsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggMzYxNzkyN2FmMjY5Li5kNTJiZDA1YTAxN2QgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTEzNTE2LDYgKzEzNTE2 LDggQEAgaW50ZWxfbGVnYWN5X2N1cnNvcl91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUs Cj4gIAkJCQkJICAgICAgc3JjX3gsIHNyY195LCBzcmNfdywgc3JjX2gsIGN0eCk7Cj4gIH0KPiAg Cj4gKwo+ICsKCkV4dHJhIGJsYW5rIGxpbmVzIG5vdCBuZWVkZWQgaGVyZS4KCj4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGludGVsX2N1cnNvcl9wbGFuZV9mdW5jcyA9IHsK PiAgCS51cGRhdGVfcGxhbmUgPSBpbnRlbF9sZWdhY3lfY3Vyc29yX3VwZGF0ZSwKPiAgCS5kaXNh YmxlX3BsYW5lID0gZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9wbGFuZSwKPiBAQCAtMTM1OTQs MTggKzEzNTk2LDIxIEBAIGludGVsX3ByaW1hcnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCj4gIAkJcmV0ID0gZHJtX3VuaXZl cnNhbF9wbGFuZV9pbml0KCZkZXZfcHJpdi0+ZHJtLCAmcHJpbWFyeS0+YmFzZSwKPiAgCQkJCQkg ICAgICAgMCwgJmludGVsX3BsYW5lX2Z1bmNzLAo+ICAJCQkJCSAgICAgICBpbnRlbF9wcmltYXJ5 X2Zvcm1hdHMsIG51bV9mb3JtYXRzLAo+ICsJCQkJCSAgICAgICBOVUxMLAo+ICAJCQkJCSAgICAg ICBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAo+ICAJCQkJCSAgICAgICAicGxhbmUgMSVjIiwgcGlw ZV9uYW1lKHBpcGUpKTsKPiAgCWVsc2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNSB8fCBJ U19HNFgoZGV2X3ByaXYpKQo+ICAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2 X3ByaXYtPmRybSwgJnByaW1hcnktPmJhc2UsCj4gIAkJCQkJICAgICAgIDAsICZpbnRlbF9wbGFu ZV9mdW5jcywKPiAgCQkJCQkgICAgICAgaW50ZWxfcHJpbWFyeV9mb3JtYXRzLCBudW1fZm9ybWF0 cywKPiArCQkJCQkgICAgICAgTlVMTCwKPiAgCQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJ TUFSWSwKPiAgCQkJCQkgICAgICAgInByaW1hcnkgJWMiLCBwaXBlX25hbWUocGlwZSkpOwo+ICAJ ZWxzZQo+ICAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdCgmZGV2X3ByaXYtPmRybSwg JnByaW1hcnktPmJhc2UsCj4gIAkJCQkJICAgICAgIDAsICZpbnRlbF9wbGFuZV9mdW5jcywKPiAg CQkJCQkgICAgICAgaW50ZWxfcHJpbWFyeV9mb3JtYXRzLCBudW1fZm9ybWF0cywKPiArCQkJCQkg ICAgICAgTlVMTCwKPiAgCQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKPiAgCQkJ CQkgICAgICAgInBsYW5lICVjIiwgcGxhbmVfbmFtZShwcmltYXJ5LT5wbGFuZSkpOwo+ICAJaWYg KHJldCkKPiBAQCAtMTM3NzYsNyArMTM3ODEsNyBAQCBpbnRlbF9jdXJzb3JfcGxhbmVfY3JlYXRl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCj4gIAkJ CQkgICAgICAgMCwgJmludGVsX2N1cnNvcl9wbGFuZV9mdW5jcywKPiAgCQkJCSAgICAgICBpbnRl bF9jdXJzb3JfZm9ybWF0cywKPiAgCQkJCSAgICAgICBBUlJBWV9TSVpFKGludGVsX2N1cnNvcl9m b3JtYXRzKSwKPiAtCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9DVVJTT1IsCj4gKwkJCQkgICAg ICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfQ1VSU09SLAo+ICAJCQkJICAgICAgICJjdXJzb3IgJWMi LCBwaXBlX25hbWUocGlwZSkpOwo+ICAJaWYgKHJldCkKPiAgCQlnb3RvIGZhaWw7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiBpbmRleCBmN2Q0MzE0MjcxMTUuLjA1MzgwMmRkMDhj MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gQEAgLTExNjUsMTMgKzEx NjUsMTMgQEAgaW50ZWxfc3ByaXRlX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gIAkJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KCZkZXZfcHJp di0+ZHJtLCAmaW50ZWxfcGxhbmUtPmJhc2UsCj4gIAkJCQkJICAgICAgIHBvc3NpYmxlX2NydGNz LCAmaW50ZWxfcGxhbmVfZnVuY3MsCj4gIAkJCQkJICAgICAgIHBsYW5lX2Zvcm1hdHMsIG51bV9w bGFuZV9mb3JtYXRzLAo+IC0JCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLAo+ICsJ CQkJCSAgICAgICBOVUxMLCBEUk1fUExBTkVfVFlQRV9PVkVSTEFZLAo+ICAJCQkJCSAgICAgICAi cGxhbmUgJWQlYyIsIHBsYW5lICsgMiwgcGlwZV9uYW1lKHBpcGUpKTsKPiAgCWVsc2UKPiAgCQly ZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoJmRldl9wcml2LT5kcm0sICZpbnRlbF9wbGFu ZS0+YmFzZSwKPiAgCQkJCQkgICAgICAgcG9zc2libGVfY3J0Y3MsICZpbnRlbF9wbGFuZV9mdW5j cywKPiAgCQkJCQkgICAgICAgcGxhbmVfZm9ybWF0cywgbnVtX3BsYW5lX2Zvcm1hdHMsCj4gLQkJ CQkJICAgICAgIERSTV9QTEFORV9UWVBFX09WRVJMQVksCj4gKwkJCQkJICAgICAgIE5VTEwsIERS TV9QTEFORV9UWVBFX09WRVJMQVksCj4gIAkJCQkJICAgICAgICJzcHJpdGUgJWMiLCBzcHJpdGVf bmFtZShwaXBlLCBwbGFuZSkpOwo+ICAJaWYgKHJldCkKPiAgCQlnb3RvIGZhaWw7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pbXgvaXB1djMtcGxhbmUuYwo+IGluZGV4IGQ2M2U4NTNhMDMwMC4uNmM3MDhjM2IxY2RjIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYwo+IEBAIC03MTgsOCArNzE4LDggQEAgc3Ry dWN0IGlwdV9wbGFuZSAqaXB1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3Ry dWN0IGlwdV9zb2MgKmlwdSwKPiAgCj4gIAlyZXQgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQo ZGV2LCAmaXB1X3BsYW5lLT5iYXNlLCBwb3NzaWJsZV9jcnRjcywKPiAgCQkJCSAgICAgICAmaXB1 X3BsYW5lX2Z1bmNzLCBpcHVfcGxhbmVfZm9ybWF0cywKPiAtCQkJCSAgICAgICBBUlJBWV9TSVpF KGlwdV9wbGFuZV9mb3JtYXRzKSwgdHlwZSwKPiAtCQkJCSAgICAgICBOVUxMKTsKPiArCQkJCSAg ICAgICBBUlJBWV9TSVpFKGlwdV9wbGFuZV9mb3JtYXRzKSwKPiArCQkJCSAgICAgICBOVUxMLCB0 eXBlLCBOVUxMKTsKPiAgCWlmIChyZXQpIHsKPiAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBpbml0 aWFsaXplIHBsYW5lXG4iKTsKPiAgCQlrZnJlZShpcHVfcGxhbmUpOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fcGxhbmUuYwo+IGluZGV4IGU0MDVlODllZDVlNS4uYmVjNmQxNGRk MDcwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX3BsYW5l LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9wbGFuZS5jCj4gQEAg LTE3Myw3ICsxNzMsNyBAQCBpbnQgbXRrX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAo+ICAJZXJyID0gZHJtX3VuaXZlcnNhbF9w bGFuZV9pbml0KGRldiwgcGxhbmUsIHBvc3NpYmxlX2NydGNzLAo+ICAJCQkJICAgICAgICZtdGtf cGxhbmVfZnVuY3MsIGZvcm1hdHMsCj4gLQkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwg dHlwZSwgTlVMTCk7Cj4gKwkJCQkgICAgICAgQVJSQVlfU0laRShmb3JtYXRzKSwgTlVMTCwgdHlw ZSwgTlVMTCk7Cj4gIAlpZiAoZXJyKSB7Cj4gIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gaW5pdGlh bGl6ZSBwbGFuZVxuIik7Cj4gIAkJcmV0dXJuIGVycjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21lc29uL21lc29uX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25f cGxhbmUuYwo+IGluZGV4IGEzMmQzYjZlMmUxMi4uMTdlOTZmYTQ3ODY4IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9wbGFuZS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL21lc29uL21lc29uX3BsYW5lLmMKPiBAQCAtMjIzLDYgKzIyMyw3IEBAIGludCBtZXNvbl9w bGFuZV9jcmVhdGUoc3RydWN0IG1lc29uX2RybSAqcHJpdikKPiAgCQkJCSAmbWVzb25fcGxhbmVf ZnVuY3MsCj4gIAkJCQkgc3VwcG9ydGVkX2RybV9mb3JtYXRzLAo+ICAJCQkJIEFSUkFZX1NJWkUo c3VwcG9ydGVkX2RybV9mb3JtYXRzKSwKPiArCQkJCSBOVUxMLAo+ICAJCQkJIERSTV9QTEFORV9U WVBFX1BSSU1BUlksICJtZXNvbl9wcmltYXJ5X3BsYW5lIik7Cj4gIAo+ICAJZHJtX3BsYW5lX2hl bHBlcl9hZGQocGxhbmUsICZtZXNvbl9wbGFuZV9oZWxwZXJfZnVuY3MpOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vbWRwL21kcDQvbWRwNF9wbGFuZS5jCj4gaW5kZXggNTM2MTlkMDc2NzdlLi44ZjM0 MTdlNDVkNGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0 X3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfcGxhbmUu Ywo+IEBAIC0zOTgsNyArMzk4LDcgQEAgc3RydWN0IGRybV9wbGFuZSAqbWRwNF9wbGFuZV9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAl0eXBlID0gcHJpdmF0ZV9wbGFuZSA/IERSTV9Q TEFORV9UWVBFX1BSSU1BUlkgOiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwo+ICAJcmV0ID0gZHJt X3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcGxhbmUsIDB4ZmYsICZtZHA0X3BsYW5lX2Z1bmNz LAo+ICAJCQkJIG1kcDRfcGxhbmUtPmZvcm1hdHMsIG1kcDRfcGxhbmUtPm5mb3JtYXRzLAo+IC0J CQkJIHR5cGUsIE5VTEwpOwo+ICsJCQkJIE5VTEwsIHR5cGUsIE5VTEwpOwo+ICAJaWYgKHJldCkK PiAgCQlnb3RvIGZhaWw7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA1L21kcDVfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9w bGFuZS5jCj4gaW5kZXggYTM4YzVmZTZjYzE5Li5hODE1YmMwZTc4ZDEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYwo+IEBAIC0xMTQwLDEyICsxMTQwLDEy IEBAIHN0cnVjdCBkcm1fcGxhbmUgKm1kcDVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+ICAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAweGZm LAo+ICAJCQkJJm1kcDVfY3Vyc29yX3BsYW5lX2Z1bmNzLAo+ICAJCQkJbWRwNV9wbGFuZS0+Zm9y bWF0cywgbWRwNV9wbGFuZS0+bmZvcm1hdHMsCj4gLQkJCQl0eXBlLCBOVUxMKTsKPiArCQkJCU5V TEwsIHR5cGUsIE5VTEwpOwo+ICAJZWxzZQo+ICAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVf aW5pdChkZXYsIHBsYW5lLCAweGZmLAo+ICAJCQkJJm1kcDVfcGxhbmVfZnVuY3MsCj4gIAkJCQlt ZHA1X3BsYW5lLT5mb3JtYXRzLCBtZHA1X3BsYW5lLT5uZm9ybWF0cywKPiAtCQkJCXR5cGUsIE5V TEwpOwo+ICsJCQkJTlVMTCwgdHlwZSwgTlVMTCk7Cj4gIAlpZiAocmV0KQo+ICAJCWdvdG8gZmFp bDsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYyBi L2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYwo+IGluZGV4IGQxYjljMzRjN2MwMC4u M2VlMzc4NGE1NGY0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9k cnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYwo+IEBAIC0xOTAs NyArMTkwLDcgQEAgc3RhdGljIGludCBteHNmYl9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0s IHVuc2lnbmVkIGxvbmcgZmxhZ3MpCj4gIAl9Cj4gIAo+ICAJcmV0ID0gZHJtX3NpbXBsZV9kaXNw bGF5X3BpcGVfaW5pdChkcm0sICZteHNmYi0+cGlwZSwgJm14c2ZiX2Z1bmNzLAo+IC0JCQlteHNm Yl9mb3JtYXRzLCBBUlJBWV9TSVpFKG14c2ZiX2Zvcm1hdHMpLAo+ICsJCQlteHNmYl9mb3JtYXRz LCBBUlJBWV9TSVpFKG14c2ZiX2Zvcm1hdHMpLCBOVUxMLCAwLAo+ICAJCQkmbXhzZmItPmNvbm5l Y3Rvcik7Cj4gIAlpZiAocmV0IDwgMCkgewo+ICAJCWRldl9lcnIoZHJtLT5kZXYsICJDYW5ub3Qg c2V0dXAgc2ltcGxlIGRpc3BsYXkgcGlwZVxuIik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnY1 MF9kaXNwbGF5LmMKPiBpbmRleCAwZTU4NTM3MzUyZmUuLmRkZTcxYmU0NjNmOCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udjUwX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252NTBfZGlzcGxheS5jCj4gQEAgLTEwODQsOCArMTA4NCw5IEBA IG52NTBfd25kd19jdG9yKGNvbnN0IHN0cnVjdCBudjUwX3duZHdfZnVuYyAqZnVuYywgc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgCXduZHctPmZ1bmMgPSBmdW5jOwo+ICAJd25kdy0+ZG1hYyA9 IGRtYWM7Cj4gIAo+IC0JcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJnduZHct PnBsYW5lLCAwLCAmbnY1MF93bmR3LCBmb3JtYXQsCj4gLQkJCQkgICAgICAgbmZvcm1hdCwgdHlw ZSwgIiVzLSVkIiwgbmFtZSwgaW5kZXgpOwo+ICsJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9p bml0KGRldiwgJnduZHctPnBsYW5lLCAwLCAmbnY1MF93bmR3LAo+ICsJCQkJICAgICAgIGZvcm1h dCwgbmZvcm1hdCwgTlVMTCwKPiArCQkJCSAgICAgICB0eXBlLCAiJXMtJWQiLCBuYW1lLCBpbmRl eCk7Cj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9vbWFwX3BsYW5lLmMKPiBpbmRleCA5MTY4MTU0ZDc0OWUuLjliODM0MWQ3NzQ2OCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKPiBAQCAtMzcwLDcgKzM3MCw4IEBAIHN0 cnVjdCBkcm1fcGxhbmUgKm9tYXBfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ICAKPiAgCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCBwb3NzaWJs ZV9jcnRjcywKPiAgCQkJCSAgICAgICAmb21hcF9wbGFuZV9mdW5jcywgb21hcF9wbGFuZS0+Zm9y bWF0cywKPiAtCQkJCSAgICAgICBvbWFwX3BsYW5lLT5uZm9ybWF0cywgdHlwZSwgTlVMTCk7Cj4g KwkJCQkgICAgICAgb21hcF9wbGFuZS0+bmZvcm1hdHMsCj4gKwkJCQkgICAgICAgTlVMTCwgdHlw ZSwgTlVMTCk7Cj4gIAlpZiAocmV0IDwgMCkKPiAgCQlnb3RvIGVycm9yOwo+ICAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L3F4bC9xeGxfZGlzcGxheS5jCj4gaW5kZXggMDU4MzQwYTAwMmMyLi5mY2YxZDIwMzQ0NDkgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZGlzcGxheS5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3F4bC9xeGxfZGlzcGxheS5jCj4gQEAgLTc4OCw3ICs3ODgsNyBAQCBzdGF0 aWMgc3RydWN0IGRybV9wbGFuZSAqcXhsX2NyZWF0ZV9wbGFuZShzdHJ1Y3QgcXhsX2RldmljZSAq cWRldiwKPiAgCj4gIAllcnIgPSBkcm1fdW5pdmVyc2FsX3BsYW5lX2luaXQoJnFkZXYtPmRkZXYs IHBsYW5lLCBwb3NzaWJsZV9jcnRjcywKPiAgCQkJCSAgICAgICBmdW5jcywgZm9ybWF0cywgbnVt X2Zvcm1hdHMsCj4gLQkJCQkgICAgICAgdHlwZSwgTlVMTCk7Cj4gKwkJCQkgICAgICAgTlVMTCwg dHlwZSwgTlVMTCk7Cj4gIAlpZiAoZXJyKQo+ICAJCWdvdG8gZnJlZV9wbGFuZTsKPiAgCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYyBiL2RyaXZl cnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUuYwo+IGluZGV4IGRjZGU2Mjg4ZGE2Yy4u MmIwMmVjY2JmYjcwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJf ZHVfcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfcGxhbmUu Ywo+IEBAIC03NDMsOCArNzQzLDggQEAgaW50IHJjYXJfZHVfcGxhbmVzX2luaXQoc3RydWN0IHJj YXJfZHVfZ3JvdXAgKnJncnApCj4gIAo+ICAJCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5p dChyY2R1LT5kZGV2LCAmcGxhbmUtPnBsYW5lLCBjcnRjcywKPiAgCQkJCQkgICAgICAgJnJjYXJf ZHVfcGxhbmVfZnVuY3MsIGZvcm1hdHMsCj4gLQkJCQkJICAgICAgIEFSUkFZX1NJWkUoZm9ybWF0 cyksIHR5cGUsCj4gLQkJCQkJICAgICAgIE5VTEwpOwo+ICsJCQkJCSAgICAgICBBUlJBWV9TSVpF KGZvcm1hdHMpLAo+ICsJCQkJCSAgICAgICBOVUxMLCB0eXBlLCBOVUxMKTsKPiAgCQlpZiAocmV0 IDwgMCkKPiAgCQkJcmV0dXJuIHJldDsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1 X3ZzcC5jCj4gaW5kZXggYjBmZjMwNGNlM2RjLi5lMGMwNTRmOWI1N2EgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV92c3AuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMKPiBAQCAtMzY4LDggKzM2OCw4IEBAIGludCByY2Fy X2R1X3ZzcF9pbml0KHN0cnVjdCByY2FyX2R1X3ZzcCAqdnNwKQo+ICAJCQkJCSAgICAgICAxIDw8 IHZzcC0+aW5kZXgsCj4gIAkJCQkJICAgICAgICZyY2FyX2R1X3ZzcF9wbGFuZV9mdW5jcywKPiAg CQkJCQkgICAgICAgZm9ybWF0c19rbXMsCj4gLQkJCQkJICAgICAgIEFSUkFZX1NJWkUoZm9ybWF0 c19rbXMpLCB0eXBlLAo+IC0JCQkJCSAgICAgICBOVUxMKTsKPiArCQkJCQkgICAgICAgQVJSQVlf U0laRShmb3JtYXRzX2ttcyksCj4gKwkJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwo+ICAJ CWlmIChyZXQgPCAwKQo+ICAJCQlyZXR1cm4gcmV0Owo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9y b2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPiBpbmRleCAzZjdhODJkMWUwOTUuLmQwY2Y1N2Rl OWFmYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJt X3ZvcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3Au Ywo+IEBAIC0xMjgwLDcgKzEyODAsNyBAQCBzdGF0aWMgaW50IHZvcF9jcmVhdGVfY3J0YyhzdHJ1 Y3Qgdm9wICp2b3ApCj4gIAkJCQkJICAgICAgIDAsICZ2b3BfcGxhbmVfZnVuY3MsCj4gIAkJCQkJ ICAgICAgIHdpbl9kYXRhLT5waHktPmRhdGFfZm9ybWF0cywKPiAgCQkJCQkgICAgICAgd2luX2Rh dGEtPnBoeS0+bmZvcm1hdHMsCj4gLQkJCQkJICAgICAgIHdpbl9kYXRhLT50eXBlLCBOVUxMKTsK PiArCQkJCQkgICAgICAgTlVMTCwgd2luX2RhdGEtPnR5cGUsIE5VTEwpOwo+ICAJCWlmIChyZXQp IHsKPiAgCQkJRFJNX0RFVl9FUlJPUih2b3AtPmRldiwgImZhaWxlZCB0byBpbml0IHBsYW5lICVk XG4iLAo+ICAJCQkJICAgICAgcmV0KTsKPiBAQCAtMTMxOSw3ICsxMzE5LDcgQEAgc3RhdGljIGlu dCB2b3BfY3JlYXRlX2NydGMoc3RydWN0IHZvcCAqdm9wKQo+ICAJCQkJCSAgICAgICAmdm9wX3Bs YW5lX2Z1bmNzLAo+ICAJCQkJCSAgICAgICB3aW5fZGF0YS0+cGh5LT5kYXRhX2Zvcm1hdHMsCj4g IAkJCQkJICAgICAgIHdpbl9kYXRhLT5waHktPm5mb3JtYXRzLAo+IC0JCQkJCSAgICAgICB3aW5f ZGF0YS0+dHlwZSwgTlVMTCk7Cj4gKwkJCQkJICAgICAgIE5VTEwsIHdpbl9kYXRhLT50eXBlLCBO VUxMKTsKPiAgCQlpZiAocmV0KSB7Cj4gIAkJCURSTV9ERVZfRVJST1Iodm9wLT5kZXYsICJmYWls ZWQgdG8gaW5pdCBvdmVybGF5ICVkXG4iLAo+ICAJCQkJICAgICAgcmV0KTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV9jdXJzb3IuYwo+IGluZGV4IGNjYTc1YmRkYjlhZC4uOTdjMjVlMjA0YmY0IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2N1cnNvci5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3N0aS9zdGlfY3Vyc29yLmMKPiBAQCAtMzkzLDcgKzM5Myw3IEBAIHN0cnVjdCBkcm1f cGxhbmUgKnN0aV9jdXJzb3JfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LAo+ICAJ CQkJICAgICAgICZzdGlfY3Vyc29yX3BsYW5lX2hlbHBlcnNfZnVuY3MsCj4gIAkJCQkgICAgICAg Y3Vyc29yX3N1cHBvcnRlZF9mb3JtYXRzLAo+ICAJCQkJICAgICAgIEFSUkFZX1NJWkUoY3Vyc29y X3N1cHBvcnRlZF9mb3JtYXRzKSwKPiAtCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9DVVJTT1Is IE5VTEwpOwo+ICsJCQkJICAgICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7 Cj4gIAlpZiAocmVzKSB7Cj4gIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB1bml2 ZXJzYWwgcGxhbmVcbiIpOwo+ICAJCWdvdG8gZXJyX3BsYW5lOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vc3RpL3N0aV9nZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2dkcC5j Cj4gaW5kZXggODhmMTZjZGY2YTRiLi43MDM5MTYwM2MxMmQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfZ2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9n ZHAuYwo+IEBAIC05MzIsNyArOTMyLDcgQEAgc3RydWN0IGRybV9wbGFuZSAqc3RpX2dkcF9jcmVh dGUoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCj4gIAkJCQkgICAgICAgJnN0aV9nZHBfcGxh bmVfaGVscGVyc19mdW5jcywKPiAgCQkJCSAgICAgICBnZHBfc3VwcG9ydGVkX2Zvcm1hdHMsCj4g IAkJCQkgICAgICAgQVJSQVlfU0laRShnZHBfc3VwcG9ydGVkX2Zvcm1hdHMpLAo+IC0JCQkJICAg ICAgIHR5cGUsIE5VTEwpOwo+ICsJCQkJICAgICAgIE5VTEwsIHR5cGUsIE5VTEwpOwo+ICAJaWYg KHJlcykgewo+ICAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGluaXRpYWxpemUgdW5pdmVyc2FsIHBs YW5lXG4iKTsKPiAgCQlnb3RvIGVycjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0 aS9zdGlfaHF2ZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hxdmRwLmMKPiBpbmRleCA2 NmY4NDMxNDhlZjcuLjlhMWZmMzUyODIwZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v c3RpL3N0aV9ocXZkcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaHF2ZHAuYwo+ IEBAIC0xMjk2LDcgKzEyOTYsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqc3RpX2hxdmRw X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwKPiAgCQkJCSAgICAgICAmc3RpX2hx dmRwX3BsYW5lX2hlbHBlcnNfZnVuY3MsCj4gIAkJCQkgICAgICAgaHF2ZHBfc3VwcG9ydGVkX2Zv cm1hdHMsCj4gIAkJCQkgICAgICAgQVJSQVlfU0laRShocXZkcF9zdXBwb3J0ZWRfZm9ybWF0cyks Cj4gLQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwgTlVMTCk7Cj4gKwkJCQkgICAg ICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwgTlVMTCk7Cj4gIAlpZiAocmVzKSB7Cj4g IAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB1bml2ZXJzYWwgcGxhbmVcbiIpOwo+ ICAJCXJldHVybiBOVUxMOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3Vu NGlfbGF5ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sYXllci5jCj4gaW5kZXgg ZjI2YmRlNWI5MTE3Li4yZDlmOGQwMWFjMmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3N1bjRpL3N1bjRpX2xheWVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlf bGF5ZXIuYwo+IEBAIC0xMTUsNyArMTE1LDcgQEAgc3RhdGljIHN0cnVjdCBzdW40aV9sYXllciAq c3VuNGlfbGF5ZXJfaW5pdF9vbmUoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKPiAgCXJldCA9IGRy bV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZsYXllci0+cGxhbmUsIDAsCj4gIAkJCQkgICAg ICAgJnN1bjRpX2JhY2tlbmRfbGF5ZXJfZnVuY3MsCj4gIAkJCQkgICAgICAgcGxhbmUtPmZvcm1h dHMsIHBsYW5lLT5uZm9ybWF0cywKPiAtCQkJCSAgICAgICBwbGFuZS0+dHlwZSwgTlVMTCk7Cj4g KwkJCQkgICAgICAgTlVMTCwgcGxhbmUtPnR5cGUsIE5VTEwpOwo+ICAJaWYgKHJldCkgewo+ICAJ CWRldl9lcnIoZHJtLT5kZXYsICJDb3VsZG4ndCBpbml0aWFsaXplIGxheWVyXG4iKTsKPiAgCQly ZXR1cm4gRVJSX1BUUihyZXQpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEv ZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kYy5jCj4gaW5kZXggOTViMzczZjczOWYyLi4w MzgwZWRkMDU0YWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RjLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwo+IEBAIC02NTUsOCArNjU1LDggQEAgc3Rh dGljIHN0cnVjdCBkcm1fcGxhbmUgKnRlZ3JhX2RjX3ByaW1hcnlfcGxhbmVfY3JlYXRlKHN0cnVj dCBkcm1fZGV2aWNlICpkcm0sCj4gIAo+ICAJZXJyID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0 KGRybSwgJnBsYW5lLT5iYXNlLCBwb3NzaWJsZV9jcnRjcywKPiAgCQkJCSAgICAgICAmdGVncmFf cHJpbWFyeV9wbGFuZV9mdW5jcywgZm9ybWF0cywKPiAtCQkJCSAgICAgICBudW1fZm9ybWF0cywg RFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwKPiAtCQkJCSAgICAgICBOVUxMKTsKPiArCQkJCSAgICAg ICBudW1fZm9ybWF0cywgTlVMTCwKPiArCQkJCSAgICAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZ LCBOVUxMKTsKPiAgCWlmIChlcnIgPCAwKSB7Cj4gIAkJa2ZyZWUocGxhbmUpOwo+ICAJCXJldHVy biBFUlJfUFRSKGVycik7Cj4gQEAgLTgyMSw4ICs4MjEsOCBAQCBzdGF0aWMgc3RydWN0IGRybV9w bGFuZSAqdGVncmFfZGNfY3Vyc29yX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJt LAo+ICAKPiAgCWVyciA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZwbGFuZS0+YmFz ZSwgMSA8PCBkYy0+cGlwZSwKPiAgCQkJCSAgICAgICAmdGVncmFfY3Vyc29yX3BsYW5lX2Z1bmNz LCBmb3JtYXRzLAo+IC0JCQkJICAgICAgIG51bV9mb3JtYXRzLCBEUk1fUExBTkVfVFlQRV9DVVJT T1IsCj4gLQkJCQkgICAgICAgTlVMTCk7Cj4gKwkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIE5VTEws Cj4gKwkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfQ1VSU09SLCBOVUxMKTsKPiAgCWlmIChlcnIg PCAwKSB7Cj4gIAkJa2ZyZWUocGxhbmUpOwo+ICAJCXJldHVybiBFUlJfUFRSKGVycik7Cj4gQEAg LTg4Myw4ICs4ODMsOCBAQCBzdGF0aWMgc3RydWN0IGRybV9wbGFuZSAqdGVncmFfZGNfb3Zlcmxh eV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKPiAgCj4gIAllcnIgPSBkcm1f dW5pdmVyc2FsX3BsYW5lX2luaXQoZHJtLCAmcGxhbmUtPmJhc2UsIDEgPDwgZGMtPnBpcGUsCj4g IAkJCQkgICAgICAgJnRlZ3JhX292ZXJsYXlfcGxhbmVfZnVuY3MsIGZvcm1hdHMsCj4gLQkJCQkg ICAgICAgbnVtX2Zvcm1hdHMsIERSTV9QTEFORV9UWVBFX09WRVJMQVksCj4gLQkJCQkgICAgICAg TlVMTCk7Cj4gKwkJCQkgICAgICAgbnVtX2Zvcm1hdHMsIE5VTEwsCj4gKwkJCQkgICAgICAgRFJN X1BMQU5FX1RZUEVfT1ZFUkxBWSwgTlVMTCk7Cj4gIAlpZiAoZXJyIDwgMCkgewo+ICAJCWtmcmVl KHBsYW5lKTsKPiAgCQlyZXR1cm4gRVJSX1BUUihlcnIpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUu Ywo+IGluZGV4IGQzNGNkNTM5M2E5Yi4uNzRiNWU3YWZkNmU5IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF9wbGFuZS5jCj4gQEAgLTg2MSw3ICs4NjEsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICp2YzRfcGxh bmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJcmV0ID0gZHJtX3VuaXZlcnNhbF9w bGFuZV9pbml0KGRldiwgcGxhbmUsIDAsCj4gIAkJCQkgICAgICAgJnZjNF9wbGFuZV9mdW5jcywK PiAgCQkJCSAgICAgICBmb3JtYXRzLCBudW1fZm9ybWF0cywKPiAtCQkJCSAgICAgICB0eXBlLCBO VUxMKTsKPiArCQkJCSAgICAgICBOVUxMLCB0eXBlLCBOVUxMKTsKPiAgCj4gIAlkcm1fcGxhbmVf aGVscGVyX2FkZChwbGFuZSwgJnZjNF9wbGFuZV9oZWxwZXJfZnVuY3MpOwo+ICAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMgYi9kcml2ZXJzL2dw dS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYwo+IGluZGV4IGFkY2RiZDBhYmVmNi4uNzFiYTQ1 NWFmOTE1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9wbGFu ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3BsYW5lLmMKPiBAQCAt Mjk4LDcgKzI5OCw3IEBAIHN0cnVjdCBkcm1fcGxhbmUgKnZpcnRpb19ncHVfcGxhbmVfaW5pdChz dHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2LAo+ICAJcmV0ID0gZHJtX3VuaXZlcnNhbF9w bGFuZV9pbml0KGRldiwgcGxhbmUsIDEgPDwgaW5kZXgsCj4gIAkJCQkgICAgICAgJnZpcnRpb19n cHVfcGxhbmVfZnVuY3MsCj4gIAkJCQkgICAgICAgZm9ybWF0cywgbmZvcm1hdHMsCj4gLQkJCQkg ICAgICAgdHlwZSwgTlVMTCk7Cj4gKwkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7Cj4gIAlp ZiAocmV0KQo+ICAJCWdvdG8gZXJyX3BsYW5lX2luaXQ7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2xkdS5jCj4gaW5kZXggZDM5ODdiY2Y1M2Y4Li42ZjBiZjZmOWM2ZjggMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfbGR1LmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9sZHUuYwo+IEBAIC00MzksNyArNDM5LDcgQEAgc3RhdGlj IGludCB2bXdfbGR1X2luaXQoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwgdW5zaWduZWQg dW5pdCkKPiAgCQkJCSAgICAgICAwLCAmdm13X2xkdV9wbGFuZV9mdW5jcywKPiAgCQkJCSAgICAg ICB2bXdfcHJpbWFyeV9wbGFuZV9mb3JtYXRzLAo+ICAJCQkJICAgICAgIEFSUkFZX1NJWkUodm13 X3ByaW1hcnlfcGxhbmVfZm9ybWF0cyksCj4gLQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJ TUFSWSwgTlVMTCk7Cj4gKwkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwg TlVMTCk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6 ZSBwcmltYXJ5IHBsYW5lIik7Cj4gIAkJZ290byBlcnJfZnJlZTsKPiBAQCAtNDU0LDcgKzQ1NCw3 IEBAIHN0YXRpYyBpbnQgdm13X2xkdV9pbml0KHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYs IHVuc2lnbmVkIHVuaXQpCj4gIAkJCTAsICZ2bXdfbGR1X2N1cnNvcl9mdW5jcywKPiAgCQkJdm13 X2N1cnNvcl9wbGFuZV9mb3JtYXRzLAo+ICAJCQlBUlJBWV9TSVpFKHZtd19jdXJzb3JfcGxhbmVf Zm9ybWF0cyksCj4gLQkJCURSTV9QTEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7Cj4gKwkJCU5VTEws IERSTV9QTEFORV9UWVBFX0NVUlNPUiwgTlVMTCk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJRFJNX0VS Uk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBjdXJzb3IgcGxhbmUiKTsKPiAgCQlkcm1fcGxhbmVf Y2xlYW51cCgmbGR1LT5iYXNlLnByaW1hcnkpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9z Y3JuLmMKPiBpbmRleCA4ZDdkYzlkZWY3YzIuLjQyNzgwYzljYjkwZiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9zY3JuLmMKPiBAQCAtNjIyLDcgKzYyMiw3IEBAIHN0YXRpYyBpbnQg dm13X3NvdV9pbml0KHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsIHVuc2lnbmVkIHVuaXQp Cj4gIAkJCQkgICAgICAgMCwgJnZtd19zb3VfcGxhbmVfZnVuY3MsCj4gIAkJCQkgICAgICAgdm13 X3ByaW1hcnlfcGxhbmVfZm9ybWF0cywKPiAgCQkJCSAgICAgICBBUlJBWV9TSVpFKHZtd19wcmlt YXJ5X3BsYW5lX2Zvcm1hdHMpLAo+IC0JCQkJICAgICAgIERSTV9QTEFORV9UWVBFX1BSSU1BUlks IE5VTEwpOwo+ICsJCQkJICAgICAgIE5VTEwsIERSTV9QTEFORV9UWVBFX1BSSU1BUlksIE5VTEwp Owo+ICAJaWYgKHJldCkgewo+ICAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGluaXRpYWxpemUgcHJp bWFyeSBwbGFuZSIpOwo+ICAJCWdvdG8gZXJyX2ZyZWU7Cj4gQEAgLTYzNyw3ICs2MzcsNyBAQCBz dGF0aWMgaW50IHZtd19zb3VfaW5pdChzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LCB1bnNp Z25lZCB1bml0KQo+ICAJCQkwLCAmdm13X3NvdV9jdXJzb3JfZnVuY3MsCj4gIAkJCXZtd19jdXJz b3JfcGxhbmVfZm9ybWF0cywKPiAgCQkJQVJSQVlfU0laRSh2bXdfY3Vyc29yX3BsYW5lX2Zvcm1h dHMpLAo+IC0JCQlEUk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwo+ICsJCQlOVUxMLCBEUk1f UExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwo+ICAJaWYgKHJldCkgewo+ICAJCURSTV9FUlJPUigi RmFpbGVkIHRvIGluaXRpYWxpemUgY3Vyc29yIHBsYW5lIik7Cj4gIAkJZHJtX3BsYW5lX2NsZWFu dXAoJnNvdS0+YmFzZS5wcmltYXJ5KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfc3RkdS5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3RkdS5j Cj4gaW5kZXggYmFkMzFiZGYwOWI2Li5mMThmYjk2NmNlOWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3RkdS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfc3RkdS5jCj4gQEAgLTE0NTYsNyArMTQ1Niw3IEBAIHN0YXRpYyBpbnQgdm13 X3N0ZHVfaW5pdChzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LCB1bnNpZ25lZCB1bml0KQo+ ICAJCQkJICAgICAgIDAsICZ2bXdfc3RkdV9wbGFuZV9mdW5jcywKPiAgCQkJCSAgICAgICB2bXdf cHJpbWFyeV9wbGFuZV9mb3JtYXRzLAo+ICAJCQkJICAgICAgIEFSUkFZX1NJWkUodm13X3ByaW1h cnlfcGxhbmVfZm9ybWF0cyksCj4gLQkJCQkgICAgICAgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwg TlVMTCk7Cj4gKwkJCQkgICAgICAgTlVMTCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSwgTlVMTCk7 Cj4gIAlpZiAocmV0KSB7Cj4gIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBwcmlt YXJ5IHBsYW5lIik7Cj4gIAkJZ290byBlcnJfZnJlZTsKPiBAQCAtMTQ3MSw3ICsxNDcxLDcgQEAg c3RhdGljIGludCB2bXdfc3RkdV9pbml0KHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsIHVu c2lnbmVkIHVuaXQpCj4gIAkJCTAsICZ2bXdfc3RkdV9jdXJzb3JfZnVuY3MsCj4gIAkJCXZtd19j dXJzb3JfcGxhbmVfZm9ybWF0cywKPiAgCQkJQVJSQVlfU0laRSh2bXdfY3Vyc29yX3BsYW5lX2Zv cm1hdHMpLAo+IC0JCQlEUk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwo+ICsJCQlOVUxMLCBE Uk1fUExBTkVfVFlQRV9DVVJTT1IsIE5VTEwpOwo+ICAJaWYgKHJldCkgewo+ICAJCURSTV9FUlJP UigiRmFpbGVkIHRvIGluaXRpYWxpemUgY3Vyc29yIHBsYW5lIik7Cj4gIAkJZHJtX3BsYW5lX2Ns ZWFudXAoJnN0ZHUtPmJhc2UucHJpbWFyeSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS96dGUvenhfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfcGxhbmUuYwo+IGluZGV4 IGQ2NDZhYzkzMTY2My4uZWEyOWZlZTAxZjdkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS96dGUvenhfcGxhbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfcGxhbmUuYwo+ IEBAIC01MzksNyArNTM5LDcgQEAgaW50IHp4X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRybSwgc3RydWN0IHp4X3BsYW5lICp6cGxhbmUsCj4gIAo+ICAJcmV0ID0gZHJtX3VuaXZlcnNh bF9wbGFuZV9pbml0KGRybSwgcGxhbmUsIFZPVV9DUlRDX01BU0ssCj4gIAkJCQkgICAgICAgJnp4 X3BsYW5lX2Z1bmNzLCBmb3JtYXRzLCBmb3JtYXRfY291bnQsCj4gLQkJCQkgICAgICAgdHlwZSwg TlVMTCk7Cj4gKwkJCQkgICAgICAgTlVMTCwgdHlwZSwgTlVMTCk7Cj4gIAlpZiAocmV0KSB7Cj4g IAkJRFJNX0RFVl9FUlJPUihkZXYsICJmYWlsZWQgdG8gaW5pdCB1bml2ZXJzYWwgcGxhbmU6ICVk XG4iLCByZXQpOwo+ICAJCXJldHVybiByZXQ7Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9wbGFuZS5oIGIvaW5jbHVkZS9kcm0vZHJtX3BsYW5lLmgKPiBpbmRleCA5YWIzZTcwNDQ4MTIu LjQwMTFkNTUyN2Y0MCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fcGxhbmUuaAo+ICsr KyBiL2luY2x1ZGUvZHJtL2RybV9wbGFuZS5oCj4gQEAgLTM5Miw2ICszOTIsMjAgQEAgc3RydWN0 IGRybV9wbGFuZV9mdW5jcyB7Cj4gIAkgKi8KPiAgCXZvaWQgKCphdG9taWNfcHJpbnRfc3RhdGUp KHN0cnVjdCBkcm1fcHJpbnRlciAqcCwKPiAgCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKnN0YXRlKTsKPiArCj4gKwkvKioKPiArCSAqIEBmb3JtYXRfbW9kX3N1cHBvcnRlZDoK PiArCSAqCj4gKwkgKiBUaGlzIG9wdGlvbmFsIGhvb2sgaXMgdXNlZCBmb3IgdGhlIERSTSB0byBk ZXRlcm1pbmUgaWYgdGhlIGdpdmVuCj4gKwkgKiBmb3JtYXQvbW9kaWZpZXIgY29tYmluYXRpb24g aXMgdmFsaWQgZm9yIHRoZSBwbGFuZS4gVGhpcyBhbGxvd3MgdGhlCj4gKwkgKiBEUk0gdG8gZ2Vu ZXJhdGUgdGhlIGNvcnJlY3QgZm9ybWF0IGJpdG1hc2sgKHdoaWNoIGZvcm1hdHMgYXBwbHkgdG8K PiArCSAqIHdoaWNoIG1vZGlmaWVyKS4KPiArCSAqCj4gKwkgKiBUcnVlIGlmIHRoZSBnaXZlbiBt b2RpZmllciBpcyB2YWxpZCBmb3IgdGhhdCBmb3JtYXQgb24gdGhlIHBsYW5lLgo+ICsJICogRmFs c2Ugb3RoZXJ3aXNlLgo+ICsJICovCj4gKwlib29sICgqZm9ybWF0X21vZF9zdXBwb3J0ZWQpKHN0 cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCB1aW50MzJfdCBmb3JtYXQsCj4gKwkJCQkgICAgIHVpbnQ2 NF90IG1vZGlmaWVyKTsKClRoaXMgYWRkaXRpb25hbCBmdW5jdGlvbiBpcyBub3QgdXNlZCBieSBh bnl0aGluZyBpbiB0aGlzIHBhdGNoLiBXaHkgaW5jbHVkZSBpdCBoZXJlPwoKPiAgfTsKPiAgCj4g IC8qKgo+IEBAIC00ODcsNiArNTAxLDEwIEBAIHN0cnVjdCBkcm1fcGxhbmUgewo+ICAJdW5zaWdu ZWQgaW50IGZvcm1hdF9jb3VudDsKPiAgCWJvb2wgZm9ybWF0X2RlZmF1bHQ7Cj4gIAo+ICsJdWlu dDMyX3QgKmZvcm1hdHM7CgpXaG8ncyB1c2luZyBmb3JtYXRzIGluIHRoaXMgcGF0Y2g/Cgo+ICsJ dWludDY0X3QgKm1vZGlmaWVyczsKPiArCXVuc2lnbmVkIGludCBtb2RpZmllcl9jb3VudDsKPiAr Cj4gIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm YjsKPiAgCj4gQEAgLTUyNywxMyArNTQ1LDE0IEBAIHN0cnVjdCBkcm1fcGxhbmUgewo+ICAKPiAg I2RlZmluZSBvYmpfdG9fcGxhbmUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBkcm1fcGxhbmUs IGJhc2UpCj4gIAo+IC1fX3ByaW50Zig4LCA5KQo+ICtfX3ByaW50Zig5LCAxMCkKPiAgaW50IGRy bV91bml2ZXJzYWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkgICAg IHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJCQkgICAgIHVpbnQzMl90IHBvc3NpYmxlX2Ny dGNzLAo+ICAJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgKmZ1bmNzLAo+ICAJ CQkgICAgIGNvbnN0IHVpbnQzMl90ICpmb3JtYXRzLAo+ICAJCQkgICAgIHVuc2lnbmVkIGludCBm b3JtYXRfY291bnQsCj4gKwkJCSAgICAgY29uc3QgdWludDY0X3QgKmZvcm1hdF9tb2RpZmllcnMs Cj4gIAkJCSAgICAgZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlLAo+ICAJCQkgICAgIGNvbnN0IGNo YXIgKm5hbWUsIC4uLik7Cj4gIGludCBkcm1fcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuaCBi L2luY2x1ZGUvZHJtL2RybV9zaW1wbGVfa21zX2hlbHBlci5oCj4gaW5kZXggMmQzNjUzOGU0YTE3 Li42ZDlhZGJiNDYyOTMgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3NpbXBsZV9rbXNf aGVscGVyLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIuaAo+IEBA IC0xMjIsNiArMTIyLDcgQEAgaW50IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpw aXBlLAo+ICAJCQljb25zdCBzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfZnVuY3MgKmZ1 bmNzLAo+ICAJCQljb25zdCB1aW50MzJfdCAqZm9ybWF0cywgdW5zaWduZWQgaW50IGZvcm1hdF9j b3VudCwKPiArCQkJY29uc3QgdWludDY0X3QgKmZvcm1hdF9tb2RpZmllcnMsCj4gIAkJCXN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ICAKPiAgI2VuZGlmIC8qIF9fTElOVVhfRFJN X1NJTVBMRV9LTVNfSEVMUEVSX0ggKi8KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9k cm1fZm91cmNjLmggYi9pbmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2MuaAo+IGluZGV4IDk5NWM4 ZjljNjkyZi4uZGRhYmJlZWViZGVjIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJt X2ZvdXJjYy5oCj4gKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmgKPiBAQCAtMTg0 LDYgKzE4NCw4IEBAIGV4dGVybiAiQyIgewo+ICAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX1ZFTkRP Ul9WSVZBTlRFIDB4MDYKPiAgLyogYWRkIG1vcmUgdG8gdGhlIGVuZCBhcyBuZWVkZWQgKi8KPiAg Cj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9SRVNFUlZFRAkgICAgICAoKDFVTEwgPDwgNTYpIC0gMSkK PiArCj4gICNkZWZpbmUgZm91cmNjX21vZF9jb2RlKHZlbmRvciwgdmFsKSBcCj4gIAkoKCgoX191 NjQpRFJNX0ZPUk1BVF9NT0RfVkVORE9SXyMjIHZlbmRvcikgPDwgNTYpIHwgKHZhbCAmIDB4MDBm ZmZmZmZmZmZmZmZmZlVMTCkpCj4gIAo+IEBAIC0xOTYsNiArMTk4LDE1IEBAIGV4dGVybiAiQyIg ewo+ICAgKi8KPiAgCj4gIC8qCj4gKyAqIEludmFsaWQgTW9kaWZpZXIKPiArICoKPiArICogVGhp cyBtb2RpZmllciBjYW4gYmUgdXNlZCBhcyBhIHNlbnRpbmVsIHRvIHRlcm1pbmF0ZSBsaXN0LCBv ciB0byBpbml0aWFsaXplIGEKPiArICogdmFyaWFibGUgd2l0aCBhbiBpbnZhbGlkIG1vZGlmaWVy LiBJdCBtaWdodCBhbHNvIGJlIHVzZWQgdG8gcmVwb3J0IGFuIGVycm9yCj4gKyAqIGJhY2sgdG8g dXNlcnNwYWNlIGZvciBjZXJ0YWluIEFQSXMuCj4gKyAqLwo+ICsjZGVmaW5lIERSTV9GT1JNQVRf TU9EX0lOVkFMSUQJZm91cmNjX21vZF9jb2RlKE5PTkUsIERSTV9GT1JNQVRfUkVTRVJWRUQpCj4g Kwo+ICsvKgo+ICAgKiBMaW5lYXIgTGF5b3V0Cj4gICAqCj4gICAqIEp1c3QgcGxhaW4gbGluZWFy IGxheW91dC4gTm90ZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IGZyb20gbm8gc3BlY2lmeWluZyBh bnkKPiAtLSAKPiAyLjEyLjIKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwKCkkgdW5kZXJzdGFuZCB5b3Ugd2FudCB0byBhZGQgc3VwcG9ydCBm b3IgbW9kaWZpZXJzIGludG8gcGxhbmVzIGFuZCBpdCBpcyBzb21ldGhpbmcgdGhhdApJJ20gaW50 ZXJlc3RlZCBpbiwgYnV0IEkgZG9uJ3QgdGhpbmsgdGhpcyBwYXRjaCBpcyBkb2luZyBpdCB3ZWxs IGVub3VnaC4KCkJlc3QgcmVnYXJkcywKTGl2aXUKCi0tIAo9PT09PT09PT09PT09PT09PT09PQp8 IEkgd291bGQgbGlrZSB0byB8CnwgZml4IHRoZSB3b3JsZCwgIHwKfCBidXQgdGhleSdyZSBub3Qg fAp8IGdpdmluZyBtZSB0aGUgICB8CiBcIHNvdXJjZSBjb2RlISAgLwogIC0tLS0tLS0tLS0tLS0t LQogICAgwq9cXyjjg4QpXy/CrwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK