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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 00B83C433EF for ; Wed, 1 Dec 2021 11:31:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4F48E6EB30; Wed, 1 Dec 2021 11:31:30 +0000 (UTC) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9BFB16EB30 for ; Wed, 1 Dec 2021 11:31:28 +0000 (UTC) X-IronPort-AV: E=McAfee;i="6200,9189,10184"; a="223669733" X-IronPort-AV: E=Sophos;i="5.87,278,1631602800"; d="scan'208";a="223669733" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Dec 2021 03:31:28 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,278,1631602800"; d="scan'208";a="477510835" Received: from irsmsx601.ger.corp.intel.com ([163.33.146.7]) by orsmga002.jf.intel.com with ESMTP; 01 Dec 2021 03:31:27 -0800 Received: from irsmsx605.ger.corp.intel.com (163.33.146.138) by irsmsx601.ger.corp.intel.com (163.33.146.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 1 Dec 2021 11:31:26 +0000 Received: from irsmsx605.ger.corp.intel.com ([163.33.146.138]) by IRSMSX605.ger.corp.intel.com ([163.33.146.138]) with mapi id 15.01.2308.020; Wed, 1 Dec 2021 11:31:26 +0000 From: "Kahola, Mika" To: Ville Syrjala , "intel-gfx@lists.freedesktop.org" Thread-Topic: [Intel-gfx] [PATCH 18/20] drm/i915/fbc: s/parms/fbc_state/ Thread-Index: AQHX4Se7Qixv3XB4TEqe79GU1rPIPqwdi4fw Date: Wed, 1 Dec 2021 11:31:26 +0000 Message-ID: References: <20211124113652.22090-1-ville.syrjala@linux.intel.com> <20211124113652.22090-19-ville.syrjala@linux.intel.com> In-Reply-To: <20211124113652.22090-19-ville.syrjala@linux.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.253.164] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 18/20] drm/i915/fbc: s/parms/fbc_state/ X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBJbnRlbC1nZnggPGludGVsLWdm eC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4gT24gQmVoYWxmIE9mIFZpbGxlDQo+IFN5 cmphbGENCj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAyNCwgMjAyMSAxOjM3IFBNDQo+IFRv OiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IFN1YmplY3Q6IFtJbnRlbC1nZnhd IFtQQVRDSCAxOC8yMF0gZHJtL2k5MTUvZmJjOiBzL3Bhcm1zL2ZiY19zdGF0ZS8NCj4gDQo+IEZy b206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+DQo+IA0K PiBSZW5hbWUgdGhlICdwYXJhbXMnIHRvIGp1c3QgZmJjIHN0YXRlLg0KPiANCj4gU2lnbmVkLW9m Zi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCg0K UmV2aWV3ZWQtYnk6IE1pa2EgS2Fob2xhIDxtaWthLmthaG9sYUBpbnRlbC5jb20+DQoNCj4gLS0t DQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2ZiYy5jIHwgMTM4ICsrKysr KysrKysrLS0tLS0tLS0tLS0tDQo+ICAxIGZpbGUgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwg NzAgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9mYmMuYw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZmJjLmMNCj4gaW5kZXggYjY5MTljYTg3MTM4Li40ZDJjNTRhY2RjODkgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZmJjLmMNCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9mYmMuYw0KPiBAQCAtMTAzLDcgKzEwMyw3 IEBAIHN0cnVjdCBpbnRlbF9mYmMgew0KPiAgCSAqIHNvbWV0aGluZyBkaWZmZXJlbnQgaW4gdGhl IHN0cnVjdC4gVGhlIGdlbnhfZmJjX2FjdGl2YXRlIGZ1bmN0aW9ucw0KPiAgCSAqIGFyZSBzdXBw b3NlZCB0byByZWFkIGZyb20gaXQgaW4gb3JkZXIgdG8gcHJvZ3JhbSB0aGUgcmVnaXN0ZXJzLg0K PiAgCSAqLw0KPiAtCXN0cnVjdCBpbnRlbF9mYmNfc3RhdGUgcGFyYW1zOw0KPiArCXN0cnVjdCBp bnRlbF9mYmNfc3RhdGUgc3RhdGU7DQo+ICAJY29uc3QgY2hhciAqbm9fZmJjX3JlYXNvbjsNCj4g IH07DQo+IA0KPiBAQCAtMjExLDEyICsyMTEsMTIgQEAgc3RhdGljIHUxNiBpbnRlbF9mYmNfb3Zl cnJpZGVfY2ZiX3N0cmlkZShjb25zdCBzdHJ1Y3QNCj4gaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5l X3MNCj4gDQo+ICBzdGF0aWMgdTMyIGk4eHhfZmJjX2N0bChzdHJ1Y3QgaW50ZWxfZmJjICpmYmMp ICB7DQo+IC0JY29uc3Qgc3RydWN0IGludGVsX2ZiY19zdGF0ZSAqcGFyYW1zID0gJmZiYy0+cGFy YW1zOw0KPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9mYmNfc3RhdGUgKmZiY19zdGF0ZSA9ICZmYmMt PnN0YXRlOw0KPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZmJjLT5pOTE1Ow0K PiAgCXVuc2lnbmVkIGludCBjZmJfc3RyaWRlOw0KPiAgCXUzMiBmYmNfY3RsOw0KPiANCj4gLQlj ZmJfc3RyaWRlID0gcGFyYW1zLT5jZmJfc3RyaWRlIC8gZmJjLT5saW1pdDsNCj4gKwljZmJfc3Ry aWRlID0gZmJjX3N0YXRlLT5jZmJfc3RyaWRlIC8gZmJjLT5saW1pdDsNCj4gDQo+ICAJLyogRkJD X0NUTCB3YW50cyAzMkIgb3IgNjRCIHVuaXRzICovDQo+ICAJaWYgKERJU1BMQVlfVkVSKGk5MTUp ID09IDIpDQo+IEBAIC0yMjUsMjcgKzIyNSwyNyBAQCBzdGF0aWMgdTMyIGk4eHhfZmJjX2N0bChz dHJ1Y3QgaW50ZWxfZmJjICpmYmMpDQo+ICAJCWNmYl9zdHJpZGUgPSAoY2ZiX3N0cmlkZSAvIDY0 KSAtIDE7DQo+IA0KPiAgCWZiY19jdGwgPSBGQkNfQ1RMX1BFUklPRElDIHwNCj4gLQkJRkJDX0NU TF9JTlRFUlZBTChwYXJhbXMtPmludGVydmFsKSB8DQo+ICsJCUZCQ19DVExfSU5URVJWQUwoZmJj X3N0YXRlLT5pbnRlcnZhbCkgfA0KPiAgCQlGQkNfQ1RMX1NUUklERShjZmJfc3RyaWRlKTsNCj4g DQo+ICAJaWYgKElTX0k5NDVHTShpOTE1KSkNCj4gIAkJZmJjX2N0bCB8PSBGQkNfQ1RMX0MzX0lE TEU7IC8qIDk0NSBuZWVkcyBzcGVjaWFsIFNSIGhhbmRsaW5nDQo+ICovDQo+IA0KPiAtCWlmIChw YXJhbXMtPmZlbmNlX2lkID49IDApDQo+IC0JCWZiY19jdGwgfD0gRkJDX0NUTF9GRU5DRU5PKHBh cmFtcy0+ZmVuY2VfaWQpOw0KPiArCWlmIChmYmNfc3RhdGUtPmZlbmNlX2lkID49IDApDQo+ICsJ CWZiY19jdGwgfD0gRkJDX0NUTF9GRU5DRU5PKGZiY19zdGF0ZS0+ZmVuY2VfaWQpOw0KPiANCj4g IAlyZXR1cm4gZmJjX2N0bDsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgdTMyIGk5NjVfZmJjX2N0bDIo c3RydWN0IGludGVsX2ZiYyAqZmJjKSAgew0KPiAtCWNvbnN0IHN0cnVjdCBpbnRlbF9mYmNfc3Rh dGUgKnBhcmFtcyA9ICZmYmMtPnBhcmFtczsNCj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfZmJjX3N0 YXRlICpmYmNfc3RhdGUgPSAmZmJjLT5zdGF0ZTsNCj4gIAl1MzIgZmJjX2N0bDI7DQo+IA0KPiAg CWZiY19jdGwyID0gRkJDX0NUTF9GRU5DRV9EQkwgfCBGQkNfQ1RMX0lETEVfSU1NIHwNCj4gLQkJ RkJDX0NUTF9QTEFORShwYXJhbXMtPnBsYW5lLT5pOXh4X3BsYW5lKTsNCj4gKwkJRkJDX0NUTF9Q TEFORShmYmNfc3RhdGUtPnBsYW5lLT5pOXh4X3BsYW5lKTsNCj4gDQo+IC0JaWYgKHBhcmFtcy0+ ZmVuY2VfaWQgPj0gMCkNCj4gKwlpZiAoZmJjX3N0YXRlLT5mZW5jZV9pZCA+PSAwKQ0KPiAgCQlm YmNfY3RsMiB8PSBGQkNfQ1RMX0NQVV9GRU5DRV9FTjsNCj4gDQo+ICAJcmV0dXJuIGZiY19jdGwy Ow0KPiBAQCAtMjc0LDcgKzI3NCw3IEBAIHN0YXRpYyB2b2lkIGk4eHhfZmJjX2RlYWN0aXZhdGUo c3RydWN0IGludGVsX2ZiYyAqZmJjKQ0KPiANCj4gIHN0YXRpYyB2b2lkIGk4eHhfZmJjX2FjdGl2 YXRlKHN0cnVjdCBpbnRlbF9mYmMgKmZiYykgIHsNCj4gLQljb25zdCBzdHJ1Y3QgaW50ZWxfZmJj X3N0YXRlICpwYXJhbXMgPSAmZmJjLT5wYXJhbXM7DQo+ICsJY29uc3Qgc3RydWN0IGludGVsX2Zi Y19zdGF0ZSAqZmJjX3N0YXRlID0gJmZiYy0+c3RhdGU7DQo+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUgPSBmYmMtPmk5MTU7DQo+ICAJaW50IGk7DQo+IA0KPiBAQCAtMjg2LDcgKzI4 Niw3IEBAIHN0YXRpYyB2b2lkIGk4eHhfZmJjX2FjdGl2YXRlKHN0cnVjdCBpbnRlbF9mYmMgKmZi YykNCj4gIAkJaW50ZWxfZGVfd3JpdGUoaTkxNSwgRkJDX0NPTlRST0wyLA0KPiAgCQkJICAgICAg IGk5NjVfZmJjX2N0bDIoZmJjKSk7DQo+ICAJCWludGVsX2RlX3dyaXRlKGk5MTUsIEZCQ19GRU5D RV9PRkYsDQo+IC0JCQkgICAgICAgcGFyYW1zLT5mZW5jZV95X29mZnNldCk7DQo+ICsJCQkgICAg ICAgZmJjX3N0YXRlLT5mZW5jZV95X29mZnNldCk7DQo+ICAJfQ0KPiANCj4gIAlpbnRlbF9kZV93 cml0ZShpOTE1LCBGQkNfQ09OVFJPTCwNCj4gQEAgLTMwNiw4ICszMDYsOCBAQCBzdGF0aWMgYm9v bCBpOHh4X2ZiY19pc19jb21wcmVzc2luZyhzdHJ1Y3QgaW50ZWxfZmJjDQo+ICpmYmMpDQo+IA0K PiAgc3RhdGljIHZvaWQgaTh4eF9mYmNfbnVrZShzdHJ1Y3QgaW50ZWxfZmJjICpmYmMpICB7DQo+ IC0Jc3RydWN0IGludGVsX2ZiY19zdGF0ZSAqcGFyYW1zID0gJmZiYy0+cGFyYW1zOw0KPiAtCWVu dW0gaTl4eF9wbGFuZV9pZCBpOXh4X3BsYW5lID0gcGFyYW1zLT5wbGFuZS0+aTl4eF9wbGFuZTsN Cj4gKwlzdHJ1Y3QgaW50ZWxfZmJjX3N0YXRlICpmYmNfc3RhdGUgPSAmZmJjLT5zdGF0ZTsNCj4g KwllbnVtIGk5eHhfcGxhbmVfaWQgaTl4eF9wbGFuZSA9IGZiY19zdGF0ZS0+cGxhbmUtPmk5eHhf cGxhbmU7DQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZmJjLT5pOTE1 Ow0KPiANCj4gIAlzcGluX2xvY2tfaXJxKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2spOw0KPiBAQCAt MzQyLDggKzM0Miw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZmJjX2Z1bmNzIGk4eHhf ZmJjX2Z1bmNzID0gew0KPiANCj4gIHN0YXRpYyB2b2lkIGk5NjVfZmJjX251a2Uoc3RydWN0IGlu dGVsX2ZiYyAqZmJjKSAgew0KPiAtCXN0cnVjdCBpbnRlbF9mYmNfc3RhdGUgKnBhcmFtcyA9ICZm YmMtPnBhcmFtczsNCj4gLQllbnVtIGk5eHhfcGxhbmVfaWQgaTl4eF9wbGFuZSA9IHBhcmFtcy0+ cGxhbmUtPmk5eHhfcGxhbmU7DQo+ICsJc3RydWN0IGludGVsX2ZiY19zdGF0ZSAqZmJjX3N0YXRl ID0gJmZiYy0+c3RhdGU7DQo+ICsJZW51bSBpOXh4X3BsYW5lX2lkIGk5eHhfcGxhbmUgPSBmYmNf c3RhdGUtPnBsYW5lLT5pOXh4X3BsYW5lOw0KPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGZiYy0+aTkxNTsNCj4gDQo+ICAJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPnVu Y29yZS5sb2NrKTsNCj4gQEAgLTM3OCwyMSArMzc4LDIxIEBAIHN0YXRpYyB1MzIgZzR4X2RwZmNf Y3RsX2xpbWl0KHN0cnVjdCBpbnRlbF9mYmMgKmZiYykNCj4gDQo+ICBzdGF0aWMgdTMyIGc0eF9k cGZjX2N0bChzdHJ1Y3QgaW50ZWxfZmJjICpmYmMpICB7DQo+IC0JY29uc3Qgc3RydWN0IGludGVs X2ZiY19zdGF0ZSAqcGFyYW1zID0gJmZiYy0+cGFyYW1zOw0KPiArCWNvbnN0IHN0cnVjdCBpbnRl bF9mYmNfc3RhdGUgKmZiY19zdGF0ZSA9ICZmYmMtPnN0YXRlOw0KPiAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1ID0gZmJjLT5pOTE1Ow0KPiAgCXUzMiBkcGZjX2N0bDsNCj4gDQo+ICAJ ZHBmY19jdGwgPSBnNHhfZHBmY19jdGxfbGltaXQoZmJjKSB8DQo+IC0JCURQRkNfQ1RMX1BMQU5F X0c0WChwYXJhbXMtPnBsYW5lLT5pOXh4X3BsYW5lKTsNCj4gKwkJRFBGQ19DVExfUExBTkVfRzRY KGZiY19zdGF0ZS0+cGxhbmUtPmk5eHhfcGxhbmUpOw0KPiANCj4gIAlpZiAoSVNfRzRYKGk5MTUp KQ0KPiAgCQlkcGZjX2N0bCB8PSBEUEZDX0NUTF9TUl9FTjsNCj4gDQo+IC0JaWYgKHBhcmFtcy0+ ZmVuY2VfaWQgPj0gMCkgew0KPiArCWlmIChmYmNfc3RhdGUtPmZlbmNlX2lkID49IDApIHsNCj4g IAkJZHBmY19jdGwgfD0gRFBGQ19DVExfRkVOQ0VfRU5fRzRYOw0KPiANCj4gIAkJaWYgKERJU1BM QVlfVkVSKGk5MTUpIDwgNikNCj4gLQkJCWRwZmNfY3RsIHw9IERQRkNfQ1RMX0ZFTkNFTk8ocGFy YW1zLT5mZW5jZV9pZCk7DQo+ICsJCQlkcGZjX2N0bCB8PSBEUEZDX0NUTF9GRU5DRU5PKGZiY19z dGF0ZS0+ZmVuY2VfaWQpOw0KPiAgCX0NCj4gDQo+ICAJcmV0dXJuIGRwZmNfY3RsOw0KPiBAQCAt NDAwLDExICs0MDAsMTEgQEAgc3RhdGljIHUzMiBnNHhfZHBmY19jdGwoc3RydWN0IGludGVsX2Zi YyAqZmJjKQ0KPiANCj4gIHN0YXRpYyB2b2lkIGc0eF9mYmNfYWN0aXZhdGUoc3RydWN0IGludGVs X2ZiYyAqZmJjKSAgew0KPiAtCWNvbnN0IHN0cnVjdCBpbnRlbF9mYmNfc3RhdGUgKnBhcmFtcyA9 ICZmYmMtPnBhcmFtczsNCj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfZmJjX3N0YXRlICpmYmNfc3Rh dGUgPSAmZmJjLT5zdGF0ZTsNCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGZi Yy0+aTkxNTsNCj4gDQo+ICAJaW50ZWxfZGVfd3JpdGUoaTkxNSwgRFBGQ19GRU5DRV9ZT0ZGLA0K PiAtCQkgICAgICAgcGFyYW1zLT5mZW5jZV95X29mZnNldCk7DQo+ICsJCSAgICAgICBmYmNfc3Rh dGUtPmZlbmNlX3lfb2Zmc2V0KTsNCj4gDQo+ICAJaW50ZWxfZGVfd3JpdGUoaTkxNSwgRFBGQ19D T05UUk9MLA0KPiAgCQkgICAgICAgRFBGQ19DVExfRU4gfCBnNHhfZHBmY19jdGwoZmJjKSk7IEBA IC00NTEsMTEgKzQ1MSwxMQ0KPiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2ZiY19mdW5j cyBnNHhfZmJjX2Z1bmNzID0gew0KPiANCj4gIHN0YXRpYyB2b2lkIGlsa19mYmNfYWN0aXZhdGUo c3RydWN0IGludGVsX2ZiYyAqZmJjKSAgew0KPiAtCXN0cnVjdCBpbnRlbF9mYmNfc3RhdGUgKnBh cmFtcyA9ICZmYmMtPnBhcmFtczsNCj4gKwlzdHJ1Y3QgaW50ZWxfZmJjX3N0YXRlICpmYmNfc3Rh dGUgPSAmZmJjLT5zdGF0ZTsNCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGZi Yy0+aTkxNTsNCj4gDQo+ICAJaW50ZWxfZGVfd3JpdGUoaTkxNSwgSUxLX0RQRkNfRkVOQ0VfWU9G RiwNCj4gLQkJICAgICAgIHBhcmFtcy0+ZmVuY2VfeV9vZmZzZXQpOw0KPiArCQkgICAgICAgZmJj X3N0YXRlLT5mZW5jZV95X29mZnNldCk7DQo+IA0KPiAgCWludGVsX2RlX3dyaXRlKGk5MTUsIElM S19EUEZDX0NPTlRST0wsDQo+ICAJCSAgICAgICBEUEZDX0NUTF9FTiB8IGc0eF9kcGZjX2N0bChm YmMpKTsgQEAgLTUwMiwxNSArNTAyLDE1DQo+IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxf ZmJjX2Z1bmNzIGlsa19mYmNfZnVuY3MgPSB7DQo+IA0KPiAgc3RhdGljIHZvaWQgc25iX2ZiY19w cm9ncmFtX2ZlbmNlKHN0cnVjdCBpbnRlbF9mYmMgKmZiYykgIHsNCj4gLQljb25zdCBzdHJ1Y3Qg aW50ZWxfZmJjX3N0YXRlICpwYXJhbXMgPSAmZmJjLT5wYXJhbXM7DQo+ICsJY29uc3Qgc3RydWN0 IGludGVsX2ZiY19zdGF0ZSAqZmJjX3N0YXRlID0gJmZiYy0+c3RhdGU7DQo+ICAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBmYmMtPmk5MTU7DQo+ICAJdTMyIGN0bCA9IDA7DQo+IA0K PiAtCWlmIChwYXJhbXMtPmZlbmNlX2lkID49IDApDQo+IC0JCWN0bCA9IFNOQl9EUEZDX0ZFTkNF X0VOIHwgU05CX0RQRkNfRkVOQ0VOTyhwYXJhbXMtDQo+ID5mZW5jZV9pZCk7DQo+ICsJaWYgKGZi Y19zdGF0ZS0+ZmVuY2VfaWQgPj0gMCkNCj4gKwkJY3RsID0gU05CX0RQRkNfRkVOQ0VfRU4gfCBT TkJfRFBGQ19GRU5DRU5PKGZiY19zdGF0ZS0NCj4gPmZlbmNlX2lkKTsNCj4gDQo+ICAJaW50ZWxf ZGVfd3JpdGUoaTkxNSwgU05CX0RQRkNfQ1RMX1NBLCBjdGwpOw0KPiAtCWludGVsX2RlX3dyaXRl KGk5MTUsIFNOQl9EUEZDX0NQVV9GRU5DRV9PRkZTRVQsIHBhcmFtcy0NCj4gPmZlbmNlX3lfb2Zm c2V0KTsNCj4gKwlpbnRlbF9kZV93cml0ZShpOTE1LCBTTkJfRFBGQ19DUFVfRkVOQ0VfT0ZGU0VU LA0KPiArZmJjX3N0YXRlLT5mZW5jZV95X29mZnNldCk7DQo+ICB9DQo+IA0KPiAgc3RhdGljIHZv aWQgc25iX2ZiY19hY3RpdmF0ZShzdHJ1Y3QgaW50ZWxfZmJjICpmYmMpIEBAIC01MzksMjcgKzUz OSwyNyBAQA0KPiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2ZiY19mdW5jcyBzbmJfZmJjX2Z1 bmNzID0gew0KPiANCj4gIHN0YXRpYyB2b2lkIGdsa19mYmNfcHJvZ3JhbV9jZmJfc3RyaWRlKHN0 cnVjdCBpbnRlbF9mYmMgKmZiYykgIHsNCj4gLQljb25zdCBzdHJ1Y3QgaW50ZWxfZmJjX3N0YXRl ICpwYXJhbXMgPSAmZmJjLT5wYXJhbXM7DQo+ICsJY29uc3Qgc3RydWN0IGludGVsX2ZiY19zdGF0 ZSAqZmJjX3N0YXRlID0gJmZiYy0+c3RhdGU7DQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUgPSBmYmMtPmk5MTU7DQo+ICAJdTMyIHZhbCA9IDA7DQo+IA0KPiAtCWlmIChwYXJhbXMt Pm92ZXJyaWRlX2NmYl9zdHJpZGUpDQo+ICsJaWYgKGZiY19zdGF0ZS0+b3ZlcnJpZGVfY2ZiX3N0 cmlkZSkNCj4gIAkJdmFsIHw9IEZCQ19TVFJJREVfT1ZFUlJJREUgfA0KPiAtCQkJRkJDX1NUUklE RShwYXJhbXMtPm92ZXJyaWRlX2NmYl9zdHJpZGUgLyBmYmMtPmxpbWl0KTsNCj4gKwkJCUZCQ19T VFJJREUoZmJjX3N0YXRlLT5vdmVycmlkZV9jZmJfc3RyaWRlIC8gZmJjLQ0KPiA+bGltaXQpOw0K PiANCj4gIAlpbnRlbF9kZV93cml0ZShpOTE1LCBHTEtfRkJDX1NUUklERSwgdmFsKTsgIH0NCj4g DQo+ICBzdGF0aWMgdm9pZCBza2xfZmJjX3Byb2dyYW1fY2ZiX3N0cmlkZShzdHJ1Y3QgaW50ZWxf ZmJjICpmYmMpICB7DQo+IC0JY29uc3Qgc3RydWN0IGludGVsX2ZiY19zdGF0ZSAqcGFyYW1zID0g JmZiYy0+cGFyYW1zOw0KPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9mYmNfc3RhdGUgKmZiY19zdGF0 ZSA9ICZmYmMtPnN0YXRlOw0KPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZmJj LT5pOTE1Ow0KPiAgCXUzMiB2YWwgPSAwOw0KPiANCj4gIAkvKiBEaXNwbGF5IFdBICMwNTI5OiBz a2wsIGtibCwgYnh0LiAqLw0KPiAtCWlmIChwYXJhbXMtPm92ZXJyaWRlX2NmYl9zdHJpZGUpDQo+ ICsJaWYgKGZiY19zdGF0ZS0+b3ZlcnJpZGVfY2ZiX3N0cmlkZSkNCj4gIAkJdmFsIHw9IENISUNL RU5fRkJDX1NUUklERV9PVkVSUklERSB8DQo+IC0JCQlDSElDS0VOX0ZCQ19TVFJJREUocGFyYW1z LT5vdmVycmlkZV9jZmJfc3RyaWRlIC8NCj4gZmJjLT5saW1pdCk7DQo+ICsJCQlDSElDS0VOX0ZC Q19TVFJJREUoZmJjX3N0YXRlLT5vdmVycmlkZV9jZmJfc3RyaWRlIC8NCj4gZmJjLT5saW1pdCk7 DQo+IA0KPiAgCWludGVsX2RlX3JtdyhpOTE1LCBDSElDS0VOX01JU0NfNCwNCj4gIAkJICAgICBD SElDS0VOX0ZCQ19TVFJJREVfT1ZFUlJJREUgfA0KPiBAQCAtNTY4LDE2ICs1NjgsMTYgQEAgc3Rh dGljIHZvaWQgc2tsX2ZiY19wcm9ncmFtX2NmYl9zdHJpZGUoc3RydWN0DQo+IGludGVsX2ZiYyAq ZmJjKQ0KPiANCj4gIHN0YXRpYyB1MzIgaXZiX2RwZmNfY3RsKHN0cnVjdCBpbnRlbF9mYmMgKmZi YykgIHsNCj4gLQljb25zdCBzdHJ1Y3QgaW50ZWxfZmJjX3N0YXRlICpwYXJhbXMgPSAmZmJjLT5w YXJhbXM7DQo+ICsJY29uc3Qgc3RydWN0IGludGVsX2ZiY19zdGF0ZSAqZmJjX3N0YXRlID0gJmZi Yy0+c3RhdGU7DQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBmYmMtPmk5MTU7 DQo+ICAJdTMyIGRwZmNfY3RsOw0KPiANCj4gIAlkcGZjX2N0bCA9IGc0eF9kcGZjX2N0bF9saW1p dChmYmMpOw0KPiANCj4gIAlpZiAoSVNfSVZZQlJJREdFKGk5MTUpKQ0KPiAtCQlkcGZjX2N0bCB8 PSBEUEZDX0NUTF9QTEFORV9JVkIocGFyYW1zLT5wbGFuZS0+aTl4eF9wbGFuZSk7DQo+ICsJCWRw ZmNfY3RsIHw9IERQRkNfQ1RMX1BMQU5FX0lWQihmYmNfc3RhdGUtPnBsYW5lLQ0KPiA+aTl4eF9w bGFuZSk7DQo+IA0KPiAtCWlmIChwYXJhbXMtPmZlbmNlX2lkID49IDApDQo+ICsJaWYgKGZiY19z dGF0ZS0+ZmVuY2VfaWQgPj0gMCkNCj4gIAkJZHBmY19jdGwgfD0gRFBGQ19DVExfRkVOQ0VfRU5f SVZCOw0KPiANCj4gIAlpZiAoZmJjLT5mYWxzZV9jb2xvcikNCj4gQEAgLTYzMSw3ICs2MzEsNyBA QCBzdGF0aWMgYm9vbCBpbnRlbF9mYmNfaHdfaXNfYWN0aXZlKHN0cnVjdCBpbnRlbF9mYmMgKmZi YykNCj4gDQo+ICBzdGF0aWMgdm9pZCBpbnRlbF9mYmNfaHdfYWN0aXZhdGUoc3RydWN0IGludGVs X2ZiYyAqZmJjKSAgew0KPiAtCXRyYWNlX2ludGVsX2ZiY19hY3RpdmF0ZShmYmMtPnBhcmFtcy5w bGFuZSk7DQo+ICsJdHJhY2VfaW50ZWxfZmJjX2FjdGl2YXRlKGZiYy0+c3RhdGUucGxhbmUpOw0K PiANCj4gIAlmYmMtPmFjdGl2ZSA9IHRydWU7DQo+ICAJZmJjLT5hY3RpdmF0ZWQgPSB0cnVlOw0K PiBAQCAtNjQxLDcgKzY0MSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2ZiY19od19hY3RpdmF0ZShz dHJ1Y3QgaW50ZWxfZmJjICpmYmMpDQo+IA0KPiAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX2h3X2Rl YWN0aXZhdGUoc3RydWN0IGludGVsX2ZiYyAqZmJjKSAgew0KPiAtCXRyYWNlX2ludGVsX2ZiY19k ZWFjdGl2YXRlKGZiYy0+cGFyYW1zLnBsYW5lKTsNCj4gKwl0cmFjZV9pbnRlbF9mYmNfZGVhY3Rp dmF0ZShmYmMtPnN0YXRlLnBsYW5lKTsNCj4gDQo+ICAJZmJjLT5hY3RpdmUgPSBmYWxzZTsNCj4g DQo+IEBAIC02NTUsNyArNjU1LDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfZmJjX2lzX2NvbXByZXNz aW5nKHN0cnVjdCBpbnRlbF9mYmMNCj4gKmZiYykNCj4gDQo+ICBzdGF0aWMgdm9pZCBpbnRlbF9m YmNfbnVrZShzdHJ1Y3QgaW50ZWxfZmJjICpmYmMpICB7DQo+IC0JdHJhY2VfaW50ZWxfZmJjX251 a2UoZmJjLT5wYXJhbXMucGxhbmUpOw0KPiArCXRyYWNlX2ludGVsX2ZiY19udWtlKGZiYy0+c3Rh dGUucGxhbmUpOw0KPiANCj4gIAlmYmMtPmZ1bmNzLT5udWtlKGZiYyk7DQo+ICB9DQo+IEBAIC05 NDMsOSArOTQzLDkgQEAgc3RhdGljIGJvb2wgdGlsaW5nX2lzX3ZhbGlkKGNvbnN0IHN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZQ0KPiAqcGxhbmVfc3RhdGUpDQo+ICAJfQ0KPiAgfQ0KPiANCj4gLXN0 YXRpYyB2b2lkIGludGVsX2ZiY191cGRhdGVfc3RhdGVfY2FjaGUoc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqc3RhdGUsDQo+IC0JCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywNCj4gLQkJ CQkJIHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUpDQo+ICtzdGF0aWMgdm9pZCBpbnRlbF9mYmNf dXBkYXRlX3N0YXRlKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLA0KPiArCQkJCSAg IHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLA0KPiArCQkJCSAgIHN0cnVjdCBpbnRlbF9wbGFuZSAq cGxhbmUpDQo+ICB7DQo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1 KHN0YXRlLT5iYXNlLmRldik7DQo+ICAJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUgPSBAQCAtOTUzLDMwICs5NTMsMjkgQEANCj4gc3RhdGljIHZvaWQgaW50ZWxfZmJj X3VwZGF0ZV9zdGF0ZV9jYWNoZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwNCj4g IAljb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlID0NCj4gIAkJaW50 ZWxfYXRvbWljX2dldF9uZXdfcGxhbmVfc3RhdGUoc3RhdGUsIHBsYW5lKTsNCj4gIAlzdHJ1Y3Qg aW50ZWxfZmJjICpmYmMgPSBwbGFuZS0+ZmJjOw0KPiAtCXN0cnVjdCBpbnRlbF9mYmNfc3RhdGUg KmNhY2hlID0gJmZiYy0+cGFyYW1zOw0KPiArCXN0cnVjdCBpbnRlbF9mYmNfc3RhdGUgKmZiY19z dGF0ZSA9ICZmYmMtPnN0YXRlOw0KPiANCj4gLQlpZiAocGxhbmVfc3RhdGUtPm5vX2ZiY19yZWFz b24pDQo+IC0JCXJldHVybjsNCj4gKwlXQVJOX09OKHBsYW5lX3N0YXRlLT5ub19mYmNfcmVhc29u KTsNCj4gDQo+IC0JY2FjaGUtPnBsYW5lID0gcGxhbmU7DQo+ICsJZmJjX3N0YXRlLT5wbGFuZSA9 IHBsYW5lOw0KPiANCj4gIAkvKiBGQkMxIGNvbXByZXNzaW9uIGludGVydmFsOiBhcmJpdHJhcnkg Y2hvaWNlIG9mIDEgc2Vjb25kICovDQo+IC0JY2FjaGUtPmludGVydmFsID0gZHJtX21vZGVfdnJl ZnJlc2goJmNydGNfc3RhdGUtDQo+ID5ody5hZGp1c3RlZF9tb2RlKTsNCj4gKwlmYmNfc3RhdGUt PmludGVydmFsID0NCj4gK2RybV9tb2RlX3ZyZWZyZXNoKCZjcnRjX3N0YXRlLT5ody5hZGp1c3Rl ZF9tb2RlKTsNCj4gDQo+IC0JY2FjaGUtPmZlbmNlX3lfb2Zmc2V0ID0gaW50ZWxfcGxhbmVfZmVu Y2VfeV9vZmZzZXQocGxhbmVfc3RhdGUpOw0KPiArCWZiY19zdGF0ZS0+ZmVuY2VfeV9vZmZzZXQg PSBpbnRlbF9wbGFuZV9mZW5jZV95X29mZnNldChwbGFuZV9zdGF0ZSk7DQo+IA0KPiAgCWRybV9X QVJOX09OKCZpOTE1LT5kcm0sIHBsYW5lX3N0YXRlLT5mbGFncyAmIFBMQU5FX0hBU19GRU5DRQ0K PiAmJg0KPiAgCQkgICAgIXBsYW5lX3N0YXRlLT5nZ3R0X3ZtYS0+ZmVuY2UpOw0KPiANCj4gIAlp ZiAocGxhbmVfc3RhdGUtPmZsYWdzICYgUExBTkVfSEFTX0ZFTkNFICYmDQo+ICAJICAgIHBsYW5l X3N0YXRlLT5nZ3R0X3ZtYS0+ZmVuY2UpDQo+IC0JCWNhY2hlLT5mZW5jZV9pZCA9IHBsYW5lX3N0 YXRlLT5nZ3R0X3ZtYS0+ZmVuY2UtPmlkOw0KPiArCQlmYmNfc3RhdGUtPmZlbmNlX2lkID0gcGxh bmVfc3RhdGUtPmdndHRfdm1hLT5mZW5jZS0+aWQ7DQo+ICAJZWxzZQ0KPiAtCQljYWNoZS0+ZmVu Y2VfaWQgPSAtMTsNCj4gKwkJZmJjX3N0YXRlLT5mZW5jZV9pZCA9IC0xOw0KPiANCj4gLQljYWNo ZS0+Y2ZiX3N0cmlkZSA9IGludGVsX2ZiY19jZmJfc3RyaWRlKHBsYW5lX3N0YXRlKTsNCj4gLQlj YWNoZS0+Y2ZiX3NpemUgPSBpbnRlbF9mYmNfY2ZiX3NpemUocGxhbmVfc3RhdGUpOw0KPiAtCWNh Y2hlLT5vdmVycmlkZV9jZmJfc3RyaWRlID0NCj4gaW50ZWxfZmJjX292ZXJyaWRlX2NmYl9zdHJp ZGUocGxhbmVfc3RhdGUpOw0KPiArCWZiY19zdGF0ZS0+Y2ZiX3N0cmlkZSA9IGludGVsX2ZiY19j ZmJfc3RyaWRlKHBsYW5lX3N0YXRlKTsNCj4gKwlmYmNfc3RhdGUtPmNmYl9zaXplID0gaW50ZWxf ZmJjX2NmYl9zaXplKHBsYW5lX3N0YXRlKTsNCj4gKwlmYmNfc3RhdGUtPm92ZXJyaWRlX2NmYl9z dHJpZGUgPQ0KPiAraW50ZWxfZmJjX292ZXJyaWRlX2NmYl9zdHJpZGUocGxhbmVfc3RhdGUpOw0K PiAgfQ0KPiANCj4gIHN0YXRpYyBib29sIGludGVsX2ZiY19pc19mZW5jZV9vayhjb25zdCBzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQ0KPiBAQCAtMTIzMiw3ICsxMjMxLDcg QEAgYm9vbCBpbnRlbF9mYmNfcHJlX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlDQo+ ICpzdGF0ZSwNCj4gDQo+ICAJCW11dGV4X2xvY2soJmZiYy0+bG9jayk7DQo+IA0KPiAtCQlpZiAo ZmJjLT5wYXJhbXMucGxhbmUgPT0gcGxhbmUpDQo+ICsJCWlmIChmYmMtPnN0YXRlLnBsYW5lID09 IHBsYW5lKQ0KPiAgCQkJbmVlZF92Ymxhbmtfd2FpdCB8PSBfX2ludGVsX2ZiY19wcmVfdXBkYXRl KHN0YXRlLA0KPiBjcnRjLCBwbGFuZSk7DQo+IA0KPiAgCQltdXRleF91bmxvY2soJmZiYy0+bG9j ayk7DQo+IEBAIC0xMjQ0LDEwICsxMjQzLDkgQEAgYm9vbCBpbnRlbF9mYmNfcHJlX3VwZGF0ZShz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlDQo+ICpzdGF0ZSwgIHN0YXRpYyB2b2lkIF9faW50ZWxf ZmJjX2Rpc2FibGUoc3RydWN0IGludGVsX2ZiYyAqZmJjKSAgew0KPiAgCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1ID0gZmJjLT5pOTE1Ow0KPiAtCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxh bmUgPSBmYmMtPnBhcmFtcy5wbGFuZTsNCj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0g ZmJjLT5zdGF0ZS5wbGFuZTsNCj4gDQo+ICAJZHJtX1dBUk5fT04oJmk5MTUtPmRybSwgIW11dGV4 X2lzX2xvY2tlZCgmZmJjLT5sb2NrKSk7DQo+IC0JZHJtX1dBUk5fT04oJmk5MTUtPmRybSwgIWZi Yy0+cGFyYW1zLnBsYW5lKTsNCj4gIAlkcm1fV0FSTl9PTigmaTkxNS0+ZHJtLCBmYmMtPmFjdGl2 ZSk7DQo+IA0KPiAgCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sICJEaXNhYmxpbmcgRkJDIG9uIFtQ TEFORTolZDolc11cbiIsIEBAIC0NCj4gMTI1NSw3ICsxMjUzLDcgQEAgc3RhdGljIHZvaWQgX19p bnRlbF9mYmNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZmJjICpmYmMpDQo+IA0KPiAgCV9faW50ZWxf ZmJjX2NsZWFudXBfY2ZiKGZiYyk7DQo+IA0KPiAtCWZiYy0+cGFyYW1zLnBsYW5lID0gTlVMTDsN Cj4gKwlmYmMtPnN0YXRlLnBsYW5lID0gTlVMTDsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgdm9pZCBf X2ludGVsX2ZiY19wb3N0X3VwZGF0ZShzdHJ1Y3QgaW50ZWxfZmJjICpmYmMpIEBAIC0xMjg1LDcg KzEyODMsNw0KPiBAQCB2b2lkIGludGVsX2ZiY19wb3N0X3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRv bWljX3N0YXRlICpzdGF0ZSwNCj4gDQo+ICAJCW11dGV4X2xvY2soJmZiYy0+bG9jayk7DQo+IA0K PiAtCQlpZiAoZmJjLT5wYXJhbXMucGxhbmUgPT0gcGxhbmUpIHsNCj4gKwkJaWYgKGZiYy0+c3Rh dGUucGxhbmUgPT0gcGxhbmUpIHsNCj4gIAkJCWZiYy0+ZmxpcF9wZW5kaW5nID0gZmFsc2U7DQo+ ICAJCQlfX2ludGVsX2ZiY19wb3N0X3VwZGF0ZShmYmMpOw0KPiAgCQl9DQo+IEBAIC0xMjk2LDgg KzEyOTQsOCBAQCB2b2lkIGludGVsX2ZiY19wb3N0X3VwZGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlDQo+ICpzdGF0ZSwNCj4gDQo+ICBzdGF0aWMgdW5zaWduZWQgaW50IGludGVsX2ZiY19n ZXRfZnJvbnRidWZmZXJfYml0KHN0cnVjdCBpbnRlbF9mYmMgKmZiYykgIHsNCj4gLQlpZiAoZmJj LT5wYXJhbXMucGxhbmUpDQo+IC0JCXJldHVybiBmYmMtPnBhcmFtcy5wbGFuZS0+ZnJvbnRidWZm ZXJfYml0Ow0KPiArCWlmIChmYmMtPnN0YXRlLnBsYW5lKQ0KPiArCQlyZXR1cm4gZmJjLT5zdGF0 ZS5wbGFuZS0+ZnJvbnRidWZmZXJfYml0Ow0KPiAgCWVsc2UNCj4gIAkJcmV0dXJuIGZiYy0+cG9z c2libGVfZnJhbWVidWZmZXJfYml0czsgIH0gQEAgLTEzMTgsNyArMTMxNiw3DQo+IEBAIHZvaWQg aW50ZWxfZmJjX2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsDQo+IA0K PiAgCWZiYy0+YnVzeV9iaXRzIHw9IGludGVsX2ZiY19nZXRfZnJvbnRidWZmZXJfYml0KGZiYykg JiBmcm9udGJ1ZmZlcl9iaXRzOw0KPiANCj4gLQlpZiAoZmJjLT5wYXJhbXMucGxhbmUgJiYgZmJj LT5idXN5X2JpdHMpDQo+ICsJaWYgKGZiYy0+c3RhdGUucGxhbmUgJiYgZmJjLT5idXN5X2JpdHMp DQo+ICAJCWludGVsX2ZiY19kZWFjdGl2YXRlKGZiYywgImZyb250YnVmZmVyIHdyaXRlIik7DQo+ IA0KPiAgCW11dGV4X3VubG9jaygmZmJjLT5sb2NrKTsNCj4gQEAgLTEzMzksNyArMTMzNyw3IEBA IHZvaWQgaW50ZWxfZmJjX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LA0KPiAg CWlmIChvcmlnaW4gPT0gT1JJR0lOX0ZMSVAgfHwgb3JpZ2luID09IE9SSUdJTl9DVVJTT1JfVVBE QVRFKQ0KPiAgCQlnb3RvIG91dDsNCj4gDQo+IC0JaWYgKCFmYmMtPmJ1c3lfYml0cyAmJiBmYmMt PnBhcmFtcy5wbGFuZSAmJg0KPiArCWlmICghZmJjLT5idXN5X2JpdHMgJiYgZmJjLT5zdGF0ZS5w bGFuZSAmJg0KPiAgCSAgICAoZnJvbnRidWZmZXJfYml0cyAmIGludGVsX2ZiY19nZXRfZnJvbnRi dWZmZXJfYml0KGZiYykpKSB7DQo+ICAJCWlmIChmYmMtPmFjdGl2ZSkNCj4gIAkJCWludGVsX2Zi Y19udWtlKGZiYyk7DQo+IEBAIC0xMzc3LDggKzEzNzUsOCBAQCBzdGF0aWMgdm9pZCBfX2ludGVs X2ZiY19lbmFibGUoc3RydWN0DQo+IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsDQo+ICAJCWlu dGVsX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7DQo+ICAJc3RydWN0 IGludGVsX2ZiYyAqZmJjID0gcGxhbmUtPmZiYzsNCj4gDQo+IC0JaWYgKGZiYy0+cGFyYW1zLnBs YW5lKSB7DQo+IC0JCWlmIChmYmMtPnBhcmFtcy5wbGFuZSAhPSBwbGFuZSkNCj4gKwlpZiAoZmJj LT5zdGF0ZS5wbGFuZSkgew0KPiArCQlpZiAoZmJjLT5zdGF0ZS5wbGFuZSAhPSBwbGFuZSkNCj4g IAkJCXJldHVybjsNCj4gDQo+ICAJCWlmIChpbnRlbF9mYmNfaXNfb2socGxhbmVfc3RhdGUpKQ0K PiBAQCAtMTQxMyw3ICsxNDExLDcgQEAgc3RhdGljIHZvaWQgX19pbnRlbF9mYmNfZW5hYmxlKHN0 cnVjdA0KPiBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLA0KPiAgCQkgICAgcGxhbmUtPmJhc2Uu YmFzZS5pZCwgcGxhbmUtPmJhc2UubmFtZSk7DQo+ICAJZmJjLT5ub19mYmNfcmVhc29uID0gIkZC QyBlbmFibGVkIGJ1dCBub3QgYWN0aXZlIHlldFxuIjsNCj4gDQo+IC0JaW50ZWxfZmJjX3VwZGF0 ZV9zdGF0ZV9jYWNoZShzdGF0ZSwgY3J0YywgcGxhbmUpOw0KPiArCWludGVsX2ZiY191cGRhdGVf c3RhdGUoc3RhdGUsIGNydGMsIHBsYW5lKTsNCj4gDQo+ICAJaW50ZWxfZmJjX3Byb2dyYW1fY2Zi KGZiYyk7DQo+ICB9DQo+IEBAIC0xNDM2LDcgKzE0MzQsNyBAQCB2b2lkIGludGVsX2ZiY19kaXNh YmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQ0KPiAgCQkJY29udGludWU7DQo+IA0KPiAgCQlt dXRleF9sb2NrKCZmYmMtPmxvY2spOw0KPiAtCQlpZiAoZmJjLT5wYXJhbXMucGxhbmUgPT0gcGxh bmUpDQo+ICsJCWlmIChmYmMtPnN0YXRlLnBsYW5lID09IHBsYW5lKQ0KPiAgCQkJX19pbnRlbF9m YmNfZGlzYWJsZShmYmMpOw0KPiAgCQltdXRleF91bmxvY2soJmZiYy0+bG9jayk7DQo+ICAJfQ0K PiBAQCAtMTQ2MCw3ICsxNDU4LDcgQEAgdm9pZCBpbnRlbF9mYmNfdXBkYXRlKHN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUNCj4gKnN0YXRlLA0KPiAgCQltdXRleF9sb2NrKCZmYmMtPmxvY2spOw0K PiANCj4gIAkJaWYgKGNydGNfc3RhdGUtPnVwZGF0ZV9waXBlICYmIHBsYW5lX3N0YXRlLT5ub19m YmNfcmVhc29uKSB7DQo+IC0JCQlpZiAoZmJjLT5wYXJhbXMucGxhbmUgPT0gcGxhbmUpDQo+ICsJ CQlpZiAoZmJjLT5zdGF0ZS5wbGFuZSA9PSBwbGFuZSkNCj4gIAkJCQlfX2ludGVsX2ZiY19kaXNh YmxlKGZiYyk7DQo+ICAJCX0gZWxzZSB7DQo+ICAJCQlfX2ludGVsX2ZiY19lbmFibGUoc3RhdGUs IGNydGMsIHBsYW5lKTsgQEAgLTE0ODQsNw0KPiArMTQ4Miw3IEBAIHZvaWQgaW50ZWxfZmJjX2ds b2JhbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQ0KPiAgCQlyZXR1cm47 DQo+IA0KPiAgCW11dGV4X2xvY2soJmZiYy0+bG9jayk7DQo+IC0JaWYgKGZiYy0+cGFyYW1zLnBs YW5lKQ0KPiArCWlmIChmYmMtPnN0YXRlLnBsYW5lKQ0KPiAgCQlfX2ludGVsX2ZiY19kaXNhYmxl KGZiYyk7DQo+ICAJbXV0ZXhfdW5sb2NrKCZmYmMtPmxvY2spOw0KPiAgfQ0KPiBAQCAtMTQ5Nyw3 ICsxNDk1LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZmJjX3VuZGVycnVuX3dvcmtfZm4oc3RydWN0 DQo+IHdvcmtfc3RydWN0ICp3b3JrKQ0KPiAgCW11dGV4X2xvY2soJmZiYy0+bG9jayk7DQo+IA0K PiAgCS8qIE1heWJlIHdlIHdlcmUgc2NoZWR1bGVkIHR3aWNlLiAqLw0KPiAtCWlmIChmYmMtPnVu ZGVycnVuX2RldGVjdGVkIHx8ICFmYmMtPnBhcmFtcy5wbGFuZSkNCj4gKwlpZiAoZmJjLT51bmRl cnJ1bl9kZXRlY3RlZCB8fCAhZmJjLT5zdGF0ZS5wbGFuZSkNCj4gIAkJZ290byBvdXQ7DQo+IA0K PiAgCWRybV9kYmdfa21zKCZpOTE1LT5kcm0sICJEaXNhYmxpbmcgRkJDIGR1ZSB0byBGSUZPIHVu ZGVycnVuLlxuIik7DQo+IEBAIC0xNTA1LDcgKzE1MDMsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9m YmNfdW5kZXJydW5fd29ya19mbihzdHJ1Y3QNCj4gd29ya19zdHJ1Y3QgKndvcmspDQo+IA0KPiAg CWludGVsX2ZiY19kZWFjdGl2YXRlKGZiYywgIkZJRk8gdW5kZXJydW4iKTsNCj4gIAlpZiAoIWZi Yy0+ZmxpcF9wZW5kaW5nKQ0KPiAtCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoaTkxNSwgZmJjLT5w YXJhbXMucGxhbmUtPnBpcGUpOw0KPiArCQlpbnRlbF93YWl0X2Zvcl92YmxhbmsoaTkxNSwgZmJj LT5zdGF0ZS5wbGFuZS0+cGlwZSk7DQo+ICAJX19pbnRlbF9mYmNfZGlzYWJsZShmYmMpOw0KPiAg b3V0Og0KPiAgCW11dGV4X3VubG9jaygmZmJjLT5sb2NrKTsNCj4gLS0NCj4gMi4zMi4wDQoNCg==