From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 2/5] drm/i915: Wrap tasklet_struct for abuse Date: Thu, 10 May 2018 16:49:03 +0100 Message-ID: <7744bdb0-6320-39eb-41df-204e94cc24a2@linux.intel.com> References: <20180509142801.28130-1-chris@chris-wilson.co.uk> <20180509142801.28130-2-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id A64A56E20E for ; Thu, 10 May 2018 15:49:07 +0000 (UTC) In-Reply-To: <20180509142801.28130-2-chris@chris-wilson.co.uk> Content-Language: en-GB 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 Ck9uIDA5LzA1LzIwMTggMTU6MjcsIENocmlzIFdpbHNvbiB3cm90ZToKPiBJbiB0aGUgbmV4dCBm ZXcgcGF0Y2hlcywgd2Ugd2FudCB0byBhYnVzZSB0YXNrbGV0IHRvIGF2b2lkIGtzb2Z0aXJxZAo+ IGxhdGVuY3kgYWxvbmcgY3JpdGljYWwgcGF0aHMuIFRvIG1ha2UgdGhhdCBhYnVzZSBlYXNpbHkg dG8gc3dhbGxvdywKPiBmaXJzdCBjb2F0IHRoZSB0YXNrbGV0IGluIGEgbGl0dGxlIHN5bnRhY3Rp YyBzdWdhci4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdp bHNvbi5jby51az4KPiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNv bT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAg fCAgNCArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgICAgICB8 ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Rhc2tsZXQuaCAgICAgICAgIHwg NzggKysrKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYyAgICAgIHwgMTEgKystCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWNfc3VibWlzc2lvbi5jIHwgIDggKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYyAgICAgICAgICAgIHwgMTggKystLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuaCAgICAgfCAgMyArLQo+ICAgNyBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0 aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV90YXNrbGV0LmgKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBp bmRleCA2M2M5NmMyYjhmY2YuLjU5ZTA0Mzg3YTI3YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwo+IEBAIC0zMDM2LDcgKzMwMzYsNyBAQCBpOTE1X2dlbV9yZXNldF9wcmVwYXJlX2VuZ2lu ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJICogVHVybmluZyBvZmYgdGhl IGV4ZWNsaXN0cy0+dGFza2xldCB1bnRpbCB0aGUgcmVzZXQgaXMgb3Zlcgo+ICAgCSAqIHByZXZl bnRzIHRoZSByYWNlLgo+ICAgCSAqLwo+IC0JdGFza2xldF9kaXNhYmxlKCZlbmdpbmUtPmV4ZWNs aXN0cy50YXNrbGV0KTsKPiArCWk5MTVfdGFza2xldF9sb2NrKCZlbmdpbmUtPmV4ZWNsaXN0cy50 YXNrbGV0KTsKPiAgIAo+ICAgCS8qCj4gICAJICogV2UncmUgdXNpbmcgd29ya2VyIHRvIHF1ZXVl IHByZWVtcHRpb24gcmVxdWVzdHMgZnJvbSB0aGUgdGFza2xldCBpbgo+IEBAIC0zMjU2LDcgKzMy NTYsNyBAQCB2b2lkIGk5MTVfZ2VtX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKPiAgIAo+ICAgdm9pZCBpOTE1X2dlbV9yZXNldF9maW5pc2hfZW5naW5lKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIHsKPiAtCXRhc2tsZXRfZW5hYmxlKCZlbmdpbmUt PmV4ZWNsaXN0cy50YXNrbGV0KTsKPiArCWk5MTVfdGFza2xldF91bmxvY2soJmVuZ2luZS0+ZXhl Y2xpc3RzLnRhc2tsZXQpOwo+ICAgCWt0aHJlYWRfdW5wYXJrKGVuZ2luZS0+YnJlYWRjcnVtYnMu c2lnbmFsZXIpOwo+ICAgCj4gICAJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoZW5naW5lLT5p OTE1LCBGT1JDRVdBS0VfQUxMKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBpbmRleCBmOWJj M2FhYTkwZDAuLmY4YWZmNWE1YWE4MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IEBA IC0xNDc3LDcgKzE0NzcsNyBAQCBnZW44X2NzX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwgdTMyIGlpcikKPiAgIAl9Cj4gICAKPiAgIAlpZiAodGFza2xldCkKPiAt CQl0YXNrbGV0X2hpX3NjaGVkdWxlKCZleGVjbGlzdHMtPnRhc2tsZXQpOwo+ICsJCWk5MTVfdGFz a2xldF9zY2hlZHVsZSgmZXhlY2xpc3RzLT50YXNrbGV0KTsKPiAgIH0KPiAgIAo+ICAgc3RhdGlj IHZvaWQgZ2VuOF9ndF9pcnFfYWNrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Rhc2tsZXQuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdGFza2xldC5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRl eCAwMDAwMDAwMDAwMDAuLjQyYjAwMmI4OGVkYgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Rhc2tsZXQuaAo+IEBAIC0wLDAgKzEsNzggQEAKPiArLyoK PiArICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiArICoKPiArICogQ29weXJp Z2h0IMKpIDIwMTggSW50ZWwgQ29ycG9yYXRpb24KPiArICovCj4gKwo+ICsjaWZuZGVmIF9JOTE1 X1RBU0tMRVRfSF8KPiArI2RlZmluZSBfSTkxNV9UQVNLTEVUX0hfCj4gKwo+ICsjaW5jbHVkZSA8 bGludXgvYXRvbWljLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9pbnRlcnJ1cHQuaD4KPiArCj4gKy8q Kgo+ICsgKiBzdHJ1Y3QgaTkxNV90YXNrbGV0IC0gd3JhcHBlciBhcm91bmQgdGFza2xldF9zdHJ1 Y3QKPiArICoKPiArICogV2Ugd2FudCB0byBhYnVzZSB0YXNrbGV0cyBzbGlnaHRseSwgc3VjaCBh cyBjYWxsaW5nIHRoZW0gZGlyZWN0bHkuIEluIHNvbWUKPiArICogY2FzZXMsIHRoaXMgcmVxdWly ZXMgc29tZSBhdXhpbGlhcnkgdHJhY2tpbmcgc28gc3ViY2xhc3MgdGhlIHRhc2tsZXRfc3RydWN0 Cj4gKyAqIHNvIHRoYXQgd2UgaGF2ZSBhIGNlbnRyYWwgcGxhY2UgYW5kIGhlbHBlcnMuCj4gKyAq Lwo+ICtzdHJ1Y3QgaTkxNV90YXNrbGV0IHsKPiArCXN0cnVjdCB0YXNrbGV0X3N0cnVjdCBiYXNl Owo+ICt9Owo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdGFza2xldF9pbml0KHN0cnVj dCBpOTE1X3Rhc2tsZXQgKnQsCj4gKwkJCQkgICAgIHZvaWQgKCpmdW5jKSh1bnNpZ25lZCBsb25n KSwKPiArCQkJCSAgICAgdW5zaWduZWQgbG9uZyBkYXRhKQo+ICt7Cj4gKwl0YXNrbGV0X2luaXQo JnQtPmJhc2UsIGZ1bmMsIGRhdGEpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGJvb2wgaTkx NV90YXNrbGV0X2lzX3NjaGVkdWxlZChjb25zdCBzdHJ1Y3QgaTkxNV90YXNrbGV0ICp0KQo+ICt7 Cj4gKwlyZXR1cm4gdGVzdF9iaXQoVEFTS0xFVF9TVEFURV9TQ0hFRCwgJnQtPmJhc2Uuc3RhdGUp Owo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV90YXNrbGV0X2lzX3J1bm5pbmco Y29uc3Qgc3RydWN0IGk5MTVfdGFza2xldCAqdCkKPiArewo+ICsJcmV0dXJuIHRlc3RfYml0KFRB U0tMRVRfU1RBVEVfUlVOLCAmdC0+YmFzZS5zdGF0ZSk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxp bmUgYm9vbCBpOTE1X3Rhc2tsZXRfaXNfZW5hYmxlZChjb25zdCBzdHJ1Y3QgaTkxNV90YXNrbGV0 ICp0KQo+ICt7Cj4gKwlyZXR1cm4gbGlrZWx5KCFhdG9taWNfcmVhZCgmdC0+YmFzZS5jb3VudCkp Owo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90YXNrbGV0X3NjaGVkdWxlKHN0 cnVjdCBpOTE1X3Rhc2tsZXQgKnQpCj4gK3sKPiArCXRhc2tsZXRfaGlfc2NoZWR1bGUoJnQtPmJh c2UpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90YXNrbGV0X2ZsdXNoKHN0 cnVjdCBpOTE1X3Rhc2tsZXQgKnQpCj4gK3sKPiArCXRhc2tsZXRfa2lsbCgmdC0+YmFzZSk7Cj4g K30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3Rhc2tsZXRfbG9jayhzdHJ1Y3QgaTkx NV90YXNrbGV0ICp0KQo+ICt7Cj4gKwl0YXNrbGV0X2Rpc2FibGUoJnQtPmJhc2UpOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90YXNrbGV0X3VubG9jayhzdHJ1Y3QgaTkxNV90 YXNrbGV0ICp0KQo+ICt7Cj4gKwl0YXNrbGV0X2VuYWJsZSgmdC0+YmFzZSk7Cj4gK30KCkkgYWdy ZWUga2VlcGluZyB0aGUgb3JpZ2luYWwgbmFtaW5nIGZvciBraWxsL2VuYWJsZS9kaXNhYmxlIHdv dWxkIGJlIGJldHRlci4KCj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90YXNrbGV0X3Nl dF9mdW5jKHN0cnVjdCBpOTE1X3Rhc2tsZXQgKnQsCj4gKwkJCQkJIHZvaWQgKCpmdW5jKSh1bnNp Z25lZCBsb25nIGRhdGEpLAo+ICsJCQkJCSB1bnNpZ25lZCBsb25nIGRhdGEpCj4gK3sKPiArCWk5 MTVfdGFza2xldF9sb2NrKHQpOwo+ICsKPiArCXQtPmJhc2UuZnVuYyA9IGZ1bmM7Cj4gKwl0LT5i YXNlLmRhdGEgPSBkYXRhOwo+ICsKPiArCWk5MTVfdGFza2xldF91bmxvY2sodCk7CgpJIGtpbmQg b2YgcmVtZW1iZXIgc29tZXRoaW5nIGFib3V0IGlzc3VlcyB3ZSBoYWQgd2l0aCBwbGFjaW5nIAp0 YXNrbGV0X2Rpc2FibGUgcGxhY2VkIGluIHNvbWUgY29udGV4dHMuIEhtLi4gaWYgb25seSBJIGNv dWxkIHJlY2FsbCB0aGUgCmRldGFpbHMuIEl0J3MgcHJvYmFibHkgZmluZS4gSSBjYW5ub3QgY29t ZSB1cCB3aXRoIGlkZWFzIG9uIGhvdyB0byAKcHJvdGVjdCBhZ2FpbnN0IHRoYXQuIEdFTV9CVUdf T04oaW5faXJxKCkgfHwgaW5fc29mdGlycSgpKT8gVG9vIGZhciAKZmV0Y2hlZCBwcm9iYWJseS4K Cj4gK30KPiArCj4gKyNlbmRpZiAvKiBfSTkxNV9UQVNLTEVUX0hfICovCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKPiBpbmRleCA3MDMyNWUwODI0ZTMuLjNjOGEwYzMyNDVm MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gQEAgLTEwMzIs NyArMTAzMiw3IEBAIHZvaWQgaW50ZWxfZW5naW5lc19wYXJrKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1KQo+ICAgCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUsIGlkKSB7Cj4gICAJ CS8qIEZsdXNoIHRoZSByZXNpZHVhbCBpcnEgdGFza2xldHMgZmlyc3QuICovCj4gICAJCWludGVs X2VuZ2luZV9kaXNhcm1fYnJlYWRjcnVtYnMoZW5naW5lKTsKPiAtCQl0YXNrbGV0X2tpbGwoJmVu Z2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQpOwo+ICsJCWk5MTVfdGFza2xldF9mbHVzaCgmZW5naW5l LT5leGVjbGlzdHMudGFza2xldCk7Cj4gICAKPiAgIAkJLyoKPiAgIAkJICogV2UgYXJlIGNvbW1p dHRlZCBub3cgdG8gcGFya2luZyB0aGUgZW5naW5lcywgbWFrZSBzdXJlIHRoZXJlCj4gQEAgLTEy NDksOSArMTI0OSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuZ2luZV9wcmludF9yZWdpc3RlcnMo Y29uc3Qgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+ICAgCQkJICAgaW50ZWxfcmVh ZF9zdGF0dXNfcGFnZShlbmdpbmUsIGludGVsX2h3c19jc2Jfd3JpdGVfaW5kZXgoZW5naW5lLT5p OTE1KSksCj4gICAJCQkgICB5ZXNubyh0ZXN0X2JpdChFTkdJTkVfSVJRX0VYRUNMSVNULAo+ICAg CQkJCQkgICZlbmdpbmUtPmlycV9wb3N0ZWQpKSwKPiAtCQkJICAgeWVzbm8odGVzdF9iaXQoVEFT S0xFVF9TVEFURV9TQ0hFRCwKPiAtCQkJCQkgICZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LnN0 YXRlKSksCj4gLQkJCSAgIGVuYWJsZWRkaXNhYmxlZCghYXRvbWljX3JlYWQoJmVuZ2luZS0+ZXhl Y2xpc3RzLnRhc2tsZXQuY291bnQpKSk7Cj4gKwkJCSAgIHllc25vKGk5MTVfdGFza2xldF9pc19z Y2hlZHVsZWQoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQpKSwKPiArCQkJICAgZW5hYmxlZGRp c2FibGVkKGk5MTVfdGFza2xldF9pc19lbmFibGVkKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0 KSkpOwo+ICAgCQlpZiAocmVhZCA+PSBHRU44X0NTQl9FTlRSSUVTKQo+ICAgCQkJcmVhZCA9IDA7 Cj4gICAJCWlmICh3cml0ZSA+PSBHRU44X0NTQl9FTlRSSUVTKQo+IEBAIC0xNDc5LDcgKzE0Nzgs NyBAQCBpbnQgaW50ZWxfZW5hYmxlX2VuZ2luZV9zdGF0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCj4gICAJaWYgKCFpbnRlbF9lbmdpbmVfc3VwcG9ydHNfc3RhdHMoZW5naW5lKSkK PiAgIAkJcmV0dXJuIC1FTk9ERVY7Cj4gICAKPiAtCXRhc2tsZXRfZGlzYWJsZSgmZXhlY2xpc3Rz LT50YXNrbGV0KTsKPiArCWk5MTVfdGFza2xldF9sb2NrKCZleGVjbGlzdHMtPnRhc2tsZXQpOwo+ ICAgCXdyaXRlX3NlcWxvY2tfaXJxc2F2ZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7Cj4g ICAKPiAgIAlpZiAodW5saWtlbHkoZW5naW5lLT5zdGF0cy5lbmFibGVkID09IH4wKSkgewo+IEBA IC0xNTA1LDcgKzE1MDQsNyBAQCBpbnQgaW50ZWxfZW5hYmxlX2VuZ2luZV9zdGF0cyhzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAKPiAgIHVubG9jazoKPiAgIAl3cml0ZV9zZXF1 bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7Cj4gLQl0YXNrbGV0 X2VuYWJsZSgmZXhlY2xpc3RzLT50YXNrbGV0KTsKPiArCWk5MTVfdGFza2xldF91bmxvY2soJmV4 ZWNsaXN0cy0+dGFza2xldCk7Cj4gICAKPiAgIAlyZXR1cm4gZXJyOwo+ICAgfQo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYwo+IGluZGV4IDJmZWI2NTA5Njk2 Ni4uYTdhZmM5NzZjM2I5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19zdWJtaXNzaW9uLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNf c3VibWlzc2lvbi5jCj4gQEAgLTU5MSw3ICs1OTEsNyBAQCBzdGF0aWMgdm9pZCBpbmplY3RfcHJl ZW1wdF9jb250ZXh0KHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAgIAlpZiAoV0FSTl9PTihp bnRlbF9ndWNfc2VuZChndWMsIGRhdGEsIEFSUkFZX1NJWkUoZGF0YSkpKSkgewo+ICAgCQlleGVj bGlzdHNfY2xlYXJfYWN0aXZlKCZlbmdpbmUtPmV4ZWNsaXN0cywKPiAgIAkJCQkgICAgICAgRVhF Q0xJU1RTX0FDVElWRV9QUkVFTVBUKTsKPiAtCQl0YXNrbGV0X3NjaGVkdWxlKCZlbmdpbmUtPmV4 ZWNsaXN0cy50YXNrbGV0KTsKPiArCQlpOTE1X3Rhc2tsZXRfc2NoZWR1bGUoJmVuZ2luZS0+ZXhl Y2xpc3RzLnRhc2tsZXQpOwo+ICAgCX0KPiAgIH0KPiAgIAo+IEBAIC0xMjYzLDEwICsxMjYzLDEw IEBAIGludCBpbnRlbF9ndWNfc3VibWlzc2lvbl9lbmFibGUoc3RydWN0IGludGVsX2d1YyAqZ3Vj KQo+ICAgCWd1Y19pbnRlcnJ1cHRzX2NhcHR1cmUoZGV2X3ByaXYpOwo+ICAgCj4gICAJZm9yX2Vh Y2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYsIGlkKSB7Cj4gLQkJc3RydWN0IGludGVsX2VuZ2lu ZV9leGVjbGlzdHMgKiBjb25zdCBleGVjbGlzdHMgPQo+IC0JCQkmZW5naW5lLT5leGVjbGlzdHM7 Cj4gKwkJaTkxNV90YXNrbGV0X3NldF9mdW5jKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LAo+ ICsJCQkJICAgICAgZ3VjX3N1Ym1pc3Npb25fdGFza2xldCwKPiArCQkJCSAgICAgICh1bnNpZ25l ZCBsb25nKWVuZ2luZSk7Cj4gICAKPiAtCQlleGVjbGlzdHMtPnRhc2tsZXQuZnVuYyA9IGd1Y19z dWJtaXNzaW9uX3Rhc2tsZXQ7Cj4gICAJCWVuZ2luZS0+cGFyayA9IGd1Y19zdWJtaXNzaW9uX3Bh cms7Cj4gICAJCWVuZ2luZS0+dW5wYXJrID0gZ3VjX3N1Ym1pc3Npb25fdW5wYXJrOwo+ICAgCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA3Zjk4ZGRhM2M5MjkuLjUzOWZhMDNkNzYw MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAgLTExNjUsNyArMTE2NSw3IEBA IHN0YXRpYyB2b2lkIHF1ZXVlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l LAo+ICAgc3RhdGljIHZvaWQgX19zdWJtaXRfcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLCBpbnQgcHJpbykKPiAgIHsKPiAgIAllbmdpbmUtPmV4ZWNsaXN0cy5xdWV1ZV9wcmlv cml0eSA9IHByaW87Cj4gLQl0YXNrbGV0X2hpX3NjaGVkdWxlKCZlbmdpbmUtPmV4ZWNsaXN0cy50 YXNrbGV0KTsKPiArCWk5MTVfdGFza2xldF9zY2hlZHVsZSgmZW5naW5lLT5leGVjbGlzdHMudGFz a2xldCk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lkIHN1Ym1pdF9xdWV1ZShzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBwcmlvKQo+IEBAIC0xNzc4LDcgKzE3NzgsNyBAQCBz dGF0aWMgaW50IGdlbjhfaW5pdF9jb21tb25fcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpCj4gICAKPiAgIAkvKiBBZnRlciBhIEdQVSByZXNldCwgd2UgbWF5IGhhdmUgcmVxdWVz dHMgdG8gcmVwbGF5ICovCj4gICAJaWYgKGV4ZWNsaXN0cy0+Zmlyc3QpCj4gLQkJdGFza2xldF9z Y2hlZHVsZSgmZXhlY2xpc3RzLT50YXNrbGV0KTsKPiArCQlpOTE1X3Rhc2tsZXRfc2NoZWR1bGUo JmV4ZWNsaXN0cy0+dGFza2xldCk7Cj4gICAKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiBAQCAtMjE4 Miw5ICsyMTgyLDggQEAgdm9pZCBpbnRlbF9sb2dpY2FsX3JpbmdfY2xlYW51cChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJICogVGFza2xldCBjYW5ub3QgYmUgYWN0aXZlIGF0 IHRoaXMgcG9pbnQgZHVlIGludGVsX21hcmtfYWN0aXZlL2lkbGUKPiAgIAkgKiBzbyB0aGlzIGlz IGp1c3QgZm9yIGRvY3VtZW50YXRpb24uCj4gICAJICovCj4gLQlpZiAoV0FSTl9PTih0ZXN0X2Jp dChUQVNLTEVUX1NUQVRFX1NDSEVELAo+IC0JCQkgICAgICZlbmdpbmUtPmV4ZWNsaXN0cy50YXNr bGV0LnN0YXRlKSkpCj4gLQkJdGFza2xldF9raWxsKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0 KTsKPiArCWlmIChXQVJOX09OKGk5MTVfdGFza2xldF9pc19zY2hlZHVsZWQoJmVuZ2luZS0+ZXhl Y2xpc3RzLnRhc2tsZXQpKSkKPiArCQlpOTE1X3Rhc2tsZXRfZmx1c2goJmVuZ2luZS0+ZXhlY2xp c3RzLnRhc2tsZXQpOwo+ICAgCj4gICAJZGV2X3ByaXYgPSBlbmdpbmUtPmk5MTU7Cj4gICAKPiBA QCAtMjIwOSw3ICsyMjA4LDEwIEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zZXRfZGVmYXVsdF9z dWJtaXNzaW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAllbmdpbmUtPnN1 Ym1pdF9yZXF1ZXN0ID0gZXhlY2xpc3RzX3N1Ym1pdF9yZXF1ZXN0Owo+ICAgCWVuZ2luZS0+Y2Fu Y2VsX3JlcXVlc3RzID0gZXhlY2xpc3RzX2NhbmNlbF9yZXF1ZXN0czsKPiAgIAllbmdpbmUtPnNj aGVkdWxlID0gZXhlY2xpc3RzX3NjaGVkdWxlOwo+IC0JZW5naW5lLT5leGVjbGlzdHMudGFza2xl dC5mdW5jID0gZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldDsKPiArCj4gKwlpOTE1X3Rhc2ts ZXRfc2V0X2Z1bmMoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQsCj4gKwkJCSAgICAgIGV4ZWNs aXN0c19zdWJtaXNzaW9uX3Rhc2tsZXQsCj4gKwkJCSAgICAgICh1bnNpZ25lZCBsb25nKWVuZ2lu ZSk7CgpPciBlbGltaW5hdGUgdGhlIGFib3ZlIGRpbGVtbWEgYnkgcmVtb3ZpbmcgdGhlIGRhdGEg cGFyYW1ldGVyIGZyb20gCmk5MTVfdGFza2xldF9zZXRfZnVuYyBzaW5jZSBpdCBsb29rcyBpdCBp cyBub3QgbmVlZGVkIGF0IHRoZSBtb21lbnQ/CgpSZWdhcmRzLAoKVHZydGtvCgo+ICAgCj4gICAJ ZW5naW5lLT5wYXJrID0gTlVMTDsKPiAgIAllbmdpbmUtPnVucGFyayA9IE5VTEw7Cj4gQEAgLTIz MDMsOCArMjMwNSw4IEBAIGxvZ2ljYWxfcmluZ19zZXR1cChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCj4gICAKPiAgIAllbmdpbmUtPmV4ZWNsaXN0cy5md19kb21haW5zID0gZndfZG9t YWluczsKPiAgIAo+IC0JdGFza2xldF9pbml0KCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LAo+ IC0JCSAgICAgZXhlY2xpc3RzX3N1Ym1pc3Npb25fdGFza2xldCwgKHVuc2lnbmVkIGxvbmcpZW5n aW5lKTsKPiArCWk5MTVfdGFza2xldF9pbml0KCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0LAo+ ICsJCQkgIGV4ZWNsaXN0c19zdWJtaXNzaW9uX3Rhc2tsZXQsICh1bnNpZ25lZCBsb25nKWVuZ2lu ZSk7Cj4gICAKPiAgIAlsb2dpY2FsX3JpbmdfZGVmYXVsdF92ZnVuY3MoZW5naW5lKTsKPiAgIAls b2dpY2FsX3JpbmdfZGVmYXVsdF9pcnFzKGVuZ2luZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuaAo+IGluZGV4IDAxMDc1MGU4ZWU0NC4uZjZiYTM1NGZhZjg5IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IEBAIC0xMSw2ICsxMSw3 IEBACj4gICAjaW5jbHVkZSAiaTkxNV9wbXUuaCIKPiAgICNpbmNsdWRlICJpOTE1X3JlcXVlc3Qu aCIKPiAgICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCj4gKyNpbmNsdWRlICJpOTE1X3Rhc2ts ZXQuaCIKPiAgICNpbmNsdWRlICJpOTE1X3RpbWVsaW5lLmgiCj4gICAjaW5jbHVkZSAiaW50ZWxf Z3B1X2NvbW1hbmRzLmgiCj4gICAKPiBAQCAtMjAyLDcgKzIwMyw3IEBAIHN0cnVjdCBpbnRlbF9l bmdpbmVfZXhlY2xpc3RzIHsKPiAgIAkvKioKPiAgIAkgKiBAdGFza2xldDogc29mdGlycSB0YXNr bGV0IGZvciBib3R0b20gaGFuZGxlcgo+ICAgCSAqLwo+IC0Jc3RydWN0IHRhc2tsZXRfc3RydWN0 IHRhc2tsZXQ7Cj4gKwlzdHJ1Y3QgaTkxNV90YXNrbGV0IHRhc2tsZXQ7Cj4gICAKPiAgIAkvKioK PiAgIAkgKiBAZGVmYXVsdF9wcmlvbGlzdDogcHJpb3JpdHkgbGlzdCBmb3IgSTkxNV9QUklPUklU WV9OT1JNQUwKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==