From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v6 3/3] drm/i915: Make i915_modparams members const Date: Wed, 20 Sep 2017 11:34:43 +0300 Message-ID: <877ewt93a4.fsf@nikula.org> References: <20170919193846.38060-1-michal.wajdeczko@intel.com> <20170919193846.38060-3-michal.wajdeczko@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 84FAC6E6DC for ; Wed, 20 Sep 2017 08:35:11 +0000 (UTC) In-Reply-To: <20170919193846.38060-3-michal.wajdeczko@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Michal Wajdeczko , intel-gfx@lists.freedesktop.org Cc: Ville Syrjala List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAxOSBTZXAgMjAxNywgTWljaGFsIFdhamRlY3prbyA8bWljaGFsLndhamRlY3prb0Bp bnRlbC5jb20+IHdyb3RlOgo+IFdlIHNob3VsZCBkaXNjb3VyYWdlIGRldmVsb3BlcnMgZnJvbSBt b2RpZnlpbmcgbW9kcGFyYW1zLgo+IEludHJvZHVjZSBzcGVjaWFsIG1hY3JvIGZvciBlYXNpZXIg dHJhY2tpbmcgb2YgY2hhbmdlcyBkb25lCj4gaW4gbW9kcGFyYW1zIGFuZCBlbmZvcmNlIGl0cyB1 c2UgYnkgZGVmaW5pbmcgZXhpc3RpbmcgbW9kcGFyYW1zCj4gbWVtYmVycyBhcyBjb25zdC4gTm90 ZSB0aGF0IGRlZmluaW5nIHdob2xlIG1vZHBhcmFtcyBzdHJ1Y3QKPiBhcyBjb25zdCBtYWtlcyBj aGVja3BhdGNoIHVuaGFwcHkuCgpDaGVja3BhdGNoIGlzIHRoZSBsZWFzdCBvZiBhbGwgcmVhc29u cyB0byBub3QgbWFrZSB0aGUgbW9kcGFyYW1zIHN0cnVjdApjb25zdC4KCldlIGNhbiBnZXQgYXdh eSB3aXRoIGhhdmluZyBzb21lIGZpZWxkcyAoc3VjaCBhcyBkZXZpY2UgaW5mbyB3aXRoaW4KZGV2 X3ByaXYpIGNvbnN0LCBldmVuIGlmIHRoYXQncyBkdWJpb3VzLgoKSUlVQyBtb2RpZnlpbmcgY29u c3QgZGF0YSBpcyB1bmRlZmluZWQgYmVoYXZpb3VyIGF0IGJlc3QsIGNvdWxkIGNhdXNlCnN1YnRs ZSBidWdzIHRocm91Z2ggY29tcGlsZXIgb3B0aW1pemluZyByZWFkcyBvZiB0aGUgZGF0YSBhd2F5 IGJlY2F1c2UKaXQgYXNzdW1lcyBubyBtb2RpZmljYXRpb25zLCBhbmQgdGhlIGRhdGEgZ2V0cyBw bGFjZWQgaW4gcm9kYXRhIGF0CndvcnN0LgoKSSBraW5kYSBsaWtlIHRoZSB1bmlvbiB0cmljayBp biB0aGlzIHBhdGNoLCBidXQgSU1PIHdlIG5lZWQgdG8gZG91YmxlCmNoZWNrIHdoYXQgdGhlIHN0 YW5kYXJkIHNheXMgYWJvdXQgaXQuIE1ha2luZyB0aGUgZmVsbG93IGRldmVsb3BlcnMKY2hlY2sg dGhlIHN0YW5kYXJkIGlzIGFsd2F5cyBhIGJhZCBzaWduLCBldmVuIGlmIGl0IHR1cm5zIG91dCB0 byBiZSBmaW5lCmFmdGVyIGFsbC4KCkJSLApKYW5pLgoKPgo+IHYyOiByZWJhc2VkCj4KPiBDcmVk aXRzLXRvOiBDb2NjaW5lbGxlCj4KPiBAQAo+IGlkZW50aWZpZXIgbjsKPiBleHByZXNzaW9uIGU7 Cj4gQEAKPiAoCj4gLQlpOTE1X21vZHBhcmFtcy5uID0gZTsKPiArCWk5MTVfbW9kcGFyYW1zX3Nl dChuLCBlKTsKPiApCj4KPiBTaWduZWQtb2ZmLWJ5OiBNaWNoYWwgV2FqZGVjemtvIDxtaWNoYWwu d2FqZGVjemtvQGludGVsLmNvbT4KPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVs LmNvbT4KPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6 IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gQ2M6IFZpbGxlIFN5 cmphbGEgPHZpbGxlLnN5cmphbGFAaW50ZWwuY29tPgo+IENjOiBKb29uYXMgTGFodGluZW4gPGpv b25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmMgICAgICAgICB8IDEyICsrKysrKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BhcmFtcy5jICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGFyYW1zLmggICAgICB8ICA3ICsrKysrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZmJjLmMgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjX2xvZy5jICAgIHwgMTAgKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndnQuYyAgICAgICAgfCAgNCArKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3Bzci5jICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuYyB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0u YyB8ICA0ICsrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYyAgICAgICAgIHwg MTggKysrKysrKysrKy0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29y ZS5jICAgICB8IDE0ICsrKysrKystLS0tLS0tCj4gIDExIGZpbGVzIGNoYW5nZWQsIDQzIGluc2Vy dGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gaW5k ZXggNzA1NmJiMi4uOTliNDdjNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IEBAIC0x MDMyLDkgKzEwMzIsOSBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9jbGVhbnVwX21taW8oc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAKPiAgc3RhdGljIHZvaWQgaW50ZWxf c2FuaXRpemVfb3B0aW9ucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsK PiAtCWk5MTVfbW9kcGFyYW1zLmVuYWJsZV9leGVjbGlzdHMgPQo+ICsJaTkxNV9tb2RwYXJhbXNf c2V0KGVuYWJsZV9leGVjbGlzdHMsCj4gIAkJaW50ZWxfc2FuaXRpemVfZW5hYmxlX2V4ZWNsaXN0 cyhkZXZfcHJpdiwKPiAtCQkJCQkJaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2V4ZWNsaXN0cyk7Cj4g KwkJCQkJCWk5MTVfbW9kcGFyYW1zLmVuYWJsZV9leGVjbGlzdHMpKTsKPiAgCj4gIAkvKgo+ICAJ ICogaTkxNS5lbmFibGVfcHBndHQgaXMgcmVhZC1vbmx5LCBzbyBkbyBhbiBlYXJseSBwYXNzIHRv IHZhbGlkYXRlIHRoZQo+IEBAIC0xMDQyLDEzICsxMDQyLDEzIEBAIHN0YXRpYyB2b2lkIGludGVs X3Nhbml0aXplX29wdGlvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJ ICogZG8gdGhpcyBub3cgc28gdGhhdCB3ZSBjYW4gcHJpbnQgb3V0IGFueSBsb2cgbWVzc2FnZXMg b25jZSByYXRoZXIKPiAgCSAqIHRoYW4gZXZlcnkgdGltZSB3ZSBjaGVjayBpbnRlbF9lbmFibGVf cHBndHQoKS4KPiAgCSAqLwo+IC0JaTkxNV9tb2RwYXJhbXMuZW5hYmxlX3BwZ3R0ID0KPiArCWk5 MTVfbW9kcGFyYW1zX3NldChlbmFibGVfcHBndHQsCj4gIAkJaW50ZWxfc2FuaXRpemVfZW5hYmxl X3BwZ3R0KGRldl9wcml2LAo+IC0JCQkJCSAgICBpOTE1X21vZHBhcmFtcy5lbmFibGVfcHBndHQp Owo+ICsJCQkJCSAgICBpOTE1X21vZHBhcmFtcy5lbmFibGVfcHBndHQpKTsKPiAgCURSTV9ERUJV R19EUklWRVIoInBwZ3R0IG1vZGU6ICVpXG4iLCBpOTE1X21vZHBhcmFtcy5lbmFibGVfcHBndHQp Owo+ICAKPiAtCWk5MTVfbW9kcGFyYW1zLnNlbWFwaG9yZXMgPQo+IC0JCWludGVsX3Nhbml0aXpl X3NlbWFwaG9yZXMoZGV2X3ByaXYsIGk5MTVfbW9kcGFyYW1zLnNlbWFwaG9yZXMpOwo+ICsJaTkx NV9tb2RwYXJhbXNfc2V0KHNlbWFwaG9yZXMsCj4gKwkJaW50ZWxfc2FuaXRpemVfc2VtYXBob3Jl cyhkZXZfcHJpdiwgaTkxNV9tb2RwYXJhbXMuc2VtYXBob3JlcykpOwo+ICAJRFJNX0RFQlVHX0RS SVZFUigidXNlIEdQVSBzZW1hcGhvcmVzPyAlc1xuIiwKPiAgCQkJIHllc25vKGk5MTVfbW9kcGFy YW1zLnNlbWFwaG9yZXMpKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGFyYW1zLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCj4gaW5k ZXggZWM2NTM0MS4uMmE4ZmE5YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BhcmFtcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYwo+ IEBAIC0yNiwxMCArMjYsMTAgQEAKPiAgI2luY2x1ZGUgImk5MTVfZHJ2LmgiCj4gIAo+ICAjZGVm aW5lIGk5MTVfcGFyYW1fbmFtZWQobmFtZSwgVCwgcGVybSwgZGVzYykgXAo+IC0JbW9kdWxlX3Bh cmFtX25hbWVkKG5hbWUsIGk5MTVfbW9kcGFyYW1zLm5hbWUsIFQsIHBlcm0pOyBcCj4gKwltb2R1 bGVfcGFyYW1fbmFtZWQobmFtZSwgaTkxNV9tb2RwYXJhbXMubmFtZSMjX3dyaXRhYmxlLCBULCBw ZXJtKTsgXAo+ICAJTU9EVUxFX1BBUk1fREVTQyhuYW1lLCBkZXNjKQo+ICAjZGVmaW5lIGk5MTVf cGFyYW1fbmFtZWRfdW5zYWZlKG5hbWUsIFQsIHBlcm0sIGRlc2MpIFwKPiAtCW1vZHVsZV9wYXJh bV9uYW1lZF91bnNhZmUobmFtZSwgaTkxNV9tb2RwYXJhbXMubmFtZSwgVCwgcGVybSk7IFwKPiAr CW1vZHVsZV9wYXJhbV9uYW1lZF91bnNhZmUobmFtZSwgaTkxNV9tb2RwYXJhbXMubmFtZSMjX3dy aXRhYmxlLCBULCBwZXJtKTsgXAo+ICAJTU9EVUxFX1BBUk1fREVTQyhuYW1lLCBkZXNjKQo+ICAK PiAgc3RydWN0IGk5MTVfcGFyYW1zIGk5MTVfbW9kcGFyYW1zIF9fcmVhZF9tb3N0bHkgPSB7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCj4gaW5kZXggYTJjYmI0Ny4uZTdiMjg0NSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+IEBAIC03MCw3ICs3MCw3IEBACj4gIAlm dW5jKGJvb2wsIGVuYWJsZV9kcGNkX2JhY2tsaWdodCk7IFwKPiAgCWZ1bmMoYm9vbCwgZW5hYmxl X2d2dCkKPiAgCj4gLSNkZWZpbmUgTUVNQkVSKFQsIG1lbWJlcikgVCBtZW1iZXIKPiArI2RlZmlu ZSBNRU1CRVIoVCwgbWVtYmVyKSB1bmlvbiB7IGNvbnN0IFQgbWVtYmVyOyBUIG1lbWJlciMjX3dy aXRhYmxlOyB9Cj4gIHN0cnVjdCBpOTE1X3BhcmFtcyB7Cj4gIAlJOTE1X1BBUkFNU19GT1JfRUFD SChNRU1CRVIpOwo+ICB9Owo+IEBAIC03OCw1ICs3OCwxMCBAQCBzdHJ1Y3QgaTkxNV9wYXJhbXMg ewo+ICAKPiAgZXh0ZXJuIHN0cnVjdCBpOTE1X3BhcmFtcyBpOTE1X21vZHBhcmFtcyBfX3JlYWRf bW9zdGx5Owo+ICAKPiArI2RlZmluZSBpOTE1X21vZHBhcmFtc19zZXQobmFtZSwgdmFsdWUpCQlc Cj4gKyh7CQkJCQkJXAo+ICsJaTkxNV9tb2RwYXJhbXMubmFtZSMjX3dyaXRhYmxlID0gdmFsdWU7 CVwKPiArfSkKPiArCj4gICNlbmRpZgo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZmJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+IGlu ZGV4IDhlM2EwNTUuLjEzZmEzNTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZmJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYwo+IEBA IC0xMzU1LDcgKzEzNTUsNyBAQCB2b2lkIGludGVsX2ZiY19pbml0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKPiAgCWlmIChuZWVkX2ZiY192dGRfd2EoZGV2X3ByaXYpKQo+ICAJ CW1rd3JpdGVfZGV2aWNlX2luZm8oZGV2X3ByaXYpLT5oYXNfZmJjID0gZmFsc2U7Cj4gIAo+IC0J aTkxNV9tb2RwYXJhbXMuZW5hYmxlX2ZiYyA9IGludGVsX3Nhbml0aXplX2ZiY19vcHRpb24oZGV2 X3ByaXYpOwo+ICsJaTkxNV9tb2RwYXJhbXNfc2V0KGVuYWJsZV9mYmMsIGludGVsX3Nhbml0aXpl X2ZiY19vcHRpb24oZGV2X3ByaXYpKTsKPiAgCURSTV9ERUJVR19LTVMoIlNhbml0aXplZCBlbmFi bGVfZmJjIHZhbHVlOiAlZFxuIiwKPiAgCQkgICAgICBpOTE1X21vZHBhcmFtcy5lbmFibGVfZmJj KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYwo+IGluZGV4IDY1NzFkOTYu LjQ4NzYyMzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xv Zy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5jCj4gQEAgLTQ4 MCw3ICs0ODAsNyBAQCBzdGF0aWMgaW50IGd1Y19sb2dfbGF0ZV9zZXR1cChzdHJ1Y3QgaW50ZWxf Z3VjICpndWMpCj4gIAlndWNfbG9nX3J1bnRpbWVfZGVzdHJveShndWMpOwo+ICBlcnI6Cj4gIAkv KiBsb2dnaW5nIHdpbGwgcmVtYWluIG9mZiAqLwo+IC0JaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19s ZXZlbCA9IC0xOwo+ICsJaTkxNV9tb2RwYXJhbXNfc2V0KGd1Y19sb2dfbGV2ZWwsIC0xKTsKPiAg CXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gQEAgLTUzMSw3ICs1MzEsNyBAQCBpbnQgaW50ZWxfZ3Vj X2xvZ19jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAJR0VNX0JVR19PTihndWMtPmxv Zy52bWEpOwo+ICAKPiAgCWlmIChpOTE1X21vZHBhcmFtcy5ndWNfbG9nX2xldmVsID4gR1VDX0xP R19WRVJCT1NJVFlfTUFYKQo+IC0JCWk5MTVfbW9kcGFyYW1zLmd1Y19sb2dfbGV2ZWwgPSBHVUNf TE9HX1ZFUkJPU0lUWV9NQVg7Cj4gKwkJaTkxNV9tb2RwYXJhbXNfc2V0KGd1Y19sb2dfbGV2ZWws IEdVQ19MT0dfVkVSQk9TSVRZX01BWCk7Cj4gIAo+ICAJLyogVGhlIGZpcnN0IHBhZ2UgaXMgdG8g c2F2ZSBsb2cgYnVmZmVyIHN0YXRlLiBBbGxvY2F0ZSBvbmUKPiAgCSAqIGV4dHJhIHBhZ2UgZm9y IG90aGVycyBpbiBjYXNlIGZvciBvdmVybGFwICovCj4gQEAgLTU3Nyw3ICs1NzcsNyBAQCBpbnQg aW50ZWxfZ3VjX2xvZ19jcmVhdGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+ICAJaTkxNV92bWFf dW5waW5fYW5kX3JlbGVhc2UoJmd1Yy0+bG9nLnZtYSk7Cj4gIGVycjoKPiAgCS8qIGxvZ2dpbmcg d2lsbCBiZSBvZmYgKi8KPiAtCWk5MTVfbW9kcGFyYW1zLmd1Y19sb2dfbGV2ZWwgPSAtMTsKPiAr CWk5MTVfbW9kcGFyYW1zX3NldChndWNfbG9nX2xldmVsLCAtMSk7Cj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gIAo+IEBAIC02MTEsNyArNjExLDcgQEAgaW50IGk5MTVfZ3VjX2xvZ19jb250cm9sKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTY0IGNvbnRyb2xfdmFsKQo+ICAJfQo+ ICAKPiAgCWlmIChsb2dfcGFyYW0ubG9nZ2luZ19lbmFibGVkKSB7Cj4gLQkJaTkxNV9tb2RwYXJh bXMuZ3VjX2xvZ19sZXZlbCA9IGxvZ19wYXJhbS52ZXJib3NpdHk7Cj4gKwkJaTkxNV9tb2RwYXJh bXNfc2V0KGd1Y19sb2dfbGV2ZWwsIGxvZ19wYXJhbS52ZXJib3NpdHkpOwo+ICAKPiAgCQkvKiBJ ZiBsb2dfbGV2ZWwgd2FzIHNldCBhcyAtMSBhdCBib290IHRpbWUsIHRoZW4gdGhlIHJlbGF5IGNo YW5uZWwgZmlsZQo+ICAJCSAqIHdvdWxkbid0IGhhdmUgYmVlbiBjcmVhdGVkIGJ5IG5vdyBhbmQg aW50ZXJydXB0cyBhbHNvIHdvdWxkIG5vdCBoYXZlCj4gQEAgLTYzNCw3ICs2MzQsNyBAQCBpbnQg aTkxNV9ndWNfbG9nX2NvbnRyb2woc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1 NjQgY29udHJvbF92YWwpCj4gIAkJZ3VjX2ZsdXNoX2xvZ3MoZ3VjKTsKPiAgCj4gIAkJLyogQXMg bG9nZ2luZyBpcyBkaXNhYmxlZCwgdXBkYXRlIGxvZyBsZXZlbCB0byByZWZsZWN0IHRoYXQgKi8K PiAtCQlpOTE1X21vZHBhcmFtcy5ndWNfbG9nX2xldmVsID0gLTE7Cj4gKwkJaTkxNV9tb2RwYXJh bXNfc2V0KGd1Y19sb2dfbGV2ZWwsIC0xKTsKPiAgCX0KPiAgCj4gIAlyZXR1cm4gcmV0Owo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndnQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d2dC5jCj4gaW5kZXggYjRhN2YzMS4uMjA1MmUzZSAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndnQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2d2dC5jCj4gQEAgLTczLDcgKzczLDcgQEAgdm9pZCBpbnRlbF9ndnRf c2FuaXRpemVfb3B0aW9ucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAo+ ICAJcmV0dXJuOwo+ICBiYWlsOgo+IC0JaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d2dCA9IDA7Cj4g KwlpOTE1X21vZHBhcmFtc19zZXQoZW5hYmxlX2d2dCwgMCk7Cj4gIH0KPiAgCj4gIC8qKgo+IEBA IC0xMjMsNyArMTIzLDcgQEAgaW50IGludGVsX2d2dF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiAgCXJldHVybiAwOwo+ICAKPiAgYmFpbDoKPiAtCWk5MTVfbW9kcGFy YW1zLmVuYWJsZV9ndnQgPSAwOwo+ICsJaTkxNV9tb2RwYXJhbXNfc2V0KGVuYWJsZV9ndnQsIDAp Owo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3Bzci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHNyLmMKPiBpbmRl eCAwYTE3ZDFmLi4yZWM1N2Q0ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wc3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bzci5jCj4gQEAg LTk0NCw3ICs5NDQsNyBAQCB2b2lkIGludGVsX3Bzcl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiAgCj4gIAkvKiBQZXIgcGxhdGZvcm0gZGVmYXVsdDogYWxsIGRpc2Fi bGVkLiAqLwo+ICAJaWYgKGk5MTVfbW9kcGFyYW1zLmVuYWJsZV9wc3IgPT0gLTEpCj4gLQkJaTkx NV9tb2RwYXJhbXMuZW5hYmxlX3BzciA9IDA7Cj4gKwkJaTkxNV9tb2RwYXJhbXNfc2V0KGVuYWJs ZV9wc3IsIDApOwo+ICAKPiAgCS8qIFNldCBsaW5rX3N0YW5kYnkgeCBsaW5rX29mZiBkZWZhdWx0 cyAqLwo+ICAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZfcHJp dikpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4IDA1YzA4 YjAuLmEwNTdkMzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5j Cj4gQEAgLTE5ODIsNyArMTk4Miw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3JpbmdfaW5pdF9zZW1h cGhvcmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCWk5MTVfZ2VtX29i amVjdF9wdXQob2JqKTsKPiAgZXJyOgo+ICAJRFJNX0RFQlVHX0RSSVZFUigiRmFpbGVkIHRvIGFs bG9jYXRlIHNwYWNlIGZvciBzZW1hcGhvcmVzLCBkaXNhYmxpbmdcbiIpOwo+IC0JaTkxNV9tb2Rw YXJhbXMuc2VtYXBob3JlcyA9IDA7Cj4gKwlpOTE1X21vZHBhcmFtc19zZXQoc2VtYXBob3Jlcywg MCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGludGVsX3JpbmdfaW5pdF9pcnEoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50 aW1lX3BtLmMKPiBpbmRleCA3OTMzZDFiLi4wNWJiNjJjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+IEBAIC0yNDcxLDkgKzI0NzEsOSBAQCBpbnQgaW50ZWxf cG93ZXJfZG9tYWluc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAg ewo+ICAJc3RydWN0IGk5MTVfcG93ZXJfZG9tYWlucyAqcG93ZXJfZG9tYWlucyA9ICZkZXZfcHJp di0+cG93ZXJfZG9tYWluczsKPiAgCj4gLQlpOTE1X21vZHBhcmFtcy5kaXNhYmxlX3Bvd2VyX3dl bGwgPQo+ICsJaTkxNV9tb2RwYXJhbXNfc2V0KGRpc2FibGVfcG93ZXJfd2VsbCwKPiAgCQlzYW5p dGl6ZV9kaXNhYmxlX3Bvd2VyX3dlbGxfb3B0aW9uKGRldl9wcml2LAo+IC0JCQkJCQkgICBpOTE1 X21vZHBhcmFtcy5kaXNhYmxlX3Bvd2VyX3dlbGwpOwo+ICsJCQkJCQkgICBpOTE1X21vZHBhcmFt cy5kaXNhYmxlX3Bvd2VyX3dlbGwpKTsKPiAgCWRldl9wcml2LT5jc3IuYWxsb3dlZF9kY19tYXNr ID0KPiAgCQlnZXRfYWxsb3dlZF9kY19tYXNrKGRldl9wcml2LCBpOTE1X21vZHBhcmFtcy5lbmFi bGVfZGMpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKPiBpbmRleCA5MDE4NTQwLi5kOTFh NDQxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jCj4gQEAgLTY3LDE0ICs2NywxNSBAQCB2 b2lkIGludGVsX3VjX3Nhbml0aXplX29wdGlvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ICAJCSAgICBpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPiAw KQo+ICAJCQlEUk1fSU5GTygiSWdub3JpbmcgR3VDIG9wdGlvbnMsIG5vIGhhcmR3YXJlXG4iKTsK PiAgCj4gLQkJaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19sb2FkaW5nID0gMDsKPiAtCQlpOTE1 X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSAwOwo+ICsJCWk5MTVfbW9kcGFyYW1z X3NldChlbmFibGVfZ3VjX2xvYWRpbmcsIDApOwo+ICsJCWk5MTVfbW9kcGFyYW1zX3NldChlbmFi bGVfZ3VjX3N1Ym1pc3Npb24sIDApOwo+ICAJCXJldHVybjsKPiAgCX0KPiAgCj4gIAkvKiBBIG5l Z2F0aXZlIHZhbHVlIG1lYW5zICJ1c2UgcGxhdGZvcm0gZGVmYXVsdCIgKi8KPiAgCWlmIChpOTE1 X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcgPCAwKQo+IC0JCWk5MTVfbW9kcGFyYW1zLmVu YWJsZV9ndWNfbG9hZGluZyA9IEhBU19HVUNfVUNPREUoZGV2X3ByaXYpOwo+ICsJCWk5MTVfbW9k cGFyYW1zX3NldChlbmFibGVfZ3VjX2xvYWRpbmcsCj4gKwkJCQkgICBIQVNfR1VDX1VDT0RFKGRl dl9wcml2KSk7Cj4gIAo+ICAJLyogVmVyaWZ5IGZpcm13YXJlIHZlcnNpb24gKi8KPiAgCWlmIChp OTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX2xvYWRpbmcpIHsKPiBAQCAtODIsMTYgKzgzLDE3IEBA IHZvaWQgaW50ZWxfdWNfc2FuaXRpemVfb3B0aW9ucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gIAkJCWludGVsX2h1Y19zZWxlY3RfZncoJmRldl9wcml2LT5odWMpOwo+ICAK PiAgCQlpZiAoaW50ZWxfZ3VjX3NlbGVjdF9mdygmZGV2X3ByaXYtPmd1YykpCj4gLQkJCWk5MTVf bW9kcGFyYW1zLmVuYWJsZV9ndWNfbG9hZGluZyA9IDA7Cj4gKwkJCWk5MTVfbW9kcGFyYW1zX3Nl dChlbmFibGVfZ3VjX2xvYWRpbmcsIDApOwo+ICAJfQo+ICAKPiAgCS8qIENhbid0IGVuYWJsZSBn dWMgc3VibWlzc2lvbiB3aXRob3V0IGd1YyBsb2FkZWQgKi8KPiAgCWlmICghaTkxNV9tb2RwYXJh bXMuZW5hYmxlX2d1Y19sb2FkaW5nKQo+IC0JCWk5MTVfbW9kcGFyYW1zLmVuYWJsZV9ndWNfc3Vi bWlzc2lvbiA9IDA7Cj4gKwkJaTkxNV9tb2RwYXJhbXNfc2V0KGVuYWJsZV9ndWNfc3VibWlzc2lv biwgMCk7Cj4gIAo+ICAJLyogQSBuZWdhdGl2ZSB2YWx1ZSBtZWFucyAidXNlIHBsYXRmb3JtIGRl ZmF1bHQiICovCj4gIAlpZiAoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uIDwg MCkKPiAtCQlpOTE1X21vZHBhcmFtcy5lbmFibGVfZ3VjX3N1Ym1pc3Npb24gPSBIQVNfR1VDX1ND SEVEKGRldl9wcml2KTsKPiArCQlpOTE1X21vZHBhcmFtc19zZXQoZW5hYmxlX2d1Y19zdWJtaXNz aW9uLAo+ICsJCQkJICAgSEFTX0dVQ19TQ0hFRChkZXZfcHJpdikpOwo+ICB9Cj4gIAo+ICBzdGF0 aWMgdm9pZCBnZW44X2d1Y19yYWlzZV9pcnEoc3RydWN0IGludGVsX2d1YyAqZ3VjKQo+IEBAIC00 MzAsMTEgKzQzMiwxMSBAQCBpbnQgaW50ZWxfdWNfaW5pdF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gIAkJcmV0ID0gMDsKPiAgCj4gIAlpZiAoaTkxNV9tb2RwYXJhbXMu ZW5hYmxlX2d1Y19zdWJtaXNzaW9uKSB7Cj4gLQkJaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19z dWJtaXNzaW9uID0gMDsKPiArCQlpOTE1X21vZHBhcmFtc19zZXQoZW5hYmxlX2d1Y19zdWJtaXNz aW9uLCAwKTsKPiAgCQlEUk1fTk9URSgiRmFsbGluZyBiYWNrIGZyb20gR3VDIHN1Ym1pc3Npb24g dG8gZXhlY2xpc3QgbW9kZVxuIik7Cj4gIAl9Cj4gIAo+IC0JaTkxNV9tb2RwYXJhbXMuZW5hYmxl X2d1Y19sb2FkaW5nID0gMDsKPiArCWk5MTVfbW9kcGFyYW1zX3NldChlbmFibGVfZ3VjX2xvYWRp bmcsIDApOwo+ICAJRFJNX05PVEUoIkd1QyBmaXJtd2FyZSBsb2FkaW5nIGRpc2FibGVkXG4iKTsK PiAgCj4gIAlyZXR1cm4gcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gaW5k ZXggNzliYmZmYS4uMjAzNTlhOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91bmNvcmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5j Cj4gQEAgLTQzNiw4ICs0MzYsOCBAQCB2b2lkIGludGVsX3VuY29yZV9yZXN1bWVfZWFybHkoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAKPiAgdm9pZCBpbnRlbF91bmNvcmVf c2FuaXRpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQlpOTE1 X21vZHBhcmFtcy5lbmFibGVfcmM2ID0KPiAtCQlzYW5pdGl6ZV9yYzZfb3B0aW9uKGRldl9wcml2 LCBpOTE1X21vZHBhcmFtcy5lbmFibGVfcmM2KTsKPiArCWk5MTVfbW9kcGFyYW1zX3NldChlbmFi bGVfcmM2LAo+ICsJCQkgICBzYW5pdGl6ZV9yYzZfb3B0aW9uKGRldl9wcml2LCBpOTE1X21vZHBh cmFtcy5lbmFibGVfcmM2KSk7Cj4gIAo+ICAJLyogQklPUyBvZnRlbiBsZWF2ZXMgUkM2IGVuYWJs ZWQsIGJ1dCBkaXNhYmxlIGl0IGZvciBodyBpbml0ICovCj4gIAlpbnRlbF9zYW5pdGl6ZV9ndF9w b3dlcnNhdmUoZGV2X3ByaXYpOwo+IEBAIC01MTEsNyArNTExLDcgQEAgdm9pZCBpbnRlbF91bmNv cmVfZm9yY2V3YWtlX3VzZXJfZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiAgCQkJaTkxNV9tb2RwYXJhbXMubW1pb19kZWJ1ZzsKPiAgCj4gIAkJZGV2X3ByaXYtPnVuY29y ZS51bmNsYWltZWRfbW1pb19jaGVjayA9IDA7Cj4gLQkJaTkxNV9tb2RwYXJhbXMubW1pb19kZWJ1 ZyA9IDA7Cj4gKwkJaTkxNV9tb2RwYXJhbXNfc2V0KG1taW9fZGVidWcsIDApOwo+ICAJfQo+ICAJ c3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2spOwo+ICB9Cj4gQEAgLTUzMyw4 ICs1MzMsOCBAQCB2b2lkIGludGVsX3VuY29yZV9mb3JjZXdha2VfdXNlcl9wdXQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAKPiAgCQlkZXZfcHJpdi0+dW5jb3JlLnVuY2xh aW1lZF9tbWlvX2NoZWNrID0KPiAgCQkJZGV2X3ByaXYtPnVuY29yZS51c2VyX2ZvcmNld2FrZS5z YXZlZF9tbWlvX2NoZWNrOwo+IC0JCWk5MTVfbW9kcGFyYW1zLm1taW9fZGVidWcgPQo+IC0JCQlk ZXZfcHJpdi0+dW5jb3JlLnVzZXJfZm9yY2V3YWtlLnNhdmVkX21taW9fZGVidWc7Cj4gKwkJaTkx NV9tb2RwYXJhbXNfc2V0KG1taW9fZGVidWcsCj4gKwkJCQkgICBkZXZfcHJpdi0+dW5jb3JlLnVz ZXJfZm9yY2V3YWtlLnNhdmVkX21taW9fZGVidWcpOwo+ICAKPiAgCQlpbnRlbF91bmNvcmVfZm9y Y2V3YWtlX3B1dF9fbG9ja2VkKGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKPiAgCX0KPiBAQCAt ODQzLDcgKzg0Myw3IEBAIF9fdW5jbGFpbWVkX3JlZ19kZWJ1ZyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gIAkJIHJlYWQgPyAicmVhZCBmcm9tIiA6ICJ3cml0ZSB0byIsCj4g IAkJIGk5MTVfbW1pb19yZWdfb2Zmc2V0KHJlZykpKQo+ICAJCS8qIE9ubHkgcmVwb3J0IHRoZSBm aXJzdCBOIGZhaWx1cmVzICovCj4gLQkJaTkxNV9tb2RwYXJhbXMubW1pb19kZWJ1Zy0tOwo+ICsJ CWk5MTVfbW9kcGFyYW1zX3NldChtbWlvX2RlYnVnLCBpOTE1X21vZHBhcmFtcy5tbWlvX2RlYnVn IC0gMSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbmxpbmUgdm9pZAo+IEBAIC0xODAxLDcgKzE4MDEs NyBAQCBpbnRlbF91bmNvcmVfYXJtX3VuY2xhaW1lZF9tbWlvX2RldGVjdGlvbihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJRFJNX0RFQlVHKCJVbmNsYWltZWQgcmVnaXN0 ZXIgZGV0ZWN0ZWQsICIKPiAgCQkJICAiZW5hYmxpbmcgb25lc2hvdCB1bmNsYWltZWQgcmVnaXN0 ZXIgcmVwb3J0aW5nLiAiCj4gIAkJCSAgIlBsZWFzZSB1c2UgaTkxNS5tbWlvX2RlYnVnPU4gZm9y IG1vcmUgaW5mb3JtYXRpb24uXG4iKTsKPiAtCQlpOTE1X21vZHBhcmFtcy5tbWlvX2RlYnVnKys7 Cj4gKwkJaTkxNV9tb2RwYXJhbXNfc2V0KG1taW9fZGVidWcsIGk5MTVfbW9kcGFyYW1zLm1taW9f ZGVidWcgKyAxKTsKPiAgCQlkZXZfcHJpdi0+dW5jb3JlLnVuY2xhaW1lZF9tbWlvX2NoZWNrLS07 Cj4gIAkJcmV0dXJuIHRydWU7Cj4gIAl9CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291 cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=