From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 01/11] drm: Add HDMI 2.0 VIC support for AVI info-frames Date: Tue, 30 May 2017 19:13:49 +0300 Message-ID: <20170530161349.GC12629@intel.com> References: <1496146430-11430-1-git-send-email-shashank.sharma@intel.com> <1496146430-11430-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: <1496146430-11430-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 T24gVHVlLCBNYXkgMzAsIDIwMTcgYXQgMDU6NDM6NDBQTSArMDUzMCwgU2hhc2hhbmsgU2hhcm1h IHdyb3RlOgo+IEhETUkgMS40YiBzdXBwb3J0IHRoZSBDRUEgdmlkZW8gbW9kZXMgYXMgcGVyIHJh bmdlIG9mIENFQS04NjEtRCAoVklDIDEtNjQpLgo+IEZvciBhbnkgb3RoZXIgbW9kZSwgdGhlIFZJ QyBmaWxlZCBpbiBBVkkgaW5mb2ZyYW1lcyBzaG91bGQgYmUgMC4KPiBIRE1JIDIuMCBzaW5rcywg c3VwcG9ydCB2aWRlbyBtb2RlcyByYW5nZSBhcyBwZXIgQ0VBLTg2MS1GIHNwZWMsIHdoaWNoIGlz Cj4gZXh0ZW5kZWQgdG8gKFZJQyAxLTEwNykuCj4gCj4gVGhpcyBwYXRjaCBhZGRzIGEgYm9vbCBp bnB1dCB2YXJpYWJsZSwgd2hpY2ggaW5kaWNhdGVzIGlmIHRoZSBjb25uZWN0ZWQKPiBzaW5rIGlz IGEgSERNSSAyLjAgc2luayBvciBub3QuIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCB3ZSBkb24n dCBwYXNzIGEKPiBIRE1JIDIuMCBWSUMgdG8gYSBIRE1JIDEuNCBzaW5rLgo+IAo+IFRoaXMgcGF0 Y2ggdG91Y2hlcyBhbGwgZHJtIGRyaXZlcnMsIHdobyBhcmUgY2FsbGVycyBvZiB0aGlzIGZ1bmN0 aW9uCj4gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSBidXQgdG8gbWFr ZSBzdXJlIHRoZXJlIGlzCj4gbm8gY2hhbmdlIGluIGN1cnJlbnQgYmVoYXZpb3IsIGlzX2hkbWky IGlzIGtlcHQgYXMgZmFsc2UuCj4gCj4gSW4gY2FzZSBvZiBJOTE1IGRyaXZlciwgdGhpcyBwYXRj aCBjaGVja3MgdGhlIGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvCj4gdG8gY2hlY2sgaWYgdGhlIGNv bm5lY3RlZCBkaXNwbGF5IGlzIEhETUkgMi4wLgo+IAo+IENjOiBWaWxsZSBTeXJqYWxhIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBDYzogSm9zZSBBYnJldSA8am9zZS5hYnJldUBz eW5vcHN5cy5jb20+Cj4gQ2M6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4g Q2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KPiBDYzogRGFuaWVs IFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gCj4gUFM6IFRoaXMgcGF0Y2ggdG91 Y2hlcyBhIGZldyBsaW5lcyBpbiBmZXcgZmlsZXMsIHdoaWNoIHdlcmUKPiBhbHJlYWR5IGFib3Zl IDgwIGNoYXIsIHNvIGNoZWNrcGF0Y2ggZ2l2ZXMgODAgY2hhciB3YXJuaW5nIGFnYWluLgo+IC0g Z3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCj4gLSBncHUvZHJtL2k5MTUvaW50ZWxfc2R2 by5jCj4gCj4gVjI6IFJlYmFzZSwgQWRkZWQgci1iIGZyb20gQW5kcnplago+IAo+IFJldmlld2Vk LWJ5OiBBbmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcuY29tPgo+IFNpZ25lZC1vZmYtYnk6 IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiAtLS0KPiAgZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgICAgfCAgMiArLQo+ICBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYyAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL2Jy aWRnZS9zaWk5MDJ4LmMgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3N5bm9wc3lzL2R3LWhkbWkuYyB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5j ICAgICAgICAgICAgICAgIHwgMTIgKysrKysrKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2hkbWkuYyAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5 OTh4X2Rydi5jICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMgICAgICAgICB8ICA1ICsrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nk dm8uYyAgICAgICAgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRt aS5jICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVy LmMgICAgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYyAg ICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMgICAgICB8 ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyAgICAgICAgICAgIHwgIDIg Ky0KPiAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYyAgICAgICAgICAgICAgfCAgMiArLQo+ ICBkcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMgICAgICAgICAgICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVy cy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMgICAgICAgICAgICAgfCAgMiArLQo+ICBpbmNsdWRlL2Ry bS9kcm1fZWRpZC5oICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ICAyMSBmaWxlcyBjaGFu Z2VkLCAzOCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjEwXzAuYwo+IGluZGV4IDNjNjJjNDUuLjQ5MjNkZGMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwo+IEBAIC0xODY0LDcgKzE4NjQsNyBA QCBzdGF0aWMgdm9pZCBkY2VfdjEwXzBfYWZtdF9zZXRtb2RlKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKPiAgCWRjZV92MTBfMF9hdWRpb193cml0ZV9zYWRfcmVncyhlbmNvZGVyKTsKPiAg CWRjZV92MTBfMF9hdWRpb193cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2RlKTsKPiAg Cj4gLQllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZSwgbW9kZSk7Cj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ICAJaWYgKGVyciA8IDApIHsKPiAgCQlEUk1fRVJS T1IoImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVycik7Cj4gIAkJcmV0 dXJuOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jCj4gaW5kZXggYzhlZDBm YS4uNDEwMTY4NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vf djExXzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jCj4g QEAgLTE4NDgsNyArMTg0OCw3IEBAIHN0YXRpYyB2b2lkIGRjZV92MTFfMF9hZm10X3NldG1vZGUo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAJZGNlX3YxMV8wX2F1ZGlvX3dyaXRlX3Nh ZF9yZWdzKGVuY29kZXIpOwo+ICAJZGNlX3YxMV8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRz KGVuY29kZXIsIG1vZGUpOwo+ICAKPiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiArCWVyciA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gIAlpZiAoZXJy IDwgMCkgewo+ICAJCURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6 ZFxuIiwgZXJyKTsKPiAgCQlyZXR1cm47Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2RjZV92OF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vfdjhf MC5jCj4gaW5kZXggM2U5MGMxOS4uYTdmNmIzMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvZGNlX3Y4XzAuYwo+IEBAIC0xNzQ3LDcgKzE3NDcsNyBAQCBzdGF0aWMgdm9pZCBkY2Vfdjhf MF9hZm10X3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAJZGNlX3Y4XzBf YXVkaW9fd3JpdGVfc2FkX3JlZ3MoZW5jb2Rlcik7Cj4gIAlkY2VfdjhfMF9hdWRpb193cml0ZV9s YXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2RlKTsKPiAgCj4gLQllcnIgPSBkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7Cj4gKwllcnIgPSBkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2Up Owo+ICAJaWYgKGVyciA8IDApIHsKPiAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkg aW5mb2ZyYW1lOiAlemRcbiIsIGVycik7Cj4gIAkJcmV0dXJuOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYyBiL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCj4gaW5kZXggYTJhODIzNi4uZjliNzdiOCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCj4gQEAgLTEwOTcsNyAr MTA5Nyw4IEBAIHN0YXRpYyB2b2lkIGFueDc4eHhfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1f YnJpZGdlICpicmlkZ2UsCj4gIAo+ICAJbXV0ZXhfbG9jaygmYW54Nzh4eC0+bG9jayk7Cj4gIAo+ IC0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUs IGFkanVzdGVkX21vZGUpOwo+ICsJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSgmZnJhbWUsIGFkanVzdGVkX21vZGUsCj4gKwkJCQkJCSAgICAgICBmYWxzZSk7 Cj4gIAlpZiAoZXJyKSB7Cj4gIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9m cmFtZTogJWRcbiIsIGVycik7Cj4gIAkJZ290byB1bmxvY2s7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5 MDJ4LmMKPiBpbmRleCA5Yjg3MDY3Li4zZGM0MGY2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2Uvc2lpOTAyeC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5 MDJ4LmMKPiBAQCAtMjY5LDcgKzI2OSw3IEBAIHN0YXRpYyB2b2lkIHNpaTkwMnhfYnJpZGdlX21v ZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gIAlpZiAocmV0KQo+ICAJCXJldHVy bjsKPiAgCj4gLQlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2Rl KCZmcmFtZSwgYWRqKTsKPiArCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNw bGF5X21vZGUoJmZyYW1lLCBhZGosIGZhbHNlKTsKPiAgCWlmIChyZXQgPCAwKSB7Cj4gIAkJRFJN X0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwo+ICAJCXJldHVybjsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMgYi9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+IGluZGV4IDg3MzdkZTgu LmU2ZDMxODEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9k dy1oZG1pLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWku Ywo+IEBAIC0xMzE3LDcgKzEzMTcsNyBAQCBzdGF0aWMgdm9pZCBoZG1pX2NvbmZpZ19BVkkoc3Ry dWN0IGR3X2hkbWkgKmhkbWksIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICAJdTgg dmFsOwo+ICAKPiAgCS8qIEluaXRpYWxpc2UgaW5mbyBmcmFtZSBmcm9tIERSTSBtb2RlICovCj4g LQlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSk7 Cj4gKwlkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9k ZSwgZmFsc2UpOwo+ICAKPiAgCWlmIChoZG1pX2J1c19mbXRfaXNfeXV2NDQ0KGhkbWktPmhkbWlf ZGF0YS5lbmNfb3V0X2J1c19mb3JtYXQpKQo+ICAJCWZyYW1lLmNvbG9yc3BhY2UgPSBIRE1JX0NP TE9SU1BBQ0VfWVVWNDQ0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gaW5kZXggMmU1NTU5OS4uOGIyMzQzNSAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9kcm1fZWRpZC5jCj4gQEAgLTQzMzQsMTIgKzQzMzQsMTQgQEAgRVhQT1JUX1NZTUJP TChkcm1fc2V0X3ByZWZlcnJlZF9tb2RlKTsKPiAgICogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGF0YSBmcm9tIGEgRFJNIGRpc3BsYXkgbW9kZQo+ICAgKiBA ZnJhbWU6IEhETUkgQVZJIGluZm9mcmFtZQo+ICAgKiBAbW9kZTogRFJNIGRpc3BsYXkgbW9kZQo+ ICsgKiBAaXNfaGRtaTI6IFNpbmsgaXMgSERNSSAyLjAgY29tcGxpYW50Cj4gICAqCj4gICAqIFJl dHVybjogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgo+ ICAgKi8KPiAgaW50Cj4gIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo c3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCj4gLQkJCQkJIGNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKQo+ICsJCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSwKPiArCQkJCQkgYm9vbCBpc19oZG1pMikKPiAgewo+ICAJaW50IGVycjsKPiAg Cj4gQEAgLTQzNTUsNiArNDM1NywxNCBAQCBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAo+ICAKPiAgCWZyYW1l LT52aWRlb19jb2RlID0gZHJtX21hdGNoX2NlYV9tb2RlKG1vZGUpOwo+ICAKPiArCS8qCj4gKwkg KiBIRE1JIDEuNCBWSUMgcmFuZ2U6IDEgPD0gVklDIDw9IDY0IChDRUEtODYxLUQpIGJ1dAo+ICsJ ICogSERNSSAyLjAgVklDIHJhbmdlOiAxIDw9IFZJQyA8PSAxMDcgKENFQS04NjEtRikuIFNvIHdl Cj4gKwkgKiBoYXZlIHRvIG1ha2Ugc3VyZSB3ZSBkb250IGJyZWFrIEhETUkgMS40IHNpbmtzLgo+ ICsJICovCj4gKwlpZiAoIWlzX2hkbWkyICYmIGZyYW1lLT52aWRlb19jb2RlID4gNjQpCj4gKwkJ ZnJhbWUtPnZpZGVvX2NvZGUgPSAwOwoKU2VlbXMgSSd2ZSB0b3RhbGx5IGZvcmdvdHRlbiB3aGF0 IHdlIGNvbmNsdWRlZCBhYm91dCB0aGUgQVZJIFZJQwp2cy4gSERNSSBWSUMsIGJ1dCBJIGhhdmUg YSBmZWVsaW5nIHRoaXMgaXNuJ3Qgc3VmZmljaWVudC4KCj4gKwo+ICAJZnJhbWUtPnBpY3R1cmVf YXNwZWN0ID0gSERNSV9QSUNUVVJFX0FTUEVDVF9OT05FOwo+ICAKPiAgCS8qCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX2hkbWkuYwo+IGluZGV4IDFmZjZhYjYuLmYyY2M3NWQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCj4gQEAgLTc4NCw3ICs3ODQsNyBAQCBzdGF0 aWMgdm9pZCBoZG1pX3JlZ19pbmZvZnJhbWVzKHN0cnVjdCBoZG1pX2NvbnRleHQgKmhkYXRhKQo+ ICAJfQo+ICAKPiAgCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZybS5hdmksCj4gLQkJCSZoZGF0YS0+Y3VycmVudF9tb2RlKTsKPiArCQkJJmhkYXRhLT5j dXJyZW50X21vZGUsIGZhbHNlKTsKPiAgCWlmICghcmV0KQo+ICAJCXJldCA9IGhkbWlfYXZpX2lu Zm9mcmFtZV9wYWNrKCZmcm0uYXZpLCBidWYsIHNpemVvZihidWYpKTsKPiAgCWlmIChyZXQgPiAw KSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYwo+IGluZGV4IDg2ZjQ3ZTEuLmQxZTdhYzUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCj4gQEAgLTcxMiw3ICs3MTIsNyBAQCB0 ZGE5OTh4X3dyaXRlX2F2aShzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2LCBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7Cj4g IAo+IC0JZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZp LCBtb2RlKTsKPiArCWRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZy YW1lLmF2aSwgbW9kZSwgZmFsc2UpOwo+ICAJZnJhbWUuYXZpLnF1YW50aXphdGlvbl9yYW5nZSA9 IEhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0ZVTEw7Cj4gIAo+ICAJdGRhOTk4eF93cml0ZV9pZihw cml2LCBESVBfSUZfRkxBR1NfSUYyLCBSRUdfSUYyX0hCMCwgJmZyYW1lKTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCj4gaW5kZXggNThkNjkwMy4uNzAyY2JhYiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9oZG1pLmMKPiBAQCAtNDU5LDExICs0NTksMTQgQEAgc3RhdGljIHZvaWQgaW50 ZWxfaGRtaV9zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4g IAlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKGVuY29k ZXIpOwo+ICAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQo+ ICAJCSZjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yID0gJmludGVsX2hkbWktPmF0dGFjaGVkX2Nvbm5lY3Rvci0+YmFzZTsK PiArCWJvb2wgaXNfaGRtaTIgPSBjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pLnNjZGMuc3Vw cG9ydGVkOwo+ICAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7Cj4gIAlpbnQgcmV0Owo+ICAK PiAgCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LmF2aSwKPiAtCQkJCQkJICAgICAgIGFkanVzdGVkX21vZGUpOwo+ICsJCQkJCQkgICAgICAgYWRq dXN0ZWRfbW9kZSwKPiArCQkJCQkJICAgICAgIGlzX2hkbWkyKTsKPiAgCWlmIChyZXQgPCAwKSB7 Cj4gIAkJRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwo+ICAJCXJl dHVybjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCj4gaW5kZXggNmNjMTgxMi4uNjJkNzI3 YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKPiBAQCAtMTAwNiw3ICsxMDA2LDgg QEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19zZXRfYXZpX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxf c2R2byAqaW50ZWxfc2R2bywKPiAgCXNzaXplX3QgbGVuOwo+ICAKPiAgCXJldCA9IGRybV9oZG1p X2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwKPiAtCQkJCQkJICAg ICAgICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlKTsKPiArCQkJCQkJICAgICAgICZw aXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLAo+ICsJCQkJCQkgICAgICAgZmFsc2UpOwo+ ICAJaWYgKHJldCA8IDApIHsKPiAgCQlEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9m cmFtZVxuIik7Cj4gIAkJcmV0dXJuIGZhbHNlOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRt aS5jCj4gaW5kZXggNDFhMWMwMy4uYTE3NzBkYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfaGRtaS5jCj4gQEAgLTk3NSw3ICs5NzUsNyBAQCBzdGF0aWMgaW50IG10a19oZG1pX3NldHVw X2F2aV9pbmZvZnJhbWUoc3RydWN0IG10a19oZG1pICpoZG1pLAo+ICAJdTggYnVmZmVyWzE3XTsK PiAgCXNzaXplX3QgZXJyOwo+ICAKPiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiArCWVyciA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gIAlpZiAoZXJy IDwgMCkgewo+ICAJCWRldl9lcnIoaGRtaS0+ZGV2LAo+ICAJCQkiRmFpbGVkIHRvIGdldCBBVkkg aW5mb2ZyYW1lIGZyb20gbW9kZTogJXpkXG4iLCBlcnIpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJt L29tYXBfZW5jb2Rlci5jCj4gaW5kZXggODZjOTc3Yi4uNjI0ZjViNSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCj4gQEAgLTg1LDcgKzg1LDggQEAgc3RhdGljIHZv aWQgb21hcF9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAg CWlmIChoZG1pX21vZGUgJiYgZHNzZGV2LT5kcml2ZXItPnNldF9oZG1pX2luZm9mcmFtZSkgewo+ ICAJCXN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgYXZpOwo+ICAKPiAtCQlyID0gZHJtX2hkbWlf YXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmYXZpLCBhZGp1c3RlZF9tb2RlKTsKPiAr CQlyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmYXZpLCBhZGp1 c3RlZF9tb2RlLAo+ICsJCQkJCQkJICAgICBmYWxzZSk7Cj4gIAkJaWYgKHIgPT0gMCkKPiAgCQkJ ZHNzZGV2LT5kcml2ZXItPnNldF9oZG1pX2luZm9mcmFtZShkc3NkZXYsICZhdmkpOwo+ICAJfQo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwo+IGluZGV4IGFhYWNhYzEuLjc3MGUz MWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMKPiBAQCAtNTE2LDcg KzUxNiw3IEBAIHN0YXRpYyBpbnQgcmFkZW9uX2F1ZGlvX3NldF9hdmlfcGFja2V0KHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCWlmICghY29ubmVjdG9yKQo+ICAJCXJldHVybiAtRUlO VkFMOwo+ICAKPiAtCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLCBtb2RlKTsKPiArCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gIAlpZiAoZXJyIDwgMCkgewo+ICAJ CURSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICVkXG4iLCBlcnIpOwo+ ICAJCXJldHVybiBlcnI7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9p bm5vX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+IGluZGV4 IDdkOWI3NWUuLjcxNDk5NjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L2lubm9faGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5j Cj4gQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgaW50IGlubm9faGRtaV9jb25maWdfdmlkZW9f YXZpKHN0cnVjdCBpbm5vX2hkbWkgKmhkbWksCj4gIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFt ZTsKPiAgCWludCByYzsKPiAgCj4gLQlyYyA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7Cj4gKwlyYyA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSwgZmFsc2UpOwo+ICAKPiAg CWlmIChoZG1pLT5oZG1pX2RhdGEuZW5jX291dF9mb3JtYXQgPT0gSERNSV9DT0xPUlNQQUNFX1lV VjQ0NCkKPiAgCQlmcmFtZS5hdmkuY29sb3JzcGFjZSA9IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYyBiL2RyaXZlcnMv Z3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+IGluZGV4IGE1OWM5NWEuLmRiYzZhMTkgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfaGRtaS5jCj4gQEAgLTQzNCw3ICs0MzQsNyBAQCBzdGF0aWMgaW50IGhkbWlf YXZpX2luZm9mcmFtZV9jb25maWcoc3RydWN0IHN0aV9oZG1pICpoZG1pKQo+ICAKPiAgCURSTV9E RUJVR19EUklWRVIoIlxuIik7Cj4gIAo+IC0JcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2RlKTsKPiArCXJldCA9IGRybV9oZG1pX2F2 aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmluZm9mcmFtZSwgbW9kZSwgZmFsc2UpOwo+ ICAJaWYgKHJldCA8IDApIHsKPiAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkgaW5m b2ZyYW1lOiAlZFxuIiwgcmV0KTsKPiAgCQlyZXR1cm4gcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYwo+ IGluZGV4IGNkYTA0OTEuLjcxOGQ4ZGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMKPiBAQCAtNzM0 LDcgKzczNCw3IEBAIHN0YXRpYyB2b2lkIHRlZ3JhX2hkbWlfc2V0dXBfYXZpX2luZm9mcmFtZShz dHJ1Y3QgdGVncmFfaGRtaSAqaGRtaSwKPiAgCXU4IGJ1ZmZlclsxN107Cj4gIAlzc2l6ZV90IGVy cjsKPiAgCj4gLQllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2Rl KCZmcmFtZSwgbW9kZSk7Cj4gKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ICAJaWYgKGVyciA8IDApIHsKPiAgCQlk ZXZfZXJyKGhkbWktPmRldiwgImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIs IGVycik7Cj4gIAkJcmV0dXJuOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEv c29yLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKPiBpbmRleCBhOGY1Mjg5Li5mYjI3 MDljIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS90ZWdyYS9zb3IuYwo+IEBAIC0xOTA0LDcgKzE5MDQsNyBAQCB0ZWdyYV9z b3JfaGRtaV9zZXR1cF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCB0ZWdyYV9zb3IgKnNvciwKPiAgCXZh bHVlICY9IH5JTkZPRlJBTUVfQ1RSTF9FTkFCTEU7Cj4gIAl0ZWdyYV9zb3Jfd3JpdGVsKHNvciwg dmFsdWUsIFNPUl9IRE1JX0FWSV9JTkZPRlJBTUVfQ1RSTCk7Cj4gIAo+IC0JZXJyID0gZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ICsJZXJy ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUs IGZhbHNlKTsKPiAgCWlmIChlcnIgPCAwKSB7Cj4gIAkJZGV2X2Vycihzb3ItPmRldiwgImZhaWxl ZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxuIiwgZXJyKTsKPiAgCQlyZXR1cm4gZXJyOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMgYi9kcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9oZG1pLmMKPiBpbmRleCBlZDYzZDRlLi40MDZkNmQ4IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2hkbWkuYwo+IEBAIC0zOTUsNyArMzk1LDcgQEAgc3RhdGljIHZvaWQgdmM0X2hk bWlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ICAJdW5p b24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7Cj4gIAlpbnQgcmV0Owo+ICAKPiAtCXJldCA9IGRybV9o ZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7Cj4g KwlyZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5h dmksIG1vZGUsIGZhbHNlKTsKPiAgCWlmIChyZXQgPCAwKSB7Cj4gIAkJRFJNX0VSUk9SKCJjb3Vs ZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwo+ICAJCXJldHVybjsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hk bWkuYwo+IGluZGV4IDBkZjczNjYuLjdlODM0ZTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3p0ZS96eF9oZG1pLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwo+ IEBAIC0xMjQsNyArMTI0LDcgQEAgc3RhdGljIGludCB6eF9oZG1pX2NvbmZpZ192aWRlb19hdmko c3RydWN0IHp4X2hkbWkgKmhkbWksCj4gIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKPiAg CWludCByZXQ7Cj4gIAo+IC0JcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3Bs YXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlKTsKPiArCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJh bWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSwgZmFsc2UpOwo+ICAJaWYgKHJl dCkgewo+ICAJCURSTV9ERVZfRVJST1IoaGRtaS0+ZGV2LCAiZmFpbGVkIHRvIGdldCBhdmkgaW5m b2ZyYW1lOiAlZFxuIiwKPiAgCQkJICAgICAgcmV0KTsKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX2VkaWQuaCBiL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPiBpbmRleCA3YjlmNDhiLi5j MDdlYjgxIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPiArKysgYi9pbmNs dWRlL2RybS9kcm1fZWRpZC5oCj4gQEAgLTM0Myw3ICszNDMsOCBAQCBkcm1fbG9hZF9lZGlkX2Zp cm13YXJlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAo+ICBpbnQKPiAgZHJt X2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlfaW5m b2ZyYW1lICpmcmFtZSwKPiAtCQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUpOwo+ICsJCQkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiArCQkJ CQkgYm9vbCBpc19oZG1pMik7Cj4gIGludAo+ICBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAo+ICAJ CQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7Cj4gLS0gCj4gMi43 LjQKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=