From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ilia Mirkin Subject: Re: [PATCH v4 2/2] drm: Add HDMI 2.0 VIC support for AVI info-frames Date: Thu, 23 Mar 2017 11:17:36 -0400 Message-ID: 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: 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 , Alex Deucher , Intel Graphics Development , "dri-devel@lists.freedesktop.org" , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBNYXIgMjMsIDIwMTcgYXQgMTE6MTQgQU0sIFNoYXNoYW5rIFNoYXJtYQo8c2hhc2hh bmsuc2hhcm1hQGludGVsLmNvbT4gd3JvdGU6Cj4gSERNSSAxLjRiIHN1cHBvcnQgdGhlIENFQSB2 aWRlbyBtb2RlcyBhcyBwZXIgcmFuZ2Ugb2YgQ0VBLTg2MS1EIChWSUMgMS02NCkuCj4gRm9yIGFu eSBvdGhlciBtb2RlLCB0aGUgVklDIGZpbGVkIGluIEFWSSBpbmZvZnJhbWVzIHNob3VsZCBiZSAw Lgo+IEhETUkgMi4wIHNpbmtzLCBzdXBwb3J0IHZpZGVvIG1vZGVzIHJhbmdlIGFzIHBlciBDRUEt ODYxLUYgc3BlYywgd2hpY2ggaXMKPiBleHRlbmRlZCB0byAoVklDIDEtMTA3KS4KPgo+IFRoaXMg cGF0Y2ggYWRkcyBhIGJvb2wgaW5wdXQgdmFyaWFibGUsIHdoaWNoIGluZGljYXRlcyBpZiB0aGUg Y29ubmVjdGVkCj4gc2luayBpcyBhIEhETUkgMi4wIHNpbmsgb3Igbm90LiBUaGlzIHdpbGwgbWFr ZSBzdXJlIHRoYXQgd2UgZG9uJ3QgcGFzcyBhCj4gSERNSSAyLjAgVklDIHRvIGEgSERNSSAxLjQg c2luay4KClNob3VsZCB0aGlzIHBhdGNoIGNvbWUgYmVmb3JlIHRoZSBwYXRjaCB3aGljaCByZWNv Z25pemVzIFZJQ3MgNjUrPwpPdGhlcndpc2UgaWYgb25seSB0aGUgZmlyc3QgcGF0Y2ggaXMgYXBw bGllZCBidXQgbm90IHRoaXMgb25lLCB5b3UKY291bGQgZW5kIHVwIHdpdGggdGhlIGJhZCBzY2Vu YXJpby4gKEFzIGNhbiBoYXBwZW4gaW4gYmlzZWN0aW9ucywgZm9yCmV4YW1wbGUuKQoKPgo+IFRo aXMgcGF0Y2ggdG91Y2hlcyBhbGwgZHJtIGRyaXZlcnMsIHdobyBhcmUgY2FsbGVycyBvZiB0aGlz IGZ1bmN0aW9uCj4gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSBidXQg dG8gbWFrZSBzdXJlIHRoZXJlIGlzCj4gbm8gY2hhbmdlIGluIGN1cnJlbnQgYmVoYXZpb3IsIGlz X2hkbWkyIGlzIGtlcHQgYXMgZmFsc2UuCj4KPiBJbiBjYXNlIG9mIEk5MTUgZHJpdmVyLCB0aGlz IHBhdGNoIGNoZWNrcyB0aGUgY29ubmVjdG9yLT5kaXNwbGF5X2luZm8KPiB0byBjaGVjayBpZiB0 aGUgY29ubmVjdGVkIGRpc3BsYXkgaXMgSERNSSAyLjAuCj4KPiBDYzogVmlsbGUgU3lyamFsYSA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gQ2M6IEpvc2UgQWJyZXUgPGpvc2UuYWJy ZXVAc3lub3BzeXMuY29tPgo+IENjOiBBbmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcuY29t Pgo+IENjOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Cj4gQ2M6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+Cj4gUFM6IFRoaXMgcGF0Y2gg dG91Y2hlcyBhIGZldyBsaW5lcyBpbiBmZXcgZmlsZXMsIHdoaWNoIHdlcmUKPiBhbHJlYWR5IGFi b3ZlIDgwIGNoYXIsIHNvIGNoZWNrcGF0Y2ggZ2l2ZXMgODAgY2hhciB3YXJuaW5nIGFnYWluLgo+ IC0gZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCj4gLSBncHUvZHJtL2k5MTUvaW50ZWxf c2R2by5jCj4KPiBTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJt YUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBf MC5jICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMg ICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jICAgICB8 ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jIHwgIDMg KystCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc2lpOTAyeC5jICAgICAgICAgIHwgIDIgKy0K PiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMgfCAgMiArLQo+ICBk cml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYyAgICAgICAgICAgICAgICB8IDEyICsrKysrKysrKysr LQo+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMgICAgICB8ICAyICstCj4g IGRyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYyAgICAgICAgIHwgIDIgKy0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgICAgICAgfCAgNSArKysrLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMgICAgICAgICB8ICAzICsrLQo+ICBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1 L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jICAgIHwgIDMgKystCj4gIGRyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL2lubm9faGRtaS5jICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV9oZG1pLmMgICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1p LmMgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jICAg ICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMgICAg ICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jICAgICAgICAg ICAgIHwgIDIgKy0KPiAgaW5jbHVkZS9kcm0vZHJtX2VkaWQuaCAgICAgICAgICAgICAgICAgICAg fCAgMyArKy0KPiAgMjEgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRp b25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Yx MF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwo+IGluZGV4IGQ0 NDUyZDguLmFiN2EzOTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv ZGNlX3YxMF8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAu Ywo+IEBAIC0xODc3LDcgKzE4NzcsNyBAQCBzdGF0aWMgdm9pZCBkY2VfdjEwXzBfYWZtdF9zZXRt b2RlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgICAgICAgIGRjZV92MTBfMF9hdWRp b193cml0ZV9zYWRfcmVncyhlbmNvZGVyKTsKPiAgICAgICAgIGRjZV92MTBfMF9hdWRpb193cml0 ZV9sYXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2RlKTsKPgo+IC0gICAgICAgZXJyID0gZHJtX2hk bWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOwo+ICsgICAg ICAgZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUs IG1vZGUsIGZhbHNlKTsKPiAgICAgICAgIGlmIChlcnIgPCAwKSB7Cj4gICAgICAgICAgICAgICAg IERSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsK PiAgICAgICAgICAgICAgICAgcmV0dXJuOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjExXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 MTFfMC5jCj4gaW5kZXggNWIyNGU4OS4uM2M1ZmQ4MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2RjZV92MTFfMC5jCj4gQEAgLTE4NjEsNyArMTg2MSw3IEBAIHN0YXRpYyB2b2lkIGRj ZV92MTFfMF9hZm10X3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+ICAgICAg ICAgZGNlX3YxMV8wX2F1ZGlvX3dyaXRlX3NhZF9yZWdzKGVuY29kZXIpOwo+ICAgICAgICAgZGNl X3YxMV8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRzKGVuY29kZXIsIG1vZGUpOwo+Cj4gLSAg ICAgICBlcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZSwgbW9kZSk7Cj4gKyAgICAgICBlcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ICAgICAgICAgaWYgKGVyciA8IDApIHsK PiAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFt ZTogJXpkXG4iLCBlcnIpOwo+ICAgICAgICAgICAgICAgICByZXR1cm47Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjhfMC5jCj4gaW5kZXggZDI1OTBkNy4uYzU2NGRjYSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYwo+IEBAIC0xNzYwLDcgKzE3NjAsNyBAQCBz dGF0aWMgdm9pZCBkY2VfdjhfMF9hZm10X3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyLAo+ICAgICAgICAgZGNlX3Y4XzBfYXVkaW9fd3JpdGVfc2FkX3JlZ3MoZW5jb2Rlcik7Cj4g ICAgICAgICBkY2VfdjhfMF9hdWRpb193cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2Rl KTsKPgo+IC0gICAgICAgZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlf bW9kZSgmZnJhbWUsIG1vZGUpOwo+ICsgICAgICAgZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUsIGZhbHNlKTsKPiAgICAgICAgIGlmIChl cnIgPCAwKSB7Cj4gICAgICAgICAgICAgICAgIERSTV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFW SSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYyBiL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCj4gaW5kZXggYTJhODIzNi4u ZjliNzdiOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFu eDc4eHguYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5j Cj4gQEAgLTEwOTcsNyArMTA5Nyw4IEBAIHN0YXRpYyB2b2lkIGFueDc4eHhfYnJpZGdlX21vZGVf c2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4KPiAgICAgICAgIG11dGV4X2xvY2soJmFu eDc4eHgtPmxvY2spOwo+Cj4gLSAgICAgICBlcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zy b21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqdXN0ZWRfbW9kZSk7Cj4gKyAgICAgICBlcnIgPSBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqdXN0ZWRf bW9kZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZmFsc2UpOwo+ICAgICAgICAgaWYgKGVycikgewo+ICAgICAgICAgICAgICAgICBEUk1f RVJST1IoIkZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxuIiwgZXJyKTsKPiAgICAg ICAgICAgICAgICAgZ290byB1bmxvY2s7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2Uvc2lpOTAyeC5jIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKPiBpbmRl eCA5MTI2ZDAzLi5kY2YxNWQ3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv c2lpOTAyeC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKPiBAQCAt MjY5LDcgKzI2OSw3IEBAIHN0YXRpYyB2b2lkIHNpaTkwMnhfYnJpZGdlX21vZGVfc2V0KHN0cnVj dCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gICAgICAgICBpZiAocmV0KQo+ICAgICAgICAgICAgICAg ICByZXR1cm47Cj4KPiAtICAgICAgIHJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9k aXNwbGF5X21vZGUoJmZyYW1lLCBhZGopOwo+ICsgICAgICAgcmV0ID0gZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIGFkaiwgZmFsc2UpOwo+ICAgICAgICAg aWYgKHJldCA8IDApIHsKPiAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxs IEFWSSBpbmZvZnJhbWVcbiIpOwo+ICAgICAgICAgICAgICAgICByZXR1cm47Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jIGIvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKPiBpbmRleCBhZjkzZjdhLi41ZmYyODg2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKPiBAQCAt MTE0Niw3ICsxMTQ2LDcgQEAgc3RhdGljIHZvaWQgaGRtaV9jb25maWdfQVZJKHN0cnVjdCBkd19o ZG1pICpoZG1pLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgICAgICAgIHU4IHZh bDsKPgo+ICAgICAgICAgLyogSW5pdGlhbGlzZSBpbmZvIGZyYW1lIGZyb20gRFJNIG1vZGUgKi8K PiAtICAgICAgIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LCBtb2RlKTsKPiArICAgICAgIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4KPiAgICAgICAgIGlmIChoZG1pLT5oZG1pX2RhdGEu ZW5jX291dF9mb3JtYXQgPT0gWUNCQ1I0NDQpCj4gICAgICAgICAgICAgICAgIGZyYW1lLmNvbG9y c3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDQ0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2VkaWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gaW5kZXggM2I0 OTRjMi4uZjlhNGIwOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jCj4gQEAgLTQ2NjQsMTIgKzQ2NjQsMTQg QEAgRVhQT1JUX1NZTUJPTChkcm1fc2V0X3ByZWZlcnJlZF9tb2RlKTsKPiAgICogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSBmcm9tIGEgRFJNIGRpc3Bs YXkgbW9kZQo+ICAgKiBAZnJhbWU6IEhETUkgQVZJIGluZm9mcmFtZQo+ICAgKiBAbW9kZTogRFJN IGRpc3BsYXkgbW9kZQo+ICsgKiBAaXNfaGRtaTI6IFNpbmsgaXMgSERNSSAyLjAgY29tcGxpYW50 Cj4gICAqCj4gICAqIFJldHVybjogMCBvbiBzdWNjZXNzIG9yIGEgbmVnYXRpdmUgZXJyb3IgY29k ZSBvbiBmYWlsdXJlLgo+ICAgKi8KPiAgaW50Cj4gIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJv bV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlfYXZpX2luZm9mcmFtZSAqZnJhbWUsCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc19oZG1pMikKPiAgewo+ICAgICAgICAgaW50 IGVycjsKPgo+IEBAIC00Njg1LDYgKzQ2ODcsMTQgQEAgZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKPgo+ICAg ICAgICAgZnJhbWUtPnZpZGVvX2NvZGUgPSBkcm1fbWF0Y2hfY2VhX21vZGUobW9kZSk7Cj4KPiAr ICAgICAgIC8qCj4gKyAgICAgICAgKiBIRE1JIDEuNCBWSUMgcmFuZ2U6IDEgPD0gVklDIDw9IDY0 IChDRUEtODYxLUQpIGJ1dAo+ICsgICAgICAgICogSERNSSAyLjAgVklDIHJhbmdlOiAxIDw9IFZJ QyA8PSAxMDcgKENFQS04NjEtRikuIFNvIHdlCj4gKyAgICAgICAgKiBoYXZlIHRvIG1ha2Ugc3Vy ZSB3ZSBkb250IGJyZWFrIEhETUkgMS40IHNpbmtzLgo+ICsgICAgICAgICovCj4gKyAgICAgICBp ZiAoIWlzX2hkbWkyICYmIGZyYW1lLT52aWRlb19jb2RlID4gNjQpCj4gKyAgICAgICAgICAgICAg IGZyYW1lLT52aWRlb19jb2RlID0gMDsKPiArCj4gICAgICAgICBmcmFtZS0+cGljdHVyZV9hc3Bl Y3QgPSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4KPiAgICAgICAgIC8qCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX2hkbWkuYwo+IGluZGV4IDUyNDM4NDAuLjVjYjQ0ZDQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5jCj4gQEAgLTc4MSw3ICs3ODEsNyBAQCBzdGF0 aWMgdm9pZCBoZG1pX3JlZ19pbmZvZnJhbWVzKHN0cnVjdCBoZG1pX2NvbnRleHQgKmhkYXRhKQo+ ICAgICAgICAgfQo+Cj4gICAgICAgICByZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcm0uYXZpLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICZoZGF0YS0+ Y3VycmVudF9tb2RlKTsKPiArICAgICAgICAgICAgICAgICAgICAgICAmaGRhdGEtPmN1cnJlbnRf bW9kZSwgZmFsc2UpOwo+ICAgICAgICAgaWYgKCFyZXQpCj4gICAgICAgICAgICAgICAgIHJldCA9 IGhkbWlfYXZpX2luZm9mcmFtZV9wYWNrKCZmcm0uYXZpLCBidWYsIHNpemVvZihidWYpKTsKPiAg ICAgICAgIGlmIChyZXQgPiAwKSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pMmMv dGRhOTk4eF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYwo+IGluZGV4 IDg2ZjQ3ZTEuLmQxZTdhYzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5 OTh4X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCj4gQEAg LTcxMiw3ICs3MTIsNyBAQCB0ZGE5OTh4X3dyaXRlX2F2aShzdHJ1Y3QgdGRhOTk4eF9wcml2ICpw cml2LCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiAgewo+ICAgICAgICAgdW5pb24g aGRtaV9pbmZvZnJhbWUgZnJhbWU7Cj4KPiAtICAgICAgIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7Cj4gKyAgICAgICBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsK PiAgICAgICAgIGZyYW1lLmF2aS5xdWFudGl6YXRpb25fcmFuZ2UgPSBIRE1JX1FVQU5USVpBVElP Tl9SQU5HRV9GVUxMOwo+Cj4gICAgICAgICB0ZGE5OTh4X3dyaXRlX2lmKHByaXYsIERJUF9JRl9G TEFHU19JRjIsIFJFR19JRjJfSEIwLCAmZnJhbWUpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1p LmMKPiBpbmRleCAzZWVjNzRjLi45NjY0NGYzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hk bWkuYwo+IEBAIC00NTgsMTEgKzQ1OCwxNCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX3NldF9h dmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgICAgICAgIHN0cnVj dCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWkoZW5jb2Rlcik7Cj4g ICAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4g ICAgICAgICAgICAgICAgICZjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGU7Cj4gKyAgICAg ICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gJmludGVsX2hkbWktPmF0dGFjaGVk X2Nvbm5lY3Rvci0+YmFzZTsKPiArICAgICAgIGJvb2wgaXNfaGRtaTIgPSBjb25uZWN0b3ItPmRp c3BsYXlfaW5mby5oZG1pLnNjZGMuc3VwcG9ydGVkOwo+ICAgICAgICAgdW5pb24gaGRtaV9pbmZv ZnJhbWUgZnJhbWU7Cj4gICAgICAgICBpbnQgcmV0Owo+Cj4gICAgICAgICByZXQgPSBkcm1faGRt aV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksCj4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkanVzdGVkX21v ZGUpOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBhZGp1c3RlZF9tb2RlLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpc19oZG1pMik7Cj4gICAgICAgICBpZiAocmV0IDwgMCkgewo+ ICAgICAgICAgICAgICAgICBEUk1fRVJST1IoImNvdWxkbid0IGZpbGwgQVZJIGluZm9mcmFtZVxu Iik7Cj4gICAgICAgICAgICAgICAgIHJldHVybjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5j Cj4gaW5kZXggODE2YTZmNS4uNjk0ZjYyNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zZHZvLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZv LmMKPiBAQCAtMTAxMSw3ICsxMDExLDggQEAgc3RhdGljIGJvb2wgaW50ZWxfc2R2b19zZXRfYXZp X2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2bywKPiAgICAgICAgIHNzaXpl X3QgbGVuOwo+Cj4gICAgICAgICByZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKCZmcmFtZS5hdmksCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlKTsK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUsCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlKTsKPiAgICAgICAgIGlmIChy ZXQgPCAwKSB7Cj4gICAgICAgICAgICAgICAgIERSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkg aW5mb2ZyYW1lXG4iKTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfaGRtaS5jCj4gaW5kZXggYzI2MjUxMi4uODBjMzZhZiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCj4gQEAgLTk3NSw3ICs5NzUsNyBAQCBzdGF0aWMg aW50IG10a19oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWUoc3RydWN0IG10a19oZG1pICpoZG1pLAo+ ICAgICAgICAgdTggYnVmZmVyWzE3XTsKPiAgICAgICAgIHNzaXplX3QgZXJyOwo+Cj4gLSAgICAg ICBlcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwg bW9kZSk7Cj4gKyAgICAgICBlcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ICAgICAgICAgaWYgKGVyciA8IDApIHsKPiAg ICAgICAgICAgICAgICAgZGV2X2VycihoZG1pLT5kZXYsCj4gICAgICAgICAgICAgICAgICAgICAg ICAgIkZhaWxlZCB0byBnZXQgQVZJIGluZm9mcmFtZSBmcm9tIG1vZGU6ICV6ZFxuIiwgZXJyKTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwo+IGluZGV4IDg2Yzk3N2IuLjYy NGY1YjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVy LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwo+IEBAIC04 NSw3ICs4NSw4IEBAIHN0YXRpYyB2b2lkIG9tYXBfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIsCj4gICAgICAgICBpZiAoaGRtaV9tb2RlICYmIGRzc2Rldi0+ZHJp dmVyLT5zZXRfaGRtaV9pbmZvZnJhbWUpIHsKPiAgICAgICAgICAgICAgICAgc3RydWN0IGhkbWlf YXZpX2luZm9mcmFtZSBhdmk7Cj4KPiAtICAgICAgICAgICAgICAgciA9IGRybV9oZG1pX2F2aV9p bmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmF2aSwgYWRqdXN0ZWRfbW9kZSk7Cj4gKyAgICAg ICAgICAgICAgIHIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZh dmksIGFkanVzdGVkX21vZGUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlKTsKPiAgICAgICAgICAgICAgICAgaWYgKHIg PT0gMCkKPiAgICAgICAgICAgICAgICAgICAgICAgICBkc3NkZXYtPmRyaXZlci0+c2V0X2hkbWlf aW5mb2ZyYW1lKGRzc2RldiwgJmF2aSk7Cj4gICAgICAgICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3JhZGVvbl9hdWRpby5jCj4gaW5kZXggYjIxNDY2My4uNDliNDJiZiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwo+IEBAIC01MTYsNyArNTE2LDcgQEAgc3RhdGljIGlu dCByYWRlb25fYXVkaW9fc2V0X2F2aV9wYWNrZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy LAo+ICAgICAgICAgaWYgKCFjb25uZWN0b3IpCj4gICAgICAgICAgICAgICAgIHJldHVybiAtRUlO VkFMOwo+Cj4gLSAgICAgICBlcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcmFtZSwgbW9kZSk7Cj4gKyAgICAgICBlcnIgPSBkcm1faGRtaV9hdmlfaW5mb2Zy YW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ICAgICAgICAgaWYg KGVyciA8IDApIHsKPiAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAg QVZJIGluZm9mcmFtZTogJWRcbiIsIGVycik7Cj4gICAgICAgICAgICAgICAgIHJldHVybiBlcnI7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwo+IGluZGV4IDAwNjI2MGQuLmIxMDVm MWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jCj4gQEAgLTI5NCw3ICsy OTQsNyBAQCBzdGF0aWMgaW50IGlubm9faGRtaV9jb25maWdfdmlkZW9fYXZpKHN0cnVjdCBpbm5v X2hkbWkgKmhkbWksCj4gICAgICAgICB1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKPiAgICAg ICAgIGludCByYzsKPgo+IC0gICAgICAgcmMgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOwo+ICsgICAgICAgcmMgPSBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsK Pgo+ICAgICAgICAgaWYgKGhkbWktPmhkbWlfZGF0YS5lbmNfb3V0X2Zvcm1hdCA9PSBIRE1JX0NP TE9SU1BBQ0VfWVVWNDQ0KQo+ICAgICAgICAgICAgICAgICBmcmFtZS5hdmkuY29sb3JzcGFjZSA9 IEhETUlfQ09MT1JTUEFDRV9ZVVY0NDQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9z dGkvc3RpX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+IGluZGV4IGNl MmRjYmEuLjIxMjhiOGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRt aS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCj4gQEAgLTQzNCw3ICs0 MzQsNyBAQCBzdGF0aWMgaW50IGhkbWlfYXZpX2luZm9mcmFtZV9jb25maWcoc3RydWN0IHN0aV9o ZG1pICpoZG1pKQo+Cj4gICAgICAgICBEUk1fREVCVUdfRFJJVkVSKCJcbiIpOwo+Cj4gLSAgICAg ICByZXQgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZpbmZvZnJh bWUsIG1vZGUpOwo+ICsgICAgICAgcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2RlLCBmYWxzZSk7Cj4gICAgICAgICBpZiAocmV0IDwg MCkgewo+ICAgICAgICAgICAgICAgICBEUk1fRVJST1IoImZhaWxlZCB0byBzZXR1cCBBVkkgaW5m b2ZyYW1lOiAlZFxuIiwgcmV0KTsKPiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9oZG1pLmMKPiBpbmRleCBjZGEwNDkxLi43MThkOGRiIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRt aS5jCj4gQEAgLTczNCw3ICs3MzQsNyBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9oZG1pX3NldHVwX2F2 aV9pbmZvZnJhbWUoc3RydWN0IHRlZ3JhX2hkbWkgKmhkbWksCj4gICAgICAgICB1OCBidWZmZXJb MTddOwo+ICAgICAgICAgc3NpemVfdCBlcnI7Cj4KPiAtICAgICAgIGVyciA9IGRybV9oZG1pX2F2 aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKPiArICAgICAgIGVy ciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2Rl LCBmYWxzZSk7Cj4gICAgICAgICBpZiAoZXJyIDwgMCkgewo+ICAgICAgICAgICAgICAgICBkZXZf ZXJyKGhkbWktPmRldiwgImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlemRcbiIsIGVy cik7Cj4gICAgICAgICAgICAgICAgIHJldHVybjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3RlZ3JhL3Nvci5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jCj4gaW5kZXggYThm NTI4OS4uZmIyNzA5YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKPiBAQCAtMTkwNCw3ICsxOTA0LDcg QEAgdGVncmFfc29yX2hkbWlfc2V0dXBfYXZpX2luZm9mcmFtZShzdHJ1Y3QgdGVncmFfc29yICpz b3IsCj4gICAgICAgICB2YWx1ZSAmPSB+SU5GT0ZSQU1FX0NUUkxfRU5BQkxFOwo+ICAgICAgICAg dGVncmFfc29yX3dyaXRlbChzb3IsIHZhbHVlLCBTT1JfSERNSV9BVklfSU5GT0ZSQU1FX0NUUkwp Owo+Cj4gLSAgICAgICBlcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKCZmcmFtZSwgbW9kZSk7Cj4gKyAgICAgICBlcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1l X2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwo+ICAgICAgICAgaWYgKGVy ciA8IDApIHsKPiAgICAgICAgICAgICAgICAgZGV2X2Vycihzb3ItPmRldiwgImZhaWxlZCB0byBz ZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxuIiwgZXJyKTsKPiAgICAgICAgICAgICAgICAgcmV0dXJu IGVycjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL3ZjNC92YzRfaGRtaS5jCj4gaW5kZXggZTljYmUyNi4uNWQ4MTMwMSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMKPiBAQCAtMzk0LDcgKzM5NCw3IEBAIHN0YXRpYyB2b2lk IHZjNF9oZG1pX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikK PiAgICAgICAgIHVuaW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwo+ICAgICAgICAgaW50IHJldDsK Pgo+IC0gICAgICAgcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9k ZSgmZnJhbWUuYXZpLCBtb2RlKTsKPiArICAgICAgIHJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJh bWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSwgZmFsc2UpOwo+ICAgICAgICAg aWYgKHJldCA8IDApIHsKPiAgICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJjb3VsZG4ndCBmaWxs IEFWSSBpbmZvZnJhbWVcbiIpOwo+ICAgICAgICAgICAgICAgICByZXR1cm47Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96 eF9oZG1pLmMKPiBpbmRleCBjNDdiOWNiLi4zZTI2N2RkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS96dGUvenhfaGRtaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9oZG1p LmMKPiBAQCAtMTI1LDcgKzEyNSw3IEBAIHN0YXRpYyBpbnQgenhfaGRtaV9jb25maWdfdmlkZW9f YXZpKHN0cnVjdCB6eF9oZG1pICpoZG1pLAo+ICAgICAgICAgdW5pb24gaGRtaV9pbmZvZnJhbWUg ZnJhbWU7Cj4gICAgICAgICBpbnQgcmV0Owo+Cj4gLSAgICAgICByZXQgPSBkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOwo+ICsgICAgICAg cmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZp LCBtb2RlLCBmYWxzZSk7Cj4gICAgICAgICBpZiAocmV0KSB7Cj4gICAgICAgICAgICAgICAgIERS TV9ERVZfRVJST1IoaGRtaS0+ZGV2LCAiZmFpbGVkIHRvIGdldCBhdmkgaW5mb2ZyYW1lOiAlZFxu IiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXQpOwo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fZWRpZC5oIGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaAo+IGluZGV4IGEy MWQ0OTQuLmE0ZDE3NGU3IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKPiAr KysgYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCj4gQEAgLTM0OCw3ICszNDgsOCBAQCBkcm1fbG9h ZF9lZGlkX2Zpcm13YXJlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4KPiAgaW50 Cj4gIGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoc3RydWN0IGhkbWlf YXZpX2luZm9mcmFtZSAqZnJhbWUsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSk7Cj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv b2wgaXNfaGRtaTIpOwo+ICBpbnQKPiAgZHJtX2hkbWlfdmVuZG9yX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV92ZW5kb3JfaW5mb2ZyYW1lICpmcmFtZSwKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlKTsKPiAtLQo+IDIuNy40Cj4KPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==