From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v5 04/12] drm/i915: Attach content type property Date: Tue, 23 Apr 2019 14:10:32 +0200 Message-ID: References: <20190418085805.5648-1-ramalingam.c@intel.com> <20190418085805.5648-5-ramalingam.c@intel.com> <20190423081148.GC13337@phenom.ffwll.local> <20190423111737.GA2484@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190423111737.GA2484@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ramalingam C Cc: intel-gfx , dri-devel List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBBcHIgMjMsIDIwMTkgYXQgMToxNSBQTSBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0u Y0BpbnRlbC5jb20+IHdyb3RlOgo+Cj4gT24gMjAxOS0wNC0yMyBhdCAxMDoxMTo0OCArMDIwMCwg RGFuaWVsIFZldHRlciB3cm90ZToKPiA+IE9uIFRodSwgQXByIDE4LCAyMDE5IGF0IDAyOjI3OjU3 UE0gKzA1MzAsIFJhbWFsaW5nYW0gQyB3cm90ZToKPiA+ID4gQXR0YWNoZXMgdGhlIGNvbnRlbnQg dHlwZSBwcm9wZXJ0eSBmb3IgSERDUDIuMiBjYXBhYmxlIGNvbm5lY3RvcnMuCj4gPiA+Cj4gPiA+ IEltcGxlbWVudHMgdGhlIHVwZGF0ZSBvZiBjb250ZW50IHR5cGUgZnJvbSBwcm9wZXJ0eSBhbmQg YXBwbHkgdGhlCj4gPiA+IHJlc3RyaWN0aW9uIG9uIEhEQ1AgdmVyc2lvbiBzZWxlY3Rpb24uCj4g PiA+Cj4gPiA+IHYyOgo+ID4gPiAgIHMvY3BfY29udGVudF90eXBlL2NvbnRlbnRfcHJvdGVjdGlv bl90eXBlIFtkYW5pZWxdCj4gPiA+ICAgZGlzYWJsZSBhdCBoZGNwX2F0b21pY19jaGVjayB0byBh dm9pZCBjaGVjayBhdCBhdG9taWNfc2V0X3Byb3BlcnR5Cj4gPiA+ICAgICBbTWFhcnRlbl0KPiA+ ID4gdjM6Cj4gPiA+ICAgcy9jb250ZW50X3Byb3RlY3Rpb25fdHlwZS9oZGNwX2NvbnRlbnRfdHlw ZSBbUGVra2FdCj4gPiA+IHY0Ogo+ID4gPiAgIGhkY3AgZGlzYWJsZSBpbmNhc2Ugb2YgdHlwZSBj aGFuZ2UgaXMgbW92ZWQgaW50byBjb21taXQgW2RhbmllbF0uCj4gPiA+Cj4gPiA+IFNpZ25lZC1v ZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KPiA+ID4gLS0tCj4g PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyAgfCAzOCArKysrKysrKysrKysr KysrKysrKysrKystLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyB8 IDQzICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkY3AuaCB8ICAyICstCj4gPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDYzIGlu c2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQo+ID4gPgo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZGkuYwo+ID4gPiBpbmRleCAyNGY5MTA2ZWZjYzYuLmRkOWJlYTg0MDkzNyAxMDA2NDQKPiA+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+ID4gQEAgLTM0NzYsNyArMzQ3Niw4IEBA IHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCj4gPiA+ICAgICAvKiBFbmFibGUgaGRjcCBpZiBpdCdzIGRlc2lyZWQgKi8KPiA+ID4gICAg IGlmIChjb25uX3N0YXRlLT5jb250ZW50X3Byb3RlY3Rpb24gPT0KPiA+ID4gICAgICAgICBEUk1f TU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRCkKPiA+ID4gLSAgICAgICAgICAgaW50ZWxf aGRjcF9lbmFibGUodG9faW50ZWxfY29ubmVjdG9yKGNvbm5fc3RhdGUtPmNvbm5lY3RvcikpOwo+ ID4gPiArICAgICAgICAgICBpbnRlbF9oZGNwX2VuYWJsZSh0b19pbnRlbF9jb25uZWN0b3IoY29u bl9zdGF0ZS0+Y29ubmVjdG9yKSwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHU4KWNvbm5fc3RhdGUtPmhkY3BfY29udGVudF90eXBlKTsKPiA+ID4gIH0KPiA+ID4KPiA+ID4g IHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZGRpX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ID4gPiBAQCAtMzU0NSwxNSArMzU0Niw0NCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9k ZGlfdXBkYXRlX3BpcGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKPiA+ID4gIHsKPiA+ID4gKyAgIHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9Cj4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICB0b19pbnRlbF9jb25uZWN0b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKPiA+ ID4gKyAgIHN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKPiA+ID4g KyAgIGJvb2wgIHJlX2VuYWJsZV9oZGNwID0gZmFsc2U7Cj4gPiA+ICsgICBpbnQgcmV0ID0gLUVJ TlZBTDsKPiA+ID4gKwo+ID4gPiAgICAgaWYgKCFpbnRlbF9jcnRjX2hhc190eXBlKGNydGNfc3Rh dGUsIElOVEVMX09VVFBVVF9IRE1JKSkKPiA+ID4gICAgICAgICAgICAgaW50ZWxfZGRpX3VwZGF0 ZV9waXBlX2RwKGVuY29kZXIsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwo+ID4gPgo+ID4gPiAr ICAgLyoKPiA+ID4gKyAgICAqIER1cmluZyB0aGUgSERDUCBlbmNyeXB0aW9uIHNlc3Npb24gaWYg VHlwZSBjaGFuZ2UgaXMgcmVxdWVzdGVkLAo+ID4gPiArICAgICogZGlzYWJsZSB0aGUgSERDUCBh bmQgcmVlbmFibGUgaXQgd2l0aCBuZXcgVFlQRSB2YWx1ZS4KPiA+ID4gKyAgICAqLwo+ID4gPiAg ICAgaWYgKGNvbm5fc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9PQo+ID4gPiAtICAgICAgIERS TV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEKQo+ID4gPiAtICAgICAgICAgICBpbnRl bF9oZGNwX2VuYWJsZSh0b19pbnRlbF9jb25uZWN0b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKSk7 Cj4gPiA+ICsgICAgICAgRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0VOQUJMRUQgJiYKPiA+ ID4gKyAgICAgICBjb25uX3N0YXRlLT5oZGNwX2NvbnRlbnRfdHlwZSAhPSBoZGNwLT5jb250ZW50 X3R5cGUpIHsKPiA+ID4gKyAgICAgICAgICAgaW50ZWxfaGRjcF9kaXNhYmxlKHRvX2ludGVsX2Nv bm5lY3Rvcihjb25uX3N0YXRlLT5jb25uZWN0b3IpKTsKPiA+ID4gKyAgICAgICAgICAgcmVfZW5h YmxlX2hkY3AgPSB0cnVlOwo+ID4gPiArICAgfQo+ID4gPiArCj4gPiA+ICsgICBpZiAoY29ubl9z dGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uID09Cj4gPiA+ICsgICAgICAgRFJNX01PREVfQ09OVEVO VF9QUk9URUNUSU9OX0RFU0lSRUQgfHwgcmVfZW5hYmxlX2hkY3ApCj4gPiA+ICsgICAgICAgICAg IHJldCA9IGludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3RvciwKPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHU4KWNvbm5fc3RhdGUtPmhkY3BfY29udGVudF90eXBlKTsK PiA+ID4gICAgIGVsc2UgaWYgKGNvbm5fc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9PQo+ID4g PiAgICAgICAgICAgICAgRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkKPiA+ ID4gLSAgICAgICAgICAgaW50ZWxfaGRjcF9kaXNhYmxlKHRvX2ludGVsX2Nvbm5lY3Rvcihjb25u X3N0YXRlLT5jb25uZWN0b3IpKTsKPiA+ID4gKyAgICAgICAgICAgaW50ZWxfaGRjcF9kaXNhYmxl KGNvbm5lY3Rvcik7Cj4gPiA+ICsKPiA+ID4gKyAgIC8qCj4gPiA+ICsgICAgKiBEdXJpbmcgVHlw ZSBjaGFuZ2UgaGFuZGxpbmcgcmUtZW5hYmxpbmcgb2YgdGhlIEhEQ1AgZmFpbGVkLiBIZW5jZQo+ ID4gPiArICAgICogY2hhbmdlcyBzdGF0ZSBhcyBFTkFCTEVELT5ERVNJUkVELgo+ID4gPiArICAg ICovCj4gPiA+ICsgICBpZiAocmV0ICYmIHJlX2VuYWJsZV9oZGNwKSB7Cj4gPiA+ICsgICAgICAg ICAgIG11dGV4X2xvY2soJmhkY3AtPm11dGV4KTsKPiA+ID4gKyAgICAgICAgICAgaGRjcC0+dmFs dWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRDsKPiA+ID4gKyAgICAgICAg ICAgc2NoZWR1bGVfd29yaygmaGRjcC0+cHJvcF93b3JrKTsKPiA+ID4gKyAgICAgICAgICAgbXV0 ZXhfdW5sb2NrKCZoZGNwLT5tdXRleCk7Cj4gPiA+ICsgICB9Cj4gPgo+ID4gSSdtIHVuaGFwcHkg d2l0aCB0aGUgY29udm9sdXRlZCBsb2dpYyBoZXJlLiBJdCdzIGNvcnJlY3QgSSB0aGluayBidXQK PiA+IGZhaXJseSBoYXJkIHRvIGZvbGxvdy4gV2hhdCBhYm91dCB0aGlzIGluc3RlYWQ/Cj4gPgo+ ID4gICAgICAgdW5zaWduZWQgaW50IGNvbnRlbnRfcHJvdGVjdGlvbiA9IGNvbm5fc3RhdGUtPmNv bnRlbnRfcHJvdGVjdGlvbjsKPiA+ICAgICAgIGJvb2wgY29udGVudF9wcm90ZWN0aW9uX3R5cGVf Y2hhbmdlZCA9Cj4gPiAgICAgICAgICAgICAgIGNvbm5fc3RhdGUtPmhkY3BfY29udGVudF90eXBl ICE9IGhkY3AtPmNvbnRlbnRfdHlwZTsKPiA+Cj4gPiAgICAgICBpZiAoY29ubl9zdGF0ZS0+Y29u dGVudF9wcm90ZWN0aW9uID09Cj4gPiAgICAgICAgICAgICAgICBEUk1fTU9ERV9DT05URU5UX1BS T1RFQ1RJT05fVU5ERVNJUkVEIHx8Cj4gPiAgICAgICAgICAgY29udGVudF9wcm90ZWN0aW9uX3R5 cGVfY2hhbmdlZCkKPiA+ICAgICAgICAgICAgICAgaW50ZWxfaGRjcF9kaXNhYmxlKHRvX2ludGVs X2Nvbm5lY3Rvcihjb25uX3N0YXRlLT5jb25uZWN0b3IpKTsKPiA+Cj4gPiAgICAgICAvKiBNYWtl IHN1cmUgd2UgcGljayB1cCB0eXBlIGNoYW5nZXMgKi8KPiA+ICAgICAgIGlmIChjb250ZW50X3By b3RlY3Rpb25fdHlwZV9jaGFuZ2VkKSB7Cj4gPiAgICAgICAgICAgICAgIG11dGV4X2xvY2soJmhk Y3AtPm11dGV4KTsKPiA+ICAgICAgICAgICAgICAgaGRjcC0+dmFsdWUgPSBEUk1fTU9ERV9DT05U RU5UX1BST1RFQ1RJT05fREVTSVJFRDsKPiA+ICAgICAgICAgICAgICAgc2NoZWR1bGVfd29yaygm aGRjcC0+cHJvcF93b3JrKTsKPiA+ICAgICAgICAgICAgICAgbXV0ZXhfdW5sb2NrKCZoZGNwLT5t dXRleCk7Cj4gPiAgICAgICB9Cj4gPgo+ID4gICAgICAgaWYgKGNvbm5fc3RhdGUtPmNvbnRlbnRf cHJvdGVjdGlvbiA9PQo+ID4gICAgICAgICAgIERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9E RVNJUkVEIHx8Cj4gPiAgICAgICAgICAgY29udGVudF9wcm90ZWN0aW9uX3R5cGVfY2hhbmdlZCkK PiA+ICAgICAgICAgICAgICAgaW50ZWxfaGRjcF9lbmFibGUodG9faW50ZWxfY29ubmVjdG9yKGNv bm5fc3RhdGUtPmNvbm5lY3RvcikpOwo+ID4KPiA+IElkZWEgaXMgdG8gb25seSBoYXZlIG9uZSBk aXNhYmxlIGFuZCBvbmUgZW5hYmxlIGNhbGwsIGFuZCBtYWtlIHN1cmUgdGhlCj4gPiBlbmFibGUg cGlja3MgdXAgb3VyIGNvbnRlbnQgdHlwZSBjaGFuZ2Ugbm8gbWF0dGVyIHdoYXQuIEJ1dCBub3Qg c3VyZSB0aGF0Cj4gPiBpdCdzIHJlYWxseSBjbGVhcmVyLiBUaG91Z2h0cz8KPiBTdXJlLiBNb3Jl IHNpbXBsaWZpZWQuIEkgd2lsbCBhZGQgeW91ciByZXZpZXdlZC1ieSB3aXRoIHRoaXMgY2hhbmdl IHRvCj4gdGhlIHBhdGNoLiBUaGFua3MuCgpZZWFoIHItYjogbWUgd2l0aCAoYXNzdW1pbmcgaXQg Y2hlY2tzIG91dCBvbmNlIHlvdSd2ZSBpbXBsZW1lbnRlZCBpdCB0b28pLgotRGFuaWVsCgo+Cj4g LSBSYW0KPiA+Cj4gPiBBc2lkZSBmcm9tIHRoaXMgbGd0bS4KPiA+IC1EYW5pZWwKPiA+Cj4gPgo+ ID4gPiAgfQo+ID4gPgo+ID4gPiAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX3NldF9maWFfbGFuZV9j b3VudChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkY3AuYwo+ID4gPiBpbmRleCBhNjEzOTFkMzc0ZTguLjc3Mjk3NDY5N2I1YSAxMDA2NDQK PiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCj4gPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwo+ID4gPiBAQCAtMTcxNywxNCArMTcx NywxNSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9vcHMgaTkxNV9oZGNwX2NvbXBv bmVudF9vcHMgPSB7Cj4gPiA+ICAgICAudW5iaW5kID0gaTkxNV9oZGNwX2NvbXBvbmVudF91bmJp bmQsCj4gPiA+ICB9Owo+ID4gPgo+ID4gPiAtc3RhdGljIGlubGluZSBpbnQgaW5pdGlhbGl6ZV9o ZGNwX3BvcnRfZGF0YShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiA+ICtz dGF0aWMgaW5saW5lIGludCBpbml0aWFsaXplX2hkY3BfcG9ydF9kYXRhKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNoaW0pCj4gPiA+ICB7Cj4g PiA+ICAgICBzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7Cj4gPiA+ ICAgICBzdHJ1Y3QgaGRjcF9wb3J0X2RhdGEgKmRhdGEgPSAmaGRjcC0+cG9ydF9kYXRhOwo+ID4g Pgo+ID4gPiAgICAgZGF0YS0+cG9ydCA9IGNvbm5lY3Rvci0+ZW5jb2Rlci0+cG9ydDsKPiA+ID4g ICAgIGRhdGEtPnBvcnRfdHlwZSA9ICh1OClIRENQX1BPUlRfVFlQRV9JTlRFR1JBVEVEOwo+ID4g PiAtICAgZGF0YS0+cHJvdG9jb2wgPSAodTgpaGRjcC0+c2hpbS0+cHJvdG9jb2w7Cj4gPiA+ICsg ICBkYXRhLT5wcm90b2NvbCA9ICh1OClzaGltLT5wcm90b2NvbDsKPiA+ID4KPiA+ID4gICAgIGRh dGEtPmsgPSAxOwo+ID4gPiAgICAgaWYgKCFkYXRhLT5zdHJlYW1zKQo+ID4gPiBAQCAtMTc3NCwx MiArMTc3NSwxMyBAQCB2b2lkIGludGVsX2hkY3BfY29tcG9uZW50X2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiAgICAgfQo+ID4gPiAgfQo+ID4gPgo+ID4gPiAt c3RhdGljIHZvaWQgaW50ZWxfaGRjcDJfaW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpCj4gPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9oZGNwMl9pbml0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNoaW0pCj4gPiA+ICB7Cj4gPiA+ICAgICBzdHJ1Y3Qg aW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7Cj4gPiA+ICAgICBpbnQgcmV0Owo+ ID4gPgo+ID4gPiAtICAgcmV0ID0gaW5pdGlhbGl6ZV9oZGNwX3BvcnRfZGF0YShjb25uZWN0b3Ip Owo+ID4gPiArICAgcmV0ID0gaW5pdGlhbGl6ZV9oZGNwX3BvcnRfZGF0YShjb25uZWN0b3IsIHNo aW0pOwo+ID4gPiAgICAgaWYgKHJldCkgewo+ID4gPiAgICAgICAgICAgICBEUk1fREVCVUdfS01T KCJNZWkgaGRjcCBkYXRhIGluaXQgZmFpbGVkXG4iKTsKPiA+ID4gICAgICAgICAgICAgcmV0dXJu Owo+ID4gPiBAQCAtMTc5OCwyNSArMTgwMCwyOCBAQCBpbnQgaW50ZWxfaGRjcF9pbml0KHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gICAgIGlmICghc2hpbSkKPiA+ID4g ICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gPiA+Cj4gPiA+ICsgICBpZiAoaXNfaGRjcDJf c3VwcG9ydGVkKGRldl9wcml2KSkKPiA+ID4gKyAgICAgICAgICAgaW50ZWxfaGRjcDJfaW5pdChj b25uZWN0b3IsIHNoaW0pOwo+ID4gPiArCj4gPiA+ICAgICByZXQgPQo+ID4gPiAgICAgZHJtX2Nv bm5lY3Rvcl9hdHRhY2hfY29udGVudF9wcm90ZWN0aW9uX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJh c2UsCj4gPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZmFsc2UpOwo+ID4gPiAtICAgaWYgKHJldCkKPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZGNwLT5oZGNwMl9zdXBwb3J0ZWQp Owo+ID4gPiArICAgaWYgKHJldCkgewo+ID4gPiArICAgICAgICAgICBoZGNwLT5oZGNwMl9zdXBw b3J0ZWQgPSBmYWxzZTsKPiA+ID4gKyAgICAgICAgICAga2ZyZWUoaGRjcC0+cG9ydF9kYXRhLnN0 cmVhbXMpOwo+ID4gPiAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4gPiArICAgfQo+ID4gPgo+ ID4gPiAgICAgaGRjcC0+c2hpbSA9IHNoaW07Cj4gPiA+ICAgICBtdXRleF9pbml0KCZoZGNwLT5t dXRleCk7Cj4gPiA+ICAgICBJTklUX0RFTEFZRURfV09SSygmaGRjcC0+Y2hlY2tfd29yaywgaW50 ZWxfaGRjcF9jaGVja193b3JrKTsKPiA+ID4gICAgIElOSVRfV09SSygmaGRjcC0+cHJvcF93b3Jr LCBpbnRlbF9oZGNwX3Byb3Bfd29yayk7Cj4gPiA+IC0KPiA+ID4gLSAgIGlmIChpc19oZGNwMl9z dXBwb3J0ZWQoZGV2X3ByaXYpKQo+ID4gPiAtICAgICAgICAgICBpbnRlbF9oZGNwMl9pbml0KGNv bm5lY3Rvcik7Cj4gPiA+ICAgICBpbml0X3dhaXRxdWV1ZV9oZWFkKCZoZGNwLT5jcF9pcnFfcXVl dWUpOwo+ID4gPgo+ID4gPiAgICAgcmV0dXJuIDA7Cj4gPiA+ICB9Cj4gPiA+Cj4gPiA+IC1pbnQg aW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ID4g PiAraW50IGludGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv ciwgdTggY29udGVudF90eXBlKQo+ID4gPiAgewo+ID4gPiAgICAgc3RydWN0IGludGVsX2hkY3Ag KmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwo+ID4gPiAgICAgdW5zaWduZWQgbG9uZyBjaGVja19s aW5rX2ludGVydmFsID0gRFJNX0hEQ1BfQ0hFQ0tfUEVSSU9EX01TOwo+ID4gPiBAQCAtMTgyNyw2 ICsxODMyLDcgQEAgaW50IGludGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmNvbm5lY3RvcikKPiA+ID4KPiA+ID4gICAgIG11dGV4X2xvY2soJmhkY3AtPm11dGV4KTsKPiA+ ID4gICAgIFdBUk5fT04oaGRjcC0+dmFsdWUgPT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9O X0VOQUJMRUQpOwo+ID4gPiArICAgaGRjcC0+Y29udGVudF90eXBlID0gY29udGVudF90eXBlOwo+ ID4gPgo+ID4gPiAgICAgLyoKPiA+ID4gICAgICAqIENvbnNpZGVyaW5nIHRoYXQgSERDUDIuMiBp cyBtb3JlIHNlY3VyZSB0aGFuIEhEQ1AxLjQsIElmIHRoZSBzZXR1cAo+ID4gPiBAQCAtMTgzOCw4 ICsxODQ0LDEyIEBAIGludCBpbnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3IpCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgY2hlY2tfbGlua19pbnRlcnZh bCA9IERSTV9IRENQMl9DSEVDS19QRVJJT0RfTVM7Cj4gPiA+ICAgICB9Cj4gPiA+Cj4gPiA+IC0g ICAvKiBXaGVuIEhEQ1AyLjIgZmFpbHMsIEhEQ1AxLjQgd2lsbCBiZSBhdHRlbXB0ZWQgKi8KPiA+ ID4gLSAgIGlmIChyZXQgJiYgaW50ZWxfaGRjcF9jYXBhYmxlKGNvbm5lY3RvcikpIHsKPiA+ID4g KyAgIC8qCj4gPiA+ICsgICAgKiBXaGVuIEhEQ1AyLjIgZmFpbHMgYW5kIENvbnRlbnQgVHlwZSBp cyBub3QgVHlwZTEsIEhEQ1AxLjQgd2lsbAo+ID4gPiArICAgICogYmUgYXR0ZW1wdGVkLgo+ID4g PiArICAgICovCj4gPiA+ICsgICBpZiAocmV0ICYmIGludGVsX2hkY3BfY2FwYWJsZShjb25uZWN0 b3IpICYmCj4gPiA+ICsgICAgICAgaGRjcC0+Y29udGVudF90eXBlICE9IERSTV9NT0RFX0hEQ1Bf Q09OVEVOVF9UWVBFMSkgewo+ID4gPiAgICAgICAgICAgICByZXQgPSBfaW50ZWxfaGRjcF9lbmFi bGUoY29ubmVjdG9yKTsKPiA+ID4gICAgIH0KPiA+ID4KPiA+ID4gQEAgLTE5MjEsMTIgKzE5MzEs MTUgQEAgdm9pZCBpbnRlbF9oZGNwX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+ID4gPgo+ID4gPiAgICAgLyoKPiA+ID4gICAgICAqIE5vdGhpbmcgdG8gZG8g aWYgdGhlIHN0YXRlIGRpZG4ndCBjaGFuZ2UsIG9yIEhEQ1Agd2FzIGFjdGl2YXRlZCBzaW5jZQo+ ID4gPiAtICAgICogdGhlIGxhc3QgY29tbWl0Cj4gPiA+ICsgICAgKiB0aGUgbGFzdCBjb21taXQu IEFuZCBhbHNvIG5vIGNoYW5nZSBpbiBoZGNwIGNvbnRlbnQgdHlwZS4KPiA+ID4gICAgICAqLwo+ ID4gPiAgICAgaWYgKG9sZF9jcCA9PSBuZXdfY3AgfHwKPiA+ID4gICAgICAgICAob2xkX2NwID09 IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEICYmCj4gPiA+IC0gICAgICAgIG5l d19jcCA9PSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fRU5BQkxFRCkpCj4gPiA+IC0gICAg ICAgICAgIHJldHVybjsKPiA+ID4gKyAgICAgICAgbmV3X2NwID09IERSTV9NT0RFX0NPTlRFTlRf UFJPVEVDVElPTl9FTkFCTEVEKSkgewo+ID4gPiArICAgICAgICAgICBpZiAob2xkX3N0YXRlLT5o ZGNwX2NvbnRlbnRfdHlwZSA9PQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3 X3N0YXRlLT5oZGNwX2NvbnRlbnRfdHlwZSkKPiA+ID4gKyAgICAgICAgICAgICAgICAgICByZXR1 cm47Cj4gPiA+ICsgICB9Cj4gPiA+Cj4gPiA+ICAgICBjcnRjX3N0YXRlID0gZHJtX2F0b21pY19n ZXRfbmV3X2NydGNfc3RhdGUobmV3X3N0YXRlLT5zdGF0ZSwKPiA+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfc3RhdGUtPmNydGMpOwo+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5oCj4gPiA+IGluZGV4IGJlOGRhODVjODY2YS4uMTM1NTVi MDU0OTMwIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNw LmgKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5oCj4gPiA+IEBA IC0yMSw3ICsyMSw3IEBAIHZvaWQgaW50ZWxfaGRjcF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpuZXdfc3RhdGUpOwo+ID4gPiAgaW50IGludGVsX2hkY3Bf aW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiA+ICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltICpoZGNwX3NoaW0pOwo+ID4gPiAtaW50 IGludGVsX2hkY3BfZW5hYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4g PiA+ICtpbnQgaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yLCB1OCBjb250ZW50X3R5cGUpOwo+ID4gPiAgaW50IGludGVsX2hkY3BfZGlzYWJsZShzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ID4gPiAgYm9vbCBpc19oZGNwX3N1cHBv cnRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gcG9ydCBwb3J0KTsK PiA+ID4gIGJvb2wgaW50ZWxfaGRjcF9jYXBhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3Rvcik7Cj4gPiA+IC0tCj4gPiA+IDIuMTkuMQo+ID4gPgo+ID4KPiA+IC0tCj4gPiBEYW5p ZWwgVmV0dGVyCj4gPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiA+IGh0 dHA6Ly9ibG9nLmZmd2xsLmNoCgoKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgorNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZm d2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==