From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH] drm/i915: Preallocate our mmu notifier workequeu to unbreak cpu hotplug deadlock Date: Fri, 6 Oct 2017 17:07:41 +0100 Message-ID: References: <20171006090637.25545-1-daniel.vetter@ffwll.ch> <20171006155251.29912-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id C9ECF6E062 for ; Fri, 6 Oct 2017 16:07:44 +0000 (UTC) In-Reply-To: <20171006155251.29912-1-daniel.vetter@ffwll.ch> 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: Daniel Vetter , Intel Graphics Development Cc: Peter Zijlstra , Tejun Heo , Thomas Gleixner , Sasha Levin , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA2LzEwLzIwMTcgMTY6NTIsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gNC4xNC1yYzEgZ2Fp bmVkIHRoZSBmYW5jeSBuZXcgY3Jvc3MtcmVsZWFzZSBzdXBwb3J0IGluIGxvY2tkZXAsIHdoaWNo Cj4gc2VlbXMgdG8gaGF2ZSB1bmNvdmVyZWQgYSBmZXcgbW9yZSBydWxlcyBhYm91dCB3aGF0IGlz IGFsbG93ZWQgYW5kCj4gaXNuJ3QuCj4gCj4gVGhpcyBvbmUgaGVyZSBzZWVtcyB0byBpbmRpY2F0 ZSB0aGF0IGFsbG9jYXRpbmcgYSB3b3JrLXF1ZXVlIHdoaWxlCj4gaG9sZGluZyBtbWFwX3NlbSBp cyBhIG5vLWdvLCBzbyBsZXQncyB0cnkgdG8gcHJlYWxsb2NhdGUgaXQuCj4gCj4gT2YgY291cnNl IGFub3RoZXIgd2F5IHRvIGJyZWFrIHRoaXMgY2hhaW4gd291bGQgYmUgc29tZXdoZXJlIGluIHRo ZQo+IGNwdSBob3RwbHVnIGNvZGUsIHNpbmNlIHRoaXMgaXNuJ3QgdGhlIG9ubHkgdHJhY2Ugd2Un cmUgZmluZGluZyBub3cKPiB3aGljaCBnb2VzIHRocm91Z2ggbXNyX2NyZWF0ZV9kZXZpY2UuCj4g Cj4gRnVsbCBsb2NrZGVwIHNwbGF0Ogo+IAo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQo+IFdBUk5JTkc6IHBvc3NpYmxlIGNpcmN1bGFyIGxv Y2tpbmcgZGVwZW5kZW5jeSBkZXRlY3RlZAo+IDQuMTQuMC1yYzEtQ0ktQ0lfRFJNXzMxMTgrICMx IFRhaW50ZWQ6IEcgICAgIFUKPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiBwcmltZV9tbWFwLzE1NTEgaXMgdHJ5aW5nIHRvIGFjcXVpcmUg bG9jazoKPiAgIChjcHVfaG90cGx1Z19sb2NrLnJ3X3NlbSl7KysrK30sIGF0OiBbPGZmZmZmZmZm ODEwOWRiYjc+XSBhcHBseV93b3JrcXVldWVfYXR0cnMrMHgxNy8weDUwCj4gCj4gYnV0IHRhc2sg aXMgYWxyZWFkeSBob2xkaW5nIGxvY2s6Cj4gICAoJmRldl9wcml2LT5tbV9sb2NrKXsrLisufSwg YXQ6IFs8ZmZmZmZmZmZhMDFhN2IyYT5dIGk5MTVfZ2VtX3VzZXJwdHJfaW5pdF9fbW11X25vdGlm aWVyKzB4MTRhLzB4MjcwIFtpOTE1XQo+IAo+IHdoaWNoIGxvY2sgYWxyZWFkeSBkZXBlbmRzIG9u IHRoZSBuZXcgbG9jay4KPiAKPiB0aGUgZXhpc3RpbmcgZGVwZW5kZW5jeSBjaGFpbiAoaW4gcmV2 ZXJzZSBvcmRlcikgaXM6Cj4gCj4gLT4gIzYgKCZkZXZfcHJpdi0+bW1fbG9jayl7Ky4rLn06Cj4g ICAgICAgICBfX2xvY2tfYWNxdWlyZSsweDE0MjAvMHgxNWUwCj4gICAgICAgICBsb2NrX2FjcXVp cmUrMHhiMC8weDIwMAo+ICAgICAgICAgX19tdXRleF9sb2NrKzB4ODYvMHg5YjAKPiAgICAgICAg IG11dGV4X2xvY2tfbmVzdGVkKzB4MWIvMHgyMAo+ICAgICAgICAgaTkxNV9nZW1fdXNlcnB0cl9p bml0X19tbXVfbm90aWZpZXIrMHgxNGEvMHgyNzAgW2k5MTVdCj4gICAgICAgICBpOTE1X2dlbV91 c2VycHRyX2lvY3RsKzB4MjIyLzB4MmMwIFtpOTE1XQo+ICAgICAgICAgZHJtX2lvY3RsX2tlcm5l bCsweDY5LzB4YjAKPiAgICAgICAgIGRybV9pb2N0bCsweDJmOS8weDNkMAo+ICAgICAgICAgZG9f dmZzX2lvY3RsKzB4OTQvMHg2NzAKPiAgICAgICAgIFN5U19pb2N0bCsweDQxLzB4NzAKPiAgICAg ICAgIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxYy8weGIxCj4gCj4gLT4gIzUgKCZtbS0+ bW1hcF9zZW0peysrKyt9Ogo+ICAgICAgICAgX19sb2NrX2FjcXVpcmUrMHgxNDIwLzB4MTVlMAo+ ICAgICAgICAgbG9ja19hY3F1aXJlKzB4YjAvMHgyMDAKPiAgICAgICAgIF9fbWlnaHRfZmF1bHQr MHg2OC8weDkwCj4gICAgICAgICBfY29weV90b191c2VyKzB4MjMvMHg3MAo+ICAgICAgICAgZmls bGRpcisweGE1LzB4MTIwCj4gICAgICAgICBkY2FjaGVfcmVhZGRpcisweGY5LzB4MTcwCj4gICAg ICAgICBpdGVyYXRlX2RpcisweDY5LzB4MWEwCj4gICAgICAgICBTeVNfZ2V0ZGVudHMrMHhhNS8w eDE0MAo+ICAgICAgICAgZW50cnlfU1lTQ0FMTF82NF9mYXN0cGF0aCsweDFjLzB4YjEKPiAKPiAt PiAjNCAoJnNiLT5zX3R5cGUtPmlfbXV0ZXhfa2V5IzUpeysrKyt9Ogo+ICAgICAgICAgZG93bl93 cml0ZSsweDNiLzB4NzAKPiAgICAgICAgIGhhbmRsZV9jcmVhdGUrMHhjYi8weDFlMAo+ICAgICAg ICAgZGV2dG1wZnNkKzB4MTM5LzB4MTgwCj4gICAgICAgICBrdGhyZWFkKzB4MTUyLzB4MTkwCj4g ICAgICAgICByZXRfZnJvbV9mb3JrKzB4MjcvMHg0MAo+IAo+IC0+ICMzICgoY29tcGxldGUpJnJl cS5kb25lKXsrLisufToKPiAgICAgICAgIF9fbG9ja19hY3F1aXJlKzB4MTQyMC8weDE1ZTAKPiAg ICAgICAgIGxvY2tfYWNxdWlyZSsweGIwLzB4MjAwCj4gICAgICAgICB3YWl0X2Zvcl9jb21tb24r MHg1OC8weDIxMAo+ICAgICAgICAgd2FpdF9mb3JfY29tcGxldGlvbisweDFkLzB4MjAKPiAgICAg ICAgIGRldnRtcGZzX2NyZWF0ZV9ub2RlKzB4MTNkLzB4MTYwCj4gICAgICAgICBkZXZpY2VfYWRk KzB4NWViLzB4NjIwCj4gICAgICAgICBkZXZpY2VfY3JlYXRlX2dyb3Vwc192YXJncysweGUwLzB4 ZjAKPiAgICAgICAgIGRldmljZV9jcmVhdGUrMHgzYS8weDQwCj4gICAgICAgICBtc3JfZGV2aWNl X2NyZWF0ZSsweDJiLzB4NDAKPiAgICAgICAgIGNwdWhwX2ludm9rZV9jYWxsYmFjaysweGEzLzB4 ODQwCj4gICAgICAgICBjcHVocF90aHJlYWRfZnVuKzB4N2EvMHgxNTAKPiAgICAgICAgIHNtcGJv b3RfdGhyZWFkX2ZuKzB4MThhLzB4MjgwCj4gICAgICAgICBrdGhyZWFkKzB4MTUyLzB4MTkwCj4g ICAgICAgICByZXRfZnJvbV9mb3JrKzB4MjcvMHg0MAo+IAo+IC0+ICMyIChjcHVocF9zdGF0ZSl7 Ky4rLn06Cj4gICAgICAgICBfX2xvY2tfYWNxdWlyZSsweDE0MjAvMHgxNWUwCj4gICAgICAgICBs b2NrX2FjcXVpcmUrMHhiMC8weDIwMAo+ICAgICAgICAgY3B1aHBfaXNzdWVfY2FsbCsweDEwYi8w eDE3MAo+ICAgICAgICAgX19jcHVocF9zZXR1cF9zdGF0ZV9jcHVzbG9ja2VkKzB4MTM0LzB4MmEw Cj4gICAgICAgICBfX2NwdWhwX3NldHVwX3N0YXRlKzB4NDYvMHg2MAo+ICAgICAgICAgcGFnZV93 cml0ZWJhY2tfaW5pdCsweDQzLzB4NjcKPiAgICAgICAgIHBhZ2VjYWNoZV9pbml0KzB4M2QvMHg0 Mgo+ICAgICAgICAgc3RhcnRfa2VybmVsKzB4M2E4LzB4M2ZjCj4gICAgICAgICB4ODZfNjRfc3Rh cnRfcmVzZXJ2YXRpb25zKzB4MmEvMHgyYwo+ICAgICAgICAgeDg2XzY0X3N0YXJ0X2tlcm5lbCsw eDZkLzB4NzAKPiAgICAgICAgIHZlcmlmeV9jcHUrMHgwLzB4ZmIKPiAKPiAtPiAjMSAoY3B1aHBf c3RhdGVfbXV0ZXgpeysuKy59Ogo+ICAgICAgICAgX19sb2NrX2FjcXVpcmUrMHgxNDIwLzB4MTVl MAo+ICAgICAgICAgbG9ja19hY3F1aXJlKzB4YjAvMHgyMDAKPiAgICAgICAgIF9fbXV0ZXhfbG9j aysweDg2LzB4OWIwCj4gICAgICAgICBtdXRleF9sb2NrX25lc3RlZCsweDFiLzB4MjAKPiAgICAg ICAgIF9fY3B1aHBfc2V0dXBfc3RhdGVfY3B1c2xvY2tlZCsweDUyLzB4MmEwCj4gICAgICAgICBf X2NwdWhwX3NldHVwX3N0YXRlKzB4NDYvMHg2MAo+ICAgICAgICAgcGFnZV9hbGxvY19pbml0KzB4 MjgvMHgzMAo+ICAgICAgICAgc3RhcnRfa2VybmVsKzB4MTQ1LzB4M2ZjCj4gICAgICAgICB4ODZf NjRfc3RhcnRfcmVzZXJ2YXRpb25zKzB4MmEvMHgyYwo+ICAgICAgICAgeDg2XzY0X3N0YXJ0X2tl cm5lbCsweDZkLzB4NzAKPiAgICAgICAgIHZlcmlmeV9jcHUrMHgwLzB4ZmIKPiAKPiAtPiAjMCAo Y3B1X2hvdHBsdWdfbG9jay5yd19zZW0peysrKyt9Ogo+ICAgICAgICAgY2hlY2tfcHJldl9hZGQr MHg0MzAvMHg4NDAKPiAgICAgICAgIF9fbG9ja19hY3F1aXJlKzB4MTQyMC8weDE1ZTAKPiAgICAg ICAgIGxvY2tfYWNxdWlyZSsweGIwLzB4MjAwCj4gICAgICAgICBjcHVzX3JlYWRfbG9jaysweDNk LzB4YjAKPiAgICAgICAgIGFwcGx5X3dvcmtxdWV1ZV9hdHRycysweDE3LzB4NTAKPiAgICAgICAg IF9fYWxsb2Nfd29ya3F1ZXVlX2tleSsweDFkOC8weDRkOQo+ICAgICAgICAgaTkxNV9nZW1fdXNl cnB0cl9pbml0X19tbXVfbm90aWZpZXIrMHgxZmIvMHgyNzAgW2k5MTVdCj4gICAgICAgICBpOTE1 X2dlbV91c2VycHRyX2lvY3RsKzB4MjIyLzB4MmMwIFtpOTE1XQo+ICAgICAgICAgZHJtX2lvY3Rs X2tlcm5lbCsweDY5LzB4YjAKPiAgICAgICAgIGRybV9pb2N0bCsweDJmOS8weDNkMAo+ICAgICAg ICAgZG9fdmZzX2lvY3RsKzB4OTQvMHg2NzAKPiAgICAgICAgIFN5U19pb2N0bCsweDQxLzB4NzAK PiAgICAgICAgIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxYy8weGIxCj4gCj4gb3RoZXIg aW5mbyB0aGF0IG1pZ2h0IGhlbHAgdXMgZGVidWcgdGhpczoKPiAKPiBDaGFpbiBleGlzdHMgb2Y6 Cj4gICAgY3B1X2hvdHBsdWdfbG9jay5yd19zZW0gLS0+ICZtbS0+bW1hcF9zZW0gLS0+ICZkZXZf cHJpdi0+bW1fbG9jawo+IAo+ICAgUG9zc2libGUgdW5zYWZlIGxvY2tpbmcgc2NlbmFyaW86Cj4g Cj4gICAgICAgICBDUFUwICAgICAgICAgICAgICAgICAgICBDUFUxCj4gICAgICAgICAtLS0tICAg ICAgICAgICAgICAgICAgICAtLS0tCj4gICAgbG9jaygmZGV2X3ByaXYtPm1tX2xvY2spOwo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jaygmbW0tPm1tYXBfc2VtKTsKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2soJmRldl9wcml2LT5tbV9sb2NrKTsKPiAg ICBsb2NrKGNwdV9ob3RwbHVnX2xvY2sucndfc2VtKTsKPiAKPiAgICoqKiBERUFETE9DSyAqKioK PiAKPiAyIGxvY2tzIGhlbGQgYnkgcHJpbWVfbW1hcC8xNTUxOgo+ICAgIzA6ICAoJm1tLT5tbWFw X3NlbSl7KysrK30sIGF0OiBbPGZmZmZmZmZmYTAxYTdiMTg+XSBpOTE1X2dlbV91c2VycHRyX2lu aXRfX21tdV9ub3RpZmllcisweDEzOC8weDI3MCBbaTkxNV0KPiAgICMxOiAgKCZkZXZfcHJpdi0+ bW1fbG9jayl7Ky4rLn0sIGF0OiBbPGZmZmZmZmZmYTAxYTdiMmE+XSBpOTE1X2dlbV91c2VycHRy X2luaXRfX21tdV9ub3RpZmllcisweDE0YS8weDI3MCBbaTkxNV0KPiAKPiBzdGFjayBiYWNrdHJh Y2U6Cj4gQ1BVOiA0IFBJRDogMTU1MSBDb21tOiBwcmltZV9tbWFwIFRhaW50ZWQ6IEcgICAgIFUg ICAgICAgICAgNC4xNC4wLXJjMS1DSS1DSV9EUk1fMzExOCsgIzEKPiBIYXJkd2FyZSBuYW1lOiBE ZWxsIEluYy4gWFBTIDgzMDAgIC8wWTJNUkcsIEJJT1MgQTA2IDEwLzE3LzIwMTEKPiBDYWxsIFRy YWNlOgo+ICAgZHVtcF9zdGFjaysweDY4LzB4OWYKPiAgIHByaW50X2NpcmN1bGFyX2J1ZysweDIz NS8weDNjMAo+ICAgPyBsb2NrZGVwX2luaXRfbWFwX2Nyb3NzbG9jaysweDIwLzB4MjAKPiAgIGNo ZWNrX3ByZXZfYWRkKzB4NDMwLzB4ODQwCj4gICBfX2xvY2tfYWNxdWlyZSsweDE0MjAvMHgxNWUw Cj4gICA/IF9fbG9ja19hY3F1aXJlKzB4MTQyMC8weDE1ZTAKPiAgID8gbG9ja2RlcF9pbml0X21h cF9jcm9zc2xvY2srMHgyMC8weDIwCj4gICBsb2NrX2FjcXVpcmUrMHhiMC8weDIwMAo+ICAgPyBh cHBseV93b3JrcXVldWVfYXR0cnMrMHgxNy8weDUwCj4gICBjcHVzX3JlYWRfbG9jaysweDNkLzB4 YjAKPiAgID8gYXBwbHlfd29ya3F1ZXVlX2F0dHJzKzB4MTcvMHg1MAo+ICAgYXBwbHlfd29ya3F1 ZXVlX2F0dHJzKzB4MTcvMHg1MAo+ICAgX19hbGxvY193b3JrcXVldWVfa2V5KzB4MWQ4LzB4NGQ5 Cj4gICA/IF9fbG9ja2RlcF9pbml0X21hcCsweDU3LzB4MWMwCj4gICBpOTE1X2dlbV91c2VycHRy X2luaXRfX21tdV9ub3RpZmllcisweDFmYi8weDI3MCBbaTkxNV0KPiAgIGk5MTVfZ2VtX3VzZXJw dHJfaW9jdGwrMHgyMjIvMHgyYzAgW2k5MTVdCj4gICA/IGk5MTVfZ2VtX3VzZXJwdHJfcmVsZWFz ZSsweDE0MC8weDE0MCBbaTkxNV0KPiAgIGRybV9pb2N0bF9rZXJuZWwrMHg2OS8weGIwCj4gICBk cm1faW9jdGwrMHgyZjkvMHgzZDAKPiAgID8gaTkxNV9nZW1fdXNlcnB0cl9yZWxlYXNlKzB4MTQw LzB4MTQwIFtpOTE1XQo+ICAgPyBfX2RvX3BhZ2VfZmF1bHQrMHgyYTQvMHg1NzAKPiAgIGRvX3Zm c19pb2N0bCsweDk0LzB4NjcwCj4gICA/IGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHg1LzB4 YjEKPiAgID8gX190aGlzX2NwdV9wcmVlbXB0X2NoZWNrKzB4MTMvMHgyMAo+ICAgPyB0cmFjZV9o YXJkaXJxc19vbl9jYWxsZXIrMHhlMy8weDFiMAo+ICAgU3lTX2lvY3RsKzB4NDEvMHg3MAo+ICAg ZW50cnlfU1lTQ0FMTF82NF9mYXN0cGF0aCsweDFjLzB4YjEKPiBSSVA6IDAwMzM6MHg3ZmJiODNj Mzk1ODcKPiBSU1A6IDAwMmI6MDAwMDdmZmYxODhkYzIyOCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdf UkFYOiAwMDAwMDAwMDAwMDAwMDEwCj4gUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogZmZmZmZm ZmY4MTQ5Mjk2MyBSQ1g6IDAwMDA3ZmJiODNjMzk1ODcKPiBSRFg6IDAwMDA3ZmZmMTg4ZGMyNjAg UlNJOiAwMDAwMDAwMGMwMTg2NDczIFJESTogMDAwMDAwMDAwMDAwMDAwMwo+IFJCUDogZmZmZmM5 MDAwMTQ4N2Y4OCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiAwMDAwN2ZmZjE4OGRjMmFjCj4g UjEwOiAwMDAwN2ZiYjgzZWZjYjU4IFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDAwMDAw MDAwMDAwMDAKPiBSMTM6IDAwMDAwMDAwMDAwMDAwMDMgUjE0OiAwMDAwMDAwMGMwMTg2NDczIFIx NTogMDAwMDdmZmYxODhkYzJhYwo+ICAgPyBfX3RoaXNfY3B1X3ByZWVtcHRfY2hlY2srMHgxMy8w eDIwCj4gCj4gTm90ZSB0aGF0IHRoaXMgYWxzbyBoYXMgdGhlIG1pbm9yIGJlbmVmaXQgb2Ygc2xp Z2h0bHkgcmVkdWNpbmcgdGhlCj4gY3JpdGljYWwgc2VjdGlvbiB3aGVyZSB3ZSBob2xkIG1tYXBf c2VtLgo+IAo+IHYyOiBTZXQgcmV0IGNvcnJlY3RseSB3aGVuIHdlIHJhY2VkIHdpdGggYW5vdGhl ciB0aHJlYWQuCj4gCj4gdjM6IFVzZSBDaHJpcycgZGlmZi4gQXR0YWNoIHRoZSByaWdodCBsb2Nr ZGVwIHNwbGF0Lgo+IAo+IHY0OiBSZXBhaW50IGluIFR2cnRrbydzIGNvbG9ycyAoYWthIGRvbid0 IHJlcG9ydCBFTk9NRU0gaWYgd2UgcmFjZSBhbmQKPiBzb21lIG90aGVyIHRocmVhZCBtYW5hZ2Vk IHRvIG5vdCBhbHNvIGdldCBhbiBFTk9NRU0gYW5kIHN1Y2Nlc3NmdWxseQo+IGluc3RhbGwgdGhl IG1tdSBub3RpZmllci4gTm90ZSB0aGF0IHRoZSBrZXJuZWwgZ3VhcmFudGVlcyB0aGF0IHNtYWxs Cj4gYWxsb2NhdGlvbnMgc3VjY2VlZCwgc28gdGhpcyBuZXZlciBhY3R1YWxseSBoYXBwZW5zKS4K PiAKPiBDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFR2 cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gQ2M6IEpvb25hcyBMYWh0 aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KPiBDYzogUGV0ZXIgWmlqbHN0 cmEgPHBldGVyekBpbmZyYWRlYWQub3JnPgo+IENjOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGlu dXRyb25peC5kZT4KPiBDYzogU2FzaGEgTGV2aW4gPGFsZXhhbmRlci5sZXZpbkB2ZXJpem9uLmNv bT4KPiBDYzogTWFydGEgTG9mc3RlZHQgPG1hcnRhLmxvZnN0ZWR0QGludGVsLmNvbT4KPiBDYzog VGVqdW4gSGVvIDx0akBrZXJuZWwub3JnPgo+IFJlZmVyZW5jZXM6IGh0dHBzOi8vaW50ZWwtZ2Z4 LWNpLjAxLm9yZy90cmVlL2RybS10aXAvQ0lfRFJNXzMxODAvc2hhcmQtaHN3My9pZ3RAcHJpbWVf bW1hcEB0ZXN0X3VzZXJwdHIuaHRtbAo+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0 b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI5MzkKPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3VzZXJwdHIuYyB8IDM4ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRy LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKPiBpbmRleCAyZDQ5 OTZkZTczMzEuLmJlNTVkOWFmNzU0ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV91c2VycHRyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV91c2VycHRyLmMKPiBAQCAtMTY0LDcgKzE2NCw2IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9tbXVf bm90aWZpZXIgKgo+ICAgaTkxNV9tbXVfbm90aWZpZXJfY3JlYXRlKHN0cnVjdCBtbV9zdHJ1Y3Qg Km1tKQo+ICAgewo+ICAgCXN0cnVjdCBpOTE1X21tdV9ub3RpZmllciAqbW47Cj4gLQlpbnQgcmV0 Owo+ICAgCj4gICAJbW4gPSBrbWFsbG9jKHNpemVvZigqbW4pLCBHRlBfS0VSTkVMKTsKPiAgIAlp ZiAobW4gPT0gTlVMTCkKPiBAQCAtMTc5LDE0ICsxNzgsNiBAQCBpOTE1X21tdV9ub3RpZmllcl9j cmVhdGUoc3RydWN0IG1tX3N0cnVjdCAqbW0pCj4gICAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0p Owo+ICAgCX0KPiAgIAo+IC0JIC8qIFByb3RlY3RlZCBieSBtbWFwX3NlbSAod3JpdGUtbG9jaykg Ki8KPiAtCXJldCA9IF9fbW11X25vdGlmaWVyX3JlZ2lzdGVyKCZtbi0+bW4sIG1tKTsKPiAtCWlm IChyZXQpIHsKPiAtCQlkZXN0cm95X3dvcmtxdWV1ZShtbi0+d3EpOwo+IC0JCWtmcmVlKG1uKTsK PiAtCQlyZXR1cm4gRVJSX1BUUihyZXQpOwo+IC0JfQo+IC0KPiAgIAlyZXR1cm4gbW47Cj4gICB9 Cj4gICAKPiBAQCAtMjEwLDIzICsyMDEsNDAgQEAgaTkxNV9nZW1fdXNlcnB0cl9yZWxlYXNlX19t bXVfbm90aWZpZXIoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAgIHN0YXRpYyBz dHJ1Y3QgaTkxNV9tbXVfbm90aWZpZXIgKgo+ICAgaTkxNV9tbXVfbm90aWZpZXJfZmluZChzdHJ1 Y3QgaTkxNV9tbV9zdHJ1Y3QgKm1tKQo+ICAgewo+IC0Jc3RydWN0IGk5MTVfbW11X25vdGlmaWVy ICptbiA9IG1tLT5tbjsKPiArCXN0cnVjdCBpOTE1X21tdV9ub3RpZmllciAqbW47Cj4gKwlpbnQg ZXJyID0gMDsKPiAgIAo+ICAgCW1uID0gbW0tPm1uOwo+ICAgCWlmIChtbikKPiAgIAkJcmV0dXJu IG1uOwo+ICAgCj4gKwltbiA9IGk5MTVfbW11X25vdGlmaWVyX2NyZWF0ZShtbS0+bW0pOwo+ICsJ aWYgKElTX0VSUihtbikpCj4gKwkJZXJyID0gUFRSX0VSUihtbik7Cj4gKwo+ICAgCWRvd25fd3Jp dGUoJm1tLT5tbS0+bW1hcF9zZW0pOwo+ICAgCW11dGV4X2xvY2soJm1tLT5pOTE1LT5tbV9sb2Nr KTsKPiAtCWlmICgobW4gPSBtbS0+bW4pID09IE5VTEwpIHsKPiAtCQltbiA9IGk5MTVfbW11X25v dGlmaWVyX2NyZWF0ZShtbS0+bW0pOwo+IC0JCWlmICghSVNfRVJSKG1uKSkKPiAtCQkJbW0tPm1u ID0gbW47Cj4gKwlpZiAobW0tPm1uID09IE5VTEwgJiYgIWVycikgewo+ICsJCS8qIFByb3RlY3Rl ZCBieSBtbWFwX3NlbSAod3JpdGUtbG9jaykgKi8KPiArCQllcnIgPSBfX21tdV9ub3RpZmllcl9y ZWdpc3RlcigmbW4tPm1uLCBtbS0+bW0pOwo+ICsJCWlmICghZXJyKSB7Cj4gKwkJCS8qIFByb3Rl Y3RlZCBieSBtbV9sb2NrICovCj4gKwkJCW1tLT5tbiA9IGZldGNoX2FuZF96ZXJvKCZtbik7Cj4g KwkJfQo+ICsJfSBlbHNlIHsKPiArCQkvKiBzb21lb25lIGVsc2UgcmFjZWQgYW5kIHN1Y2Nlc3Nm dWxseSBpbnN0YWxsZWQgdGhlIG1tdQo+ICsJCSAqIG5vdGlmaWVyLCB3ZSBjYW4gY2FuY2VsIG91 ciBvd24gZXJyb3JzICovCgpCZXR0ZXIgbWFrZSBzdXJlIExpbnVzIGlzIG5vdCBsdXJraW5nLiA7 KQoKPiArCQllcnIgPSAwOwo+ICAgCX0KPiAgIAltdXRleF91bmxvY2soJm1tLT5pOTE1LT5tbV9s b2NrKTsKPiAgIAl1cF93cml0ZSgmbW0tPm1tLT5tbWFwX3NlbSk7Cj4gICAKPiAtCXJldHVybiBt bjsKPiArCWlmIChtbikgewo+ICsJCWRlc3Ryb3lfd29ya3F1ZXVlKG1uLT53cSk7Cj4gKwkJa2Zy ZWUobW4pOwo+ICsJfQo+ICsKPiArCXJldHVybiBlcnIgPyBFUlJfUFRSKGVycikgOiBtbS0+bW47 Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQKPiAKClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxp biA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK