From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 2/2] drm/i915: Use rcu instead of stop_machine in set_wedged Date: Tue, 10 Oct 2017 12:50:45 +0300 Message-ID: <87r2ubjpqi.fsf@gaia.fi.intel.com> References: <20171009164401.16035-1-daniel.vetter@ffwll.ch> <20171009164401.16035-2-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1432E6E1A3 for ; Tue, 10 Oct 2017 09:50:50 +0000 (UTC) In-Reply-To: <20171009164401.16035-2-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel Graphics Development Cc: Daniel Vetter , Daniel Vetter , Thomas Gleixner List-Id: intel-gfx@lists.freedesktop.org RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4gd3JpdGVzOgoKPiBzdG9wX21h Y2hpbmUgaXMgbm90IHJlYWxseSBhIGxvY2tpbmcgcHJpbWl0aXZlIHdlIHNob3VsZCB1c2UsIGV4 Y2VwdAo+IHdoZW4gdGhlIGh3IGZvbGtzIHRlbGwgdXMgdGhlIGh3IGlzIGJyb2tlbiBhbmQgdGhh dCdzIHRoZSBvbmx5IHdheSB0bwo+IHdvcmsgYXJvdW5kIGl0Lgo+Cj4gVGhpcyBwYXRjaCB0cmll cyB0byBhZGRyZXNzIHRoZSBsb2NraW5nIGFidXNlIG9mIHN0b3BfbWFjaGluZSgpIGZyb20KPgo+ IGNvbW1pdCAyMGU0OTMzYzQ3OGExY2E2OTRiMzhmYTRhYzQ0ZDk5ZTY1OTk0MWY1Cj4gQXV0aG9y OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBEYXRlOiAgIFR1ZSBO b3YgMjIgMTQ6NDE6MjEgMjAxNiArMDAwMAo+Cj4gICAgIGRybS9pOTE1OiBTdG9wIHRoZSBtYWNo aW5lIGFzIHdlIGluc3RhbGwgdGhlIHdlZGdlZCBzdWJtaXRfcmVxdWVzdCBoYW5kbGVyCj4KPiBD aHJpcyBzYWlkIHBhcnRzIG9mIHRoZSByZWFzb25zIGZvciBnb2luZyB3aXRoIHN0b3BfbWFjaGlu ZSgpIHdhcyB0aGF0Cj4gaXQncyBubyBvdmVyaGVhZCBmb3IgdGhlIGZhc3QtcGF0aC4gQnV0IHRo ZXNlIGNhbGxiYWNrcyB1c2UgaXJxc2F2ZQo+IHNwaW5sb2NrcyBhbmQgZG8gYSBidW5jaCBvZiBN TUlPLCBhbmQgcmN1X3JlYWRfbG9jayBpcyBfcmVhbF8gZmFzdC4KPgo+IFRvIHN0YXkgYXMgY2xv c2UgYXMgcG9zc2libGUgdG8gdGhlIHN0b3BfbWFjaGluZSBzZW1hbnRpY3Mgd2UgZmlyc3QKPiB1 cGRhdGUgYWxsIHRoZSBzdWJtaXQgZnVuY3Rpb24gcG9pbnRlcnMgdG8gdGhlIG5vcCBoYW5kbGVy LCB0aGVuIGNhbGwKPiBzeW5jaHJvbml6ZV9yY3UoKSB0byBtYWtlIHN1cmUgbm8gbmV3IHJlcXVl c3RzIGNhbiBiZSBzdWJtaXR0ZWQuIFRoaXMKPiBzaG91bGQgZ2l2ZSB1cyBleGFjdGx5IHRoZSBo dWdlIGJhcnJpZXIgd2Ugd2FudC4KPgo+IEkgcG9uZGVyZWQgd2hldGhlciB3ZSBzaG91bGQgYW5u b3RhdGUgZW5naW5lLT5zdWJtaXRfcmVxdWVzdCBhcyBfX3JjdQo+IGFuZCB1c2UgcmN1X2Fzc2ln bl9wb2ludGVyIGFuZCByY3VfZGVyZWZlcmVuY2Ugb24gaXQuIEJ1dCB0aGUgcmVhc29uCj4gYmVo aW5kIHRob3NlIGlzIHRvIG1ha2Ugc3VyZSB0aGUgY29tcGlsZXIvY3B1IGJhcnJpZXJzIGFyZSB0 aGVyZSBmb3IKPiB3aGVuIHlvdSBoYXZlIGFuIGFjdHVhbCBkYXRhIHN0cnVjdHVyZSB5b3UgcG9p bnQgYXQsIHRvIG1ha2Ugc3VyZSBhbGwKPiB0aGUgd3JpdGVzIGFyZSBzZWVuIGNvcnJlY3RseSBv biB0aGUgcmVhZCBzaWRlLiBCdXQgd2UganVzdCBoYXZlIGEKPiBmdW5jdGlvbiBwb2ludGVyLCBh bmQgLnRleHQgaXNuJ3QgY2hhbmdlZCwgc28gbm8gbmVlZCBmb3IgdGhlc2UKPiBiYXJyaWVycyBh bmQgaGVuY2Ugbm8gbmVlZCBmb3IgYW5ub3RhdGlvbnMuCj4KPiBVbmZvcnR1bmF0ZWx5IHRoZXJl J3MgYSBjb21wbGljYXRpb24gd2l0aCB0aGUgY2FsbCB0bwo+IGludGVsX2VuZ2luZV9pbml0X2ds b2JhbF9zZXFubzoKPgo+IC0gV2l0aG91dCBzdG9wX21hY2hpbmUgd2UgbXVzdCBob2xkIHRoZSBj b3JyZXNwb25kaW5nIHNwaW5sb2NrLgo+Cj4gLSBXaXRob3V0IHN0b3BfbWFjaGluZSB3ZSBtdXN0 IGVuc3VyZSB0aGF0IGFsbCByZXF1ZXN0cyBhcmUgbWFya2VkIGFzCj4gICBoYXZpbmcgZmFpbGVk IHdpdGggZG1hX2ZlbmNlX3NldF9lcnJvcigpIGJlZm9yZSB3ZSBjYWxsIGl0LiBUaGF0Cj4gICBt ZWFucyB3ZSBuZWVkIHRvIHNwbGl0IHRoZSBub3AgcmVxdWVzdCBzdWJtaXNzaW9uIGludG8gdHdv IHBoYXNlcywKPiAgIGJvdGggc3luY2hyb25pemVkIHdpdGggcmN1Ogo+Cj4gICAxLiBPbmx5IHN0 b3Agc3VibWl0dGluZyB0aGUgcmVxdWVzdHMgdG8gaHcgYW5kIG1hcmsgdGhlbSBhcyBmYWlsZWQu Cj4KPiAgIDIuIEFmdGVyIGFsbCBwZW5kaW5nIHJlcXVlc3RzIGluIHRoZSBzY2hlZHVsZXIvcmlu ZyBhcmUgc3VpdGFibHkKPiAgIG1hcmtlZCB1cCBhcyBmYWlsZWQgYW5kIHdlIGNhbiBmb3JjZSBj b21wbGV0ZSB0aGVtIGFsbCwgYWxzbyBmb3JjZQo+ICAgY29tcGxldGUgYnkgY2FsbGluZyBpbnRl bF9lbmdpbmVfaW5pdF9nbG9iYWxfc2Vxbm8oKS4KPgo+IFRoaXMgc2hvdWxkIGZpeCB0aGUgZm9s bG93d2luZyBsb2NrZGVwIHNwbGF0Ogo+Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Cj4gV0FSTklORzogcG9zc2libGUgY2lyY3VsYXIgbG9j a2luZyBkZXBlbmRlbmN5IGRldGVjdGVkCj4gNC4xNC4wLXJjMy1DSS1DSV9EUk1fMzE3OSsgIzEg VGFpbnRlZDogRyAgICAgVQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+IGt3b3JrZXIvMzo0LzU2MiBpcyB0cnlpbmcgdG8gYWNxdWlyZSBs b2NrOgo+ICAoY3B1X2hvdHBsdWdfbG9jay5yd19zZW0peysrKyt9LCBhdDogWzxmZmZmZmZmZjgx MTNkNGJjPl0gc3RvcF9tYWNoaW5lKzB4MWMvMHg0MAo+Cj4gYnV0IHRhc2sgaXMgYWxyZWFkeSBo b2xkaW5nIGxvY2s6Cj4gICgmZGV2LT5zdHJ1Y3RfbXV0ZXgpeysuKy59LCBhdDogWzxmZmZmZmZm ZmEwMTM2NTg4Pl0gaTkxNV9yZXNldF9kZXZpY2UrMHgxZTgvMHgyNjAgW2k5MTVdCj4KPiB3aGlj aCBsb2NrIGFscmVhZHkgZGVwZW5kcyBvbiB0aGUgbmV3IGxvY2suCj4KPiB0aGUgZXhpc3Rpbmcg ZGVwZW5kZW5jeSBjaGFpbiAoaW4gcmV2ZXJzZSBvcmRlcikgaXM6Cj4KPiAtPiAjNiAoJmRldi0+ c3RydWN0X211dGV4KXsrLisufToKPiAgICAgICAgX19sb2NrX2FjcXVpcmUrMHgxNDIwLzB4MTVl MAo+ICAgICAgICBsb2NrX2FjcXVpcmUrMHhiMC8weDIwMAo+ICAgICAgICBfX211dGV4X2xvY2sr MHg4Ni8weDliMAo+ICAgICAgICBtdXRleF9sb2NrX2ludGVycnVwdGlibGVfbmVzdGVkKzB4MWIv MHgyMAo+ICAgICAgICBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZSsweDUxLzB4MTMwIFtp OTE1XQo+ICAgICAgICBpOTE1X2dlbV9mYXVsdCsweDIwOS8weDY1MCBbaTkxNV0KPiAgICAgICAg X19kb19mYXVsdCsweDFlLzB4ODAKPiAgICAgICAgX19oYW5kbGVfbW1fZmF1bHQrMHhhMDgvMHhl ZDAKPiAgICAgICAgaGFuZGxlX21tX2ZhdWx0KzB4MTU2LzB4MzAwCj4gICAgICAgIF9fZG9fcGFn ZV9mYXVsdCsweDJjNS8weDU3MAo+ICAgICAgICBkb19wYWdlX2ZhdWx0KzB4MjgvMHgyNTAKPiAg ICAgICAgcGFnZV9mYXVsdCsweDIyLzB4MzAKPgo+IC0+ICM1ICgmbW0tPm1tYXBfc2VtKXsrKysr fToKPiAgICAgICAgX19sb2NrX2FjcXVpcmUrMHgxNDIwLzB4MTVlMAo+ICAgICAgICBsb2NrX2Fj cXVpcmUrMHhiMC8weDIwMAo+ICAgICAgICBfX21pZ2h0X2ZhdWx0KzB4NjgvMHg5MAo+ICAgICAg ICBfY29weV90b191c2VyKzB4MjMvMHg3MAo+ICAgICAgICBmaWxsZGlyKzB4YTUvMHgxMjAKPiAg ICAgICAgZGNhY2hlX3JlYWRkaXIrMHhmOS8weDE3MAo+ICAgICAgICBpdGVyYXRlX2RpcisweDY5 LzB4MWEwCj4gICAgICAgIFN5U19nZXRkZW50cysweGE1LzB4MTQwCj4gICAgICAgIGVudHJ5X1NZ U0NBTExfNjRfZmFzdHBhdGgrMHgxYy8weGIxCj4KPiAtPiAjNCAoJnNiLT5zX3R5cGUtPmlfbXV0 ZXhfa2V5IzUpeysrKyt9Ogo+ICAgICAgICBkb3duX3dyaXRlKzB4M2IvMHg3MAo+ICAgICAgICBo YW5kbGVfY3JlYXRlKzB4Y2IvMHgxZTAKPiAgICAgICAgZGV2dG1wZnNkKzB4MTM5LzB4MTgwCj4g ICAgICAgIGt0aHJlYWQrMHgxNTIvMHgxOTAKPiAgICAgICAgcmV0X2Zyb21fZm9yaysweDI3LzB4 NDAKPgo+IC0+ICMzICgoY29tcGxldGUpJnJlcS5kb25lKXsrLisufToKPiAgICAgICAgX19sb2Nr X2FjcXVpcmUrMHgxNDIwLzB4MTVlMAo+ICAgICAgICBsb2NrX2FjcXVpcmUrMHhiMC8weDIwMAo+ ICAgICAgICB3YWl0X2Zvcl9jb21tb24rMHg1OC8weDIxMAo+ICAgICAgICB3YWl0X2Zvcl9jb21w bGV0aW9uKzB4MWQvMHgyMAo+ICAgICAgICBkZXZ0bXBmc19jcmVhdGVfbm9kZSsweDEzZC8weDE2 MAo+ICAgICAgICBkZXZpY2VfYWRkKzB4NWViLzB4NjIwCj4gICAgICAgIGRldmljZV9jcmVhdGVf Z3JvdXBzX3ZhcmdzKzB4ZTAvMHhmMAo+ICAgICAgICBkZXZpY2VfY3JlYXRlKzB4M2EvMHg0MAo+ ICAgICAgICBtc3JfZGV2aWNlX2NyZWF0ZSsweDJiLzB4NDAKPiAgICAgICAgY3B1aHBfaW52b2tl X2NhbGxiYWNrKzB4YzkvMHhiZjAKPiAgICAgICAgY3B1aHBfdGhyZWFkX2Z1bisweDE3Yi8weDI0 MAo+ICAgICAgICBzbXBib290X3RocmVhZF9mbisweDE4YS8weDI4MAo+ICAgICAgICBrdGhyZWFk KzB4MTUyLzB4MTkwCj4gICAgICAgIHJldF9mcm9tX2ZvcmsrMHgyNy8weDQwCj4KPiAtPiAjMiAo Y3B1aHBfc3RhdGUtdXApeysuKy59Ogo+ICAgICAgICBfX2xvY2tfYWNxdWlyZSsweDE0MjAvMHgx NWUwCj4gICAgICAgIGxvY2tfYWNxdWlyZSsweGIwLzB4MjAwCj4gICAgICAgIGNwdWhwX2lzc3Vl X2NhbGwrMHgxMzMvMHgxYzAKPiAgICAgICAgX19jcHVocF9zZXR1cF9zdGF0ZV9jcHVzbG9ja2Vk KzB4MTM5LzB4MmEwCj4gICAgICAgIF9fY3B1aHBfc2V0dXBfc3RhdGUrMHg0Ni8weDYwCj4gICAg ICAgIHBhZ2Vfd3JpdGViYWNrX2luaXQrMHg0My8weDY3Cj4gICAgICAgIHBhZ2VjYWNoZV9pbml0 KzB4M2QvMHg0Mgo+ICAgICAgICBzdGFydF9rZXJuZWwrMHgzYTgvMHgzZmMKPiAgICAgICAgeDg2 XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucysweDJhLzB4MmMKPiAgICAgICAgeDg2XzY0X3N0YXJ0X2tl cm5lbCsweDZkLzB4NzAKPiAgICAgICAgdmVyaWZ5X2NwdSsweDAvMHhmYgo+Cj4gLT4gIzEgKGNw dWhwX3N0YXRlX211dGV4KXsrLisufToKPiAgICAgICAgX19sb2NrX2FjcXVpcmUrMHgxNDIwLzB4 MTVlMAo+ICAgICAgICBsb2NrX2FjcXVpcmUrMHhiMC8weDIwMAo+ICAgICAgICBfX211dGV4X2xv Y2srMHg4Ni8weDliMAo+ICAgICAgICBtdXRleF9sb2NrX25lc3RlZCsweDFiLzB4MjAKPiAgICAg ICAgX19jcHVocF9zZXR1cF9zdGF0ZV9jcHVzbG9ja2VkKzB4NTMvMHgyYTAKPiAgICAgICAgX19j cHVocF9zZXR1cF9zdGF0ZSsweDQ2LzB4NjAKPiAgICAgICAgcGFnZV9hbGxvY19pbml0KzB4Mjgv MHgzMAo+ICAgICAgICBzdGFydF9rZXJuZWwrMHgxNDUvMHgzZmMKPiAgICAgICAgeDg2XzY0X3N0 YXJ0X3Jlc2VydmF0aW9ucysweDJhLzB4MmMKPiAgICAgICAgeDg2XzY0X3N0YXJ0X2tlcm5lbCsw eDZkLzB4NzAKPiAgICAgICAgdmVyaWZ5X2NwdSsweDAvMHhmYgo+Cj4gLT4gIzAgKGNwdV9ob3Rw bHVnX2xvY2sucndfc2VtKXsrKysrfToKPiAgICAgICAgY2hlY2tfcHJldl9hZGQrMHg0MzAvMHg4 NDAKPiAgICAgICAgX19sb2NrX2FjcXVpcmUrMHgxNDIwLzB4MTVlMAo+ICAgICAgICBsb2NrX2Fj cXVpcmUrMHhiMC8weDIwMAo+ICAgICAgICBjcHVzX3JlYWRfbG9jaysweDNkLzB4YjAKPiAgICAg ICAgc3RvcF9tYWNoaW5lKzB4MWMvMHg0MAo+ICAgICAgICBpOTE1X2dlbV9zZXRfd2VkZ2VkKzB4 MWEvMHgyMCBbaTkxNV0KPiAgICAgICAgaTkxNV9yZXNldCsweGI5LzB4MjMwIFtpOTE1XQo+ICAg ICAgICBpOTE1X3Jlc2V0X2RldmljZSsweDFmNi8weDI2MCBbaTkxNV0KPiAgICAgICAgaTkxNV9o YW5kbGVfZXJyb3IrMHgyZDgvMHg0MzAgW2k5MTVdCj4gICAgICAgIGhhbmdjaGVja19kZWNsYXJl X2hhbmcrMHhkMy8weGYwIFtpOTE1XQo+ICAgICAgICBpOTE1X2hhbmdjaGVja19lbGFwc2VkKzB4 MjYyLzB4MmQwIFtpOTE1XQo+ICAgICAgICBwcm9jZXNzX29uZV93b3JrKzB4MjMzLzB4NjYwCj4g ICAgICAgIHdvcmtlcl90aHJlYWQrMHg0ZS8weDNiMAo+ICAgICAgICBrdGhyZWFkKzB4MTUyLzB4 MTkwCj4gICAgICAgIHJldF9mcm9tX2ZvcmsrMHgyNy8weDQwCj4KPiBvdGhlciBpbmZvIHRoYXQg bWlnaHQgaGVscCB1cyBkZWJ1ZyB0aGlzOgo+Cj4gQ2hhaW4gZXhpc3RzIG9mOgo+ICAgY3B1X2hv dHBsdWdfbG9jay5yd19zZW0gLS0+ICZtbS0+bW1hcF9zZW0gLS0+ICZkZXYtPnN0cnVjdF9tdXRl eAo+Cj4gIFBvc3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5hcmlvOgo+Cj4gICAgICAgIENQVTAg ICAgICAgICAgICAgICAgICAgIENQVTEKPiAgICAgICAgLS0tLSAgICAgICAgICAgICAgICAgICAg LS0tLQo+ICAgbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsb2NrKCZtbS0+bW1hcF9zZW0pOwo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gICBsb2NrKGNwdV9ob3RwbHVnX2xv Y2sucndfc2VtKTsKPgo+ICAqKiogREVBRExPQ0sgKioqCj4KPiAzIGxvY2tzIGhlbGQgYnkga3dv cmtlci8zOjQvNTYyOgo+ICAjMDogICgiZXZlbnRzX2xvbmciKXsrLisufSwgYXQ6IFs8ZmZmZmZm ZmY4MTA5YzY0YT5dIHByb2Nlc3Nfb25lX3dvcmsrMHgxYWEvMHg2NjAKPiAgIzE6ICAoKCYoJmk5 MTUtPmdwdV9lcnJvci5oYW5nY2hlY2tfd29yayktPndvcmspKXsrLisufSwgYXQ6IFs8ZmZmZmZm ZmY4MTA5YzY0YT5dIHByb2Nlc3Nfb25lX3dvcmsrMHgxYWEvMHg2NjAKPiAgIzI6ICAoJmRldi0+ c3RydWN0X211dGV4KXsrLisufSwgYXQ6IFs8ZmZmZmZmZmZhMDEzNjU4OD5dIGk5MTVfcmVzZXRf ZGV2aWNlKzB4MWU4LzB4MjYwIFtpOTE1XQo+Cj4gc3RhY2sgYmFja3RyYWNlOgo+IENQVTogMyBQ SUQ6IDU2MiBDb21tOiBrd29ya2VyLzM6NCBUYWludGVkOiBHICAgICBVICAgICAgICAgIDQuMTQu MC1yYzMtQ0ktQ0lfRFJNXzMxNzkrICMxCj4gSGFyZHdhcmUgbmFtZTogICAgICAgICAgICAgICAg ICAvTlVDN2k1Qk5CLCBCSU9TIEJOS0JMMzU3Ljg2QS4wMDQ4LjIwMTcuMDcwNC4xNDE1IDA3LzA0 LzIwMTcKPiBXb3JrcXVldWU6IGV2ZW50c19sb25nIGk5MTVfaGFuZ2NoZWNrX2VsYXBzZWQgW2k5 MTVdCj4gQ2FsbCBUcmFjZToKPiAgZHVtcF9zdGFjaysweDY4LzB4OWYKPiAgcHJpbnRfY2lyY3Vs YXJfYnVnKzB4MjM1LzB4M2MwCj4gID8gbG9ja2RlcF9pbml0X21hcF9jcm9zc2xvY2srMHgyMC8w eDIwCj4gIGNoZWNrX3ByZXZfYWRkKzB4NDMwLzB4ODQwCj4gID8gaXJxX3dvcmtfcXVldWUrMHg4 Ni8weGUwCj4gID8gd2FrZV91cF9rbG9nZCsweDUzLzB4NzAKPiAgX19sb2NrX2FjcXVpcmUrMHgx NDIwLzB4MTVlMAo+ICA/IF9fbG9ja19hY3F1aXJlKzB4MTQyMC8weDE1ZTAKPiAgPyBsb2NrZGVw X2luaXRfbWFwX2Nyb3NzbG9jaysweDIwLzB4MjAKPiAgbG9ja19hY3F1aXJlKzB4YjAvMHgyMDAK PiAgPyBzdG9wX21hY2hpbmUrMHgxYy8weDQwCj4gID8gaTkxNV9nZW1fb2JqZWN0X3RydW5jYXRl KzB4NTAvMHg1MCBbaTkxNV0KPiAgY3B1c19yZWFkX2xvY2srMHgzZC8weGIwCj4gID8gc3RvcF9t YWNoaW5lKzB4MWMvMHg0MAo+ICBzdG9wX21hY2hpbmUrMHgxYy8weDQwCj4gIGk5MTVfZ2VtX3Nl dF93ZWRnZWQrMHgxYS8weDIwIFtpOTE1XQo+ICBpOTE1X3Jlc2V0KzB4YjkvMHgyMzAgW2k5MTVd Cj4gIGk5MTVfcmVzZXRfZGV2aWNlKzB4MWY2LzB4MjYwIFtpOTE1XQo+ICA/IGdlbjhfZ3RfaXJx X2FjaysweDE3MC8weDE3MCBbaTkxNV0KPiAgPyB3b3JrX29uX2NwdV9zYWZlKzB4NjAvMHg2MAo+ ICBpOTE1X2hhbmRsZV9lcnJvcisweDJkOC8weDQzMCBbaTkxNV0KPiAgPyB2c25wcmludGYrMHhk MS8weDRiMAo+ICA/IHNjbnByaW50ZisweDNhLzB4NzAKPiAgaGFuZ2NoZWNrX2RlY2xhcmVfaGFu ZysweGQzLzB4ZjAgW2k5MTVdCj4gID8gaW50ZWxfcnVudGltZV9wbV9wdXQrMHg1Ni8weGEwIFtp OTE1XQo+ICBpOTE1X2hhbmdjaGVja19lbGFwc2VkKzB4MjYyLzB4MmQwIFtpOTE1XQo+ICBwcm9j ZXNzX29uZV93b3JrKzB4MjMzLzB4NjYwCj4gIHdvcmtlcl90aHJlYWQrMHg0ZS8weDNiMAo+ICBr dGhyZWFkKzB4MTUyLzB4MTkwCj4gID8gcHJvY2Vzc19vbmVfd29yaysweDY2MC8weDY2MAo+ICA/ IGt0aHJlYWRfY3JlYXRlX29uX25vZGUrMHg0MC8weDQwCj4gIHJldF9mcm9tX2ZvcmsrMHgyNy8w eDQwCj4gU2V0dGluZyBkYW5nZXJvdXMgb3B0aW9uIHJlc2V0IC0gdGFpbnRpbmcga2VybmVsCj4g aTkxNSAwMDAwOjAwOjAyLjA6IFJlc2V0dGluZyBjaGlwIGFmdGVyIGdwdSBoYW5nCj4gU2V0dGlu ZyBkYW5nZXJvdXMgb3B0aW9uIHJlc2V0IC0gdGFpbnRpbmcga2VybmVsCj4gaTkxNSAwMDAwOjAw OjAyLjA6IFJlc2V0dGluZyBjaGlwIGFmdGVyIGdwdSBoYW5nCj4KPiB2MjogSGF2ZSAxIGdsb2Jh bCBzeW5jaHJvbml6ZV9yY3UoKSBiYXJyaWVyIGFjcm9zcyBhbGwgZW5naW5lcywgYW5kCj4gaW1w cm92ZSBjb21taXQgbWVzc2FnZS4KPgo+IHYzOiBXZSBuZWVkIHRvIHByb3RlY3QgdGhlIHNlcW5v IHVwZGF0ZSB3aXRoIHRoZSB0aW1lbGluZSBzcGlubG9jayAoaW4KPiBzZXRfd2VkZ2VkKSB0byBh dm9pZCByYWNpbmcgd2l0aCBvdGhlciB1cGRhdGVzIG9mIHRoZSBzZXFubywgbGlrZSB3ZQo+IGFs cmVhZHkgZG8gaW4gbm9wX3N1Ym1pdF9yZXF1ZXN0IChDaHJpcykuCj4KPiB2NDogVXNlIHR3by1w aGFzZSBzZXF1ZW5jZSB0byBwbHVnIHRoZSByYWNlIENocmlzIHNwb3R0ZWQgd2hlcmUgd2UgY2Fu Cj4gY29tcGxldGUgcmVxdWVzdHMgYmVmb3JlIHRoZXkncmUgbWFya2VkIHVwIHdpdGggLUVJTy4K Pgo+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9p ZD0xMDI4ODYKPiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1 Zy5jZ2k/aWQ9MTAzMDk2Cj4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgo+IENjOiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KPiBDYzog VGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+Cj4gQ2M6IE1hcnRhIExvZnN0ZWR0 IDxtYXJ0YS5sb2ZzdGVkdEBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMgICAgICAgICAgICAgICAgICAgfCA3NiArKysrKysrKysrKysrKystLS0tLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgICAgICAgICAgIHwg IDIgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fcmVxdWVzdC5j IHwgIDIgKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9u cygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gaW5kZXggODJhMTAwMzZmYjM4Li44ZDdk OGQxZjc4ZGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtMzA1Nyw0OSArMzA1 Nyw3MSBAQCBzdGF0aWMgdm9pZCBub3Bfc3VibWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAKPiAgCXNwaW5fbG9ja19pcnFzYXZlKCZyZXF1ZXN0LT5l bmdpbmUtPnRpbWVsaW5lLT5sb2NrLCBmbGFncyk7Cj4gIAlfX2k5MTVfZ2VtX3JlcXVlc3Rfc3Vi bWl0KHJlcXVlc3QpOwo+IC0JaW50ZWxfZW5naW5lX2luaXRfZ2xvYmFsX3NlcW5vKHJlcXVlc3Qt PmVuZ2luZSwgcmVxdWVzdC0+Z2xvYmFsX3NlcW5vKTsKPiAgCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJnJlcXVlc3QtPmVuZ2luZS0+dGltZWxpbmUtPmxvY2ssIGZsYWdzKTsKPiAgfQo+ICAKPiAt c3RhdGljIHZvaWQgZW5naW5lX3NldF93ZWRnZWQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQo+ICtzdGF0aWMgdm9pZCBub3BfY29tcGxldGVfc3VibWl0X3JlcXVlc3Qoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICB7Cj4gLQkvKiBXZSBuZWVkIHRvIGJlIHN1 cmUgdGhhdCBubyB0aHJlYWQgaXMgcnVubmluZyB0aGUgb2xkIGNhbGxiYWNrIGFzCj4gLQkgKiB3 ZSBpbnN0YWxsIHRoZSBub3AgaGFuZGxlciAob3RoZXJ3aXNlIHdlIHdvdWxkIHN1Ym1pdCBhIHJl cXVlc3QKPiAtCSAqIHRvIGhhcmR3YXJlIHRoYXQgd2lsbCBuZXZlciBjb21wbGV0ZSkuIEluIG9y ZGVyIHRvIHByZXZlbnQgdGhpcwo+IC0JICogcmFjZSwgd2Ugd2FpdCB1bnRpbCB0aGUgbWFjaGlu ZSBpcyBpZGxlIGJlZm9yZSBtYWtpbmcgdGhlIHN3YXAKPiAtCSAqICh1c2luZyBzdG9wX21hY2hp bmUoKSkuCj4gLQkgKi8KPiAtCWVuZ2luZS0+c3VibWl0X3JlcXVlc3QgPSBub3Bfc3VibWl0X3Jl cXVlc3Q7Cj4gKwl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICAKPiAtCS8qIE1hcmsgYWxsIGV4ZWN1 dGluZyByZXF1ZXN0cyBhcyBza2lwcGVkICovCj4gLQllbmdpbmUtPmNhbmNlbF9yZXF1ZXN0cyhl bmdpbmUpOwo+ICsJR0VNX0JVR19PTighaTkxNV90ZXJtaW5hbGx5X3dlZGdlZCgmcmVxdWVzdC0+ aTkxNS0+Z3B1X2Vycm9yKSk7Cj4gKwlkbWFfZmVuY2Vfc2V0X2Vycm9yKCZyZXF1ZXN0LT5mZW5j ZSwgLUVJTyk7Cj4gIAo+IC0JLyogTWFyayBhbGwgcGVuZGluZyByZXF1ZXN0cyBhcyBjb21wbGV0 ZSBzbyB0aGF0IGFueSBjb25jdXJyZW50Cj4gLQkgKiAobG9ja2xlc3MpIGxvb2t1cCBkb2Vzbid0 IHRyeSBhbmQgd2FpdCB1cG9uIHRoZSByZXF1ZXN0IGFzIHdlCj4gLQkgKiByZXNldCBpdC4KPiAt CSAqLwo+IC0JaW50ZWxfZW5naW5lX2luaXRfZ2xvYmFsX3NlcW5vKGVuZ2luZSwKPiAtCQkJCSAg ICAgICBpbnRlbF9lbmdpbmVfbGFzdF9zdWJtaXQoZW5naW5lKSk7Cj4gKwlzcGluX2xvY2tfaXJx c2F2ZSgmcmVxdWVzdC0+ZW5naW5lLT50aW1lbGluZS0+bG9jaywgZmxhZ3MpOwo+ICsJX19pOTE1 X2dlbV9yZXF1ZXN0X3N1Ym1pdChyZXF1ZXN0KTsKPiArCWludGVsX2VuZ2luZV9pbml0X2dsb2Jh bF9zZXFubyhyZXF1ZXN0LT5lbmdpbmUsIHJlcXVlc3QtPmdsb2JhbF9zZXFubyk7Cj4gKwlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZyZXF1ZXN0LT5lbmdpbmUtPnRpbWVsaW5lLT5sb2NrLCBmbGFn cyk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbnQgX19pOTE1X2dlbV9zZXRfd2VkZ2VkX0JLTCh2b2lk ICpkYXRhKQo+ICt2b2lkIGk5MTVfZ2VtX3NldF93ZWRnZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZGF0YTsK PiAgCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKPiAgCWVudW0gaW50ZWxfZW5naW5l X2lkIGlkOwo+ICAKPiArCS8qIEZpcnN0LCBzdG9wIHN1Ym1pc3Npb24gdG8gaHcsIGJ1dCBkbyBu b3QgeWV0IGNvbXBsZXRlIHJlcXVlc3RzIGJ5Cj4gKwkgKiByb2xsaW5nIHRoZSBnbG9iYWwgc2Vx bm8gZm9yd2FyZCAoc2luY2UgdGhpcyB3b3VsZCBjb21wbGV0ZSByZXF1ZXN0cwo+ICsJICogZm9y IHdoaWNoIHdlIGhhdmVuJ3Qgc2V0IHRoZSBmZW5jZSBlcnJvciB0byBFSU8geWV0KS4KPiArCSAq Lwo+ICAJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpCj4gLQkJZW5naW5lX3NldF93 ZWRnZWQoZW5naW5lKTsKPiArCQllbmdpbmUtPnN1Ym1pdF9yZXF1ZXN0ID0gbm9wX3N1Ym1pdF9y ZXF1ZXN0Owo+ICAKPiAtCXNldF9iaXQoSTkxNV9XRURHRUQsICZpOTE1LT5ncHVfZXJyb3IuZmxh Z3MpOwo+IC0Jd2FrZV91cF9hbGwoJmk5MTUtPmdwdV9lcnJvci5yZXNldF9xdWV1ZSk7Cj4gKwkv KiBNYWtlIHN1cmUgbm8gb25lIGlzIHJ1bm5pbmcgdGhlIG9sZCBjYWxsYmFjayBiZWZvcmUgd2Ug cHJvY2VlZCB3aXRoCj4gKwkgKiBjYW5jZWxsaW5nIHJlcXVlc3RzIGFuZCByZXNldHRpbmcgdGhl IGNvbXBsZXRpb24gdHJhY2tpbmcuIE90aGVyd2lzZQo+ICsJICogd2UgbWlnaHQgc3VibWl0IGEg cmVxdWVzdCB0byB0aGUgaGFyZHdhcmUgd2hpY2ggbmV2ZXIgY29tcGxldGVzLgo+ICsJICovCj4g KwlzeW5jaHJvbml6ZV9yY3UoKTsKPiAgCj4gLQlyZXR1cm4gMDsKPiAtfQo+ICsJZm9yX2VhY2hf ZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKPiArCQkvKiBNYXJrIGFsbCBleGVjdXRpbmcgcmVx dWVzdHMgYXMgc2tpcHBlZCAqLwo+ICsJCWVuZ2luZS0+Y2FuY2VsX3JlcXVlc3RzKGVuZ2luZSk7 Cj4gIAo+IC12b2lkIGk5MTVfZ2VtX3NldF93ZWRnZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+IC17Cj4gLQlzdG9wX21hY2hpbmUoX19pOTE1X2dlbV9zZXRfd2VkZ2VkX0JL TCwgZGV2X3ByaXYsIE5VTEwpOwo+ICsJCS8qIE9ubHkgb25jZSB3ZSd2ZSBmb3JjZS1jYW5jZWxs ZWQgYWxsIGluLWZsaWdodCByZXF1ZXN0cyBjYW4gd2UKPiArCQkgKiBzdGFydCB0byBjb21wbGV0 ZSBhbGwgcmVxdWVzdHMuCj4gKwkJICovCj4gKwkJZW5naW5lLT5zdWJtaXRfcmVxdWVzdCA9IG5v cF9jb21wbGV0ZV9zdWJtaXRfcmVxdWVzdDsKPiArCX0KPiArCj4gKwkvKiBNYWtlIHN1cmUgbm8g cmVxdWVzdCBjYW4gc2xpcCB0aHJvdWdoIHdpdGhvdXQgZ2V0dGluZyBjb21wbGV0ZWQgYnkKPiAr CSAqIGVpdGhlciB0aGlzIGNhbGwgaGVyZSB0byBpbnRlbF9lbmdpbmVfaW5pdF9nbG9iYWxfc2Vx bm8sIG9yIHRoZSBvbmUKPiArCSAqIGluIG5vcF9jb21wbGV0ZV9zdWJtaXRfcmVxdWVzdC4KPiAr CSAqLwo+ICsJc3luY2hyb25pemVfcmN1KCk7Cj4gKwo+ICsJZm9yX2VhY2hfZW5naW5lKGVuZ2lu ZSwgaTkxNSwgaWQpIHsKPiArCQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICsKPiArCQkvKiBNYXJr IGFsbCBwZW5kaW5nIHJlcXVlc3RzIGFzIGNvbXBsZXRlIHNvIHRoYXQgYW55IGNvbmN1cnJlbnQK PiArCQkgKiAobG9ja2xlc3MpIGxvb2t1cCBkb2Vzbid0IHRyeSBhbmQgd2FpdCB1cG9uIHRoZSBy ZXF1ZXN0IGFzIHdlCj4gKwkJICogcmVzZXQgaXQuCj4gKwkJICovCj4gKwkJc3Bpbl9sb2NrX2ly cXNhdmUoJmVuZ2luZS0+dGltZWxpbmUtPmxvY2ssIGZsYWdzKTsKPiArCQlpbnRlbF9lbmdpbmVf aW5pdF9nbG9iYWxfc2Vxbm8oZW5naW5lLAo+ICsJCQkJCSAgICAgICBpbnRlbF9lbmdpbmVfbGFz dF9zdWJtaXQoZW5naW5lKSk7Cj4gKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT50 aW1lbGluZS0+bG9jaywgZmxhZ3MpOwo+ICsJfQo+ICsKPiArCXNldF9iaXQoSTkxNV9XRURHRUQs ICZpOTE1LT5ncHVfZXJyb3IuZmxhZ3MpOwoKQ2FuIHdlIHRoaXMgc2V0X2JpdCBhYm92ZSB0aGUg bG9vcCwgcmlnaHQgYWZ0ZXIgc3luY2hyb25pemVfcmN1KCk/ClRoaW5raW5nIGlzIHRoYXQgd2Ug c3RvcCBhY2NlcHRpbmcgcmVxdWVzdHMgd2UgY2FuJ3QgY29tcGxldGUKdGhlIGVhcmxpZXN0LgoK LU1pa2EKCj4gKwl3YWtlX3VwX2FsbCgmaTkxNS0+Z3B1X2Vycm9yLnJlc2V0X3F1ZXVlKTsKPiAg fQo+ICAKPiAgYm9vbCBpOTE1X2dlbV91bnNldF93ZWRnZWQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl cXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+IGluZGV4 IGIxMDBiMzhmMWRkMi4uZWY3OGE4NWNiODQ1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlcXVlc3QuYwo+IEBAIC01NTYsNyArNTU2LDkgQEAgc3VibWl0X25vdGlmeShzdHJ1 Y3QgaTkxNV9zd19mZW5jZSAqZmVuY2UsIGVudW0gaTkxNV9zd19mZW5jZV9ub3RpZnkgc3RhdGUp Cj4gIAlzd2l0Y2ggKHN0YXRlKSB7Cj4gIAljYXNlIEZFTkNFX0NPTVBMRVRFOgo+ICAJCXRyYWNl X2k5MTVfZ2VtX3JlcXVlc3Rfc3VibWl0KHJlcXVlc3QpOwo+ICsJCXJjdV9yZWFkX2xvY2soKTsK PiAgCQlyZXF1ZXN0LT5lbmdpbmUtPnN1Ym1pdF9yZXF1ZXN0KHJlcXVlc3QpOwo+ICsJCXJjdV9y ZWFkX3VubG9jaygpOwo+ICAJCWJyZWFrOwo+ICAKPiAgCWNhc2UgRkVOQ0VfRlJFRToKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX3JlcXVlc3Qu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9yZXF1ZXN0LmMKPiBp bmRleCA3OGI5ZjgxMTcwN2YuLmE5OTkxNjFlOGRiMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fcmVxdWVzdC5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX3JlcXVlc3QuYwo+IEBAIC0yMTUsNyArMjE1 LDkgQEAgc3RhdGljIGludCBpZ3RfcmVxdWVzdF9yZXdpbmQodm9pZCAqYXJnKQo+ICAJfQo+ICAJ aTkxNV9nZW1fcmVxdWVzdF9nZXQodmlwKTsKPiAgCWk5MTVfYWRkX3JlcXVlc3QodmlwKTsKPiAr CXJjdV9yZWFkX2xvY2soKTsKPiAgCXJlcXVlc3QtPmVuZ2luZS0+c3VibWl0X3JlcXVlc3QocmVx dWVzdCk7Cj4gKwlyY3VfcmVhZF91bmxvY2soKTsKPiAgCj4gIAltdXRleF91bmxvY2soJmk5MTUt PmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ICAKPiAtLSAKPiAyLjE0LjEKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==