From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 07/19] drm/i915: Mark up the calling context for intel_wakeref_put() Date: Tue, 19 Nov 2019 15:57:24 +0000 Message-ID: <80ce97fe-79ef-b717-a61b-08336fb199d5@linux.intel.com> References: <20191118230254.2615942-1-chris@chris-wilson.co.uk> <20191118230254.2615942-8-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 413C789B46 for ; Tue, 19 Nov 2019 15:57:28 +0000 (UTC) In-Reply-To: <20191118230254.2615942-8-chris@chris-wilson.co.uk> Content-Language: en-US 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 Ck9uIDE4LzExLzIwMTkgMjM6MDIsIENocmlzIFdpbHNvbiB3cm90ZToKPiBQcmV2aW91c2x5LCB3 ZSBhc3N1bWVkIHdlIGNvdWxkIHVzZSBtdXRleF90cnlsb2NrKCkgd2l0aGluIGFuIGF0b21pYwo+ IGNvbnRleHQsIGZhbGxpbmcgYmFjayB0byBhIHdvcmtpbmcgaWYgY29udGVuZGVkLiBIb3dldmVy LCBzdWNoIHRyaWNrZXJ5Cj4gaXMgaWxsZWdhbCBpbnNpZGUgaW50ZXJydXB0IGNvbnRleHQsIGFu ZCBzbyB3ZSBuZWVkIHRvIGFsd2F5cyB1c2UgYQo+IHdvcmtlciB1bmRlciBzdWNoIGNpcmN1bXN0 YW5jZXMuIEFzIHdlIG5vcm1hbGx5IGFyZSBpbiBwcm9jZXNzIGNvbnRleHQsCj4gd2UgY2FuIHR5 cGljYWxseSB1c2UgYSBwbGFpbiBtdXRleCwgYW5kIG9ubHkgZGVmZXIgdG8gYSB3b3JrIHdoZW4g d2UKPiBrbm93IHdlIGFyZSBjYWxsZXIgZnJvbSBhbiBpbnRlcnJ1cHQgcGF0aC4KPiAKPiBGaXhl czogNTFmYmQ4ZGU4N2RjICgiZHJtL2k5MTUvcG11OiBBdG9taWNhbGx5IGFjcXVpcmUgdGhlIGd0 X3BtIHdha2VyZWYiKQo+IFJlZmVyZW5jZXM6IGEwODU1ZDI0ZmMyMmQgKCJsb2NraW5nL211dGV4 OiBDb21wbGFpbiB1cG9uIG11dGV4IEFQSSBtaXN1c2UgaW4gSVJRIGNvbnRleHRzIikKPiBSZWZl cmVuY2VzOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE2 MjYKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51 az4KPiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiAtLS0K PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9wbS5jICAgIHwgIDMgKy0K PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9wbS5oICAgIHwgMTAgKysr KysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmMgICAgICAgIHwgIDEg LQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcG0uaCAgICAgICAgfCAgNSAr KysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jICAgICAgICAgIHwgIDIg Ky0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMgICAgICAgIHwgIDIg Ky0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2VuZ2luZV9wbS5jIHwgIDcg KystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9hY3RpdmUuYyAgICAgICAgICAgfCAg NSArKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgICAgICAgICAgICAgIHwg IDYgKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93YWtlcmVmLmMgICAgICAgICB8 ICA4ICsrLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dha2VyZWYuaCAgICAgICAg IHwgNDQgKysrKysrKysrKysrKysrKy0tLS0KPiAgIDExIGZpbGVzIGNoYW5nZWQsIDY4IGluc2Vy dGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2VuZ2luZV9wbS5jCj4gaW5kZXggNzIyZDNlZWMyMjZlLi40ODc4ZDE2MTc2ZDUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3BtLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uYwo+IEBAIC0xODAsNyAr MTgwLDggQEAgc3RhdGljIGludCBfX2VuZ2luZV9wYXJrKHN0cnVjdCBpbnRlbF93YWtlcmVmICp3 ZikKPiAgIAo+ICAgCWVuZ2luZS0+ZXhlY2xpc3RzLm5vX3ByaW9saXN0ID0gZmFsc2U7Cj4gICAK PiAtCWludGVsX2d0X3BtX3B1dChlbmdpbmUtPmd0KTsKPiArCS8qIFdoaWxlIHdlIGNhbGwgaTkx NV92bWFfcGFya2VkLCB3ZSBoYXZlIHRvIGJyZWFrIHRoZSBsb2NrIGN5Y2xlICovCj4gKwlpbnRl bF9ndF9wbV9wdXRfYXN5bmMoZW5naW5lLT5ndCk7Cj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3BtLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uaAo+IGluZGV4IDczOWM1 MGZlZmNlZi4uNDY3NDc1ZmNlOWM2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2VuZ2luZV9wbS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZW5naW5lX3BtLmgKPiBAQCAtMzEsNiArMzEsMTYgQEAgc3RhdGljIGlubGluZSB2b2lkIGlu dGVsX2VuZ2luZV9wbV9wdXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCWlu dGVsX3dha2VyZWZfcHV0KCZlbmdpbmUtPndha2VyZWYpOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBp bmxpbmUgdm9pZCBpbnRlbF9lbmdpbmVfcG1fcHV0X2FzeW5jKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKPiArewo+ICsJaW50ZWxfd2FrZXJlZl9wdXRfYXN5bmMoJmVuZ2luZS0+d2Fr ZXJlZik7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9lbmdpbmVfcG1fdW5s b2NrX3dhaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICt7Cj4gKwlpbnRlbF93 YWtlcmVmX3VubG9ja193YWl0KCZlbmdpbmUtPndha2VyZWYpOwo+ICt9Cj4gKwo+ICAgdm9pZCBp bnRlbF9lbmdpbmVfaW5pdF9fcG0oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiAg IAo+ICAgI2VuZGlmIC8qIElOVEVMX0VOR0lORV9QTV9IICovCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9ndF9wbS5jCj4gaW5kZXggZTYxZjc1MmEzY2Q1Li43YTkwNDRhYzRiNzUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcG0uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmMKPiBAQCAtMTA1LDcgKzEwNSw2IEBA IHN0YXRpYyBpbnQgX19ndF9wYXJrKHN0cnVjdCBpbnRlbF93YWtlcmVmICp3ZikKPiAgIHN0YXRp YyBjb25zdCBzdHJ1Y3QgaW50ZWxfd2FrZXJlZl9vcHMgd2Zfb3BzID0gewo+ICAgCS5nZXQgPSBf X2d0X3VucGFyaywKPiAgIAkucHV0ID0gX19ndF9wYXJrLAo+IC0JLmZsYWdzID0gSU5URUxfV0FL RVJFRl9QVVRfQVNZTkMsCj4gICB9Owo+ICAgCj4gICB2b2lkIGludGVsX2d0X3BtX2luaXRfZWFy bHkoc3RydWN0IGludGVsX2d0ICpndCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZ3RfcG0uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3Bt LmgKPiBpbmRleCBiM2UxNzM5OWJlOWIuLjk5MGVmYzI3YTRlNCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9wbS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfZ3RfcG0uaAo+IEBAIC0zMiw2ICszMiwxMSBAQCBzdGF0aWMgaW5saW5l IHZvaWQgaW50ZWxfZ3RfcG1fcHV0KHN0cnVjdCBpbnRlbF9ndCAqZ3QpCj4gICAJaW50ZWxfd2Fr ZXJlZl9wdXQoJmd0LT53YWtlcmVmKTsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgaW5saW5lIHZvaWQg aW50ZWxfZ3RfcG1fcHV0X2FzeW5jKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCj4gK3sKPiArCWludGVs X3dha2VyZWZfcHV0X2FzeW5jKCZndC0+d2FrZXJlZik7Cj4gK30KPiArCj4gICBzdGF0aWMgaW5s aW5lIGludCBpbnRlbF9ndF9wbV93YWl0X2Zvcl9pZGxlKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCj4g ICB7Cj4gICAJcmV0dXJuIGludGVsX3dha2VyZWZfd2FpdF9mb3JfaWRsZSgmZ3QtPndha2VyZWYp Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCj4gaW5kZXggZjdjOGZlYzQzNmE5Li5m ZWM0NmFmYjkyNjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf bHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwo+IEBAIC0x MTczLDcgKzExNzMsNyBAQCBfX2V4ZWNsaXN0c19zY2hlZHVsZV9vdXQoc3RydWN0IGk5MTVfcmVx dWVzdCAqcnEsCj4gICAKPiAgIAlpbnRlbF9lbmdpbmVfY29udGV4dF9vdXQoZW5naW5lKTsKPiAg IAlleGVjbGlzdHNfY29udGV4dF9zdGF0dXNfY2hhbmdlKHJxLCBJTlRFTF9DT05URVhUX1NDSEVE VUxFX09VVCk7Cj4gLQlpbnRlbF9ndF9wbV9wdXQoZW5naW5lLT5ndCk7Cj4gKwlpbnRlbF9ndF9w bV9wdXRfYXN5bmMoZW5naW5lLT5ndCk7CgpXYWl0IGEgbWludXRlLi4gd2Fzbid0IHRoZSB3YWtl cmVmIGhpZXJhcmNoeSBzdXBwb3NlZCB0byBiZSBlbmdpbmUgLT4gZ3QgCnNvIHRoaXMgcGxhY2Ug c2hvdWxkIGJlIG9uIHRoZSBlbmdpbmUgbGV2ZWw/Cgo+ICAgCj4gICAJLyoKPiAgIAkgKiBJZiB0 aGlzIGlzIHBhcnQgb2YgYSB2aXJ0dWFsIGVuZ2luZSwgaXRzIG5leHQgcmVxdWVzdCBtYXkKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMKPiBpbmRleCBiNzAwN2NkNzhjNmYuLjAz ODhmOTM3NTM2NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9y ZXNldC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYwo+IEBA IC0xMTI1LDcgKzExMjUsNyBAQCBpbnQgaW50ZWxfZW5naW5lX3Jlc2V0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSwgY29uc3QgY2hhciAqbXNnKQo+ICAgb3V0Ogo+ICAgCWludGVsX2Vu Z2luZV9jYW5jZWxfc3RvcF9jcyhlbmdpbmUpOwo+ICAgCXJlc2V0X2ZpbmlzaF9lbmdpbmUoZW5n aW5lKTsKPiAtCWludGVsX2VuZ2luZV9wbV9wdXQoZW5naW5lKTsKPiArCWludGVsX2VuZ2luZV9w bV9wdXRfYXN5bmMoZW5naW5lKTsKPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+ICAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2VuZ2luZV9wbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfZW5naW5lX3BtLmMKPiBpbmRleCAyMGI5Yzgz ZjQzYWQuLjg1MWE2YzRmNjVjNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9zZWxmdGVzdF9lbmdpbmVfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Nl bGZ0ZXN0X2VuZ2luZV9wbS5jCj4gQEAgLTUxLDExICs1MSwxMiBAQCBzdGF0aWMgaW50IGxpdmVf ZW5naW5lX3BtKHZvaWQgKmFyZykKPiAgIAkJCQlwcl9lcnIoImludGVsX2VuZ2luZV9wbV9nZXRf aWZfYXdha2UoJXMpIGZhaWxlZCB1bmRlciAlc1xuIiwKPiAgIAkJCQkgICAgICAgZW5naW5lLT5u YW1lLCBwLT5uYW1lKTsKPiAgIAkJCWVsc2UKPiAtCQkJCWludGVsX2VuZ2luZV9wbV9wdXQoZW5n aW5lKTsKPiAtCQkJaW50ZWxfZW5naW5lX3BtX3B1dChlbmdpbmUpOwo+ICsJCQkJaW50ZWxfZW5n aW5lX3BtX3B1dF9hc3luYyhlbmdpbmUpOwo+ICsJCQlpbnRlbF9lbmdpbmVfcG1fcHV0X2FzeW5j KGVuZ2luZSk7Cj4gICAJCQlwLT5jcml0aWNhbF9zZWN0aW9uX2VuZCgpOwo+ICAgCj4gLQkJCS8q IGVuZ2luZSB3YWtlcmVmIGlzIHN5bmMgKGluc3RhbnQpICovCj4gKwkJCWludGVsX2VuZ2luZV9w bV91bmxvY2tfd2FpdChlbmdpbmUpOwoKIEZyb20gdGhlIGNvbnRleHQgd291bGQgaXQgYmUgY2xl YXJlciB0byBuYW1lIGl0IAppbnRlbF9lbmdpbmVfcG1fd2FpdF9wdXQ/IHN5bmNfcHV0PyBmbHVz aF9wdXQ/IFRvIG1vcmUgY2xlYXJseSByZXByZXNlbnQgCml0IGlzIGEgcGFpciBvZiBwdXRfYXN5 bmMuCgo+ICsKPiAgIAkJCWlmIChpbnRlbF9lbmdpbmVfcG1faXNfYXdha2UoZW5naW5lKSkgewo+ ICAgCQkJCXByX2VycigiJXMgaXMgc3RpbGwgYXdha2UgYWZ0ZXIgZmx1c2hpbmcgcG1cbiIsCj4g ICAJCQkJICAgICAgIGVuZ2luZS0+bmFtZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfYWN0aXZlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2FjdGl2ZS5j Cj4gaW5kZXggNTQ0OGYzN2M4MTAyLi5kY2ExNWFjZTg4ZjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9hY3RpdmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfYWN0aXZlLmMKPiBAQCAtNjcyLDEyICs2NzIsMTMgQEAgdm9pZCBpOTE1X2FjdGl2ZV9h Y3F1aXJlX2JhcnJpZXIoc3RydWN0IGk5MTVfYWN0aXZlICpyZWYpCj4gICAJICogcG9wdWxhdGVk IGJ5IGk5MTVfcmVxdWVzdF9hZGRfYWN0aXZlX2JhcnJpZXJzKCkgdG8gcG9pbnQgdG8gdGhlCj4g ICAJICogcmVxdWVzdCB0aGF0IHdpbGwgZXZlbnR1YWxseSByZWxlYXNlIHRoZW0uCj4gICAJICov Cj4gLQlzcGluX2xvY2tfaXJxc2F2ZV9uZXN0ZWQoJnJlZi0+dHJlZV9sb2NrLCBmbGFncywgU0lO R0xFX0RFUFRIX05FU1RJTkcpOwo+ICAgCWxsaXN0X2Zvcl9lYWNoX3NhZmUocG9zLCBuZXh0LCB0 YWtlX3ByZWFsbG9jYXRlZF9iYXJyaWVycyhyZWYpKSB7Cj4gICAJCXN0cnVjdCBhY3RpdmVfbm9k ZSAqbm9kZSA9IGJhcnJpZXJfZnJvbV9sbChwb3MpOwo+ICAgCQlzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUgPSBiYXJyaWVyX3RvX2VuZ2luZShub2RlKTsKPiAgIAkJc3RydWN0IHJiX25v ZGUgKipwLCAqcGFyZW50Owo+ICAgCj4gKwkJc3Bpbl9sb2NrX2lycXNhdmVfbmVzdGVkKCZyZWYt PnRyZWVfbG9jaywgZmxhZ3MsCj4gKwkJCQkJIFNJTkdMRV9ERVBUSF9ORVNUSU5HKTsKPiAgIAkJ cGFyZW50ID0gTlVMTDsKPiAgIAkJcCA9ICZyZWYtPnRyZWUucmJfbm9kZTsKPiAgIAkJd2hpbGUg KCpwKSB7Cj4gQEAgLTY5MywxMiArNjk0LDEyIEBAIHZvaWQgaTkxNV9hY3RpdmVfYWNxdWlyZV9i YXJyaWVyKHN0cnVjdCBpOTE1X2FjdGl2ZSAqcmVmKQo+ICAgCQl9Cj4gICAJCXJiX2xpbmtfbm9k ZSgmbm9kZS0+bm9kZSwgcGFyZW50LCBwKTsKPiAgIAkJcmJfaW5zZXJ0X2NvbG9yKCZub2RlLT5u b2RlLCAmcmVmLT50cmVlKTsKPiArCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZWYtPnRyZWVf bG9jaywgZmxhZ3MpOwo+ICAgCj4gICAJCUdFTV9CVUdfT04oIWludGVsX2VuZ2luZV9wbV9pc19h d2FrZShlbmdpbmUpKTsKPiAgIAkJbGxpc3RfYWRkKGJhcnJpZXJfdG9fbGwobm9kZSksICZlbmdp bmUtPmJhcnJpZXJfdGFza3MpOwo+ICAgCQlpbnRlbF9lbmdpbmVfcG1fcHV0KGVuZ2luZSk7Cj4g ICAJfQo+IC0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmVmLT50cmVlX2xvY2ssIGZsYWdzKTsK ClByb3MvY29ucyBvZiBsZWF2aW5nIHRoZSBsb2NrcyB3aGVyZSB0aGV5IHdlcmUgYW5kIHVzaW5n IHB1dF9hc3luYywgCnZlcnN1cyB0aGlzIGxheW91dD8KCj4gICB9Cj4gICAKPiAgIHZvaWQgaTkx NV9yZXF1ZXN0X2FkZF9hY3RpdmVfYmFycmllcnMoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3BtdS5jCj4gaW5kZXggOWIwMmJlMGFkNGU2Li45NWU4MjRhNzhkNGQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKPiBAQCAtMTkwLDcgKzE5MCw3IEBAIHN0YXRp YyB1NjQgZ2V0X3JjNihzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQo+ICAgCXZhbCA9IDA7Cj4gICAJaWYg KGludGVsX2d0X3BtX2dldF9pZl9hd2FrZShndCkpIHsKPiAgIAkJdmFsID0gX19nZXRfcmM2KGd0 KTsKPiAtCQlpbnRlbF9ndF9wbV9wdXQoZ3QpOwo+ICsJCWludGVsX2d0X3BtX3B1dF9hc3luYyhn dCk7Cj4gICAJfQo+ICAgCj4gICAJc3Bpbl9sb2NrX2lycXNhdmUoJnBtdS0+bG9jaywgZmxhZ3Mp Owo+IEBAIC0zNjAsNyArMzYwLDcgQEAgZW5naW5lc19zYW1wbGUoc3RydWN0IGludGVsX2d0ICpn dCwgdW5zaWduZWQgaW50IHBlcmlvZF9ucykKPiAgIHNraXA6Cj4gICAJCWlmICh1bmxpa2VseSht bWlvX2xvY2spKQo+ICAgCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShtbWlvX2xvY2ssIGZsYWdz KTsKPiAtCQlpbnRlbF9lbmdpbmVfcG1fcHV0KGVuZ2luZSk7Cj4gKwkJaW50ZWxfZW5naW5lX3Bt X3B1dF9hc3luYyhlbmdpbmUpOwo+ICAgCX0KPiAgIH0KPiAgIAo+IEBAIC0zOTgsNyArMzk4LDcg QEAgZnJlcXVlbmN5X3NhbXBsZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCB1bnNpZ25lZCBpbnQgcGVy aW9kX25zKQo+ICAgCQkJaWYgKHN0YXQpCj4gICAJCQkJdmFsID0gaW50ZWxfZ2V0X2NhZ2YocnBz LCBzdGF0KTsKPiAgIAo+IC0JCQlpbnRlbF9ndF9wbV9wdXQoZ3QpOwo+ICsJCQlpbnRlbF9ndF9w bV9wdXRfYXN5bmMoZ3QpOwo+ICAgCQl9Cj4gICAKPiAgIAkJYWRkX3NhbXBsZV9tdWx0KCZwbXUt PnNhbXBsZVtfX0k5MTVfU0FNUExFX0ZSRVFfQUNUXSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfd2FrZXJlZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf d2FrZXJlZi5jCj4gaW5kZXggODY4Y2M3ODA0OGQwLi45YjI5MTc2Y2MxY2EgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd2FrZXJlZi5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfd2FrZXJlZi5jCj4gQEAgLTU0LDcgKzU0LDggQEAgaW50IF9faW50 ZWxfd2FrZXJlZl9nZXRfZmlyc3Qoc3RydWN0IGludGVsX3dha2VyZWYgKndmKQo+ICAgCj4gICBz dGF0aWMgdm9pZCBfX19faW50ZWxfd2FrZXJlZl9wdXRfbGFzdChzdHJ1Y3QgaW50ZWxfd2FrZXJl ZiAqd2YpCj4gICB7Cj4gLQlpZiAoIWF0b21pY19kZWNfYW5kX3Rlc3QoJndmLT5jb3VudCkpCj4g KwlJTlRFTF9XQUtFUkVGX0JVR19PTihhdG9taWNfcmVhZCgmd2YtPmNvdW50KSA8PSAwKTsKPiAr CWlmICh1bmxpa2VseSghYXRvbWljX2RlY19hbmRfdGVzdCgmd2YtPmNvdW50KSkpCj4gICAJCWdv dG8gdW5sb2NrOwo+ICAgCj4gICAJLyogb3BzLT5wdXQoKSBtdXN0IHJlc2NoZWR1bGUgaXRzIG93 biByZWxlYXNlIG9uIGVycm9yL2RlZmVycmFsICovCj4gQEAgLTY3LDEzICs2OCwxMiBAQCBzdGF0 aWMgdm9pZCBfX19faW50ZWxfd2FrZXJlZl9wdXRfbGFzdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAq d2YpCj4gICAJbXV0ZXhfdW5sb2NrKCZ3Zi0+bXV0ZXgpOwo+ICAgfQo+ICAgCj4gLXZvaWQgX19p bnRlbF93YWtlcmVmX3B1dF9sYXN0KHN0cnVjdCBpbnRlbF93YWtlcmVmICp3ZikKPiArdm9pZCBf X2ludGVsX3dha2VyZWZfcHV0X2xhc3Qoc3RydWN0IGludGVsX3dha2VyZWYgKndmLCB1bnNpZ25l ZCBsb25nIGZsYWdzKQo+ICAgewo+ICAgCUlOVEVMX1dBS0VSRUZfQlVHX09OKHdvcmtfcGVuZGlu Zygmd2YtPndvcmspKTsKPiAgIAo+ICAgCS8qIEFzc3VtZSB3ZSBhcmUgbm90IGluIHByb2Nlc3Mg Y29udGV4dCBhbmQgc28gY2Fubm90IHNsZWVwLiAqLwo+IC0JaWYgKHdmLT5vcHMtPmZsYWdzICYg SU5URUxfV0FLRVJFRl9QVVRfQVNZTkMgfHwKPiAtCSAgICAhbXV0ZXhfdHJ5bG9jaygmd2YtPm11 dGV4KSkgewo+ICsJaWYgKGZsYWdzICYgSU5URUxfV0FLRVJFRl9QVVRfQVNZTkMgfHwgIW11dGV4 X3RyeWxvY2soJndmLT5tdXRleCkpIHsKPiAgIAkJc2NoZWR1bGVfd29yaygmd2YtPndvcmspOwo+ ICAgCQlyZXR1cm47Cj4gICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF93YWtlcmVmLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93YWtlcmVmLmgKPiBp bmRleCA1ZjBjOTcyYTgwZmIuLjY4OGI5YjUzNmE2OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF93YWtlcmVmLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF93YWtlcmVmLmgKPiBAQCAtOSw2ICs5LDcgQEAKPiAgIAo+ICAgI2luY2x1ZGUgPGxpbnV4 L2F0b21pYy5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L2JpdHMuaD4KPiArI2luY2x1ZGUgPGxpbnV4 L2xvY2tkZXAuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgo+ICAgI2luY2x1ZGUgPGxp bnV4L3JlZmNvdW50Lmg+Cj4gICAjaW5jbHVkZSA8bGludXgvc3RhY2tkZXBvdC5oPgo+IEBAIC0y OSw5ICszMCw2IEBAIHR5cGVkZWYgZGVwb3Rfc3RhY2tfaGFuZGxlX3QgaW50ZWxfd2FrZXJlZl90 Owo+ICAgc3RydWN0IGludGVsX3dha2VyZWZfb3BzIHsKPiAgIAlpbnQgKCpnZXQpKHN0cnVjdCBp bnRlbF93YWtlcmVmICp3Zik7Cj4gICAJaW50ICgqcHV0KShzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAq d2YpOwo+IC0KPiAtCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gLSNkZWZpbmUgSU5URUxfV0FLRVJF Rl9QVVRfQVNZTkMgQklUKDApCj4gICB9Owo+ICAgCj4gICBzdHJ1Y3QgaW50ZWxfd2FrZXJlZiB7 Cj4gQEAgLTU3LDcgKzU1LDcgQEAgdm9pZCBfX2ludGVsX3dha2VyZWZfaW5pdChzdHJ1Y3QgaW50 ZWxfd2FrZXJlZiAqd2YsCj4gICB9IHdoaWxlICgwKQo+ICAgCj4gICBpbnQgX19pbnRlbF93YWtl cmVmX2dldF9maXJzdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YpOwo+IC12b2lkIF9faW50ZWxf d2FrZXJlZl9wdXRfbGFzdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YpOwo+ICt2b2lkIF9faW50 ZWxfd2FrZXJlZl9wdXRfbGFzdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YsIHVuc2lnbmVkIGxv bmcgZmxhZ3MpOwo+ICAgCj4gICAvKioKPiAgICAqIGludGVsX3dha2VyZWZfZ2V0OiBBY3F1aXJl IHRoZSB3YWtlcmVmCj4gQEAgLTEwMCwxMCArOTgsOSBAQCBpbnRlbF93YWtlcmVmX2dldF9pZl9h Y3RpdmUoc3RydWN0IGludGVsX3dha2VyZWYgKndmKQo+ICAgfQo+ICAgCj4gICAvKioKPiAtICog aW50ZWxfd2FrZXJlZl9wdXQ6IFJlbGVhc2UgdGhlIHdha2VyZWYKPiAtICogQGk5MTU6IHRoZSBk cm1faTkxNV9wcml2YXRlIGRldmljZQo+ICsgKiBpbnRlbF93YWtlcmVmX3B1dF9mbGFnczogUmVs ZWFzZSB0aGUgd2FrZXJlZgo+ICAgICogQHdmOiB0aGUgd2FrZXJlZgo+IC0gKiBAZm46IGNhbGxi YWNrIGZvciByZWxlYXNpbmcgdGhlIHdha2VyZWYsIGNhbGxlZCBvbmx5IG9uIGZpbmFsIHJlbGVh c2UuCj4gKyAqIEBmbGFnczogY29udHJvbCBmbGFncwo+ICAgICoKPiAgICAqIFJlbGVhc2Ugb3Vy IGhvbGQgb24gdGhlIHdha2VyZWYuIFdoZW4gdGhlcmUgYXJlIG5vIG1vcmUgdXNlcnMsCj4gICAg KiB0aGUgcnVudGltZSBwbSB3YWtlcmVmIHdpbGwgYmUgcmVsZWFzZWQgYWZ0ZXIgdGhlIEBmbiBj YWxsYmFjayBpcyBjYWxsZWQKPiBAQCAtMTE2LDExICsxMTMsMjUgQEAgaW50ZWxfd2FrZXJlZl9n ZXRfaWZfYWN0aXZlKHN0cnVjdCBpbnRlbF93YWtlcmVmICp3ZikKPiAgICAqIGNvZGUgb3RoZXJ3 aXNlLgo+ICAgICovCj4gICBzdGF0aWMgaW5saW5lIHZvaWQKPiAtaW50ZWxfd2FrZXJlZl9wdXQo c3RydWN0IGludGVsX3dha2VyZWYgKndmKQo+ICtfX2ludGVsX3dha2VyZWZfcHV0KHN0cnVjdCBp bnRlbF93YWtlcmVmICp3ZiwgdW5zaWduZWQgbG9uZyBmbGFncykKPiArI2RlZmluZSBJTlRFTF9X QUtFUkVGX1BVVF9BU1lOQyBCSVQoMCkKPiAgIHsKPiAgIAlJTlRFTF9XQUtFUkVGX0JVR19PTihh dG9taWNfcmVhZCgmd2YtPmNvdW50KSA8PSAwKTsKPiAgIAlpZiAodW5saWtlbHkoIWF0b21pY19h ZGRfdW5sZXNzKCZ3Zi0+Y291bnQsIC0xLCAxKSkpCj4gLQkJX19pbnRlbF93YWtlcmVmX3B1dF9s YXN0KHdmKTsKPiArCQlfX2ludGVsX3dha2VyZWZfcHV0X2xhc3Qod2YsIGZsYWdzKTsKPiArfQo+ ICsKPiArc3RhdGljIGlubGluZSB2b2lkCj4gK2ludGVsX3dha2VyZWZfcHV0KHN0cnVjdCBpbnRl bF93YWtlcmVmICp3ZikKPiArewo+ICsJbWlnaHRfc2xlZXAoKTsKPiArCV9faW50ZWxfd2FrZXJl Zl9wdXQod2YsIDApOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQKPiAraW50ZWxfd2Fr ZXJlZl9wdXRfYXN5bmMoc3RydWN0IGludGVsX3dha2VyZWYgKndmKQo+ICt7Cj4gKwlfX2ludGVs X3dha2VyZWZfcHV0KHdmLCBJTlRFTF9XQUtFUkVGX1BVVF9BU1lOQyk7Cj4gICB9Cj4gICAKPiAg IC8qKgo+IEBAIC0xNTEsNiArMTYyLDIwIEBAIGludGVsX3dha2VyZWZfdW5sb2NrKHN0cnVjdCBp bnRlbF93YWtlcmVmICp3ZikKPiAgIAltdXRleF91bmxvY2soJndmLT5tdXRleCk7Cj4gICB9Cj4g ICAKPiArLyoqCj4gKyAqIGludGVsX3dha2VyZWZfdW5sb2NrX3dhaXQ6IFdhaXQgdW50aWwgdGhl IGFjdGl2ZSBjYWxsYmFjayBpcyBjb21wbGV0ZQo+ICsgKiBAd2Y6IHRoZSB3YWtlcmVmCj4gKyAq Cj4gKyAqIFdhaXRzIGZvciB0aGUgYWN0aXZlIGNhbGxiYWNrICh1bmRlciB0aGUgQHdmLT5tdHVl eCkgaXMgY29tcGxldGUuCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIHZvaWQKPiAraW50ZWxfd2Fr ZXJlZl91bmxvY2tfd2FpdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YpCj4gK3sKPiArCW11dGV4 X2xvY2soJndmLT5tdXRleCk7Cj4gKwltdXRleF91bmxvY2soJndmLT5tdXRleCk7Cj4gKwlmbHVz aF93b3JrKCZ3Zi0+d29yayk7Cj4gK30KPiArCj4gICAvKioKPiAgICAqIGludGVsX3dha2VyZWZf aXNfYWN0aXZlOiBRdWVyeSB3aGV0aGVyIHRoZSB3YWtlcmVmIGlzIGN1cnJlbnRseSBoZWxkCj4g ICAgKiBAd2Y6IHRoZSB3YWtlcmVmCj4gQEAgLTE3MCw2ICsxOTUsNyBAQCBpbnRlbF93YWtlcmVm X2lzX2FjdGl2ZShjb25zdCBzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YpCj4gICBzdGF0aWMgaW5s aW5lIHZvaWQKPiAgIF9faW50ZWxfd2FrZXJlZl9kZWZlcl9wYXJrKHN0cnVjdCBpbnRlbF93YWtl cmVmICp3ZikKPiAgIHsKPiArCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJndmLT5tdXRleCk7Cj4gICAJ SU5URUxfV0FLRVJFRl9CVUdfT04oYXRvbWljX3JlYWQoJndmLT5jb3VudCkpOwo+ICAgCWF0b21p Y19zZXRfcmVsZWFzZSgmd2YtPmNvdW50LCAxKTsKPiAgIH0KPiAKClJlZ2FyZHMsCgpUdnJ0a28K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 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=-7.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, HK_RANDOM_FROM,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 C5C91C432C3 for ; Tue, 19 Nov 2019 15:57:29 +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 9FEC82230B for ; Tue, 19 Nov 2019 15:57:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9FEC82230B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.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 3A69D89C13; Tue, 19 Nov 2019 15:57:29 +0000 (UTC) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 413C789B46 for ; Tue, 19 Nov 2019 15:57:28 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Nov 2019 07:57:27 -0800 X-IronPort-AV: E=Sophos;i="5.69,324,1571727600"; d="scan'208";a="200393209" Received: from unknown (HELO [10.252.30.240]) ([10.252.30.240]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/AES256-SHA; 19 Nov 2019 07:57:26 -0800 To: Chris Wilson , intel-gfx@lists.freedesktop.org References: <20191118230254.2615942-1-chris@chris-wilson.co.uk> <20191118230254.2615942-8-chris@chris-wilson.co.uk> From: Tvrtko Ursulin Organization: Intel Corporation UK Plc Message-ID: <80ce97fe-79ef-b717-a61b-08336fb199d5@linux.intel.com> Date: Tue, 19 Nov 2019 15:57:24 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20191118230254.2615942-8-chris@chris-wilson.co.uk> Content-Language: en-US Subject: Re: [Intel-gfx] [PATCH 07/19] drm/i915: Mark up the calling context for intel_wakeref_put() 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: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191119155724.0jvw4OWKw_o3CCyj1v_x_J42WZ78pWN7GaRQ8hQaYfk@z> Ck9uIDE4LzExLzIwMTkgMjM6MDIsIENocmlzIFdpbHNvbiB3cm90ZToKPiBQcmV2aW91c2x5LCB3 ZSBhc3N1bWVkIHdlIGNvdWxkIHVzZSBtdXRleF90cnlsb2NrKCkgd2l0aGluIGFuIGF0b21pYwo+ IGNvbnRleHQsIGZhbGxpbmcgYmFjayB0byBhIHdvcmtpbmcgaWYgY29udGVuZGVkLiBIb3dldmVy LCBzdWNoIHRyaWNrZXJ5Cj4gaXMgaWxsZWdhbCBpbnNpZGUgaW50ZXJydXB0IGNvbnRleHQsIGFu ZCBzbyB3ZSBuZWVkIHRvIGFsd2F5cyB1c2UgYQo+IHdvcmtlciB1bmRlciBzdWNoIGNpcmN1bXN0 YW5jZXMuIEFzIHdlIG5vcm1hbGx5IGFyZSBpbiBwcm9jZXNzIGNvbnRleHQsCj4gd2UgY2FuIHR5 cGljYWxseSB1c2UgYSBwbGFpbiBtdXRleCwgYW5kIG9ubHkgZGVmZXIgdG8gYSB3b3JrIHdoZW4g d2UKPiBrbm93IHdlIGFyZSBjYWxsZXIgZnJvbSBhbiBpbnRlcnJ1cHQgcGF0aC4KPiAKPiBGaXhl czogNTFmYmQ4ZGU4N2RjICgiZHJtL2k5MTUvcG11OiBBdG9taWNhbGx5IGFjcXVpcmUgdGhlIGd0 X3BtIHdha2VyZWYiKQo+IFJlZmVyZW5jZXM6IGEwODU1ZDI0ZmMyMmQgKCJsb2NraW5nL211dGV4 OiBDb21wbGFpbiB1cG9uIG11dGV4IEFQSSBtaXN1c2UgaW4gSVJRIGNvbnRleHRzIikKPiBSZWZl cmVuY2VzOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE2 MjYKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51 az4KPiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiAtLS0K PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9wbS5jICAgIHwgIDMgKy0K PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9wbS5oICAgIHwgMTAgKysr KysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmMgICAgICAgIHwgIDEg LQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcG0uaCAgICAgICAgfCAgNSAr KysKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jICAgICAgICAgIHwgIDIg Ky0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMgICAgICAgIHwgIDIg Ky0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2VuZ2luZV9wbS5jIHwgIDcg KystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9hY3RpdmUuYyAgICAgICAgICAgfCAg NSArKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgICAgICAgICAgICAgIHwg IDYgKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93YWtlcmVmLmMgICAgICAgICB8 ICA4ICsrLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dha2VyZWYuaCAgICAgICAg IHwgNDQgKysrKysrKysrKysrKysrKy0tLS0KPiAgIDExIGZpbGVzIGNoYW5nZWQsIDY4IGluc2Vy dGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2VuZ2luZV9wbS5jCj4gaW5kZXggNzIyZDNlZWMyMjZlLi40ODc4ZDE2MTc2ZDUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3BtLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uYwo+IEBAIC0xODAsNyAr MTgwLDggQEAgc3RhdGljIGludCBfX2VuZ2luZV9wYXJrKHN0cnVjdCBpbnRlbF93YWtlcmVmICp3 ZikKPiAgIAo+ICAgCWVuZ2luZS0+ZXhlY2xpc3RzLm5vX3ByaW9saXN0ID0gZmFsc2U7Cj4gICAK PiAtCWludGVsX2d0X3BtX3B1dChlbmdpbmUtPmd0KTsKPiArCS8qIFdoaWxlIHdlIGNhbGwgaTkx NV92bWFfcGFya2VkLCB3ZSBoYXZlIHRvIGJyZWFrIHRoZSBsb2NrIGN5Y2xlICovCj4gKwlpbnRl bF9ndF9wbV9wdXRfYXN5bmMoZW5naW5lLT5ndCk7Cj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3BtLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uaAo+IGluZGV4IDczOWM1 MGZlZmNlZi4uNDY3NDc1ZmNlOWM2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2VuZ2luZV9wbS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZW5naW5lX3BtLmgKPiBAQCAtMzEsNiArMzEsMTYgQEAgc3RhdGljIGlubGluZSB2b2lkIGlu dGVsX2VuZ2luZV9wbV9wdXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCWlu dGVsX3dha2VyZWZfcHV0KCZlbmdpbmUtPndha2VyZWYpOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBp bmxpbmUgdm9pZCBpbnRlbF9lbmdpbmVfcG1fcHV0X2FzeW5jKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKPiArewo+ICsJaW50ZWxfd2FrZXJlZl9wdXRfYXN5bmMoJmVuZ2luZS0+d2Fr ZXJlZik7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9lbmdpbmVfcG1fdW5s b2NrX3dhaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICt7Cj4gKwlpbnRlbF93 YWtlcmVmX3VubG9ja193YWl0KCZlbmdpbmUtPndha2VyZWYpOwo+ICt9Cj4gKwo+ICAgdm9pZCBp bnRlbF9lbmdpbmVfaW5pdF9fcG0oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKPiAg IAo+ICAgI2VuZGlmIC8qIElOVEVMX0VOR0lORV9QTV9IICovCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9ndF9wbS5jCj4gaW5kZXggZTYxZjc1MmEzY2Q1Li43YTkwNDRhYzRiNzUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcG0uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmMKPiBAQCAtMTA1LDcgKzEwNSw2IEBA IHN0YXRpYyBpbnQgX19ndF9wYXJrKHN0cnVjdCBpbnRlbF93YWtlcmVmICp3ZikKPiAgIHN0YXRp YyBjb25zdCBzdHJ1Y3QgaW50ZWxfd2FrZXJlZl9vcHMgd2Zfb3BzID0gewo+ICAgCS5nZXQgPSBf X2d0X3VucGFyaywKPiAgIAkucHV0ID0gX19ndF9wYXJrLAo+IC0JLmZsYWdzID0gSU5URUxfV0FL RVJFRl9QVVRfQVNZTkMsCj4gICB9Owo+ICAgCj4gICB2b2lkIGludGVsX2d0X3BtX2luaXRfZWFy bHkoc3RydWN0IGludGVsX2d0ICpndCkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZ3RfcG0uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3Bt LmgKPiBpbmRleCBiM2UxNzM5OWJlOWIuLjk5MGVmYzI3YTRlNCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9wbS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfZ3RfcG0uaAo+IEBAIC0zMiw2ICszMiwxMSBAQCBzdGF0aWMgaW5saW5l IHZvaWQgaW50ZWxfZ3RfcG1fcHV0KHN0cnVjdCBpbnRlbF9ndCAqZ3QpCj4gICAJaW50ZWxfd2Fr ZXJlZl9wdXQoJmd0LT53YWtlcmVmKTsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgaW5saW5lIHZvaWQg aW50ZWxfZ3RfcG1fcHV0X2FzeW5jKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCj4gK3sKPiArCWludGVs X3dha2VyZWZfcHV0X2FzeW5jKCZndC0+d2FrZXJlZik7Cj4gK30KPiArCj4gICBzdGF0aWMgaW5s aW5lIGludCBpbnRlbF9ndF9wbV93YWl0X2Zvcl9pZGxlKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCj4g ICB7Cj4gICAJcmV0dXJuIGludGVsX3dha2VyZWZfd2FpdF9mb3JfaWRsZSgmZ3QtPndha2VyZWYp Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCj4gaW5kZXggZjdjOGZlYzQzNmE5Li5m ZWM0NmFmYjkyNjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf bHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYwo+IEBAIC0x MTczLDcgKzExNzMsNyBAQCBfX2V4ZWNsaXN0c19zY2hlZHVsZV9vdXQoc3RydWN0IGk5MTVfcmVx dWVzdCAqcnEsCj4gICAKPiAgIAlpbnRlbF9lbmdpbmVfY29udGV4dF9vdXQoZW5naW5lKTsKPiAg IAlleGVjbGlzdHNfY29udGV4dF9zdGF0dXNfY2hhbmdlKHJxLCBJTlRFTF9DT05URVhUX1NDSEVE VUxFX09VVCk7Cj4gLQlpbnRlbF9ndF9wbV9wdXQoZW5naW5lLT5ndCk7Cj4gKwlpbnRlbF9ndF9w bV9wdXRfYXN5bmMoZW5naW5lLT5ndCk7CgpXYWl0IGEgbWludXRlLi4gd2Fzbid0IHRoZSB3YWtl cmVmIGhpZXJhcmNoeSBzdXBwb3NlZCB0byBiZSBlbmdpbmUgLT4gZ3QgCnNvIHRoaXMgcGxhY2Ug c2hvdWxkIGJlIG9uIHRoZSBlbmdpbmUgbGV2ZWw/Cgo+ICAgCj4gICAJLyoKPiAgIAkgKiBJZiB0 aGlzIGlzIHBhcnQgb2YgYSB2aXJ0dWFsIGVuZ2luZSwgaXRzIG5leHQgcmVxdWVzdCBtYXkKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMKPiBpbmRleCBiNzAwN2NkNzhjNmYuLjAz ODhmOTM3NTM2NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9y ZXNldC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYwo+IEBA IC0xMTI1LDcgKzExMjUsNyBAQCBpbnQgaW50ZWxfZW5naW5lX3Jlc2V0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSwgY29uc3QgY2hhciAqbXNnKQo+ICAgb3V0Ogo+ICAgCWludGVsX2Vu Z2luZV9jYW5jZWxfc3RvcF9jcyhlbmdpbmUpOwo+ICAgCXJlc2V0X2ZpbmlzaF9lbmdpbmUoZW5n aW5lKTsKPiAtCWludGVsX2VuZ2luZV9wbV9wdXQoZW5naW5lKTsKPiArCWludGVsX2VuZ2luZV9w bV9wdXRfYXN5bmMoZW5naW5lKTsKPiAgIAlyZXR1cm4gcmV0Owo+ICAgfQo+ICAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2VuZ2luZV9wbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfZW5naW5lX3BtLmMKPiBpbmRleCAyMGI5Yzgz ZjQzYWQuLjg1MWE2YzRmNjVjNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9zZWxmdGVzdF9lbmdpbmVfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Nl bGZ0ZXN0X2VuZ2luZV9wbS5jCj4gQEAgLTUxLDExICs1MSwxMiBAQCBzdGF0aWMgaW50IGxpdmVf ZW5naW5lX3BtKHZvaWQgKmFyZykKPiAgIAkJCQlwcl9lcnIoImludGVsX2VuZ2luZV9wbV9nZXRf aWZfYXdha2UoJXMpIGZhaWxlZCB1bmRlciAlc1xuIiwKPiAgIAkJCQkgICAgICAgZW5naW5lLT5u YW1lLCBwLT5uYW1lKTsKPiAgIAkJCWVsc2UKPiAtCQkJCWludGVsX2VuZ2luZV9wbV9wdXQoZW5n aW5lKTsKPiAtCQkJaW50ZWxfZW5naW5lX3BtX3B1dChlbmdpbmUpOwo+ICsJCQkJaW50ZWxfZW5n aW5lX3BtX3B1dF9hc3luYyhlbmdpbmUpOwo+ICsJCQlpbnRlbF9lbmdpbmVfcG1fcHV0X2FzeW5j KGVuZ2luZSk7Cj4gICAJCQlwLT5jcml0aWNhbF9zZWN0aW9uX2VuZCgpOwo+ICAgCj4gLQkJCS8q IGVuZ2luZSB3YWtlcmVmIGlzIHN5bmMgKGluc3RhbnQpICovCj4gKwkJCWludGVsX2VuZ2luZV9w bV91bmxvY2tfd2FpdChlbmdpbmUpOwoKIEZyb20gdGhlIGNvbnRleHQgd291bGQgaXQgYmUgY2xl YXJlciB0byBuYW1lIGl0IAppbnRlbF9lbmdpbmVfcG1fd2FpdF9wdXQ/IHN5bmNfcHV0PyBmbHVz aF9wdXQ/IFRvIG1vcmUgY2xlYXJseSByZXByZXNlbnQgCml0IGlzIGEgcGFpciBvZiBwdXRfYXN5 bmMuCgo+ICsKPiAgIAkJCWlmIChpbnRlbF9lbmdpbmVfcG1faXNfYXdha2UoZW5naW5lKSkgewo+ ICAgCQkJCXByX2VycigiJXMgaXMgc3RpbGwgYXdha2UgYWZ0ZXIgZmx1c2hpbmcgcG1cbiIsCj4g ICAJCQkJICAgICAgIGVuZ2luZS0+bmFtZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfYWN0aXZlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2FjdGl2ZS5j Cj4gaW5kZXggNTQ0OGYzN2M4MTAyLi5kY2ExNWFjZTg4ZjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9hY3RpdmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfYWN0aXZlLmMKPiBAQCAtNjcyLDEyICs2NzIsMTMgQEAgdm9pZCBpOTE1X2FjdGl2ZV9h Y3F1aXJlX2JhcnJpZXIoc3RydWN0IGk5MTVfYWN0aXZlICpyZWYpCj4gICAJICogcG9wdWxhdGVk IGJ5IGk5MTVfcmVxdWVzdF9hZGRfYWN0aXZlX2JhcnJpZXJzKCkgdG8gcG9pbnQgdG8gdGhlCj4g ICAJICogcmVxdWVzdCB0aGF0IHdpbGwgZXZlbnR1YWxseSByZWxlYXNlIHRoZW0uCj4gICAJICov Cj4gLQlzcGluX2xvY2tfaXJxc2F2ZV9uZXN0ZWQoJnJlZi0+dHJlZV9sb2NrLCBmbGFncywgU0lO R0xFX0RFUFRIX05FU1RJTkcpOwo+ICAgCWxsaXN0X2Zvcl9lYWNoX3NhZmUocG9zLCBuZXh0LCB0 YWtlX3ByZWFsbG9jYXRlZF9iYXJyaWVycyhyZWYpKSB7Cj4gICAJCXN0cnVjdCBhY3RpdmVfbm9k ZSAqbm9kZSA9IGJhcnJpZXJfZnJvbV9sbChwb3MpOwo+ICAgCQlzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUgPSBiYXJyaWVyX3RvX2VuZ2luZShub2RlKTsKPiAgIAkJc3RydWN0IHJiX25v ZGUgKipwLCAqcGFyZW50Owo+ICAgCj4gKwkJc3Bpbl9sb2NrX2lycXNhdmVfbmVzdGVkKCZyZWYt PnRyZWVfbG9jaywgZmxhZ3MsCj4gKwkJCQkJIFNJTkdMRV9ERVBUSF9ORVNUSU5HKTsKPiAgIAkJ cGFyZW50ID0gTlVMTDsKPiAgIAkJcCA9ICZyZWYtPnRyZWUucmJfbm9kZTsKPiAgIAkJd2hpbGUg KCpwKSB7Cj4gQEAgLTY5MywxMiArNjk0LDEyIEBAIHZvaWQgaTkxNV9hY3RpdmVfYWNxdWlyZV9i YXJyaWVyKHN0cnVjdCBpOTE1X2FjdGl2ZSAqcmVmKQo+ICAgCQl9Cj4gICAJCXJiX2xpbmtfbm9k ZSgmbm9kZS0+bm9kZSwgcGFyZW50LCBwKTsKPiAgIAkJcmJfaW5zZXJ0X2NvbG9yKCZub2RlLT5u b2RlLCAmcmVmLT50cmVlKTsKPiArCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZWYtPnRyZWVf bG9jaywgZmxhZ3MpOwo+ICAgCj4gICAJCUdFTV9CVUdfT04oIWludGVsX2VuZ2luZV9wbV9pc19h d2FrZShlbmdpbmUpKTsKPiAgIAkJbGxpc3RfYWRkKGJhcnJpZXJfdG9fbGwobm9kZSksICZlbmdp bmUtPmJhcnJpZXJfdGFza3MpOwo+ICAgCQlpbnRlbF9lbmdpbmVfcG1fcHV0KGVuZ2luZSk7Cj4g ICAJfQo+IC0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcmVmLT50cmVlX2xvY2ssIGZsYWdzKTsK ClByb3MvY29ucyBvZiBsZWF2aW5nIHRoZSBsb2NrcyB3aGVyZSB0aGV5IHdlcmUgYW5kIHVzaW5n IHB1dF9hc3luYywgCnZlcnN1cyB0aGlzIGxheW91dD8KCj4gICB9Cj4gICAKPiAgIHZvaWQgaTkx NV9yZXF1ZXN0X2FkZF9hY3RpdmVfYmFycmllcnMoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3BtdS5jCj4gaW5kZXggOWIwMmJlMGFkNGU2Li45NWU4MjRhNzhkNGQg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKPiBAQCAtMTkwLDcgKzE5MCw3IEBAIHN0YXRp YyB1NjQgZ2V0X3JjNihzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQo+ICAgCXZhbCA9IDA7Cj4gICAJaWYg KGludGVsX2d0X3BtX2dldF9pZl9hd2FrZShndCkpIHsKPiAgIAkJdmFsID0gX19nZXRfcmM2KGd0 KTsKPiAtCQlpbnRlbF9ndF9wbV9wdXQoZ3QpOwo+ICsJCWludGVsX2d0X3BtX3B1dF9hc3luYyhn dCk7Cj4gICAJfQo+ICAgCj4gICAJc3Bpbl9sb2NrX2lycXNhdmUoJnBtdS0+bG9jaywgZmxhZ3Mp Owo+IEBAIC0zNjAsNyArMzYwLDcgQEAgZW5naW5lc19zYW1wbGUoc3RydWN0IGludGVsX2d0ICpn dCwgdW5zaWduZWQgaW50IHBlcmlvZF9ucykKPiAgIHNraXA6Cj4gICAJCWlmICh1bmxpa2VseSht bWlvX2xvY2spKQo+ICAgCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShtbWlvX2xvY2ssIGZsYWdz KTsKPiAtCQlpbnRlbF9lbmdpbmVfcG1fcHV0KGVuZ2luZSk7Cj4gKwkJaW50ZWxfZW5naW5lX3Bt X3B1dF9hc3luYyhlbmdpbmUpOwo+ICAgCX0KPiAgIH0KPiAgIAo+IEBAIC0zOTgsNyArMzk4LDcg QEAgZnJlcXVlbmN5X3NhbXBsZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCB1bnNpZ25lZCBpbnQgcGVy aW9kX25zKQo+ICAgCQkJaWYgKHN0YXQpCj4gICAJCQkJdmFsID0gaW50ZWxfZ2V0X2NhZ2YocnBz LCBzdGF0KTsKPiAgIAo+IC0JCQlpbnRlbF9ndF9wbV9wdXQoZ3QpOwo+ICsJCQlpbnRlbF9ndF9w bV9wdXRfYXN5bmMoZ3QpOwo+ICAgCQl9Cj4gICAKPiAgIAkJYWRkX3NhbXBsZV9tdWx0KCZwbXUt PnNhbXBsZVtfX0k5MTVfU0FNUExFX0ZSRVFfQUNUXSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfd2FrZXJlZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf d2FrZXJlZi5jCj4gaW5kZXggODY4Y2M3ODA0OGQwLi45YjI5MTc2Y2MxY2EgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd2FrZXJlZi5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfd2FrZXJlZi5jCj4gQEAgLTU0LDcgKzU0LDggQEAgaW50IF9faW50 ZWxfd2FrZXJlZl9nZXRfZmlyc3Qoc3RydWN0IGludGVsX3dha2VyZWYgKndmKQo+ICAgCj4gICBz dGF0aWMgdm9pZCBfX19faW50ZWxfd2FrZXJlZl9wdXRfbGFzdChzdHJ1Y3QgaW50ZWxfd2FrZXJl ZiAqd2YpCj4gICB7Cj4gLQlpZiAoIWF0b21pY19kZWNfYW5kX3Rlc3QoJndmLT5jb3VudCkpCj4g KwlJTlRFTF9XQUtFUkVGX0JVR19PTihhdG9taWNfcmVhZCgmd2YtPmNvdW50KSA8PSAwKTsKPiAr CWlmICh1bmxpa2VseSghYXRvbWljX2RlY19hbmRfdGVzdCgmd2YtPmNvdW50KSkpCj4gICAJCWdv dG8gdW5sb2NrOwo+ICAgCj4gICAJLyogb3BzLT5wdXQoKSBtdXN0IHJlc2NoZWR1bGUgaXRzIG93 biByZWxlYXNlIG9uIGVycm9yL2RlZmVycmFsICovCj4gQEAgLTY3LDEzICs2OCwxMiBAQCBzdGF0 aWMgdm9pZCBfX19faW50ZWxfd2FrZXJlZl9wdXRfbGFzdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAq d2YpCj4gICAJbXV0ZXhfdW5sb2NrKCZ3Zi0+bXV0ZXgpOwo+ICAgfQo+ICAgCj4gLXZvaWQgX19p bnRlbF93YWtlcmVmX3B1dF9sYXN0KHN0cnVjdCBpbnRlbF93YWtlcmVmICp3ZikKPiArdm9pZCBf X2ludGVsX3dha2VyZWZfcHV0X2xhc3Qoc3RydWN0IGludGVsX3dha2VyZWYgKndmLCB1bnNpZ25l ZCBsb25nIGZsYWdzKQo+ICAgewo+ICAgCUlOVEVMX1dBS0VSRUZfQlVHX09OKHdvcmtfcGVuZGlu Zygmd2YtPndvcmspKTsKPiAgIAo+ICAgCS8qIEFzc3VtZSB3ZSBhcmUgbm90IGluIHByb2Nlc3Mg Y29udGV4dCBhbmQgc28gY2Fubm90IHNsZWVwLiAqLwo+IC0JaWYgKHdmLT5vcHMtPmZsYWdzICYg SU5URUxfV0FLRVJFRl9QVVRfQVNZTkMgfHwKPiAtCSAgICAhbXV0ZXhfdHJ5bG9jaygmd2YtPm11 dGV4KSkgewo+ICsJaWYgKGZsYWdzICYgSU5URUxfV0FLRVJFRl9QVVRfQVNZTkMgfHwgIW11dGV4 X3RyeWxvY2soJndmLT5tdXRleCkpIHsKPiAgIAkJc2NoZWR1bGVfd29yaygmd2YtPndvcmspOwo+ ICAgCQlyZXR1cm47Cj4gICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF93YWtlcmVmLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93YWtlcmVmLmgKPiBp bmRleCA1ZjBjOTcyYTgwZmIuLjY4OGI5YjUzNmE2OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF93YWtlcmVmLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF93YWtlcmVmLmgKPiBAQCAtOSw2ICs5LDcgQEAKPiAgIAo+ICAgI2luY2x1ZGUgPGxpbnV4 L2F0b21pYy5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L2JpdHMuaD4KPiArI2luY2x1ZGUgPGxpbnV4 L2xvY2tkZXAuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9tdXRleC5oPgo+ICAgI2luY2x1ZGUgPGxp bnV4L3JlZmNvdW50Lmg+Cj4gICAjaW5jbHVkZSA8bGludXgvc3RhY2tkZXBvdC5oPgo+IEBAIC0y OSw5ICszMCw2IEBAIHR5cGVkZWYgZGVwb3Rfc3RhY2tfaGFuZGxlX3QgaW50ZWxfd2FrZXJlZl90 Owo+ICAgc3RydWN0IGludGVsX3dha2VyZWZfb3BzIHsKPiAgIAlpbnQgKCpnZXQpKHN0cnVjdCBp bnRlbF93YWtlcmVmICp3Zik7Cj4gICAJaW50ICgqcHV0KShzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAq d2YpOwo+IC0KPiAtCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gLSNkZWZpbmUgSU5URUxfV0FLRVJF Rl9QVVRfQVNZTkMgQklUKDApCj4gICB9Owo+ICAgCj4gICBzdHJ1Y3QgaW50ZWxfd2FrZXJlZiB7 Cj4gQEAgLTU3LDcgKzU1LDcgQEAgdm9pZCBfX2ludGVsX3dha2VyZWZfaW5pdChzdHJ1Y3QgaW50 ZWxfd2FrZXJlZiAqd2YsCj4gICB9IHdoaWxlICgwKQo+ICAgCj4gICBpbnQgX19pbnRlbF93YWtl cmVmX2dldF9maXJzdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YpOwo+IC12b2lkIF9faW50ZWxf d2FrZXJlZl9wdXRfbGFzdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YpOwo+ICt2b2lkIF9faW50 ZWxfd2FrZXJlZl9wdXRfbGFzdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YsIHVuc2lnbmVkIGxv bmcgZmxhZ3MpOwo+ICAgCj4gICAvKioKPiAgICAqIGludGVsX3dha2VyZWZfZ2V0OiBBY3F1aXJl IHRoZSB3YWtlcmVmCj4gQEAgLTEwMCwxMCArOTgsOSBAQCBpbnRlbF93YWtlcmVmX2dldF9pZl9h Y3RpdmUoc3RydWN0IGludGVsX3dha2VyZWYgKndmKQo+ICAgfQo+ICAgCj4gICAvKioKPiAtICog aW50ZWxfd2FrZXJlZl9wdXQ6IFJlbGVhc2UgdGhlIHdha2VyZWYKPiAtICogQGk5MTU6IHRoZSBk cm1faTkxNV9wcml2YXRlIGRldmljZQo+ICsgKiBpbnRlbF93YWtlcmVmX3B1dF9mbGFnczogUmVs ZWFzZSB0aGUgd2FrZXJlZgo+ICAgICogQHdmOiB0aGUgd2FrZXJlZgo+IC0gKiBAZm46IGNhbGxi YWNrIGZvciByZWxlYXNpbmcgdGhlIHdha2VyZWYsIGNhbGxlZCBvbmx5IG9uIGZpbmFsIHJlbGVh c2UuCj4gKyAqIEBmbGFnczogY29udHJvbCBmbGFncwo+ICAgICoKPiAgICAqIFJlbGVhc2Ugb3Vy IGhvbGQgb24gdGhlIHdha2VyZWYuIFdoZW4gdGhlcmUgYXJlIG5vIG1vcmUgdXNlcnMsCj4gICAg KiB0aGUgcnVudGltZSBwbSB3YWtlcmVmIHdpbGwgYmUgcmVsZWFzZWQgYWZ0ZXIgdGhlIEBmbiBj YWxsYmFjayBpcyBjYWxsZWQKPiBAQCAtMTE2LDExICsxMTMsMjUgQEAgaW50ZWxfd2FrZXJlZl9n ZXRfaWZfYWN0aXZlKHN0cnVjdCBpbnRlbF93YWtlcmVmICp3ZikKPiAgICAqIGNvZGUgb3RoZXJ3 aXNlLgo+ICAgICovCj4gICBzdGF0aWMgaW5saW5lIHZvaWQKPiAtaW50ZWxfd2FrZXJlZl9wdXQo c3RydWN0IGludGVsX3dha2VyZWYgKndmKQo+ICtfX2ludGVsX3dha2VyZWZfcHV0KHN0cnVjdCBp bnRlbF93YWtlcmVmICp3ZiwgdW5zaWduZWQgbG9uZyBmbGFncykKPiArI2RlZmluZSBJTlRFTF9X QUtFUkVGX1BVVF9BU1lOQyBCSVQoMCkKPiAgIHsKPiAgIAlJTlRFTF9XQUtFUkVGX0JVR19PTihh dG9taWNfcmVhZCgmd2YtPmNvdW50KSA8PSAwKTsKPiAgIAlpZiAodW5saWtlbHkoIWF0b21pY19h ZGRfdW5sZXNzKCZ3Zi0+Y291bnQsIC0xLCAxKSkpCj4gLQkJX19pbnRlbF93YWtlcmVmX3B1dF9s YXN0KHdmKTsKPiArCQlfX2ludGVsX3dha2VyZWZfcHV0X2xhc3Qod2YsIGZsYWdzKTsKPiArfQo+ ICsKPiArc3RhdGljIGlubGluZSB2b2lkCj4gK2ludGVsX3dha2VyZWZfcHV0KHN0cnVjdCBpbnRl bF93YWtlcmVmICp3ZikKPiArewo+ICsJbWlnaHRfc2xlZXAoKTsKPiArCV9faW50ZWxfd2FrZXJl Zl9wdXQod2YsIDApOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQKPiAraW50ZWxfd2Fr ZXJlZl9wdXRfYXN5bmMoc3RydWN0IGludGVsX3dha2VyZWYgKndmKQo+ICt7Cj4gKwlfX2ludGVs X3dha2VyZWZfcHV0KHdmLCBJTlRFTF9XQUtFUkVGX1BVVF9BU1lOQyk7Cj4gICB9Cj4gICAKPiAg IC8qKgo+IEBAIC0xNTEsNiArMTYyLDIwIEBAIGludGVsX3dha2VyZWZfdW5sb2NrKHN0cnVjdCBp bnRlbF93YWtlcmVmICp3ZikKPiAgIAltdXRleF91bmxvY2soJndmLT5tdXRleCk7Cj4gICB9Cj4g ICAKPiArLyoqCj4gKyAqIGludGVsX3dha2VyZWZfdW5sb2NrX3dhaXQ6IFdhaXQgdW50aWwgdGhl IGFjdGl2ZSBjYWxsYmFjayBpcyBjb21wbGV0ZQo+ICsgKiBAd2Y6IHRoZSB3YWtlcmVmCj4gKyAq Cj4gKyAqIFdhaXRzIGZvciB0aGUgYWN0aXZlIGNhbGxiYWNrICh1bmRlciB0aGUgQHdmLT5tdHVl eCkgaXMgY29tcGxldGUuCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIHZvaWQKPiAraW50ZWxfd2Fr ZXJlZl91bmxvY2tfd2FpdChzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YpCj4gK3sKPiArCW11dGV4 X2xvY2soJndmLT5tdXRleCk7Cj4gKwltdXRleF91bmxvY2soJndmLT5tdXRleCk7Cj4gKwlmbHVz aF93b3JrKCZ3Zi0+d29yayk7Cj4gK30KPiArCj4gICAvKioKPiAgICAqIGludGVsX3dha2VyZWZf aXNfYWN0aXZlOiBRdWVyeSB3aGV0aGVyIHRoZSB3YWtlcmVmIGlzIGN1cnJlbnRseSBoZWxkCj4g ICAgKiBAd2Y6IHRoZSB3YWtlcmVmCj4gQEAgLTE3MCw2ICsxOTUsNyBAQCBpbnRlbF93YWtlcmVm X2lzX2FjdGl2ZShjb25zdCBzdHJ1Y3QgaW50ZWxfd2FrZXJlZiAqd2YpCj4gICBzdGF0aWMgaW5s aW5lIHZvaWQKPiAgIF9faW50ZWxfd2FrZXJlZl9kZWZlcl9wYXJrKHN0cnVjdCBpbnRlbF93YWtl cmVmICp3ZikKPiAgIHsKPiArCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJndmLT5tdXRleCk7Cj4gICAJ SU5URUxfV0FLRVJFRl9CVUdfT04oYXRvbWljX3JlYWQoJndmLT5jb3VudCkpOwo+ICAgCWF0b21p Y19zZXRfcmVsZWFzZSgmd2YtPmNvdW50LCAxKTsKPiAgIH0KPiAKClJlZ2FyZHMsCgpUdnJ0a28K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4