From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v4 2/2] drm: Add HDMI 2.0 VIC support for AVI info-frames Date: Thu, 23 Mar 2017 17:36:33 +0200 Message-ID: <20170323153633.GV31595@intel.com> References: <1490282059-16331-1-git-send-email-shashank.sharma@intel.com> <1490282059-16331-2-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1490282059-16331-2-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Shashank Sharma Cc: Jose Abreu , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Andrzej Hajda , Alex Deucher , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBNYXIgMjMsIDIwMTcgYXQgMDU6MTQ6MTlQTSArMDIwMCwgU2hhc2hhbmsgU2hhcm1h IHdyb3RlOgo+IEhETUkgMS40YiBzdXBwb3J0IHRoZSBDRUEgdmlkZW8gbW9kZXMgYXMgcGVyIHJh bmdlIG9mIENFQS04NjEtRCAoVklDIDEtNjQpLgo+IEZvciBhbnkgb3RoZXIgbW9kZSwgdGhlIFZJ QyBmaWxlZCBpbiBBVkkgaW5mb2ZyYW1lcyBzaG91bGQgYmUgMC4KPiBIRE1JIDIuMCBzaW5rcywg c3VwcG9ydCB2aWRlbyBtb2RlcyByYW5nZSBhcyBwZXIgQ0VBLTg2MS1GIHNwZWMsIHdoaWNoIGlz Cj4gZXh0ZW5kZWQgdG8gKFZJQyAxLTEwNykuCj4gCj4gVGhpcyBwYXRjaCBhZGRzIGEgYm9vbCBp bnB1dCB2YXJpYWJsZSwgd2hpY2ggaW5kaWNhdGVzIGlmIHRoZSBjb25uZWN0ZWQKPiBzaW5rIGlz IGEgSERNSSAyLjAgc2luayBvciBub3QuIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCB3ZSBkb24n dCBwYXNzIGEKPiBIRE1JIDIuMCBWSUMgdG8gYSBIRE1JIDEuNCBzaW5rLgoKVGhlIHNwZWMgaXMg dW5mb3J0dW5hdGVseSB2YWd1ZSB3aGVuIGl0IGNvbWVzIHRvIHRoZSBDRUEtODYxLUYgVklDCnRy YW5zbWlzc2lvbiB3aGVuIHRoZXJlIGlzIGEgY29ycmVzcG9uZGluZyBIRE1JIFZJQyBmb3IgdGhl IHNhbWUgbW9kZS4KSSdtIG5vdCBzdXJlIGlmIGl0J3MgdGVsbGluZyB1cyB0byBzZXQgYm90aCBv ciBqdXN0IG9uZSBkZXBlbmRpbmcgb24Kd2hldGhlciB3ZSdyZSB0cmFuc21pdHRpbmcgM0Qgdmlk ZW8gb3Igbm90LiBPciBhdCBsZWFzdCBJIGNhbid0IHBhcnNlCnRoYXQgaW5mb3JtYXRpb24gZnJv bSB0aGUgc3BlYy4gQW55b25lIGhhdmUgYSBiZXR0ZXIgY3J5c3RhbCBiYWxsCmluIHRoZWlyIHBv c3Nlc3Npb24/Cgo+IAo+IFRoaXMgcGF0Y2ggdG91Y2hlcyBhbGwgZHJtIGRyaXZlcnMsIHdobyBh cmUgY2FsbGVycyBvZiB0aGlzIGZ1bmN0aW9uCj4gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9t X2Rpc3BsYXlfbW9kZSBidXQgdG8gbWFrZSBzdXJlIHRoZXJlIGlzCj4gbm8gY2hhbmdlIGluIGN1 cnJlbnQgYmVoYXZpb3IsIGlzX2hkbWkyIGlzIGtlcHQgYXMgZmFsc2UuCj4gCj4gSW4gY2FzZSBv ZiBJOTE1IGRyaXZlciwgdGhpcyBwYXRjaCBjaGVja3MgdGhlIGNvbm5lY3Rvci0+ZGlzcGxheV9p bmZvCj4gdG8gY2hlY2sgaWYgdGhlIGNvbm5lY3RlZCBkaXNwbGF5IGlzIEhETUkgMi4wLgo+IAo+ IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzog Sm9zZSBBYnJldSA8am9zZS5hYnJldUBzeW5vcHN5cy5jb20+Cj4gQ2M6IEFuZHJ6ZWogSGFqZGEg PGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNo ZXJAYW1kLmNvbT4KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+ Cj4gCj4gUFM6IFRoaXMgcGF0Y2ggdG91Y2hlcyBhIGZldyBsaW5lcyBpbiBmZXcgZmlsZXMsIHdo aWNoIHdlcmUKPiBhbHJlYWR5IGFib3ZlIDgwIGNoYXIsIHNvIGNoZWNrcGF0Y2ggZ2l2ZXMgODAg Y2hhciB3YXJuaW5nIGFnYWluLgo+IC0gZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCj4g LSBncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsg U2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2RjZV92MTFfMC5jICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZGNlX3Y4XzAuYyAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fu YWxvZ2l4LWFueDc4eHguYyB8ICAzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkw MnguYyAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMv ZHctaGRtaS5jIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICAgICAg ICAgICAgfCAxMiArKysrKysrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3Nf aGRtaS5jICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMg ICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICAg ICAgIHwgIDUgKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jICAgICAg ICAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMgICAgICAg fCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYyAgICB8ICAz ICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jICAgICB8ICAyICst Cj4gIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYyAgICAgIHwgIDIgKy0KPiAg ZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2 ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jICAgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMv Z3B1L2RybS90ZWdyYS9zb3IuYyAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfaGRtaS5jICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0v enRlL3p4X2hkbWkuYyAgICAgICAgICAgICB8ICAyICstCj4gIGluY2x1ZGUvZHJtL2RybV9lZGlk LmggICAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gIDIxIGZpbGVzIGNoYW5nZWQsIDM4IGlu c2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2RjZV92MTBfMC5jCj4gaW5kZXggZDQ0NTJkOC4uYWI3YTM5OSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCj4gQEAgLTE4NzcsNyArMTg3Nyw3IEBAIHN0YXRpYyB2 b2lkIGRjZV92MTBfMF9hZm10X3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ ICAJZGNlX3YxMF8wX2F1ZGlvX3dyaXRlX3NhZF9yZWdzKGVuY29kZXIpOwo+ICAJZGNlX3YxMF8w X2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRzKGVuY29kZXIsIG1vZGUpOwo+ICAKPiAtCWVyciA9 IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsK PiArCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LCBtb2RlLCBmYWxzZSk7Cj4gIAlpZiAoZXJyIDwgMCkgewo+ICAJCURSTV9FUlJPUigiZmFpbGVk IHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKPiAgCQlyZXR1cm47Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKPiBpbmRleCA1YjI0ZTg5Li4zYzVmZDgz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKPiBAQCAtMTg2MSw3 ICsxODYxLDcgQEAgc3RhdGljIHZvaWQgZGNlX3YxMV8wX2FmbXRfc2V0bW9kZShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIsCj4gIAlkY2VfdjExXzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3MoZW5j b2Rlcik7Cj4gIAlkY2VfdjExXzBfYXVkaW9fd3JpdGVfbGF0ZW5jeV9maWVsZHMoZW5jb2Rlciwg bW9kZSk7Cj4gIAo+IC0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlf bW9kZSgmZnJhbWUsIG1vZGUpOwo+ICsJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9t X2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiAgCWlmIChlcnIgPCAwKSB7Cj4g IAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJXpkXG4iLCBlcnIp Owo+ICAJCXJldHVybjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv ZGNlX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKPiBpbmRl eCBkMjU5MGQ3Li5jNTY0ZGNhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2RjZV92OF8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vfdjhf MC5jCj4gQEAgLTE3NjAsNyArMTc2MCw3IEBAIHN0YXRpYyB2b2lkIGRjZV92OF8wX2FmbXRfc2V0 bW9kZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAlkY2VfdjhfMF9hdWRpb193cml0 ZV9zYWRfcmVncyhlbmNvZGVyKTsKPiAgCWRjZV92OF8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmll bGRzKGVuY29kZXIsIG1vZGUpOwo+ICAKPiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiArCWVyciA9IGRybV9oZG1pX2F2aV9p bmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gIAlpZiAo ZXJyIDwgMCkgewo+ICAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6 ICV6ZFxuIiwgZXJyKTsKPiAgCQlyZXR1cm47Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFs b2dpeC1hbng3OHh4LmMKPiBpbmRleCBhMmE4MjM2Li5mOWI3N2I4IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKPiBAQCAtMTA5Nyw3ICsxMDk3LDggQEAg c3RhdGljIHZvaWQgYW54Nzh4eF9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJy aWRnZSwKPiAgCj4gIAltdXRleF9sb2NrKCZhbng3OHh4LT5sb2NrKTsKPiAgCj4gLQllcnIgPSBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqdXN0ZWRf bW9kZSk7Cj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2Rl KCZmcmFtZSwgYWRqdXN0ZWRfbW9kZSwKPiArCQkJCQkJICAgICAgIGZhbHNlKTsKPiAgCWlmIChl cnIpIHsKPiAgCQlEUk1fRVJST1IoIkZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxu IiwgZXJyKTsKPiAgCQlnb3RvIHVubG9jazsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9zaWk5MDJ4LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwo+IGlu ZGV4IDkxMjZkMDMuLmRjZjE1ZDcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9zaWk5MDJ4LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwo+IEBA IC0yNjksNyArMjY5LDcgQEAgc3RhdGljIHZvaWQgc2lpOTAyeF9icmlkZ2VfbW9kZV9zZXQoc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuOwo+ICAKPiAt CXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBh ZGopOwo+ICsJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgm ZnJhbWUsIGFkaiwgZmFsc2UpOwo+ICAJaWYgKHJldCA8IDApIHsKPiAgCQlEUk1fRVJST1IoImNv dWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7Cj4gIAkJcmV0dXJuOwo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4gaW5kZXggYWY5M2Y3YS4uNWZmMjg4NiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jCj4gQEAgLTEx NDYsNyArMTE0Niw3IEBAIHN0YXRpYyB2b2lkIGhkbWlfY29uZmlnX0FWSShzdHJ1Y3QgZHdfaGRt aSAqaGRtaSwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gIAl1OCB2YWw7Cj4gIAo+ ICAJLyogSW5pdGlhbGlzZSBpbmZvIGZyYW1lIGZyb20gRFJNIG1vZGUgKi8KPiAtCWRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiArCWRybV9o ZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7 Cj4gIAo+ICAJaWYgKGhkbWktPmhkbWlfZGF0YS5lbmNfb3V0X2Zvcm1hdCA9PSBZQ0JDUjQ0NCkK PiAgCQlmcmFtZS5jb2xvcnNwYWNlID0gSERNSV9DT0xPUlNQQUNFX1lVVjQ0NDsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Vk aWQuYwo+IGluZGV4IDNiNDk0YzIuLmY5YTRiMDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2RybV9lZGlkLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+IEBAIC00 NjY0LDEyICs0NjY0LDE0IEBAIEVYUE9SVF9TWU1CT0woZHJtX3NldF9wcmVmZXJyZWRfbW9kZSk7 Cj4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEg ZnJvbSBhIERSTSBkaXNwbGF5IG1vZGUKPiAgICogQGZyYW1lOiBIRE1JIEFWSSBpbmZvZnJhbWUK PiAgICogQG1vZGU6IERSTSBkaXNwbGF5IG1vZGUKPiArICogQGlzX2hkbWkyOiBTaW5rIGlzIEhE TUkgMi4wIGNvbXBsaWFudAo+ICAgKgo+ICAgKiBSZXR1cm46IDAgb24gc3VjY2VzcyBvciBhIG5l Z2F0aXZlIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KPiAgICovCj4gIGludAo+ICBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUg KmZyYW1lLAo+IC0JCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAr CQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gKwkJCQkJIGJvb2wg aXNfaGRtaTIpCj4gIHsKPiAgCWludCBlcnI7Cj4gIAo+IEBAIC00Njg1LDYgKzQ2ODcsMTQgQEAg ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlf aW5mb2ZyYW1lICpmcmFtZSwKPiAgCj4gIAlmcmFtZS0+dmlkZW9fY29kZSA9IGRybV9tYXRjaF9j ZWFfbW9kZShtb2RlKTsKPiAgCj4gKwkvKgo+ICsJICogSERNSSAxLjQgVklDIHJhbmdlOiAxIDw9 IFZJQyA8PSA2NCAoQ0VBLTg2MS1EKSBidXQKPiArCSAqIEhETUkgMi4wIFZJQyByYW5nZTogMSA8 PSBWSUMgPD0gMTA3IChDRUEtODYxLUYpLiBTbyB3ZQo+ICsJICogaGF2ZSB0byBtYWtlIHN1cmUg d2UgZG9udCBicmVhayBIRE1JIDEuNCBzaW5rcy4KPiArCSAqLwo+ICsJaWYgKCFpc19oZG1pMiAm JiBmcmFtZS0+dmlkZW9fY29kZSA+IDY0KQo+ICsJCWZyYW1lLT52aWRlb19jb2RlID0gMDsKPiAr Cj4gIAlmcmFtZS0+cGljdHVyZV9hc3BlY3QgPSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4g IAo+ICAJLyoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCj4gaW5kZXggNTI0Mzg0 MC4uNWNiNDRkNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19o ZG1pLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKPiBAQCAt NzgxLDcgKzc4MSw3IEBAIHN0YXRpYyB2b2lkIGhkbWlfcmVnX2luZm9mcmFtZXMoc3RydWN0IGhk bWlfY29udGV4dCAqaGRhdGEpCj4gIAl9Cj4gIAo+ICAJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9m cmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJtLmF2aSwKPiAtCQkJJmhkYXRhLT5jdXJyZW50X21v ZGUpOwo+ICsJCQkmaGRhdGEtPmN1cnJlbnRfbW9kZSwgZmFsc2UpOwo+ICAJaWYgKCFyZXQpCj4g IAkJcmV0ID0gaGRtaV9hdmlfaW5mb2ZyYW1lX3BhY2soJmZybS5hdmksIGJ1Ziwgc2l6ZW9mKGJ1 ZikpOwo+ICAJaWYgKHJldCA+IDApIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2ky Yy90ZGE5OTh4X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCj4gaW5k ZXggODZmNDdlMS4uZDFlN2FjNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTJjL3Rk YTk5OHhfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTJjL3RkYTk5OHhfZHJ2LmMKPiBA QCAtNzEyLDcgKzcxMiw3IEBAIHRkYTk5OHhfd3JpdGVfYXZpKHN0cnVjdCB0ZGE5OTh4X3ByaXYg KnByaXYsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICB7Cj4gIAl1bmlvbiBoZG1p X2luZm9mcmFtZSBmcmFtZTsKPiAgCj4gLQlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOwo+ICsJZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlLCBmYWxzZSk7Cj4gIAlmcmFtZS5hdmku cXVhbnRpemF0aW9uX3JhbmdlID0gSERNSV9RVUFOVElaQVRJT05fUkFOR0VfRlVMTDsKPiAgCj4g IAl0ZGE5OTh4X3dyaXRlX2lmKHByaXYsIERJUF9JRl9GTEFHU19JRjIsIFJFR19JRjJfSEIwLCAm ZnJhbWUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiBpbmRleCAzZWVjNzRjLi45NjY0 NGYzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+IEBAIC00NTgsMTEgKzQ1OCwx NCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlciwKPiAgCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5j X3RvX2ludGVsX2hkbWkoZW5jb2Rlcik7Cj4gIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqYWRqdXN0ZWRfbW9kZSA9Cj4gIAkJJmNydGNfc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsK PiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfaGRtaS0+YXR0YWNo ZWRfY29ubmVjdG9yLT5iYXNlOwo+ICsJYm9vbCBpc19oZG1pMiA9IGNvbm5lY3Rvci0+ZGlzcGxh eV9pbmZvLmhkbWkuc2NkYy5zdXBwb3J0ZWQ7Cj4gIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFt ZTsKPiAgCWludCByZXQ7Cj4gIAo+ICAJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9t X2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLAo+IC0JCQkJCQkgICAgICAgYWRqdXN0ZWRfbW9kZSk7 Cj4gKwkJCQkJCSAgICAgICBhZGp1c3RlZF9tb2RlLAo+ICsJCQkJCQkgICAgICAgaXNfaGRtaTIp Owo+ICAJaWYgKHJldCA8IDApIHsKPiAgCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGlu Zm9mcmFtZVxuIik7Cj4gIAkJcmV0dXJuOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiBp bmRleCA4MTZhNmY1Li42OTRmNjI2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nkdm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwo+ IEBAIC0xMDExLDcgKzEwMTEsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9zZHZvX3NldF9hdmlfaW5m b2ZyYW1lKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZvLAo+ICAJc3NpemVfdCBsZW47Cj4g IAo+ICAJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJh bWUuYXZpLAo+IC0JCQkJCQkgICAgICAgJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUp Owo+ICsJCQkJCQkgICAgICAgJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUsCj4gKwkJ CQkJCSAgICAgICBmYWxzZSk7Cj4gIAlpZiAocmV0IDwgMCkgewo+ICAJCURSTV9FUlJPUigiY291 bGRuJ3QgZmlsbCBBVkkgaW5mb2ZyYW1lXG4iKTsKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19oZG1pLmMKPiBpbmRleCBjMjYyNTEyLi44MGMzNmFmIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19oZG1pLmMKPiBAQCAtOTc1LDcgKzk3NSw3IEBAIHN0YXRp YyBpbnQgbXRrX2hkbWlfc2V0dXBfYXZpX2luZm9mcmFtZShzdHJ1Y3QgbXRrX2hkbWkgKmhkbWks Cj4gIAl1OCBidWZmZXJbMTddOwo+ICAJc3NpemVfdCBlcnI7Cj4gIAo+IC0JZXJyID0gZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ICsJZXJy ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUs IGZhbHNlKTsKPiAgCWlmIChlcnIgPCAwKSB7Cj4gIAkJZGV2X2VycihoZG1pLT5kZXYsCj4gIAkJ CSJGYWlsZWQgdG8gZ2V0IEFWSSBpbmZvZnJhbWUgZnJvbSBtb2RlOiAlemRcbiIsIGVycik7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jIGIvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKPiBpbmRleCA4NmM5NzdiLi42MjRm NWI1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMKPiBAQCAtODUs NyArODUsOCBAQCBzdGF0aWMgdm9pZCBvbWFwX2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAo+ICAJaWYgKGhkbWlfbW9kZSAmJiBkc3NkZXYtPmRyaXZlci0+c2V0 X2hkbWlfaW5mb2ZyYW1lKSB7Cj4gIAkJc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSBhdmk7Cj4g IAo+IC0JCXIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZhdmks IGFkanVzdGVkX21vZGUpOwo+ICsJCXIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKCZhdmksIGFkanVzdGVkX21vZGUsCj4gKwkJCQkJCQkgICAgIGZhbHNlKTsKPiAg CQlpZiAociA9PSAwKQo+ICAJCQlkc3NkZXYtPmRyaXZlci0+c2V0X2hkbWlfaW5mb2ZyYW1lKGRz c2RldiwgJmF2aSk7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCj4g aW5kZXggYjIxNDY2My4uNDliNDJiZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9hdWRpby5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f YXVkaW8uYwo+IEBAIC01MTYsNyArNTE2LDcgQEAgc3RhdGljIGludCByYWRlb25fYXVkaW9fc2V0 X2F2aV9wYWNrZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAJaWYgKCFjb25uZWN0 b3IpCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAo+IC0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9m cmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ICsJZXJyID0gZHJtX2hkbWlf YXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiAg CWlmIChlcnIgPCAwKSB7Cj4gIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9m cmFtZTogJWRcbiIsIGVycik7Cj4gIAkJcmV0dXJuIGVycjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L2lubm9faGRtaS5jCj4gaW5kZXggMDA2MjYwZC4uYjEwNWYxYyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvaW5ub19oZG1pLmMKPiBAQCAtMjk0LDcgKzI5NCw3IEBAIHN0YXRpYyBpbnQgaW5u b19oZG1pX2NvbmZpZ192aWRlb19hdmkoc3RydWN0IGlubm9faGRtaSAqaGRtaSwKPiAgCXVuaW9u IGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwo+ICAJaW50IHJjOwo+ICAKPiAtCXJjID0gZHJtX2hkbWlf YXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlKTsKPiArCXJj ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBt b2RlLCBmYWxzZSk7Cj4gIAo+ICAJaWYgKGhkbWktPmhkbWlfZGF0YS5lbmNfb3V0X2Zvcm1hdCA9 PSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDQ0KQo+ICAJCWZyYW1lLmF2aS5jb2xvcnNwYWNlID0gSERN SV9DT0xPUlNQQUNFX1lVVjQ0NDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9z dGlfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gaW5kZXggY2UyZGNi YS4uMjEyOGI4YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKPiBAQCAtNDM0LDcgKzQzNCw3 IEBAIHN0YXRpYyBpbnQgaGRtaV9hdmlfaW5mb2ZyYW1lX2NvbmZpZyhzdHJ1Y3Qgc3RpX2hkbWkg KmhkbWkpCj4gIAo+ICAJRFJNX0RFQlVHX0RSSVZFUigiXG4iKTsKPiAgCj4gLQlyZXQgPSBkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZpbmZvZnJhbWUsIG1vZGUpOwo+ ICsJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2Zy YW1lLCBtb2RlLCBmYWxzZSk7Cj4gIAlpZiAocmV0IDwgMCkgewo+ICAJCURSTV9FUlJPUigiZmFp bGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCByZXQpOwo+ICAJCXJldHVybiByZXQ7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMgYi9kcml2ZXJzL2dw dS9kcm0vdGVncmEvaGRtaS5jCj4gaW5kZXggY2RhMDQ5MS4uNzE4ZDhkYiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL2hkbWkuYwo+IEBAIC03MzQsNyArNzM0LDcgQEAgc3RhdGljIHZvaWQgdGVncmFfaGRtaV9z ZXR1cF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCB0ZWdyYV9oZG1pICpoZG1pLAo+ICAJdTggYnVmZmVy WzE3XTsKPiAgCXNzaXplX3QgZXJyOwo+ICAKPiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJh bWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiArCWVyciA9IGRybV9oZG1pX2F2 aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gIAlp ZiAoZXJyIDwgMCkgewo+ICAJCWRldl9lcnIoaGRtaS0+ZGV2LCAiZmFpbGVkIHRvIHNldHVwIEFW SSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKPiAgCQlyZXR1cm47Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYwo+ IGluZGV4IGE4ZjUyODkuLmZiMjcwOWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL3Nvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jCj4gQEAgLTE5MDQs NyArMTkwNCw3IEBAIHRlZ3JhX3Nvcl9oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWUoc3RydWN0IHRl Z3JhX3NvciAqc29yLAo+ICAJdmFsdWUgJj0gfklORk9GUkFNRV9DVFJMX0VOQUJMRTsKPiAgCXRl Z3JhX3Nvcl93cml0ZWwoc29yLCB2YWx1ZSwgU09SX0hETUlfQVZJX0lORk9GUkFNRV9DVFJMKTsK PiAgCj4gLQllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZm cmFtZSwgbW9kZSk7Cj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ICAJaWYgKGVyciA8IDApIHsKPiAgCQlkZXZf ZXJyKHNvci0+ZGV2LCAiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCBlcnIp Owo+ICAJCXJldHVybiBlcnI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0 X2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwo+IGluZGV4IGU5Y2JlMjYu LjVkODEzMDEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCj4gQEAgLTM5NCw3ICszOTQsNyBA QCBzdGF0aWMgdm9pZCB2YzRfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIpCj4gIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKPiAgCWludCByZXQ7 Cj4gIAo+IC0JcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgm ZnJhbWUuYXZpLCBtb2RlKTsKPiArCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSwgZmFsc2UpOwo+ICAJaWYgKHJldCA8IDApIHsK PiAgCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxuIik7Cj4gIAkJcmV0 dXJuOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYyBiL2RyaXZl cnMvZ3B1L2RybS96dGUvenhfaGRtaS5jCj4gaW5kZXggYzQ3YjljYi4uM2UyNjdkZCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS96dGUvenhfaGRtaS5jCj4gQEAgLTEyNSw3ICsxMjUsNyBAQCBzdGF0aWMgaW50IHp4X2hk bWlfY29uZmlnX3ZpZGVvX2F2aShzdHJ1Y3QgenhfaGRtaSAqaGRtaSwKPiAgCXVuaW9uIGhkbWlf aW5mb2ZyYW1lIGZyYW1lOwo+ICAJaW50IHJldDsKPiAgCj4gLQlyZXQgPSBkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOwo+ICsJcmV0ID0g ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2Rl LCBmYWxzZSk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJRFJNX0RFVl9FUlJPUihoZG1pLT5kZXYsICJm YWlsZWQgdG8gZ2V0IGF2aSBpbmZvZnJhbWU6ICVkXG4iLAo+ICAJCQkgICAgICByZXQpOwo+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZWRpZC5oIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQu aAo+IGluZGV4IGEyMWQ0OTQuLmE0ZDE3NGU3IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2Ry bV9lZGlkLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gQEAgLTM0OCw3ICszNDgs OCBAQCBkcm1fbG9hZF9lZGlkX2Zpcm13YXJlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpCj4gIAo+ICBpbnQKPiAgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9k ZShzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKPiAtCQkJCQkgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ICsJCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSwKPiArCQkJCQkgYm9vbCBpc19oZG1pMik7Cj4gIGludAo+ICBkcm1faGRt aV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX3ZlbmRvcl9p bmZvZnJhbWUgKmZyYW1lLAo+ICAJCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSk7Cj4gLS0gCj4gMi43LjQKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=