From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH v3 1/5] drm/i915: Wrap tasklet_struct for abuse Date: Wed, 09 May 2018 16:44:30 +0300 Message-ID: <87wowd9c5d.fsf@gaia.fi.intel.com> References: <20180509120419.6733-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 07DA86E84A for ; Wed, 9 May 2018 13:44:37 +0000 (UTC) In-Reply-To: <20180509120419.6733-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gSW4gdGhl IG5leHQgZmV3IHBhdGNoZXMsIHdlIHdhbnQgdG8gYWJ1c2UgdGFza2xldCB0byBhdm9pZCBrc29m dGlycWQKPiBsYXRlbmN5IGFsb25nIGNyaXRpY2FsIHBhdGhzLiBUbyBtYWtlIHRoYXQgYWJ1c2Ug ZWFzaWx5IHRvIHN3YWxsb3csCj4gZmlyc3QgY29hdCB0aGUgdGFza2xldCBpbiBhIGxpdHRsZSBz eW50YWN0aWMgc3VnYXIuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KPiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGlu dGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAg ICAgICB8ICA4ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAg ICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90YXNrbGV0LmggICAgICAg ICB8IDc4ICsrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9lbmdpbmVfY3MuYyAgICAgIHwgMTEgKystCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19zdWJtaXNzaW9uLmMgfCAgOCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMgICAgICAgICAgICB8IDE4ICsrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuaCAgICAgfCAgMyArLQo+ICA3IGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRp b25zKCspLCAyNCBkZWxldGlvbnMoLSkKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdGFza2xldC5oCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRl eCA4OWJmNWQ2N2NiNzQuLjk4NDgxZTE1MGU2MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u Ywo+IEBAIC0zMDQzLDkgKzMwNDMsOSBAQCBpOTE1X2dlbV9yZXNldF9wcmVwYXJlX2VuZ2luZShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIAkgKiBjb21tb24gY2FzZSBvZiByZWN1 cnNpdmVseSBiZWluZyBjYWxsZWQgZnJvbSBzZXQtd2VkZ2VkIGZyb20gaW5zaWRlCj4gIAkgKiBp OTE1X3Jlc2V0Lgo+ICAJICovCj4gLQlpZiAoIWF0b21pY19yZWFkKCZlbmdpbmUtPmV4ZWNsaXN0 cy50YXNrbGV0LmNvdW50KSkKPiAtCQl0YXNrbGV0X2tpbGwoJmVuZ2luZS0+ZXhlY2xpc3RzLnRh c2tsZXQpOwo+IC0JdGFza2xldF9kaXNhYmxlKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsK PiArCWlmIChpOTE1X3Rhc2tsZXRfaXNfZW5hYmxlZCgmZW5naW5lLT5leGVjbGlzdHMudGFza2xl dCkpCj4gKwkJaTkxNV90YXNrbGV0X2ZsdXNoKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsK PiArCWk5MTVfdGFza2xldF9kaXNhYmxlKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsKPiAg Cj4gIAkvKgo+ICAJICogV2UncmUgdXNpbmcgd29ya2VyIHRvIHF1ZXVlIHByZWVtcHRpb24gcmVx dWVzdHMgZnJvbSB0aGUgdGFza2xldCBpbgo+IEBAIC0zMjY1LDcgKzMyNjUsNyBAQCB2b2lkIGk5 MTVfZ2VtX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCj4gIHZv aWQgaTkxNV9nZW1fcmVzZXRfZmluaXNoX2VuZ2luZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpCj4gIHsKPiAtCXRhc2tsZXRfZW5hYmxlKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0 KTsKPiArCWk5MTVfdGFza2xldF9lbmFibGUoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQpOwo+ ICAJa3RocmVhZF91bnBhcmsoZW5naW5lLT5icmVhZGNydW1icy5zaWduYWxlcik7Cj4gIAo+ICAJ aW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoZW5naW5lLT5pOTE1LCBGT1JDRVdBS0VfQUxMKTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBpbmRleCBmOWJjM2FhYTkwZDAuLmY4YWZmNWE1YWE4 MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IEBAIC0xNDc3LDcgKzE0NzcsNyBAQCBn ZW44X2NzX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyIGlp cikKPiAgCX0KPiAgCj4gIAlpZiAodGFza2xldCkKPiAtCQl0YXNrbGV0X2hpX3NjaGVkdWxlKCZl eGVjbGlzdHMtPnRhc2tsZXQpOwo+ICsJCWk5MTVfdGFza2xldF9zY2hlZHVsZSgmZXhlY2xpc3Rz LT50YXNrbGV0KTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgZ2VuOF9ndF9pcnFfYWNrKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3Rhc2tsZXQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGFza2xldC5o Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmM5ZjQxYTVlYmI5 MQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Rhc2ts ZXQuaAo+IEBAIC0wLDAgKzEsNzggQEAKPiArLyoKPiArICogU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAKPiArICoKPiArICogQ29weXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29ycG9yYXRp b24KPiArICovCj4gKwo+ICsjaWZuZGVmIF9JOTE1X1RBU0tMRVRfSF8KPiArI2RlZmluZSBfSTkx NV9UQVNLTEVUX0hfCj4gKwo+ICsjaW5jbHVkZSA8bGludXgvYXRvbWljLmg+Cj4gKyNpbmNsdWRl IDxsaW51eC9pbnRlcnJ1cHQuaD4KPiArCj4gKy8qKgo+ICsgKiBzdHJ1Y3QgaTkxNV90YXNrbGV0 IC0gd3JhcHBlciBhcm91bmQgdGFza2xldF9zdHJ1Y3QKPiArICoKPiArICogV2Ugd2FudCB0byBh YnVzZSB0YXNrbGV0cyBzbGlnaHRseSwgc3VjaCBhcyBjYWxsaW5nIHRoZW0gZGlyZWN0bHkuIElu IHNvbWUKPiArICogY2FzZXMsIHRoaXMgcmVxdWlyZXMgc29tZSBhdXhpbGlhcnkgdHJhY2tpbmcg c28gc3ViY2xhc3MgdGhlIHRhc2tsZXRfc3RydWN0Cj4gKyAqIHNvIHRoYXQgd2UgaGF2ZSBhIGNl bnRyYWwgcGxhY2UgYW5kIGhlbHBlcnMuCj4gKyAqLwo+ICtzdHJ1Y3QgaTkxNV90YXNrbGV0IHsK PiArCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCBiYXNlOwo+ICt9Owo+ICsKPiArc3RhdGljIGlubGlu ZSB2b2lkIGk5MTVfdGFza2xldF9pbml0KHN0cnVjdCBpOTE1X3Rhc2tsZXQgKnQsCj4gKwkJCQkg ICAgIHZvaWQgKCpmdW5jKSh1bnNpZ25lZCBsb25nKSwKPiArCQkJCSAgICAgdW5zaWduZWQgbG9u ZyBkYXRhKQo+ICt7Cj4gKwl0YXNrbGV0X2luaXQoJnQtPmJhc2UsIGZ1bmMsIGRhdGEpOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV90YXNrbGV0X2lzX3NjaGVkdWxlZChjb25z dCBzdHJ1Y3QgaTkxNV90YXNrbGV0ICp0KQo+ICt7Cj4gKwlyZXR1cm4gdGVzdF9iaXQoVEFTS0xF VF9TVEFURV9TQ0hFRCwgJnQtPmJhc2Uuc3RhdGUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5l IGJvb2wgaTkxNV90YXNrbGV0X2lzX2xvY2tlZChjb25zdCBzdHJ1Y3QgaTkxNV90YXNrbGV0ICp0 KQoKd2h5IG5vdCBpc19ydW5uaW5nKCkgPwoKPiArewo+ICsJcmV0dXJuIHRlc3RfYml0KFRBU0tM RVRfU1RBVEVfUlVOLCAmdC0+YmFzZS5zdGF0ZSk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUg Ym9vbCBpOTE1X3Rhc2tsZXRfaXNfZW5hYmxlZChjb25zdCBzdHJ1Y3QgaTkxNV90YXNrbGV0ICp0 KQo+ICt7Cj4gKwlyZXR1cm4gbGlrZWx5KCFhdG9taWNfcmVhZCgmdC0+YmFzZS5jb3VudCkpOwoK SSBhbSBjb25jZXJuZWQgdGhhdCB3ZSBidXJ5IHRoZSBzaWduIG9mIHJhY3kgbmF0dXJlIG91dCBv ZiBzaWdodCBhbmQKdGhlbiBpdCBjb21lcyBhbmQgYml0ZXMgdXMuCgotTWlrYQoKPiArfQo+ICsK PiArc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdGFza2xldF9zY2hlZHVsZShzdHJ1Y3QgaTkxNV90 YXNrbGV0ICp0KQo+ICt7Cj4gKwl0YXNrbGV0X2hpX3NjaGVkdWxlKCZ0LT5iYXNlKTsKPiArfQo+ ICsKPiArc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdGFza2xldF9mbHVzaChzdHJ1Y3QgaTkxNV90 YXNrbGV0ICp0KQo+ICt7Cj4gKwl0YXNrbGV0X2tpbGwoJnQtPmJhc2UpOwo+ICt9Cj4gKwo+ICtz dGF0aWMgaW5saW5lIHZvaWQgaTkxNV90YXNrbGV0X2VuYWJsZShzdHJ1Y3QgaTkxNV90YXNrbGV0 ICp0KQo+ICt7Cj4gKwl0YXNrbGV0X2VuYWJsZSgmdC0+YmFzZSk7Cj4gK30KPiArCj4gK3N0YXRp YyBpbmxpbmUgdm9pZCBpOTE1X3Rhc2tsZXRfZGlzYWJsZShzdHJ1Y3QgaTkxNV90YXNrbGV0ICp0 KQo+ICt7Cj4gKwl0YXNrbGV0X2Rpc2FibGUoJnQtPmJhc2UpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg aW5saW5lIHZvaWQgaTkxNV90YXNrbGV0X3NldF9mdW5jKHN0cnVjdCBpOTE1X3Rhc2tsZXQgKnQs Cj4gKwkJCQkJIHZvaWQgKCpmdW5jKSh1bnNpZ25lZCBsb25nIGRhdGEpLAo+ICsJCQkJCSB1bnNp Z25lZCBsb25nIGRhdGEpCj4gK3sKPiArCXRhc2tsZXRfZGlzYWJsZSgmdC0+YmFzZSk7CgpXaGF0 IGRvZXMgdGhlIGRpc2FibGUvZW5hYmxlIHBhaXIgYnV5IHVzIGhlcmU/CgpJdCBsb29rcyB0aGF0 IHlvdSB3YW50IHRyeWxvY2sgYW5kIHVubG9jawpzbyB0aGF0IHlvdSBjYW4gc2FmZWx5IGNoYW5n ZSB0aGUgZnVuYy9kYXRhLgoKLU1pa2EKCj4gKwo+ICsJdC0+YmFzZS5mdW5jID0gZnVuYzsKPiAr CXQtPmJhc2UuZGF0YSA9IGRhdGE7Cj4gKwo+ICsJdGFza2xldF9lbmFibGUoJnQtPmJhc2UpOwo+ ICt9Cj4gKwo+ICsjZW5kaWYgLyogX0k5MTVfVEFTS0xFVF9IXyAqLwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gaW5kZXggNzAzMjVlMDgyNGUzLi41ZjExMThlYTk2ZDgg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+IEBAIC0xMDMyLDcg KzEwMzIsNyBAQCB2b2lkIGludGVsX2VuZ2luZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSkKPiAgCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUsIGlkKSB7Cj4gIAkJLyog Rmx1c2ggdGhlIHJlc2lkdWFsIGlycSB0YXNrbGV0cyBmaXJzdC4gKi8KPiAgCQlpbnRlbF9lbmdp bmVfZGlzYXJtX2JyZWFkY3J1bWJzKGVuZ2luZSk7Cj4gLQkJdGFza2xldF9raWxsKCZlbmdpbmUt PmV4ZWNsaXN0cy50YXNrbGV0KTsKPiArCQlpOTE1X3Rhc2tsZXRfZmx1c2goJmVuZ2luZS0+ZXhl Y2xpc3RzLnRhc2tsZXQpOwo+ICAKPiAgCQkvKgo+ICAJCSAqIFdlIGFyZSBjb21taXR0ZWQgbm93 IHRvIHBhcmtpbmcgdGhlIGVuZ2luZXMsIG1ha2Ugc3VyZSB0aGVyZQo+IEBAIC0xMjQ5LDkgKzEy NDksOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmdpbmVfcHJpbnRfcmVnaXN0ZXJzKGNvbnN0IHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgCQkJICAgaW50ZWxfcmVhZF9zdGF0dXNf cGFnZShlbmdpbmUsIGludGVsX2h3c19jc2Jfd3JpdGVfaW5kZXgoZW5naW5lLT5pOTE1KSksCj4g IAkJCSAgIHllc25vKHRlc3RfYml0KEVOR0lORV9JUlFfRVhFQ0xJU1QsCj4gIAkJCQkJICAmZW5n aW5lLT5pcnFfcG9zdGVkKSksCj4gLQkJCSAgIHllc25vKHRlc3RfYml0KFRBU0tMRVRfU1RBVEVf U0NIRUQsCj4gLQkJCQkJICAmZW5naW5lLT5leGVjbGlzdHMudGFza2xldC5zdGF0ZSkpLAo+IC0J CQkgICBlbmFibGVkZGlzYWJsZWQoIWF0b21pY19yZWFkKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNr bGV0LmNvdW50KSkpOwo+ICsJCQkgICB5ZXNubyhpOTE1X3Rhc2tsZXRfaXNfc2NoZWR1bGVkKCZl bmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KSksCj4gKwkJCSAgIGVuYWJsZWRkaXNhYmxlZChpOTE1 X3Rhc2tsZXRfaXNfZW5hYmxlZCgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCkpKTsKPiAgCQlp ZiAocmVhZCA+PSBHRU44X0NTQl9FTlRSSUVTKQo+ICAJCQlyZWFkID0gMDsKPiAgCQlpZiAod3Jp dGUgPj0gR0VOOF9DU0JfRU5UUklFUykKPiBAQCAtMTQ3OSw3ICsxNDc4LDcgQEAgaW50IGludGVs X2VuYWJsZV9lbmdpbmVfc3RhdHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAJ aWYgKCFpbnRlbF9lbmdpbmVfc3VwcG9ydHNfc3RhdHMoZW5naW5lKSkKPiAgCQlyZXR1cm4gLUVO T0RFVjsKPiAgCj4gLQl0YXNrbGV0X2Rpc2FibGUoJmV4ZWNsaXN0cy0+dGFza2xldCk7Cj4gKwlp OTE1X3Rhc2tsZXRfZGlzYWJsZSgmZXhlY2xpc3RzLT50YXNrbGV0KTsKPiAgCXdyaXRlX3NlcWxv Y2tfaXJxc2F2ZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7Cj4gIAo+ICAJaWYgKHVubGlr ZWx5KGVuZ2luZS0+c3RhdHMuZW5hYmxlZCA9PSB+MCkpIHsKPiBAQCAtMTUwNSw3ICsxNTA0LDcg QEAgaW50IGludGVsX2VuYWJsZV9lbmdpbmVfc3RhdHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKQo+ICAKPiAgdW5sb2NrOgo+ICAJd3JpdGVfc2VxdW5sb2NrX2lycXJlc3RvcmUoJmVu Z2luZS0+c3RhdHMubG9jaywgZmxhZ3MpOwo+IC0JdGFza2xldF9lbmFibGUoJmV4ZWNsaXN0cy0+ dGFza2xldCk7Cj4gKwlpOTE1X3Rhc2tsZXRfZW5hYmxlKCZleGVjbGlzdHMtPnRhc2tsZXQpOwo+ ICAKPiAgCXJldHVybiBlcnI7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Y19zdWJtaXNzaW9uLmMKPiBpbmRleCAyZmViNjUwOTY5NjYuLmE3YWZjOTc2YzNiOSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYwo+IEBAIC01OTEs NyArNTkxLDcgQEAgc3RhdGljIHZvaWQgaW5qZWN0X3ByZWVtcHRfY29udGV4dChzdHJ1Y3Qgd29y a19zdHJ1Y3QgKndvcmspCj4gIAlpZiAoV0FSTl9PTihpbnRlbF9ndWNfc2VuZChndWMsIGRhdGEs IEFSUkFZX1NJWkUoZGF0YSkpKSkgewo+ICAJCWV4ZWNsaXN0c19jbGVhcl9hY3RpdmUoJmVuZ2lu ZS0+ZXhlY2xpc3RzLAo+ICAJCQkJICAgICAgIEVYRUNMSVNUU19BQ1RJVkVfUFJFRU1QVCk7Cj4g LQkJdGFza2xldF9zY2hlZHVsZSgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7Cj4gKwkJaTkx NV90YXNrbGV0X3NjaGVkdWxlKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsKPiAgCX0KPiAg fQo+ICAKPiBAQCAtMTI2MywxMCArMTI2MywxMCBAQCBpbnQgaW50ZWxfZ3VjX3N1Ym1pc3Npb25f ZW5hYmxlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgCWd1Y19pbnRlcnJ1cHRzX2NhcHR1cmUo ZGV2X3ByaXYpOwo+ICAKPiAgCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2LCBpZCkg ewo+IC0JCXN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzICogY29uc3QgZXhlY2xpc3RzID0K PiAtCQkJJmVuZ2luZS0+ZXhlY2xpc3RzOwo+ICsJCWk5MTVfdGFza2xldF9zZXRfZnVuYygmZW5n aW5lLT5leGVjbGlzdHMudGFza2xldCwKPiArCQkJCSAgICAgIGd1Y19zdWJtaXNzaW9uX3Rhc2ts ZXQsCj4gKwkJCQkgICAgICAodW5zaWduZWQgbG9uZyllbmdpbmUpOwo+ICAKPiAtCQlleGVjbGlz dHMtPnRhc2tsZXQuZnVuYyA9IGd1Y19zdWJtaXNzaW9uX3Rhc2tsZXQ7Cj4gIAkJZW5naW5lLT5w YXJrID0gZ3VjX3N1Ym1pc3Npb25fcGFyazsKPiAgCQllbmdpbmUtPnVucGFyayA9IGd1Y19zdWJt aXNzaW9uX3VucGFyazsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA3Zjk4 ZGRhM2M5MjkuLjUzOWZhMDNkNzYwMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4g QEAgLTExNjUsNyArMTE2NSw3IEBAIHN0YXRpYyB2b2lkIHF1ZXVlX3JlcXVlc3Qoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICBzdGF0aWMgdm9pZCBfX3N1Ym1pdF9xdWV1ZShzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBwcmlvKQo+ICB7Cj4gIAllbmdpbmUtPmV4 ZWNsaXN0cy5xdWV1ZV9wcmlvcml0eSA9IHByaW87Cj4gLQl0YXNrbGV0X2hpX3NjaGVkdWxlKCZl bmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsKPiArCWk5MTVfdGFza2xldF9zY2hlZHVsZSgmZW5n aW5lLT5leGVjbGlzdHMudGFza2xldCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHN1Ym1pdF9x dWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBwcmlvKQo+IEBAIC0xNzc4 LDcgKzE3NzgsNyBAQCBzdGF0aWMgaW50IGdlbjhfaW5pdF9jb21tb25fcmluZyhzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIAo+ICAJLyogQWZ0ZXIgYSBHUFUgcmVzZXQsIHdlIG1h eSBoYXZlIHJlcXVlc3RzIHRvIHJlcGxheSAqLwo+ICAJaWYgKGV4ZWNsaXN0cy0+Zmlyc3QpCj4g LQkJdGFza2xldF9zY2hlZHVsZSgmZXhlY2xpc3RzLT50YXNrbGV0KTsKPiArCQlpOTE1X3Rhc2ts ZXRfc2NoZWR1bGUoJmV4ZWNsaXN0cy0+dGFza2xldCk7Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gIH0K PiBAQCAtMjE4Miw5ICsyMTgyLDggQEAgdm9pZCBpbnRlbF9sb2dpY2FsX3JpbmdfY2xlYW51cChz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIAkgKiBUYXNrbGV0IGNhbm5vdCBiZSBh Y3RpdmUgYXQgdGhpcyBwb2ludCBkdWUgaW50ZWxfbWFya19hY3RpdmUvaWRsZQo+ICAJICogc28g dGhpcyBpcyBqdXN0IGZvciBkb2N1bWVudGF0aW9uLgo+ICAJICovCj4gLQlpZiAoV0FSTl9PTih0 ZXN0X2JpdChUQVNLTEVUX1NUQVRFX1NDSEVELAo+IC0JCQkgICAgICZlbmdpbmUtPmV4ZWNsaXN0 cy50YXNrbGV0LnN0YXRlKSkpCj4gLQkJdGFza2xldF9raWxsKCZlbmdpbmUtPmV4ZWNsaXN0cy50 YXNrbGV0KTsKPiArCWlmIChXQVJOX09OKGk5MTVfdGFza2xldF9pc19zY2hlZHVsZWQoJmVuZ2lu ZS0+ZXhlY2xpc3RzLnRhc2tsZXQpKSkKPiArCQlpOTE1X3Rhc2tsZXRfZmx1c2goJmVuZ2luZS0+ ZXhlY2xpc3RzLnRhc2tsZXQpOwo+ICAKPiAgCWRldl9wcml2ID0gZW5naW5lLT5pOTE1Owo+ICAK PiBAQCAtMjIwOSw3ICsyMjA4LDEwIEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zZXRfZGVmYXVs dF9zdWJtaXNzaW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCWVuZ2luZS0+ c3VibWl0X3JlcXVlc3QgPSBleGVjbGlzdHNfc3VibWl0X3JlcXVlc3Q7Cj4gIAllbmdpbmUtPmNh bmNlbF9yZXF1ZXN0cyA9IGV4ZWNsaXN0c19jYW5jZWxfcmVxdWVzdHM7Cj4gIAllbmdpbmUtPnNj aGVkdWxlID0gZXhlY2xpc3RzX3NjaGVkdWxlOwo+IC0JZW5naW5lLT5leGVjbGlzdHMudGFza2xl dC5mdW5jID0gZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldDsKPiArCj4gKwlpOTE1X3Rhc2ts ZXRfc2V0X2Z1bmMoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQsCj4gKwkJCSAgICAgIGV4ZWNs aXN0c19zdWJtaXNzaW9uX3Rhc2tsZXQsCj4gKwkJCSAgICAgICh1bnNpZ25lZCBsb25nKWVuZ2lu ZSk7Cj4gIAo+ICAJZW5naW5lLT5wYXJrID0gTlVMTDsKPiAgCWVuZ2luZS0+dW5wYXJrID0gTlVM TDsKPiBAQCAtMjMwMyw4ICsyMzA1LDggQEAgbG9naWNhbF9yaW5nX3NldHVwKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCj4gIAllbmdpbmUtPmV4ZWNsaXN0cy5md19kb21haW5z ID0gZndfZG9tYWluczsKPiAgCj4gLQl0YXNrbGV0X2luaXQoJmVuZ2luZS0+ZXhlY2xpc3RzLnRh c2tsZXQsCj4gLQkJICAgICBleGVjbGlzdHNfc3VibWlzc2lvbl90YXNrbGV0LCAodW5zaWduZWQg bG9uZyllbmdpbmUpOwo+ICsJaTkxNV90YXNrbGV0X2luaXQoJmVuZ2luZS0+ZXhlY2xpc3RzLnRh c2tsZXQsCj4gKwkJCSAgZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldCwgKHVuc2lnbmVkIGxv bmcpZW5naW5lKTsKPiAgCj4gIAlsb2dpY2FsX3JpbmdfZGVmYXVsdF92ZnVuY3MoZW5naW5lKTsK PiAgCWxvZ2ljYWxfcmluZ19kZWZhdWx0X2lycXMoZW5naW5lKTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gaW5kZXggMDEwNzUwZThlZTQ0Li5mNmJhMzU0ZmFmODkg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCj4gQEAgLTExLDYg KzExLDcgQEAKPiAgI2luY2x1ZGUgImk5MTVfcG11LmgiCj4gICNpbmNsdWRlICJpOTE1X3JlcXVl c3QuaCIKPiAgI2luY2x1ZGUgImk5MTVfc2VsZnRlc3QuaCIKPiArI2luY2x1ZGUgImk5MTVfdGFz a2xldC5oIgo+ICAjaW5jbHVkZSAiaTkxNV90aW1lbGluZS5oIgo+ICAjaW5jbHVkZSAiaW50ZWxf Z3B1X2NvbW1hbmRzLmgiCj4gIAo+IEBAIC0yMDIsNyArMjAzLDcgQEAgc3RydWN0IGludGVsX2Vu Z2luZV9leGVjbGlzdHMgewo+ICAJLyoqCj4gIAkgKiBAdGFza2xldDogc29mdGlycSB0YXNrbGV0 IGZvciBib3R0b20gaGFuZGxlcgo+ICAJICovCj4gLQlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgdGFz a2xldDsKPiArCXN0cnVjdCBpOTE1X3Rhc2tsZXQgdGFza2xldDsKPiAgCj4gIAkvKioKPiAgCSAq IEBkZWZhdWx0X3ByaW9saXN0OiBwcmlvcml0eSBsaXN0IGZvciBJOTE1X1BSSU9SSVRZX05PUk1B TAo+IC0tIAo+IDIuMTcuMAo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=