From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A851FC43603 for ; Thu, 5 Dec 2019 11:00:12 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 831B624648 for ; Thu, 5 Dec 2019 11:00:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 831B624648 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 003896F53A; Thu, 5 Dec 2019 11:00:12 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id DAD206F53A for ; Thu, 5 Dec 2019 11:00:09 +0000 (UTC) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Dec 2019 03:00:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,281,1571727600"; d="scan'208";a="214148377" Received: from ramaling-i9x.iind.intel.com (HELO intel.com) ([10.99.66.154]) by orsmga003.jf.intel.com with ESMTP; 05 Dec 2019 03:00:07 -0800 Date: Thu, 5 Dec 2019 16:29:37 +0530 From: Ramalingam C To: Ville Syrjala Message-ID: <20191205105937.GD25793@intel.com> References: <20191204180549.1267-1-ville.syrjala@linux.intel.com> <20191204180549.1267-6-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20191204180549.1267-6-ville.syrjala@linux.intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [Intel-gfx] [PATCH 5/9] drm/i915: Use intel_attached_encoder() X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gMjAxOS0xMi0wNCBhdCAyMDowNTo0NSArMDIwMCwgVmlsbGUgU3lyamFsYSB3cm90ZToKPiBG cm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IAo+ IEl0J3MgZWFzeSB0byBjb25mdXNlIHRoZSBkcm1fY29ubmVjdG9yLT5lbmNvZGVyIChsZWdhY3kg c3RhdGUKPiBhZGp1c3RlZCBkdXJpbmcgbW9kZXNldCkgYW5kIGludGVsX2Nvbm5lY3Rvci0+ZW5j b2RlciAodGhlIHN0YXRpY2FsbHkKPiAoc2Fucy4gTVNUKSBhdHRhY2hlZCBlbmNvZGVyIG9mIHRo ZSBjb25uZWN0b3IpLiBGb3IgdGhlIGxhdHRlcgo+IGxldCdzIHVzZSBpbnRlbF9hdHRhY2hlZF9l bmNvZGVyKCkgY29uc2lzdGVudGx5Lgo+IAo+IEBACj4gaWRlbnRpZmllciBGICF+ICJeaW50ZWxf YXR0YWNoZWRfZW5jb2RlciQiOwo+IHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKkM7Cj4gZXhwcmVz c2lvbiBFOwo+IEBACj4gRiguLi4pCj4gewo+IDwuLi4KPiAoCj4gICBDLT5lbmNvZGVyID0gRQo+ IHwKPiAtIEMtPmVuY29kZXIKPiArIGludGVsX2F0dGFjaGVkX2VuY29kZXIoQykKCllvdSBtZWFu IGludGVsX2F0dGFjaGVkX2VuY29kZXIoJkMtPmJhc2UpCk5lZWQgdG8gcGFzcyB0aGUgZHJtX2Nv bm5lY3RvciAqCgpTbyB0aGlzIGlzIGZvciByZWFkYWJpbGl0eSE/IFRoaXMgYWRkcyB0aGUgbGlu ZSBsZW5ndGggYmV5b25kIDgwY2hhcgpvciB0byByZWR1Y2UgdGhhdCBhIGV4dHJhIGxvY2FsIHZh cmlhYmxlLiBJIGxlYXZlIHRoYXQgdG8geW91Lgo+ICkKPiAuLi4+Cj4gfQo+IAo+IEBACj4gaWRl bnRpZmllciBGICF+ICJeaW50ZWxfYXR0YWNoZWRfZW5jb2RlciQiOwo+IHN0cnVjdCBkcm1fY29u bmVjdG9yICpDOwo+IGV4cHJlc3Npb24gRTsKPiBAQAo+IEYoLi4uKQo+IHsKPiA8Li4uCj4gKAo+ ICAgdG9faW50ZWxfY29ubmVjdG9yKEMpLT5lbmNvZGVyID0gRQo+IHwKPiAtIHRvX2ludGVsX2Nv bm5lY3RvcihDKS0+ZW5jb2Rlcgo+ICsgaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcih0b19pbnRlbF9j b25uZWN0b3IoQykpCj4gKQo+IC4uLj4KPiB9Cj4gCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuYyAgICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgICAgICAgICAgICAgfCAgMiAr LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyAgICAgICAg IHwgIDQgKystLQo+ICAuLi4vZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfYXV4X2JhY2ts aWdodC5jICAgIHwgMTIgKysrKysrLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZHBfbXN0LmMgICAgICAgICAgfCAgNCArKy0tCj4gIC4uLi9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kc2lfZGNzX2JhY2tsaWdodC5jICAgfCAgNCArKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5jICAgICAgICAgICAgfCAgOCArKysrLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hvdHBsdWcuYyAgICAgICAg IHwgMTAgKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9kc2ku YyAgICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMgICAgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQo+ICAxMCBmaWxlcyBjaGFuZ2VkLCAy NyBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfY29ubmVjdG9yLmMKPiBpbmRleCAxMTMzYzRlOTdiYjQuLjU0 ODkxYTRlZDJmMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Nvbm5lY3Rvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9jb25uZWN0b3IuYwo+IEBAIC0xNTMsNyArMTUzLDcgQEAgdm9pZCBpbnRlbF9jb25uZWN0b3Jf YXR0YWNoX2VuY29kZXIoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICBib29s IGludGVsX2Nvbm5lY3Rvcl9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yKQo+ICB7Cj4gIAllbnVtIHBpcGUgcGlwZSA9IDA7Cj4gLQlzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciA9IGNvbm5lY3Rvci0+ZW5jb2RlcjsKPiArCXN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyID0gaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0b3IpOwppbnRlbF9h dHRhY2hlZF9lbmNvZGVyIHRha2VzIGRybV9jb25uZWN0b3IgKiBpbnN0ZWFkIG9mIGludGVsX2Nv bm5lY3Rvci4KRXZlcnl3aGVyZSB3ZSBuZWVkIHRvIGNoYW5nZSB0aGlzLgo+ICAKPiAgCXJldHVy biBlbmNvZGVyLT5nZXRfaHdfc3RhdGUoZW5jb2RlciwgJnBpcGUpOwo+ICB9Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gaW5kZXggNTJkMTg3ZGIzMjBmLi4zZTQ2 MDE3MTUwYjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMK PiBAQCAtMjAwMyw3ICsyMDAzLDcgQEAgYm9vbCBpbnRlbF9kZGlfY29ubmVjdG9yX2dldF9od19z dGF0ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCj4gIHsKPiAgCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9jb25uZWN0b3ItPmJhc2UuZGV2Owo+ICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IC0Jc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBpbnRlbF9jb25uZWN0b3ItPmVuY29kZXI7Cj4gKwlz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGludGVsX2F0dGFjaGVkX2VuY29kZXIoaW50 ZWxfY29ubmVjdG9yKTsKQXMgeW91IGhhdmUgZG9uZSBpbiBwcmV2aW91cyBzZXJpZXMsIGNvdWxk IHdlIHJlbmFtZSB0aGlzIGludGVsX2Nvbm5lY3RvcgphcyBjb25uZWN0b3IKPiAgCWludCB0eXBl ID0gaW50ZWxfY29ubmVjdG9yLT5iYXNlLmNvbm5lY3Rvcl90eXBlOwo+ICAJZW51bSBwb3J0IHBv cnQgPSBlbmNvZGVyLT5wb3J0Owo+ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXgg NDU1NjhhN2M2NTc5Li5kZjFiODAzODcxMDYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC03Mjc5LDcgKzcyNzksNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9jb25uZWN0b3JfdmVyaWZ5X3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAo+ICAJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5uYW1lKTsKPiAgCj4gIAlp ZiAoY29ubmVjdG9yLT5nZXRfaHdfc3RhdGUoY29ubmVjdG9yKSkgewo+IC0JCXN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyID0gY29ubmVjdG9yLT5lbmNvZGVyOwo+ICsJCXN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyID0gaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0b3IpOwo+ ICAKPiAgCQlJOTE1X1NUQVRFX1dBUk4oIWNydGNfc3RhdGUsCj4gIAkJCSAiY29ubmVjdG9yIGVu YWJsZWQgd2l0aG91dCBhdHRhY2hlZCBjcnRjXG4iKTsKPiBAQCAtMTc1MjksNyArMTc1MjksNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgCj4gIAkJCWNvbm5lY3Rvci0+YmFzZS5kcG1zID0gRFJNX01PREVfRFBN U19PTjsKPiAgCj4gLQkJCWVuY29kZXIgPSBjb25uZWN0b3ItPmVuY29kZXI7Cj4gKwkJCWVuY29k ZXIgPSBpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGNvbm5lY3Rvcik7Cj4gIAkJCWNvbm5lY3Rvci0+ YmFzZS5lbmNvZGVyID0gJmVuY29kZXItPmJhc2U7Cj4gIAo+ICAJCQljcnRjID0gdG9faW50ZWxf Y3J0YyhlbmNvZGVyLT5iYXNlLmNydGMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwX2F1eF9iYWNrbGlnaHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZHBfYXV4X2JhY2tsaWdodC5jCj4gaW5kZXggN2M2NTNmOGMzMDdm Li43NzFlMjJhMGIyYTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcF9hdXhfYmFja2xpZ2h0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2RwX2F1eF9iYWNrbGlnaHQuYwo+IEBAIC01Nyw3ICs1Nyw3IEBAIHN0YXRp YyB2b2lkIHNldF9hdXhfYmFja2xpZ2h0X2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LCBib29sIGVuYWJsZSkKPiAgICovCj4gIHN0YXRpYyB1MzIgaW50ZWxfZHBfYXV4X2dldF9iYWNr bGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gLQlzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGNvbm5lY3Rvci0+ZW5jb2Rlcik7 Cj4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGludGVsX2F0 dGFjaGVkX2VuY29kZXIoY29ubmVjdG9yKSk7Cj4gIAl1OCByZWFkX3ZhbFsyXSA9IHsgMHgwIH07 Cj4gIAl1MTYgbGV2ZWwgPSAwOwo+ICAKPiBAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgdm9pZAo+ ICBpbnRlbF9kcF9hdXhfc2V0X2JhY2tsaWdodChjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9z dGF0ZSAqY29ubl9zdGF0ZSwgdTMyIGxldmVsKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY29ubmVj dG9yICpjb25uZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9y KTsKPiAtCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoY29ubmVj dG9yLT5lbmNvZGVyKTsKPiArCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50 ZWxfZHAoaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0b3IpKTsKPiAgCXU4IHZhbHNbMl0g PSB7IDB4MCB9Owo+ICAKPiAgCXZhbHNbMF0gPSBsZXZlbDsKPiBAQCAtMTEwLDcgKzExMCw3IEBA IGludGVsX2RwX2F1eF9zZXRfYmFja2xpZ2h0KGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpjb25uX3N0YXRlLCB1MzIgbGV2Cj4gIHN0YXRpYyBib29sIGludGVsX2RwX2F1eF9zZXRf cHdtX2ZyZXEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5k ZXYpOwo+IC0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChjb25u ZWN0b3ItPmVuY29kZXIpOwo+ICsJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19p bnRlbF9kcChpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGNvbm5lY3RvcikpOwo+ICAJaW50IGZyZXEs IGZ4cCwgZnhwX21pbiwgZnhwX21heCwgZnhwX2FjdHVhbCwgZiA9IDE7Cj4gIAl1OCBwbiwgcG5f bWluLCBwbl9tYXg7Cj4gIAo+IEBAIC0xNzgsNyArMTc4LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZHBfYXV4X2VuYWJsZV9iYWNrbGlnaHQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3QKPiAgCQkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0 YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPSB0b19pbnRl bF9jb25uZWN0b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKPiAtCXN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoY29ubmVjdG9yLT5lbmNvZGVyKTsKPiArCXN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoaW50ZWxfYXR0YWNoZWRfZW5j b2Rlcihjb25uZWN0b3IpKTsKPiAgCXU4IGRwY2RfYnVmLCBuZXdfZHBjZF9idWYsIGVkcF9iYWNr bGlnaHRfbW9kZTsKPiAgCj4gIAlpZiAoZHJtX2RwX2RwY2RfcmVhZGIoJmludGVsX2RwLT5hdXgs Cj4gQEAgLTIyOSw3ICsyMjksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9hdXhfZGlzYWJsZV9i YWNrbGlnaHQoY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKm9sZAo+ICBzdGF0aWMg aW50IGludGVsX2RwX2F1eF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+ICAJCQkJCWVudW0gcGlwZSBwaXBlKQo+ICB7Cj4gLQlzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGNvbm5lY3Rvci0+ZW5jb2Rlcik7Cj4gKwlz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGludGVsX2F0dGFjaGVk X2VuY29kZXIoY29ubmVjdG9yKSk7Cj4gIAlzdHJ1Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNv bm5lY3Rvci0+cGFuZWw7Cj4gIAo+ICAJaWYgKGludGVsX2RwLT5lZHBfZHBjZFsyXSAmIERQX0VE UF9CQUNLTElHSFRfQlJJR0hUTkVTU19CWVRFX0NPVU5UKQo+IEBAIC0yNDgsNyArMjQ4LDcgQEAg c3RhdGljIGludCBpbnRlbF9kcF9hdXhfc2V0dXBfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvciwKPiAgc3RhdGljIGJvb2wKPiAgaW50ZWxfZHBfYXV4X2Rpc3BsYXlf Y29udHJvbF9jYXBhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ IC0Jc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChjb25uZWN0b3It PmVuY29kZXIpOwo+ICsJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9k cChpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGNvbm5lY3RvcikpOwo+ICAKPiAgCS8qIENoZWNrIHRo ZSBlRFAgRGlzcGxheSBjb250cm9sIGNhcGFiaWxpdGllcyByZWdpc3RlcnMgdG8gZGV0ZXJtaW5l IGlmCj4gIAkgKiB0aGUgcGFuZWwgY2FuIHN1cHBvcnQgYmFja2xpZ2h0IGNvbnRyb2wgb3ZlciB0 aGUgYXV4IGNoYW5uZWwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBf bXN0LmMKPiBpbmRleCBhZjdmNmQ2NzBlMDcuLjFhN2Q2OTg0M2MxMiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYwo+IEBAIC01MDMsOSArNTAzLDkg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyBpbnRlbF9kcF9tc3RfZW5j X2Z1bmNzID0gewo+ICAKPiAgc3RhdGljIGJvb2wgaW50ZWxfZHBfbXN0X2dldF9od19zdGF0ZShz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsKPiAtCWlmIChjb25uZWN0b3It PmVuY29kZXIgJiYgY29ubmVjdG9yLT5iYXNlLnN0YXRlLT5jcnRjKSB7Cj4gKwlpZiAoaW50ZWxf YXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0b3IpICYmIGNvbm5lY3Rvci0+YmFzZS5zdGF0ZS0+Y3J0 Yykgewo+ICAJCWVudW0gcGlwZSBwaXBlOwo+IC0JCWlmICghY29ubmVjdG9yLT5lbmNvZGVyLT5n ZXRfaHdfc3RhdGUoY29ubmVjdG9yLT5lbmNvZGVyLCAmcGlwZSkpCj4gKwkJaWYgKCFpbnRlbF9h dHRhY2hlZF9lbmNvZGVyKGNvbm5lY3RvciktPmdldF9od19zdGF0ZShpbnRlbF9hdHRhY2hlZF9l bmNvZGVyKGNvbm5lY3RvciksICZwaXBlKSkKRG8gd2UgcHJlZmVyIHRoaXMgd2F5IG9yIHdpdGgg bG9jYWwgdmFyIGZvciBhdHRhY2hlZCBlbmNvZGVyIHJlc3RyaWN0aW5nCmxpbmUgdG8gODBjaGFy Pwo+ICAJCQlyZXR1cm4gZmFsc2U7Cj4gIAkJcmV0dXJuIHRydWU7Cj4gIAl9Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpX2Rjc19iYWNrbGlnaHQu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpX2Rjc19iYWNrbGlnaHQu Ywo+IGluZGV4IGM4NzgzODg0M2QwYi4uYWMzZWZmMjZkZjEyIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpX2Rjc19iYWNrbGlnaHQuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHNpX2Rjc19iYWNrbGlnaHQuYwo+ IEBAIC00NSw3ICs0NSw3IEBACj4gIAo+ICBzdGF0aWMgdTMyIGRjc19nZXRfYmFja2xpZ2h0KHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+IC0Jc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIgPSBjb25uZWN0b3ItPmVuY29kZXI7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlciA9IGludGVsX2F0dGFjaGVkX2VuY29kZXIoY29ubmVjdG9yKTsKPiAgCXN0 cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRlbF9kc2koZW5jb2Rlcik7Cj4g IAlzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2lfZGV2aWNlOwo+ICAJdTggZGF0YSA9IDA7Cj4g QEAgLTE2MCw3ICsxNjAsNyBAQCBpbnQgaW50ZWxfZHNpX2Rjc19pbml0X2JhY2tsaWdodF9mdW5j cyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCj4gIHsKPiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9jb25uZWN0b3ItPmJhc2UuZGV2Owo+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+IC0Jc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIgPSBpbnRlbF9jb25uZWN0b3ItPmVuY29kZXI7Cj4gKwlzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGludGVsX2F0dGFjaGVkX2VuY29kZXIoaW50ZWxf Y29ubmVjdG9yKTsKcy9pbnRlbF9jb25uZWN0b3IvY29ubmVjdG9yID8KPiAgCXN0cnVjdCBpbnRl bF9wYW5lbCAqcGFuZWwgPSAmaW50ZWxfY29ubmVjdG9yLT5wYW5lbDsKPiAgCj4gIAlpZiAoZGV2 X3ByaXYtPnZidC5iYWNrbGlnaHQudHlwZSAhPSBJTlRFTF9CQUNLTElHSFRfRFNJX0RDUykKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZGNwLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkY3AuYwo+IGluZGV4IDBmZGJkMzlm NjY0MS4uMjg1OTIzMDY3MWFlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfaGRjcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9oZGNwLmMKPiBAQCAtMTUyNyw3ICsxNTI3LDcgQEAgc3RhdGljIGludCBoZGNwMl9lbmFi bGVfZW5jcnlwdGlvbihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAlzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQo Y29ubmVjdG9yKTsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY29ubmVjdG9yLT5iYXNlLmRldik7Cj4gIAlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZj b25uZWN0b3ItPmhkY3A7Cj4gLQllbnVtIHBvcnQgcG9ydCA9IGNvbm5lY3Rvci0+ZW5jb2Rlci0+ cG9ydDsKPiArCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0 b3IpLT5wb3J0Owo+ICAJZW51bSB0cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyID0gaGRjcC0+Y3B1 X3RyYW5zY29kZXI7Cj4gIAlpbnQgcmV0Owo+ICAKPiBAQCAtMTU2NSw3ICsxNTY1LDcgQEAgc3Rh dGljIGludCBoZGNwMl9kaXNhYmxlX2VuY3J5cHRpb24oc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKQo+ICAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQg PSBjb25uX3RvX2RpZ19wb3J0KGNvbm5lY3Rvcik7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+ICAJc3RydWN0IGlu dGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwo+IC0JZW51bSBwb3J0IHBvcnQgPSBj b25uZWN0b3ItPmVuY29kZXItPnBvcnQ7Cj4gKwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2F0dGFj aGVkX2VuY29kZXIoY29ubmVjdG9yKS0+cG9ydDsKPiAgCWVudW0gdHJhbnNjb2RlciBjcHVfdHJh bnNjb2RlciA9IGhkY3AtPmNwdV90cmFuc2NvZGVyOwo+ICAJaW50IHJldDsKPiAgCj4gQEAgLTE2 NzYsNyArMTY3Niw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfaGRjcDJfY2hlY2tfbGluayhzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICppbnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubmVjdG9yLT5iYXNlLmRl dik7Cj4gIAlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7Cj4gLQll bnVtIHBvcnQgcG9ydCA9IGNvbm5lY3Rvci0+ZW5jb2Rlci0+cG9ydDsKPiArCWVudW0gcG9ydCBw b3J0ID0gaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0b3IpLT5wb3J0Owo+ICAJZW51bSB0 cmFuc2NvZGVyIGNwdV90cmFuc2NvZGVyOwo+ICAJaW50IHJldCA9IDA7Cj4gIAo+IEBAIC0xODMw LDcgKzE4MzAsNyBAQCBzdGF0aWMgaW5saW5lIGludCBpbml0aWFsaXplX2hkY3BfcG9ydF9kYXRh KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCj4gIAlpZiAoSU5URUxfR0VO KGRldl9wcml2KSA8IDEyKQo+ICAJCWRhdGEtPmZ3X2RkaSA9Cj4gLQkJCWludGVsX2dldF9tZWlf ZndfZGRpX2luZGV4KGNvbm5lY3Rvci0+ZW5jb2Rlci0+cG9ydCk7Cj4gKwkJCWludGVsX2dldF9t ZWlfZndfZGRpX2luZGV4KGludGVsX2F0dGFjaGVkX2VuY29kZXIoY29ubmVjdG9yKS0+cG9ydCk7 CmNvdWxkIHdlIHdyYXAgYXQgODBjaGFyIHdpdGggdmFyIGVuY29kZXI/Cj4gIAllbHNlCj4gIAkJ LyoKPiAgCQkgKiBBcyBwZXIgTUUgRlcgQVBJIGV4cGVjdGF0aW9uLCBmb3IgR0VOIDEyKywgZndf ZGRpIGlzIGZpbGxlZAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2hvdHBsdWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaG90 cGx1Zy5jCj4gaW5kZXggOTlkM2EzYzc5ODllLi5jM2E0OGFmMzU5OTcgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9ob3RwbHVnLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hvdHBsdWcuYwo+IEBAIC0yMDAsNyArMjAw LDcgQEAgaW50ZWxfaHBkX2lycV9zdG9ybV9zd2l0Y2hfdG9fcG9sbGluZyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJCWNvbnRpbnVlOwo+ICAKPiAgCQlpbnRlbF9jb25u ZWN0b3IgPSB0b19pbnRlbF9jb25uZWN0b3IoY29ubmVjdG9yKTsKPiAtCQlpbnRlbF9lbmNvZGVy ID0gaW50ZWxfY29ubmVjdG9yLT5lbmNvZGVyOwo+ICsJCWludGVsX2VuY29kZXIgPSBpbnRlbF9h dHRhY2hlZF9lbmNvZGVyKGludGVsX2Nvbm5lY3Rvcik7Cj4gIAkJaWYgKCFpbnRlbF9lbmNvZGVy KQo+ICAJCQljb250aW51ZTsKPiAgCj4gQEAgLTI1NSw3ICsyNTUsNyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9ocGRfaXJxX3N0b3JtX3JlZW5hYmxlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3Jr KQo+ICAKPiAgCQkJLyogRG9uJ3QgY2hlY2sgTVNUIHBvcnRzLCB0aGV5IGRvbid0IGhhdmUgcGlu cyAqLwo+ICAJCQlpZiAoIWludGVsX2Nvbm5lY3Rvci0+bXN0X3BvcnQgJiYKPiAtCQkJICAgIGlu dGVsX2Nvbm5lY3Rvci0+ZW5jb2Rlci0+aHBkX3BpbiA9PSBwaW4pIHsKPiArCQkJICAgIGludGVs X2F0dGFjaGVkX2VuY29kZXIoaW50ZWxfY29ubmVjdG9yKS0+aHBkX3BpbiA9PSBwaW4pIHsKPiAg CQkJCWlmIChjb25uZWN0b3ItPnBvbGxlZCAhPSBpbnRlbF9jb25uZWN0b3ItPnBvbGxlZCkKPiAg CQkJCQlEUk1fREVCVUdfRFJJVkVSKCJSZWVuYWJsaW5nIEhQRCBvbiBjb25uZWN0b3IgJXNcbiIs Cj4gIAkJCQkJCQkgY29ubmVjdG9yLT5uYW1lKTsKPiBAQCAtMzg5LDkgKzM4OSw5IEBAIHN0YXRp YyB2b2lkIGk5MTVfaG90cGx1Z193b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ ICAJCXUzMiBocGRfYml0Owo+ICAKPiAgCQlpbnRlbF9jb25uZWN0b3IgPSB0b19pbnRlbF9jb25u ZWN0b3IoY29ubmVjdG9yKTsKPiAtCQlpZiAoIWludGVsX2Nvbm5lY3Rvci0+ZW5jb2RlcikKPiAr CQlpZiAoIWludGVsX2F0dGFjaGVkX2VuY29kZXIoaW50ZWxfY29ubmVjdG9yKSkKPiAgCQkJY29u dGludWU7Cj4gLQkJaW50ZWxfZW5jb2RlciA9IGludGVsX2Nvbm5lY3Rvci0+ZW5jb2RlcjsKPiAr CQlpbnRlbF9lbmNvZGVyID0gaW50ZWxfYXR0YWNoZWRfZW5jb2RlcihpbnRlbF9jb25uZWN0b3Ip Owo+ICAJCWhwZF9iaXQgPSBCSVQoaW50ZWxfZW5jb2Rlci0+aHBkX3Bpbik7Cj4gIAkJaWYgKCho cGRfZXZlbnRfYml0cyB8IGhwZF9yZXRyeV9iaXRzKSAmIGhwZF9iaXQpIHsKPiAgCQkJRFJNX0RF QlVHX0tNUygiQ29ubmVjdG9yICVzIChwaW4gJWkpIHJlY2VpdmVkIGhvdHBsdWcgZXZlbnQuXG4i LAo+IEBAIC02MjEsNyArNjIxLDcgQEAgc3RhdGljIHZvaWQgaTkxNV9ocGRfcG9sbF9pbml0X3dv cmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAJCQljb250aW51ZTsKPiAgCj4gIAkJaWYg KCFjb25uZWN0b3ItPnBvbGxlZCAmJiBJOTE1X0hBU19IT1RQTFVHKGRldl9wcml2KSAmJgo+IC0J CSAgICBpbnRlbF9jb25uZWN0b3ItPmVuY29kZXItPmhwZF9waW4gPiBIUERfTk9ORSkgewo+ICsJ CSAgICBpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGludGVsX2Nvbm5lY3RvciktPmhwZF9waW4gPiBI UERfTk9ORSkgewo+ICAJCQljb25uZWN0b3ItPnBvbGxlZCA9IGVuYWJsZWQgPwo+ICAJCQkJRFJN X0NPTk5FQ1RPUl9QT0xMX0NPTk5FQ1QgfAo+ICAJCQkJRFJNX0NPTk5FQ1RPUl9QT0xMX0RJU0NP Tk5FQ1QgOgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3Zsdl9k c2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvdmx2X2RzaS5jCj4gaW5kZXggMGMx OTA2NGU0MmUwLi41MzViMzMyYjA2N2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS92bHZfZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L3Zsdl9kc2kuYwo+IEBAIC0xNTY3LDcgKzE1NjcsNyBAQCBzdGF0aWMgZW51bSBkcm1fcGFuZWxf b3JpZW50YXRpb24KPiAgdmx2X2RzaV9nZXRfaHdfcGFuZWxfb3JpZW50YXRpb24oc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+IC0Jc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIgPSBjb25uZWN0b3ItPmVuY29kZXI7Cj4gKwlzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciA9IGludGVsX2F0dGFjaGVkX2VuY29kZXIoY29ubmVjdG9yKTsK PiAgCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4gcG93ZXJfZG9tYWluOwo+ICAJZW51 bSBkcm1fcGFuZWxfb3JpZW50YXRpb24gb3JpZW50YXRpb247Cj4gIAlzdHJ1Y3QgaW50ZWxfcGxh bmUgKnBsYW5lOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggM2JjOGQ1 YzBlODhhLi5kOGMyZmEyNjcyYjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu Ywo+IEBAIC0yNDMxLDcgKzI0MzEsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZGNwX2luZm8oc3Ry dWN0IHNlcV9maWxlICptLAo+ICBzdGF0aWMgdm9pZCBpbnRlbF9kcF9pbmZvKHN0cnVjdCBzZXFf ZmlsZSAqbSwKPiAgCQkJICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3Ip Cj4gIHsKPiAtCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyID0gaW50ZWxfY29u bmVjdG9yLT5lbmNvZGVyOwo+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIg PSBpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGludGVsX2Nvbm5lY3Rvcik7Cj4gIAlzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKGludGVsX2VuY29kZXIpOwo+ICAKPiAg CXNlcV9wcmludGYobSwgIlx0RFBDRCByZXY6ICV4XG4iLCBpbnRlbF9kcC0+ZHBjZFtEUF9EUENE X1JFVl0pOwo+IEBAIC0yNDUwLDcgKzI0NTAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9pbmZv KHN0cnVjdCBzZXFfZmlsZSAqbSwKPiAgc3RhdGljIHZvaWQgaW50ZWxfZHBfbXN0X2luZm8oc3Ry dWN0IHNlcV9maWxlICptLAo+ICAJCQkgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nv bm5lY3RvcikKPiAgewo+IC0Jc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPSBp bnRlbF9jb25uZWN0b3ItPmVuY29kZXI7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxf ZW5jb2RlciA9IGludGVsX2F0dGFjaGVkX2VuY29kZXIoaW50ZWxfY29ubmVjdG9yKTsKcy9pbnRl bF9jb25uZWN0b3IvY29ubmVjdG9yID8KPiAgCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAq aW50ZWxfbXN0ID0KPiAgCQllbmNfdG9fbXN0KGludGVsX2VuY29kZXIpOwo+ICAJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBpbnRlbF9tc3QtPnByaW1hcnk7Cj4g QEAgLTI0NjQsNyArMjQ2NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX21zdF9pbmZvKHN0cnVj dCBzZXFfZmlsZSAqbSwKPiAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9pbmZvKHN0cnVjdCBzZXFf ZmlsZSAqbSwKPiAgCQkJICAgIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rv cikKPiAgewo+IC0Jc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPSBpbnRlbF9j b25uZWN0b3ItPmVuY29kZXI7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rl ciA9IGludGVsX2F0dGFjaGVkX2VuY29kZXIoaW50ZWxfY29ubmVjdG9yKTsKcy9pbnRlbF9jb25u ZWN0b3IvY29ubmVjdG9yID8KCi1SYW0KPiAgCXN0cnVjdCBpbnRlbF9kcF9tc3RfZW5jb2RlciAq aW50ZWxfbXN0ID0KPiAgCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2lu dGVsX2hkbWkoaW50ZWxfZW5jb2Rlcik7Cj4gIAo+ICAJc2VxX3ByaW50ZihtLCAiXHRhdWRpbyBz dXBwb3J0OiAlc1xuIiwgeWVzbm8oaW50ZWxfaGRtaS0+aGFzX2F1ZGlvKSk7Cj4gLS0gCj4gMi4y My4wCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==