From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/5] dma-buf: remove kmap_atomic interface Date: Mon, 18 Jun 2018 10:18:45 +0200 Message-ID: <20180618081845.GV3438@phenom.ffwll.local> References: <20180601120020.11520-1-christian.koenig@amd.com> <20180601120020.11520-2-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20180601120020.11520-2-christian.koenig-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Christian =?iso-8859-1?Q?K=F6nig?= Cc: linaro-mm-sig-cunTk1MwBs8s++Sfvej+rw@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org T24gRnJpLCBKdW4gMDEsIDIwMTggYXQgMDI6MDA6MTdQTSArMDIwMCwgQ2hyaXN0aWFuIEvDtm5p ZyB3cm90ZToKPiBOZWl0aGVyIHVzZWQgbm9yIGNvcnJlY3RseSBpbXBsZW1lbnRlZCBhbnl3aGVy ZS4gSnVzdCBjb21wbGV0ZWx5IHJlbW92ZQo+IHRoZSBpbnRlcmZhY2UuCj4gCj4gU2lnbmVkLW9m Zi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgoKSSB3b25k ZXIgd2hldGhlciB3ZSBjYW4gbnVrZSB0aGUgbm9ybWFsIGttYXAgc3R1ZmYgdG9vIC4uLiBldmVy eW9uZSBzZWVtcwp0byB3YW50L3VzZSB0aGUgdm1hcCBzdHVmZiBmb3Iga2VybmVsLWludGVybmFs IG1hcHBpbmcgbmVlZHMuCgpBbnl3YXksIHRoaXMgbG9va3MgZ29vZC4KPiAtLS0KPiAgZHJpdmVy cy9kbWEtYnVmL2RtYS1idWYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0NCAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wcmlt ZS5jICAgICAgICAgIHwgIDIgLQo+ICBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9nZW0u YyAgICAgICAgICAgICAgICB8ICAyIC0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jICAg ICAgICAgICAgICAgICAgICAgICAgfCAyNiAtLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jICAgICAgICAgICAgIHwgMTEgLS0tLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2RtYWJ1Zi5jICAgICAgIHwgIDIgLQo+ICBk cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFidWYuYyAgICAgICAgICB8ICAyIC0K PiAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAx NCAtLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2RtYWJ1Zi5jICAgICAgICAgICAg ICAgICAgIHwgMTcgLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3By aW1lLmMgICAgICAgICAgICAgIHwgMTMgLS0tLS0tLQo+ICAuLi4vbWVkaWEvY29tbW9uL3ZpZGVv YnVmMi92aWRlb2J1ZjItZG1hLWNvbnRpZy5jICB8ICAxIC0KPiAgZHJpdmVycy9tZWRpYS9jb21t b24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtc2cuYyAgfCAgMSAtCj4gIGRyaXZlcnMvbWVkaWEv Y29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItdm1hbGxvYy5jIHwgIDEgLQo+ICBkcml2ZXJzL3N0 YWdpbmcvYW5kcm9pZC9pb24vaW9uLmMgICAgICAgICAgICAgICAgICB8ICAyIC0KPiAgZHJpdmVy cy90ZWUvdGVlX3NobS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiAtLS0KPiAg aW5jbHVkZS9kcm0vZHJtX3ByaW1lLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCAt LQo+ICBpbmNsdWRlL2xpbnV4L2RtYS1idWYuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA0IC0tCj4gIDE3IGZpbGVzIGNoYW5nZWQsIDE1MiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYyBiL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVm LmMKPiBpbmRleCBlOTlhOGQxOTk5MWIuLmU0YzY1N2Q5ZmFkNyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jCj4gKysrIGIvZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYwo+ IEBAIC00MDUsNyArNDA1LDYgQEAgc3RydWN0IGRtYV9idWYgKmRtYV9idWZfZXhwb3J0KGNvbnN0 IHN0cnVjdCBkbWFfYnVmX2V4cG9ydF9pbmZvICpleHBfaW5mbykKPiAgCQkJICB8fCAhZXhwX2lu Zm8tPm9wcy0+bWFwX2RtYV9idWYKPiAgCQkJICB8fCAhZXhwX2luZm8tPm9wcy0+dW5tYXBfZG1h X2J1Zgo+ICAJCQkgIHx8ICFleHBfaW5mby0+b3BzLT5yZWxlYXNlCj4gLQkJCSAgfHwgIWV4cF9p bmZvLT5vcHMtPm1hcF9hdG9taWMKPiAgCQkJICB8fCAhZXhwX2luZm8tPm9wcy0+bWFwCj4gIAkJ CSAgfHwgIWV4cF9pbmZvLT5vcHMtPm1tYXApKSB7Cj4gIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZB TCk7Cj4gQEAgLTY4NywxNCArNjg2LDYgQEAgRVhQT1JUX1NZTUJPTF9HUEwoZG1hX2J1Zl91bm1h cF9hdHRhY2htZW50KTsKPiAgICogICAgICB2b2lkIFwqZG1hX2J1Zl9rbWFwKHN0cnVjdCBkbWFf YnVmIFwqLCB1bnNpZ25lZCBsb25nKTsKPiAgICogICAgICB2b2lkIGRtYV9idWZfa3VubWFwKHN0 cnVjdCBkbWFfYnVmIFwqLCB1bnNpZ25lZCBsb25nLCB2b2lkIFwqKTsKPiAgICoKPiAtICogICBU aGVyZSBhcmUgYWxzbyBhdG9taWMgdmFyaWFudHMgb2YgdGhlc2UgaW50ZXJmYWNlcy4gTGlrZSBm b3Iga21hcCB0aGV5Cj4gLSAqICAgZmFjaWxpdGF0ZSBub24tYmxvY2tpbmcgZmFzdC1wYXRocy4g TmVpdGhlciB0aGUgaW1wb3J0ZXIgbm9yIHRoZSBleHBvcnRlcgo+IC0gKiAgIChpbiB0aGUgY2Fs bGJhY2spIGlzIGFsbG93ZWQgdG8gYmxvY2sgd2hlbiB1c2luZyB0aGVzZS4KPiAtICoKPiAtICog ICBJbnRlcmZhY2VzOjoKPiAtICogICAgICB2b2lkIFwqZG1hX2J1Zl9rbWFwX2F0b21pYyhzdHJ1 Y3QgZG1hX2J1ZiBcKiwgdW5zaWduZWQgbG9uZyk7Cj4gLSAqICAgICAgdm9pZCBkbWFfYnVmX2t1 bm1hcF9hdG9taWMoc3RydWN0IGRtYV9idWYgXCosIHVuc2lnbmVkIGxvbmcsIHZvaWQgXCopOwo+ IC0gKgo+ICAgKiAgIEZvciBpbXBvcnRlcnMgYWxsIHRoZSByZXN0cmljdGlvbnMgb2YgdXNpbmcg a21hcCBhcHBseSwgbGlrZSB0aGUgbGltaXRlZAo+ICAgKiAgIHN1cHBseSBvZiBrbWFwX2F0b21p YyBzbG90cy4gSGVuY2UgYW4gaW1wb3J0ZXIgc2hhbGwgb25seSBob2xkIG9udG8gYXQKPiAgICog ICBtYXggMiBhdG9taWMgZG1hX2J1ZiBrbWFwcyBhdCB0aGUgc2FtZSB0aW1lIChpbiBhbnkgZ2l2 ZW4gcHJvY2VzcyBjb250ZXh0KS4KClRoaXMgaXMgYWxzbyBhYm91dCBhdG9taWMga21hcCAuLi4K CkFuZCB0aGUgc3Vic2VxdWVudCBsYW5ndWFnZSBhcm91bmQgIk5vdGUgdGhhdCB0aGVzZSBjYWxs cyBuZWVkIHRvIGFsd2F5cwpzdWNjZWVkLiIgaXMgYWxzbyBub3QgdHJ1ZSwgbWlnaHQgYmUgZ29v ZCB0byB1cGRhdGUgdGhhdCBzdGF0aW5nIHRoYXQga21hcAppcyBvcHRpb25hbCAobGlrZSB3ZSBz YXkgYWxyZWFkeSBmb3Igdm1hcCkuCgpXaXRoIHRob3NlIGRvY3Mgbml0cyBhZGRyZXNzZWQ6CgpS ZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KCj4gQEAg LTg1OSw0MSArODUwLDYgQEAgaW50IGRtYV9idWZfZW5kX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9i dWYgKmRtYWJ1ZiwKPiAgfQo+ICBFWFBPUlRfU1lNQk9MX0dQTChkbWFfYnVmX2VuZF9jcHVfYWNj ZXNzKTsKPiAgCj4gLS8qKgo+IC0gKiBkbWFfYnVmX2ttYXBfYXRvbWljIC0gTWFwIGEgcGFnZSBv ZiB0aGUgYnVmZmVyIG9iamVjdCBpbnRvIGtlcm5lbCBhZGRyZXNzCj4gLSAqIHNwYWNlLiBUaGUg c2FtZSByZXN0cmljdGlvbnMgYXMgZm9yIGttYXBfYXRvbWljIGFuZCBmcmllbmRzIGFwcGx5Lgo+ IC0gKiBAZG1hYnVmOglbaW5dCWJ1ZmZlciB0byBtYXAgcGFnZSBmcm9tLgo+IC0gKiBAcGFnZV9u dW06CVtpbl0JcGFnZSBpbiBQQUdFX1NJWkUgdW5pdHMgdG8gbWFwLgo+IC0gKgo+IC0gKiBUaGlz IGNhbGwgbXVzdCBhbHdheXMgc3VjY2VlZCwgYW55IG5lY2Vzc2FyeSBwcmVwYXJhdGlvbnMgdGhh dCBtaWdodCBmYWlsCj4gLSAqIG5lZWQgdG8gYmUgZG9uZSBpbiBiZWdpbl9jcHVfYWNjZXNzLgo+ IC0gKi8KPiAtdm9pZCAqZG1hX2J1Zl9rbWFwX2F0b21pYyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVm LCB1bnNpZ25lZCBsb25nIHBhZ2VfbnVtKQo+IC17Cj4gLQlXQVJOX09OKCFkbWFidWYpOwo+IC0K PiAtCXJldHVybiBkbWFidWYtPm9wcy0+bWFwX2F0b21pYyhkbWFidWYsIHBhZ2VfbnVtKTsKPiAt fQo+IC1FWFBPUlRfU1lNQk9MX0dQTChkbWFfYnVmX2ttYXBfYXRvbWljKTsKPiAtCj4gLS8qKgo+ IC0gKiBkbWFfYnVmX2t1bm1hcF9hdG9taWMgLSBVbm1hcCBhIHBhZ2Ugb2J0YWluZWQgYnkgZG1h X2J1Zl9rbWFwX2F0b21pYy4KPiAtICogQGRtYWJ1ZjoJW2luXQlidWZmZXIgdG8gdW5tYXAgcGFn ZSBmcm9tLgo+IC0gKiBAcGFnZV9udW06CVtpbl0JcGFnZSBpbiBQQUdFX1NJWkUgdW5pdHMgdG8g dW5tYXAuCj4gLSAqIEB2YWRkcjoJW2luXQlrZXJuZWwgc3BhY2UgcG9pbnRlciBvYnRhaW5lZCBm cm9tIGRtYV9idWZfa21hcF9hdG9taWMuCj4gLSAqCj4gLSAqIFRoaXMgY2FsbCBtdXN0IGFsd2F5 cyBzdWNjZWVkLgo+IC0gKi8KPiAtdm9pZCBkbWFfYnVmX2t1bm1hcF9hdG9taWMoc3RydWN0IGRt YV9idWYgKmRtYWJ1ZiwgdW5zaWduZWQgbG9uZyBwYWdlX251bSwKPiAtCQkJICAgdm9pZCAqdmFk ZHIpCj4gLXsKPiAtCVdBUk5fT04oIWRtYWJ1Zik7Cj4gLQo+IC0JaWYgKGRtYWJ1Zi0+b3BzLT51 bm1hcF9hdG9taWMpCj4gLQkJZG1hYnVmLT5vcHMtPnVubWFwX2F0b21pYyhkbWFidWYsIHBhZ2Vf bnVtLCB2YWRkcik7Cj4gLX0KPiAtRVhQT1JUX1NZTUJPTF9HUEwoZG1hX2J1Zl9rdW5tYXBfYXRv bWljKTsKPiAtCj4gIC8qKgo+ICAgKiBkbWFfYnVmX2ttYXAgLSBNYXAgYSBwYWdlIG9mIHRoZSBi dWZmZXIgb2JqZWN0IGludG8ga2VybmVsIGFkZHJlc3Mgc3BhY2UuIFRoZQo+ICAgKiBzYW1lIHJl c3RyaWN0aW9ucyBhcyBmb3Iga21hcCBhbmQgZnJpZW5kcyBhcHBseS4KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ByaW1lLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfcHJpbWUuYwo+IGluZGV4IGYxNTAwZjFlYzBmNS4uYTE1NmIz ODkxYTNmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9w cmltZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ByaW1lLmMK PiBAQCAtMjQ0LDkgKzI0NCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgYW1k Z3B1X2RtYWJ1Zl9vcHMgPSB7Cj4gIAkucmVsZWFzZSA9IGRybV9nZW1fZG1hYnVmX3JlbGVhc2Us Cj4gIAkuYmVnaW5fY3B1X2FjY2VzcyA9IGFtZGdwdV9nZW1fYmVnaW5fY3B1X2FjY2VzcywKPiAg CS5tYXAgPSBkcm1fZ2VtX2RtYWJ1Zl9rbWFwLAo+IC0JLm1hcF9hdG9taWMgPSBkcm1fZ2VtX2Rt YWJ1Zl9rbWFwX2F0b21pYywKPiAgCS51bm1hcCA9IGRybV9nZW1fZG1hYnVmX2t1bm1hcCwKPiAt CS51bm1hcF9hdG9taWMgPSBkcm1fZ2VtX2RtYWJ1Zl9rdW5tYXBfYXRvbWljLAo+ICAJLm1tYXAg PSBkcm1fZ2VtX2RtYWJ1Zl9tbWFwLAo+ICAJLnZtYXAgPSBkcm1fZ2VtX2RtYWJ1Zl92bWFwLAo+ ICAJLnZ1bm1hcCA9IGRybV9nZW1fZG1hYnVmX3Z1bm1hcCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2Fy bWFkYV9nZW0uYwo+IGluZGV4IGE5N2Y1MDk3NDNhNS4uM2ZiMzdjNzVjMDY1IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmMKPiBAQCAtNDkwLDggKzQ5MCw2IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgYXJtYWRhX2dlbV9wcmltZV9kbWFidWZfb3BzID0gewo+ ICAJLm1hcF9kbWFfYnVmCT0gYXJtYWRhX2dlbV9wcmltZV9tYXBfZG1hX2J1ZiwKPiAgCS51bm1h cF9kbWFfYnVmCT0gYXJtYWRhX2dlbV9wcmltZV91bm1hcF9kbWFfYnVmLAo+ICAJLnJlbGVhc2UJ PSBkcm1fZ2VtX2RtYWJ1Zl9yZWxlYXNlLAo+IC0JLm1hcF9hdG9taWMJPSBhcm1hZGFfZ2VtX2Rt YWJ1Zl9ub19rbWFwLAo+IC0JLnVubWFwX2F0b21pYwk9IGFybWFkYV9nZW1fZG1hYnVmX25vX2t1 bm1hcCwKPiAgCS5tYXAJCT0gYXJtYWRhX2dlbV9kbWFidWZfbm9fa21hcCwKPiAgCS51bm1hcAkJ PSBhcm1hZGFfZ2VtX2RtYWJ1Zl9ub19rdW5tYXAsCj4gIAkubW1hcAkJPSBhcm1hZGFfZ2VtX2Rt YWJ1Zl9tbWFwLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmMKPiBpbmRleCA0YTNhMjMyZmVhNjcuLmIyOGZhOGY0 NGM4YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX3ByaW1lLmMKPiBAQCAtNDI2LDMwICs0MjYsNiBAQCB2b2lkIGRy bV9nZW1fZG1hYnVmX3Z1bm1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Ziwgdm9pZCAqdmFkZHIp Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fZ2VtX2RtYWJ1Zl92dW5tYXApOwo+ICAKPiAtLyoq Cj4gLSAqIGRybV9nZW1fZG1hYnVmX2ttYXBfYXRvbWljIC0gbWFwX2F0b21pYyBpbXBsZW1lbnRh dGlvbiBmb3IgR0VNCj4gLSAqCj4gLSAqIE5vdCBpbXBsZW1lbnRlZC4gVGhpcyBjYW4gYmUgdXNl ZCBhcyB0aGUgJmRtYV9idWZfb3BzLm1hcF9hdG9taWMgY2FsbGJhY2suCj4gLSAqLwo+IC12b2lk ICpkcm1fZ2VtX2RtYWJ1Zl9rbWFwX2F0b21pYyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwKPiAt CQkJCSB1bnNpZ25lZCBsb25nIHBhZ2VfbnVtKQo+IC17Cj4gLQlyZXR1cm4gTlVMTDsKPiAtfQo+ IC1FWFBPUlRfU1lNQk9MKGRybV9nZW1fZG1hYnVmX2ttYXBfYXRvbWljKTsKPiAtCj4gLS8qKgo+ IC0gKiBkcm1fZ2VtX2RtYWJ1Zl9rdW5tYXBfYXRvbWljIC0gdW5tYXBfYXRvbWljIGltcGxlbWVu dGF0aW9uIGZvciBHRU0KPiAtICoKPiAtICogTm90IGltcGxlbWVudGVkLiBUaGlzIGNhbiBiZSB1 c2VkIGFzIHRoZSAmZG1hX2J1Zl9vcHMudW5tYXBfYXRvbWljIGNhbGxiYWNrLgo+IC0gKi8KPiAt dm9pZCBkcm1fZ2VtX2RtYWJ1Zl9rdW5tYXBfYXRvbWljKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVm LAo+IC0JCQkJICB1bnNpZ25lZCBsb25nIHBhZ2VfbnVtLCB2b2lkICphZGRyKQo+IC17Cj4gLQo+ IC19Cj4gLUVYUE9SVF9TWU1CT0woZHJtX2dlbV9kbWFidWZfa3VubWFwX2F0b21pYyk7Cj4gLQo+ ICAvKioKPiAgICogZHJtX2dlbV9kbWFidWZfa21hcCAtIG1hcCBpbXBsZW1lbnRhdGlvbiBmb3Ig R0VNCj4gICAqCj4gQEAgLTUwMiw5ICs0NzgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9i dWZfb3BzIGRybV9nZW1fcHJpbWVfZG1hYnVmX29wcyA9ICB7Cj4gIAkudW5tYXBfZG1hX2J1ZiA9 IGRybV9nZW1fdW5tYXBfZG1hX2J1ZiwKPiAgCS5yZWxlYXNlID0gZHJtX2dlbV9kbWFidWZfcmVs ZWFzZSwKPiAgCS5tYXAgPSBkcm1fZ2VtX2RtYWJ1Zl9rbWFwLAo+IC0JLm1hcF9hdG9taWMgPSBk cm1fZ2VtX2RtYWJ1Zl9rbWFwX2F0b21pYywKPiAgCS51bm1hcCA9IGRybV9nZW1fZG1hYnVmX2t1 bm1hcCwKPiAtCS51bm1hcF9hdG9taWMgPSBkcm1fZ2VtX2RtYWJ1Zl9rdW5tYXBfYXRvbWljLAo+ ICAJLm1tYXAgPSBkcm1fZ2VtX2RtYWJ1Zl9tbWFwLAo+ICAJLnZtYXAgPSBkcm1fZ2VtX2RtYWJ1 Zl92bWFwLAo+ICAJLnZ1bm1hcCA9IGRybV9nZW1fZG1hYnVmX3Z1bm1hcCwKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9kbWFidWYuYwo+IGluZGV4IDY5YTdhZWM0OWU4NC4uODJlMmNhMTdh NDQxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKPiBAQCAtMTEx LDE1ICsxMTEsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9kbWFidWZfdnVubWFwKHN0cnVjdCBk bWFfYnVmICpkbWFfYnVmLCB2b2lkICp2YWRkcikKPiAgCWk5MTVfZ2VtX29iamVjdF91bnBpbl9t YXAob2JqKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgKmk5MTVfZ2VtX2RtYWJ1Zl9rbWFwX2F0 b21pYyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwgdW5zaWduZWQgbG9uZyBwYWdlX251bSkKPiAt ewo+IC0JcmV0dXJuIE5VTEw7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkIGk5MTVfZ2VtX2RtYWJ1 Zl9rdW5tYXBfYXRvbWljKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCB1bnNpZ25lZCBsb25nIHBh Z2VfbnVtLCB2b2lkICphZGRyKQo+IC17Cj4gLQo+IC19Cj4gIHN0YXRpYyB2b2lkICppOTE1X2dl bV9kbWFidWZfa21hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwgdW5zaWduZWQgbG9uZyBwYWdl X251bSkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGRtYV9idWZf dG9fb2JqKGRtYV9idWYpOwo+IEBAIC0yMjUsOSArMjE2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBkbWFfYnVmX29wcyBpOTE1X2RtYWJ1Zl9vcHMgPSAgewo+ICAJLnVubWFwX2RtYV9idWYgPSBp OTE1X2dlbV91bm1hcF9kbWFfYnVmLAo+ICAJLnJlbGVhc2UgPSBkcm1fZ2VtX2RtYWJ1Zl9yZWxl YXNlLAo+ICAJLm1hcCA9IGk5MTVfZ2VtX2RtYWJ1Zl9rbWFwLAo+IC0JLm1hcF9hdG9taWMgPSBp OTE1X2dlbV9kbWFidWZfa21hcF9hdG9taWMsCj4gIAkudW5tYXAgPSBpOTE1X2dlbV9kbWFidWZf a3VubWFwLAo+IC0JLnVubWFwX2F0b21pYyA9IGk5MTVfZ2VtX2RtYWJ1Zl9rdW5tYXBfYXRvbWlj LAo+ICAJLm1tYXAgPSBpOTE1X2dlbV9kbWFidWZfbW1hcCwKPiAgCS52bWFwID0gaTkxNV9nZW1f ZG1hYnVmX3ZtYXAsCj4gIAkudnVubWFwID0gaTkxNV9nZW1fZG1hYnVmX3Z1bm1hcCwKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZG1hYnVmLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19kbWFidWYuYwo+IGluZGV4IDMwMmY3 ZDEwMzYzNS4uZjgxZmRhOGVhNDVlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9tb2NrX2RtYWJ1Zi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL21vY2tfZG1hYnVmLmMKPiBAQCAtMTMwLDkgKzEzMCw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZG1hX2J1Zl9vcHMgbW9ja19kbWFidWZfb3BzID0gIHsKPiAgCS51bm1hcF9kbWFfYnVm ID0gbW9ja191bm1hcF9kbWFfYnVmLAo+ICAJLnJlbGVhc2UgPSBtb2NrX2RtYWJ1Zl9yZWxlYXNl LAo+ICAJLm1hcCA9IG1vY2tfZG1hYnVmX2ttYXAsCj4gLQkubWFwX2F0b21pYyA9IG1vY2tfZG1h YnVmX2ttYXBfYXRvbWljLAo+ICAJLnVubWFwID0gbW9ja19kbWFidWZfa3VubWFwLAo+IC0JLnVu bWFwX2F0b21pYyA9IG1vY2tfZG1hYnVmX2t1bm1hcF9hdG9taWMsCj4gIAkubW1hcCA9IG1vY2tf ZG1hYnVmX21tYXAsCj4gIAkudm1hcCA9IG1vY2tfZG1hYnVmX3ZtYXAsCj4gIAkudnVubWFwID0g bW9ja19kbWFidWZfdnVubWFwLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9vbWFwX2dlbV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtX2Rt YWJ1Zi5jCj4gaW5kZXggOGU0MWQ2NDllMjQ4Li4xYTA3M2Y5YjI4MzQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW1fZG1hYnVmLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFidWYuYwo+IEBAIC0xNDgsOCArMTQ4LDYgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyBvbWFwX2RtYWJ1Zl9vcHMgPSB7Cj4gIAku cmVsZWFzZSA9IGRybV9nZW1fZG1hYnVmX3JlbGVhc2UsCj4gIAkuYmVnaW5fY3B1X2FjY2VzcyA9 IG9tYXBfZ2VtX2RtYWJ1Zl9iZWdpbl9jcHVfYWNjZXNzLAo+ICAJLmVuZF9jcHVfYWNjZXNzID0g b21hcF9nZW1fZG1hYnVmX2VuZF9jcHVfYWNjZXNzLAo+IC0JLm1hcF9hdG9taWMgPSBvbWFwX2dl bV9kbWFidWZfa21hcF9hdG9taWMsCj4gLQkudW5tYXBfYXRvbWljID0gb21hcF9nZW1fZG1hYnVm X2t1bm1hcF9hdG9taWMsCj4gIAkubWFwID0gb21hcF9nZW1fZG1hYnVmX2ttYXAsCj4gIAkudW5t YXAgPSBvbWFwX2dlbV9kbWFidWZfa3VubWFwLAo+ICAJLm1tYXAgPSBvbWFwX2dlbV9kbWFidWZf bW1hcCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jIGIvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2dlbS5jCj4gaW5kZXggOGIwYjRmZjY0YmI0Li5kNzY2MTcwMmMxMWMg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2dlbS5jCj4gQEAgLTU5NiwxOCArNTk2LDYgQEAgc3RhdGljIGludCB0 ZWdyYV9nZW1fcHJpbWVfZW5kX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYgKmJ1ZiwKPiAgCXJl dHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCAqdGVncmFfZ2VtX3ByaW1lX2ttYXBfYXRv bWljKHN0cnVjdCBkbWFfYnVmICpidWYsCj4gLQkJCQkJIHVuc2lnbmVkIGxvbmcgcGFnZSkKPiAt ewo+IC0JcmV0dXJuIE5VTEw7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkIHRlZ3JhX2dlbV9wcmlt ZV9rdW5tYXBfYXRvbWljKHN0cnVjdCBkbWFfYnVmICpidWYsCj4gLQkJCQkJICB1bnNpZ25lZCBs b25nIHBhZ2UsCj4gLQkJCQkJICB2b2lkICphZGRyKQo+IC17Cj4gLX0KPiAtCj4gIHN0YXRpYyB2 b2lkICp0ZWdyYV9nZW1fcHJpbWVfa21hcChzdHJ1Y3QgZG1hX2J1ZiAqYnVmLCB1bnNpZ25lZCBs b25nIHBhZ2UpCj4gIHsKPiAgCXJldHVybiBOVUxMOwo+IEBAIC02NDgsOCArNjM2LDYgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyB0ZWdyYV9nZW1fcHJpbWVfZG1hYnVmX29wcyA9 IHsKPiAgCS5yZWxlYXNlID0gdGVncmFfZ2VtX3ByaW1lX3JlbGVhc2UsCj4gIAkuYmVnaW5fY3B1 X2FjY2VzcyA9IHRlZ3JhX2dlbV9wcmltZV9iZWdpbl9jcHVfYWNjZXNzLAo+ICAJLmVuZF9jcHVf YWNjZXNzID0gdGVncmFfZ2VtX3ByaW1lX2VuZF9jcHVfYWNjZXNzLAo+IC0JLm1hcF9hdG9taWMg PSB0ZWdyYV9nZW1fcHJpbWVfa21hcF9hdG9taWMsCj4gLQkudW5tYXBfYXRvbWljID0gdGVncmFf Z2VtX3ByaW1lX2t1bm1hcF9hdG9taWMsCj4gIAkubWFwID0gdGVncmFfZ2VtX3ByaW1lX2ttYXAs Cj4gIAkudW5tYXAgPSB0ZWdyYV9nZW1fcHJpbWVfa3VubWFwLAo+ICAJLm1tYXAgPSB0ZWdyYV9n ZW1fcHJpbWVfbW1hcCwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZG1h YnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kbWFidWYuYwo+IGluZGV4IDVmZGM4YmRj MjAyNi4uYWU3MjI1ZGVkYzMwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRs X2RtYWJ1Zi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZG1hYnVmLmMKPiBAQCAt MTU2LDI3ICsxNTYsMTIgQEAgc3RhdGljIHZvaWQgKnVkbF9kbWFidWZfa21hcChzdHJ1Y3QgZG1h X2J1ZiAqZG1hX2J1ZiwgdW5zaWduZWQgbG9uZyBwYWdlX251bSkKPiAgCXJldHVybiBOVUxMOwo+ ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCAqdWRsX2RtYWJ1Zl9rbWFwX2F0b21pYyhzdHJ1Y3QgZG1h X2J1ZiAqZG1hX2J1ZiwKPiAtCQkJCSAgICB1bnNpZ25lZCBsb25nIHBhZ2VfbnVtKQo+IC17Cj4g LQkvKiBUT0RPICovCj4gLQo+IC0JcmV0dXJuIE5VTEw7Cj4gLX0KPiAtCj4gIHN0YXRpYyB2b2lk IHVkbF9kbWFidWZfa3VubWFwKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLAo+ICAJCQkgICAgICB1 bnNpZ25lZCBsb25nIHBhZ2VfbnVtLCB2b2lkICphZGRyKQo+ICB7Cj4gIAkvKiBUT0RPICovCj4g IH0KPiAgCj4gLXN0YXRpYyB2b2lkIHVkbF9kbWFidWZfa3VubWFwX2F0b21pYyhzdHJ1Y3QgZG1h X2J1ZiAqZG1hX2J1ZiwKPiAtCQkJCSAgICAgdW5zaWduZWQgbG9uZyBwYWdlX251bSwKPiAtCQkJ CSAgICAgdm9pZCAqYWRkcikKPiAtewo+IC0JLyogVE9ETyAqLwo+IC19Cj4gLQo+ICBzdGF0aWMg aW50IHVkbF9kbWFidWZfbW1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwKPiAgCQkJICAgc3Ry dWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCj4gIHsKPiBAQCAtMTkxLDkgKzE3Niw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgdWRsX2RtYWJ1Zl9vcHMgPSB7Cj4gIAkubWFwX2Rt YV9idWYJCT0gdWRsX21hcF9kbWFfYnVmLAo+ICAJLnVubWFwX2RtYV9idWYJCT0gdWRsX3VubWFw X2RtYV9idWYsCj4gIAkubWFwCQkJPSB1ZGxfZG1hYnVmX2ttYXAsCj4gLQkubWFwX2F0b21pYwkJ PSB1ZGxfZG1hYnVmX2ttYXBfYXRvbWljLAo+ICAJLnVubWFwCQkJPSB1ZGxfZG1hYnVmX2t1bm1h cCwKPiAtCS51bm1hcF9hdG9taWMJCT0gdWRsX2RtYWJ1Zl9rdW5tYXBfYXRvbWljLAo+ICAJLm1t YXAJCQk9IHVkbF9kbWFidWZfbW1hcCwKPiAgCS5yZWxlYXNlCQk9IGRybV9nZW1fZG1hYnVmX3Jl bGVhc2UsCj4gIH07Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4 X3ByaW1lLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9wcmltZS5jCj4gaW5kZXgg ZmJmZmIzN2NjZjQyLi4zNzNiYzZkYTJmODQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfcHJpbWUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13 Z2Z4X3ByaW1lLmMKPiBAQCAtNzEsMTcgKzcxLDYgQEAgc3RhdGljIHZvaWQgdm13X3ByaW1lX2Rt YWJ1Zl92dW5tYXAoc3RydWN0IGRtYV9idWYgKmRtYV9idWYsIHZvaWQgKnZhZGRyKQo+ICB7Cj4g IH0KPiAgCj4gLXN0YXRpYyB2b2lkICp2bXdfcHJpbWVfZG1hYnVmX2ttYXBfYXRvbWljKHN0cnVj dCBkbWFfYnVmICpkbWFfYnVmLAo+IC0JCXVuc2lnbmVkIGxvbmcgcGFnZV9udW0pCj4gLXsKPiAt CXJldHVybiBOVUxMOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCB2bXdfcHJpbWVfZG1hYnVmX2t1 bm1hcF9hdG9taWMoc3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4gLQkJdW5zaWduZWQgbG9uZyBw YWdlX251bSwgdm9pZCAqYWRkcikKPiAtewo+IC0KPiAtfQo+ICBzdGF0aWMgdm9pZCAqdm13X3By aW1lX2RtYWJ1Zl9rbWFwKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLAo+ICAJCXVuc2lnbmVkIGxv bmcgcGFnZV9udW0pCj4gIHsKPiBAQCAtMTA4LDkgKzk3LDcgQEAgY29uc3Qgc3RydWN0IGRtYV9i dWZfb3BzIHZtd19wcmltZV9kbWFidWZfb3BzID0gIHsKPiAgCS51bm1hcF9kbWFfYnVmID0gdm13 X3ByaW1lX3VubWFwX2RtYV9idWYsCj4gIAkucmVsZWFzZSA9IE5VTEwsCj4gIAkubWFwID0gdm13 X3ByaW1lX2RtYWJ1Zl9rbWFwLAo+IC0JLm1hcF9hdG9taWMgPSB2bXdfcHJpbWVfZG1hYnVmX2tt YXBfYXRvbWljLAo+ICAJLnVubWFwID0gdm13X3ByaW1lX2RtYWJ1Zl9rdW5tYXAsCj4gLQkudW5t YXBfYXRvbWljID0gdm13X3ByaW1lX2RtYWJ1Zl9rdW5tYXBfYXRvbWljLAo+ICAJLm1tYXAgPSB2 bXdfcHJpbWVfZG1hYnVmX21tYXAsCj4gIAkudm1hcCA9IHZtd19wcmltZV9kbWFidWZfdm1hcCwK PiAgCS52dW5tYXAgPSB2bXdfcHJpbWVfZG1hYnVmX3Z1bm1hcCwKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtY29udGlnLmMgYi9kcml2 ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLWRtYS1jb250aWcuYwo+IGluZGV4 IDEyZDAwNzJjNTJjMi4uYWZmMGFiN2JmODNkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEv Y29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLWNvbnRpZy5jCj4gKysrIGIvZHJpdmVycy9t ZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtY29udGlnLmMKPiBAQCAtMzU4LDcg KzM1OCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgdmIyX2RjX2RtYWJ1Zl9v cHMgPSB7Cj4gIAkubWFwX2RtYV9idWYgPSB2YjJfZGNfZG1hYnVmX29wc19tYXAsCj4gIAkudW5t YXBfZG1hX2J1ZiA9IHZiMl9kY19kbWFidWZfb3BzX3VubWFwLAo+ICAJLm1hcCA9IHZiMl9kY19k bWFidWZfb3BzX2ttYXAsCj4gLQkubWFwX2F0b21pYyA9IHZiMl9kY19kbWFidWZfb3BzX2ttYXAs Cj4gIAkudm1hcCA9IHZiMl9kY19kbWFidWZfb3BzX3ZtYXAsCj4gIAkubW1hcCA9IHZiMl9kY19k bWFidWZfb3BzX21tYXAsCj4gIAkucmVsZWFzZSA9IHZiMl9kY19kbWFidWZfb3BzX3JlbGVhc2Us Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjIt ZG1hLXNnLmMgYi9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLWRtYS1z Zy5jCj4gaW5kZXggY2Y5NDc2NWU1OTNmLi4wMTVlNzM3MDk1Y2QgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtc2cuYwo+ICsrKyBiL2Ry aXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLXNnLmMKPiBAQCAtNTA3 LDcgKzUwNyw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgdmIyX2RtYV9zZ19k bWFidWZfb3BzID0gewo+ICAJLm1hcF9kbWFfYnVmID0gdmIyX2RtYV9zZ19kbWFidWZfb3BzX21h cCwKPiAgCS51bm1hcF9kbWFfYnVmID0gdmIyX2RtYV9zZ19kbWFidWZfb3BzX3VubWFwLAo+ICAJ Lm1hcCA9IHZiMl9kbWFfc2dfZG1hYnVmX29wc19rbWFwLAo+IC0JLm1hcF9hdG9taWMgPSB2YjJf ZG1hX3NnX2RtYWJ1Zl9vcHNfa21hcCwKPiAgCS52bWFwID0gdmIyX2RtYV9zZ19kbWFidWZfb3Bz X3ZtYXAsCj4gIAkubW1hcCA9IHZiMl9kbWFfc2dfZG1hYnVmX29wc19tbWFwLAo+ICAJLnJlbGVh c2UgPSB2YjJfZG1hX3NnX2RtYWJ1Zl9vcHNfcmVsZWFzZSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi12bWFsbG9jLmMgYi9kcml2ZXJzL21l ZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXZtYWxsb2MuYwo+IGluZGV4IDI5OGZmYjll Y2RhZS4uNDY3YTQwMDUxNjRiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3Zp ZGVvYnVmMi92aWRlb2J1ZjItdm1hbGxvYy5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9jb21tb24v dmlkZW9idWYyL3ZpZGVvYnVmMi12bWFsbG9jLmMKPiBAQCAtMzQ2LDcgKzM0Niw2IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgdmIyX3ZtYWxsb2NfZG1hYnVmX29wcyA9IHsKPiAg CS5tYXBfZG1hX2J1ZiA9IHZiMl92bWFsbG9jX2RtYWJ1Zl9vcHNfbWFwLAo+ICAJLnVubWFwX2Rt YV9idWYgPSB2YjJfdm1hbGxvY19kbWFidWZfb3BzX3VubWFwLAo+ICAJLm1hcCA9IHZiMl92bWFs bG9jX2RtYWJ1Zl9vcHNfa21hcCwKPiAtCS5tYXBfYXRvbWljID0gdmIyX3ZtYWxsb2NfZG1hYnVm X29wc19rbWFwLAo+ICAJLnZtYXAgPSB2YjJfdm1hbGxvY19kbWFidWZfb3BzX3ZtYXAsCj4gIAku bW1hcCA9IHZiMl92bWFsbG9jX2RtYWJ1Zl9vcHNfbW1hcCwKPiAgCS5yZWxlYXNlID0gdmIyX3Zt YWxsb2NfZG1hYnVmX29wc19yZWxlYXNlLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcv YW5kcm9pZC9pb24vaW9uLmMgYi9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLmMKPiBp bmRleCA1N2UwZDgwMzViMmUuLmE0NjIxOWZmNWUxNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3N0 YWdpbmcvYW5kcm9pZC9pb24vaW9uLmMKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9p b24vaW9uLmMKPiBAQCAtMzc0LDggKzM3NCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1 Zl9vcHMgZG1hX2J1Zl9vcHMgPSB7Cj4gIAkuZGV0YWNoID0gaW9uX2RtYV9idWZfZGV0YXRjaCwK PiAgCS5iZWdpbl9jcHVfYWNjZXNzID0gaW9uX2RtYV9idWZfYmVnaW5fY3B1X2FjY2VzcywKPiAg CS5lbmRfY3B1X2FjY2VzcyA9IGlvbl9kbWFfYnVmX2VuZF9jcHVfYWNjZXNzLAo+IC0JLm1hcF9h dG9taWMgPSBpb25fZG1hX2J1Zl9rbWFwLAo+IC0JLnVubWFwX2F0b21pYyA9IGlvbl9kbWFfYnVm X2t1bm1hcCwKPiAgCS5tYXAgPSBpb25fZG1hX2J1Zl9rbWFwLAo+ICAJLnVubWFwID0gaW9uX2Rt YV9idWZfa3VubWFwLAo+ICB9Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3RlZS90ZWVfc2htLmMg Yi9kcml2ZXJzL3RlZS90ZWVfc2htLmMKPiBpbmRleCA1NTY5NjBhMWJhYjMuLmRmNGExNTUzYjc4 YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3RlZS90ZWVfc2htLmMKPiArKysgYi9kcml2ZXJzL3Rl ZS90ZWVfc2htLmMKPiBAQCAtODAsMTEgKzgwLDYgQEAgc3RhdGljIHZvaWQgdGVlX3NobV9vcF9y ZWxlYXNlKHN0cnVjdCBkbWFfYnVmICpkbWFidWYpCj4gIAl0ZWVfc2htX3JlbGVhc2Uoc2htKTsK PiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgKnRlZV9zaG1fb3BfbWFwX2F0b21pYyhzdHJ1Y3QgZG1h X2J1ZiAqZG1hYnVmLCB1bnNpZ25lZCBsb25nIHBnbnVtKQo+IC17Cj4gLQlyZXR1cm4gTlVMTDsK PiAtfQo+IC0KPiAgc3RhdGljIHZvaWQgKnRlZV9zaG1fb3BfbWFwKHN0cnVjdCBkbWFfYnVmICpk bWFidWYsIHVuc2lnbmVkIGxvbmcgcGdudW0pCj4gIHsKPiAgCXJldHVybiBOVUxMOwo+IEBAIC0x MDcsNyArMTAyLDYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyB0ZWVfc2htX2Rt YV9idWZfb3BzID0gewo+ICAJLm1hcF9kbWFfYnVmID0gdGVlX3NobV9vcF9tYXBfZG1hX2J1ZiwK PiAgCS51bm1hcF9kbWFfYnVmID0gdGVlX3NobV9vcF91bm1hcF9kbWFfYnVmLAo+ICAJLnJlbGVh c2UgPSB0ZWVfc2htX29wX3JlbGVhc2UsCj4gLQkubWFwX2F0b21pYyA9IHRlZV9zaG1fb3BfbWFw X2F0b21pYywKPiAgCS5tYXAgPSB0ZWVfc2htX29wX21hcCwKPiAgCS5tbWFwID0gdGVlX3NobV9v cF9tbWFwLAo+ICB9Owo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcHJpbWUuaCBiL2lu Y2x1ZGUvZHJtL2RybV9wcmltZS5oCj4gaW5kZXggZWYzMzgxNTFjZWE4Li5kNzE2ZDY1M2IwOTYg MTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3ByaW1lLmgKPiArKysgYi9pbmNsdWRlL2Ry bS9kcm1fcHJpbWUuaAo+IEBAIC05MywxMCArOTMsNiBAQCB2b2lkIGRybV9nZW1fdW5tYXBfZG1h X2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gsCj4gIAkJCSAgIGVudW0gZG1h X2RhdGFfZGlyZWN0aW9uIGRpcik7Cj4gIHZvaWQgKmRybV9nZW1fZG1hYnVmX3ZtYXAoc3RydWN0 IGRtYV9idWYgKmRtYV9idWYpOwo+ICB2b2lkIGRybV9nZW1fZG1hYnVmX3Z1bm1hcChzdHJ1Y3Qg ZG1hX2J1ZiAqZG1hX2J1Ziwgdm9pZCAqdmFkZHIpOwo+IC12b2lkICpkcm1fZ2VtX2RtYWJ1Zl9r bWFwX2F0b21pYyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwKPiAtCQkJCSB1bnNpZ25lZCBsb25n IHBhZ2VfbnVtKTsKPiAtdm9pZCBkcm1fZ2VtX2RtYWJ1Zl9rdW5tYXBfYXRvbWljKHN0cnVjdCBk bWFfYnVmICpkbWFfYnVmLAo+IC0JCQkJICB1bnNpZ25lZCBsb25nIHBhZ2VfbnVtLCB2b2lkICph ZGRyKTsKPiAgdm9pZCAqZHJtX2dlbV9kbWFidWZfa21hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1 ZiwgdW5zaWduZWQgbG9uZyBwYWdlX251bSk7Cj4gIHZvaWQgZHJtX2dlbV9kbWFidWZfa3VubWFw KHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCB1bnNpZ25lZCBsb25nIHBhZ2VfbnVtLAo+ICAJCQkg ICB2b2lkICphZGRyKTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kbWEtYnVmLmggYi9p bmNsdWRlL2xpbnV4L2RtYS1idWYuaAo+IGluZGV4IDM0NmNhZjc3OTM3Zi4uZDE3Y2FkZDc2ODAy IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvZG1hLWJ1Zi5oCj4gKysrIGIvaW5jbHVkZS9s aW51eC9kbWEtYnVmLmgKPiBAQCAtMjA1LDggKzIwNSw2IEBAIHN0cnVjdCBkbWFfYnVmX29wcyB7 Cj4gIAkgKiB0byBiZSByZXN0YXJ0ZWQuCj4gIAkgKi8KPiAgCWludCAoKmVuZF9jcHVfYWNjZXNz KShzdHJ1Y3QgZG1hX2J1ZiAqLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbik7Cj4gLQl2b2lkICoo Km1hcF9hdG9taWMpKHN0cnVjdCBkbWFfYnVmICosIHVuc2lnbmVkIGxvbmcpOwo+IC0Jdm9pZCAo KnVubWFwX2F0b21pYykoc3RydWN0IGRtYV9idWYgKiwgdW5zaWduZWQgbG9uZywgdm9pZCAqKTsK PiAgCXZvaWQgKigqbWFwKShzdHJ1Y3QgZG1hX2J1ZiAqLCB1bnNpZ25lZCBsb25nKTsKPiAgCXZv aWQgKCp1bm1hcCkoc3RydWN0IGRtYV9idWYgKiwgdW5zaWduZWQgbG9uZywgdm9pZCAqKTsKPiAg Cj4gQEAgLTM5NCw4ICszOTIsNiBAQCBpbnQgZG1hX2J1Zl9iZWdpbl9jcHVfYWNjZXNzKHN0cnVj dCBkbWFfYnVmICpkbWFfYnVmLAo+ICAJCQkgICAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRp cik7Cj4gIGludCBkbWFfYnVmX2VuZF9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVm LAo+ICAJCQkgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXIpOwo+IC12b2lkICpkbWFfYnVm X2ttYXBfYXRvbWljKHN0cnVjdCBkbWFfYnVmICosIHVuc2lnbmVkIGxvbmcpOwo+IC12b2lkIGRt YV9idWZfa3VubWFwX2F0b21pYyhzdHJ1Y3QgZG1hX2J1ZiAqLCB1bnNpZ25lZCBsb25nLCB2b2lk ICopOwo+ICB2b2lkICpkbWFfYnVmX2ttYXAoc3RydWN0IGRtYV9idWYgKiwgdW5zaWduZWQgbG9u Zyk7Cj4gIHZvaWQgZG1hX2J1Zl9rdW5tYXAoc3RydWN0IGRtYV9idWYgKiwgdW5zaWduZWQgbG9u Zywgdm9pZCAqKTsKPiAgCj4gLS0gCj4gMi4xNC4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2Fy ZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5n IGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==