From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm: Paper over locking inversion after registration rework Date: Thu, 04 Aug 2016 13:35:29 +0300 Message-ID: <8737mkq0su.fsf@intel.com> References: <1470305714-10674-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470305714-10674-1-git-send-email-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: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAwNCBBdWcgMjAxNiwgRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5j aD4gd3JvdGU6Cj4gZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlcl9hbGwgcmVxdWlyZXMgYSBmZXcgdG9v IG1hbnkgbG9ja3MgYmVjYXVzZSBvdXIKPiBjb25uZWN0b3JfbGlzdCBsb2NraW5nIGlzIGJ1c3Rl ZC4gQWRkIGFub3RoZXIgRklYTUUraGFjayB0byB3b3JrCj4gYXJvdW5kIHRoaXMuIFRoaXMgc2hv dWxkIGFkZHJlc3MgdGhlIGJlbG93IGxvY2tkZXAgc3BsYXQ6Cj4KPiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiBbIElORk86IHBvc3NpYmxl IGNpcmN1bGFyIGxvY2tpbmcgZGVwZW5kZW5jeSBkZXRlY3RlZCBdCj4gNC43LjAtcmM1KyAjNTI0 IFRhaW50ZWQ6IEcgICAgICAgICAgIE8KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4ga3dvcmtlci91ODowLzYgaXMgdHJ5aW5nIHRvIGFj cXVpcmUgbG9jazoKPiAgKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KXsrLisuKy59LCBhdDogWzxm ZmZmZmZmZjgxNWFmZGUwPl0gZHJtX21vZGVzZXRfbG9ja19hbGwrMHg0MC8weDEyMAo+Cj4gYnV0 IHRhc2sgaXMgYWxyZWFkeSBob2xkaW5nIGxvY2s6Cj4gICgoZmJfbm90aWZpZXJfbGlzdCkucndz ZW0peysrKysuK30sIGF0OiBbPGZmZmZmZmZmODEwYWMxOTU+XSBfX2Jsb2NraW5nX25vdGlmaWVy X2NhbGxfY2hhaW4rMHgzNS8weDcwCj4KPiB3aGljaCBsb2NrIGFscmVhZHkgZGVwZW5kcyBvbiB0 aGUgbmV3IGxvY2suCj4KPiB0aGUgZXhpc3RpbmcgZGVwZW5kZW5jeSBjaGFpbiAoaW4gcmV2ZXJz ZSBvcmRlcikgaXM6Cj4KPiAtPiAjMSAoKGZiX25vdGlmaWVyX2xpc3QpLnJ3c2VtKXsrKysrLit9 Ogo+ICAgICAgICBbPGZmZmZmZmZmODEwZGY2MTE+XSBsb2NrX2FjcXVpcmUrMHhiMS8weDIwMAo+ ICAgICAgICBbPGZmZmZmZmZmODE5YTU1YjQ+XSBkb3duX3dyaXRlKzB4NDQvMHg4MAo+ICAgICAg ICBbPGZmZmZmZmZmODEwYWJmOTE+XSBibG9ja2luZ19ub3RpZmllcl9jaGFpbl9yZWdpc3Rlcisw eDIxLzB4YjAKPiAgICAgICAgWzxmZmZmZmZmZjgxNGM3NDQ4Pl0gZmJfcmVnaXN0ZXJfY2xpZW50 KzB4MTgvMHgyMAo+ICAgICAgICBbPGZmZmZmZmZmODE0YzZjODY+XSBiYWNrbGlnaHRfZGV2aWNl X3JlZ2lzdGVyKzB4MTM2LzB4MjYwCj4gICAgICAgIFs8ZmZmZmZmZmZhMDEyN2ViMj5dIGludGVs X2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIrMHhhMi8weDE2MCBbaTkxNV0KPiAgICAgICAgWzxm ZmZmZmZmZmEwMGY0NmJlPl0gaW50ZWxfY29ubmVjdG9yX3JlZ2lzdGVyKzB4ZS8weDEwIFtpOTE1 XQo+ICAgICAgICBbPGZmZmZmZmZmYTAxMTJiZmI+XSBpbnRlbF9kcF9jb25uZWN0b3JfcmVnaXN0 ZXIrMHgxYi8weDgwIFtpOTE1XQo+ICAgICAgICBbPGZmZmZmZmZmODE1OWRmZWE+XSBkcm1fY29u bmVjdG9yX3JlZ2lzdGVyKzB4NGEvMHg4MAo+ICAgICAgICBbPGZmZmZmZmZmODE1OWZlNDQ+XSBk cm1fY29ubmVjdG9yX3JlZ2lzdGVyX2FsbCsweDY0LzB4ZjAKPiAgICAgICAgWzxmZmZmZmZmZjgx NWEyYTY0Pl0gZHJtX21vZGVzZXRfcmVnaXN0ZXJfYWxsKzB4MTc0LzB4MWMwCj4gICAgICAgIFs8 ZmZmZmZmZmY4MTU5OWI3Mj5dIGRybV9kZXZfcmVnaXN0ZXIrMHhjMi8weGQwCj4gICAgICAgIFs8 ZmZmZmZmZmZhMDA2MjFkNz5dIGk5MTVfZHJpdmVyX2xvYWQrMHgxNTQ3LzB4MjIwMCBbaTkxNV0K PiAgICAgICAgWzxmZmZmZmZmZmEwMDZkODBmPl0gaTkxNV9wY2lfcHJvYmUrMHg0Zi8weDcwIFtp OTE1XQo+ICAgICAgICBbPGZmZmZmZmZmODE0YTIxMzU+XSBsb2NhbF9wY2lfcHJvYmUrMHg0NS8w eGEwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTRhMzQ5Yj5dIHBjaV9kZXZpY2VfcHJvYmUrMHhkYi8w eDEzMAo+ICAgICAgICBbPGZmZmZmZmZmODE1YzA3ZTM+XSBkcml2ZXJfcHJvYmVfZGV2aWNlKzB4 MjIzLzB4NDQwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTVjMGFkNT5dIF9fZHJpdmVyX2F0dGFjaCsw eGQ1LzB4MTAwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTViZTM4Nj5dIGJ1c19mb3JfZWFjaF9kZXYr MHg2Ni8weGEwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTVjMDAyZT5dIGRyaXZlcl9hdHRhY2grMHgx ZS8weDIwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTViZjliZT5dIGJ1c19hZGRfZHJpdmVyKzB4MWVl LzB4MjgwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTVjMTgxMD5dIGRyaXZlcl9yZWdpc3RlcisweDYw LzB4ZTAKPiAgICAgICAgWzxmZmZmZmZmZjgxNGExYTEwPl0gX19wY2lfcmVnaXN0ZXJfZHJpdmVy KzB4NjAvMHg3MAo+ICAgICAgICBbPGZmZmZmZmZmYTAxYTkwNWI+XSBpOTE1X2luaXQrMHg1Yi8w eDYyIFtpOTE1XQo+ICAgICAgICBbPGZmZmZmZmZmODEwMDA0MmQ+XSBkb19vbmVfaW5pdGNhbGwr MHgzZC8weDE1MAo+ICAgICAgICBbPGZmZmZmZmZmODExYTkzNWI+XSBkb19pbml0X21vZHVsZSsw eDVmLzB4MWQ5Cj4gICAgICAgIFs8ZmZmZmZmZmY4MTEyNDQxNj5dIGxvYWRfbW9kdWxlKzB4MjBl Ni8weDI3ZTAKPiAgICAgICAgWzxmZmZmZmZmZjgxMTI0ZDYzPl0gU1lTQ19maW5pdF9tb2R1bGUr MHhjMy8weGYwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTEyNGRhZT5dIFN5U19maW5pdF9tb2R1bGUr MHhlLzB4MTAKPiAgICAgICAgWzxmZmZmZmZmZjgxOWE4M2E5Pl0gZW50cnlfU1lTQ0FMTF82NF9m YXN0cGF0aCsweDFjLzB4YWMKPgo+IC0+ICMwICgmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCl7Ky4r LisufToKPiAgICAgICAgWzxmZmZmZmZmZjgxMGRmMGFjPl0gX19sb2NrX2FjcXVpcmUrMHgxMGZj LzB4MTI2MAo+ICAgICAgICBbPGZmZmZmZmZmODEwZGY2MTE+XSBsb2NrX2FjcXVpcmUrMHhiMS8w eDIwMAo+ICAgICAgICBbPGZmZmZmZmZmODE5YTMwOTc+XSBtdXRleF9sb2NrX25lc3RlZCsweDY3 LzB4M2MwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTVhZmRlMD5dIGRybV9tb2Rlc2V0X2xvY2tfYWxs KzB4NDAvMHgxMjAKPiAgICAgICAgWzxmZmZmZmZmZjgxNThmNzliPl0gZHJtX2ZiX2hlbHBlcl9y ZXN0b3JlX2ZiZGV2X21vZGVfdW5sb2NrZWQrMHgyYi8weDgwCj4gICAgICAgIFs8ZmZmZmZmZmY4 MTU4ZjgxZD5dIGRybV9mYl9oZWxwZXJfc2V0X3BhcisweDJkLzB4NTAKPiAgICAgICAgWzxmZmZm ZmZmZmEwMTA1ZjdhPl0gaW50ZWxfZmJkZXZfc2V0X3BhcisweDFhLzB4NjAgW2k5MTVdCj4gICAg ICAgIFs8ZmZmZmZmZmY4MTRjMTNjNj5dIGZiY29uX2luaXQrMHg1ODYvMHg2MTAKPiAgICAgICAg WzxmZmZmZmZmZjgxNTRkMTZhPl0gdmlzdWFsX2luaXQrMHhjYS8weDEzMAo+ICAgICAgICBbPGZm ZmZmZmZmODE1NGU2MTE+XSBkb19iaW5kX2Nvbl9kcml2ZXIrMHgxYzEvMHgzYTAKPiAgICAgICAg WzxmZmZmZmZmZjgxNTRlYWY2Pl0gZG9fdGFrZV9vdmVyX2NvbnNvbGUrMHgxMTYvMHgxODAKPiAg ICAgICAgWzxmZmZmZmZmZjgxNGJkM2E3Pl0gZG9fZmJjb25fdGFrZW92ZXIrMHg1Ny8weGIwCj4g ICAgICAgIFs8ZmZmZmZmZmY4MTRjMWU0OD5dIGZiY29uX2V2ZW50X25vdGlmeSsweDY1OC8weDc1 MAo+ICAgICAgICBbPGZmZmZmZmZmODEwYWJjYWU+XSBub3RpZmllcl9jYWxsX2NoYWluKzB4M2Uv MHhiMAo+ICAgICAgICBbPGZmZmZmZmZmODEwYWMxYWQ+XSBfX2Jsb2NraW5nX25vdGlmaWVyX2Nh bGxfY2hhaW4rMHg0ZC8weDcwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTBhYzFlNj5dIGJsb2NraW5n X25vdGlmaWVyX2NhbGxfY2hhaW4rMHgxNi8weDIwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTRjNzQ4 Yj5dIGZiX25vdGlmaWVyX2NhbGxfY2hhaW4rMHgxYi8weDIwCj4gICAgICAgIFs8ZmZmZmZmZmY4 MTRjODZiMT5dIHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKzB4MjUxLzB4MzMwCj4gICAgICAgIFs8ZmZm ZmZmZmY4MTU4ZmE5Zj5dIGRybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25maWcrMHgyNWYvMHgzZjAK PiAgICAgICAgWzxmZmZmZmZmZmEwMTA2YjQ4Pl0gaW50ZWxfZmJkZXZfaW5pdGlhbF9jb25maWcr MHgxOC8weDMwIFtpOTE1XQo+ICAgICAgICBbPGZmZmZmZmZmODEwYWRmZDg+XSBhc3luY19ydW5f ZW50cnlfZm4rMHg0OC8weDE1MAo+ICAgICAgICBbPGZmZmZmZmZmODEwYTM5NDc+XSBwcm9jZXNz X29uZV93b3JrKzB4MWU3LzB4NzUwCj4gICAgICAgIFs8ZmZmZmZmZmY4MTBhM2VmYj5dIHdvcmtl cl90aHJlYWQrMHg0Yi8weDRmMAo+ICAgICAgICBbPGZmZmZmZmZmODEwYWFkNGY+XSBrdGhyZWFk KzB4ZWYvMHgxMTAKPiAgICAgICAgWzxmZmZmZmZmZjgxOWE4NWVmPl0gcmV0X2Zyb21fZm9yaysw eDFmLzB4NDAKPgo+IG90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6Cj4K PiAgUG9zc2libGUgdW5zYWZlIGxvY2tpbmcgc2NlbmFyaW86Cj4KPiAgICAgICAgQ1BVMCAgICAg ICAgICAgICAgICAgICAgQ1BVMQo+ICAgICAgICAtLS0tICAgICAgICAgICAgICAgICAgICAtLS0t Cj4gICBsb2NrKChmYl9ub3RpZmllcl9saXN0KS5yd3NlbSk7Cj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsb2NrKChmYl9ub3RpZmllcl9saXN0KS5yd3NlbSk7Cj4gICBs b2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPgo+ICAqKiogREVBRExPQ0sgKioqCj4KPiA2 IGxvY2tzIGhlbGQgYnkga3dvcmtlci91ODowLzY6Cj4gICMwOiAgKCJldmVudHNfdW5ib3VuZCIp ey4rLisuK30sIGF0OiBbPGZmZmZmZmZmODEwYTM4Yzk+XSBwcm9jZXNzX29uZV93b3JrKzB4MTY5 LzB4NzUwCj4gICMxOiAgKCgmZW50cnktPndvcmspKXsrLisuKy59LCBhdDogWzxmZmZmZmZmZjgx MGEzOGM5Pl0gcHJvY2Vzc19vbmVfd29yaysweDE2OS8weDc1MAo+ICAjMjogIChyZWdpc3RyYXRp b25fbG9jayl7Ky4rLisufSwgYXQ6IFs8ZmZmZmZmZmY4MTRjODQ4Nz5dIHJlZ2lzdGVyX2ZyYW1l YnVmZmVyKzB4MjcvMHgzMzAKPiAgIzM6ICAoY29uc29sZV9sb2NrKXsrLisuKy59LCBhdDogWzxm ZmZmZmZmZjgxNGM4NmNlPl0gcmVnaXN0ZXJfZnJhbWVidWZmZXIrMHgyNmUvMHgzMzAKPiAgIzQ6 ICAoJmZiX2luZm8tPmxvY2speysuKy4rLn0sIGF0OiBbPGZmZmZmZmZmODE0Yzc4ZGQ+XSBsb2Nr X2ZiX2luZm8rMHgxZC8weDQwCj4gICM1OiAgKChmYl9ub3RpZmllcl9saXN0KS5yd3NlbSl7Kysr Ky4rfSwgYXQ6IFs8ZmZmZmZmZmY4MTBhYzE5NT5dIF9fYmxvY2tpbmdfbm90aWZpZXJfY2FsbF9j aGFpbisweDM1LzB4NzAKPgo+IHN0YWNrIGJhY2t0cmFjZToKPiBDUFU6IDIgUElEOiA2IENvbW06 IGt3b3JrZXIvdTg6MCBUYWludGVkOiBHICAgICAgICAgICBPICAgIDQuNy4wLXJjNSsgIzUyNAo+ IEhhcmR3YXJlIG5hbWU6IEludGVsIENvcnAuIEJyb3h0b24gUC9OT1RFQk9PSywgQklPUyBBUExL UlZQQS5YNjQuMDEzOC5CMzMuMTYwNjI1MDg0MiAwNi8yNS8yMDE2Cj4gV29ya3F1ZXVlOiBldmVu dHNfdW5ib3VuZCBhc3luY19ydW5fZW50cnlfZm4KPiAgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODgw MDc1ODU3N2YwIGZmZmZmZmZmODE0NTA3YTUgZmZmZmZmZmY4MjhiOTkwMAo+ICBmZmZmZmZmZjgy OGI5OTAwIGZmZmY4ODAwNzU4NTc4MzAgZmZmZmZmZmY4MTBkYzZmYSBmZmZmODgwMDc1ODU3ODgw Cj4gIGZmZmY4ODAwNzU4NGQ2ODggMDAwMDAwMDAwMDAwMDAwNSAwMDAwMDAwMDAwMDAwMDA2IGZm ZmY4ODAwNzU4NGQ2YjAKPiBDYWxsIFRyYWNlOgo+ICBbPGZmZmZmZmZmODE0NTA3YTU+XSBkdW1w X3N0YWNrKzB4NjcvMHg5Mgo+ICBbPGZmZmZmZmZmODEwZGM2ZmE+XSBwcmludF9jaXJjdWxhcl9i dWcrMHgxYWEvMHgyMDAKPiAgWzxmZmZmZmZmZjgxMGRmMGFjPl0gX19sb2NrX2FjcXVpcmUrMHgx MGZjLzB4MTI2MAo+ICBbPGZmZmZmZmZmODEwZGY2MTE+XSBsb2NrX2FjcXVpcmUrMHhiMS8weDIw MAo+ICBbPGZmZmZmZmZmODE1YWZkZTA+XSA/IGRybV9tb2Rlc2V0X2xvY2tfYWxsKzB4NDAvMHgx MjAKPiAgWzxmZmZmZmZmZjgxNWFmZGUwPl0gPyBkcm1fbW9kZXNldF9sb2NrX2FsbCsweDQwLzB4 MTIwCj4gIFs8ZmZmZmZmZmY4MTlhMzA5Nz5dIG11dGV4X2xvY2tfbmVzdGVkKzB4NjcvMHgzYzAK PiAgWzxmZmZmZmZmZjgxNWFmZGUwPl0gPyBkcm1fbW9kZXNldF9sb2NrX2FsbCsweDQwLzB4MTIw Cj4gIFs8ZmZmZmZmZmY4MTBmYTg1Zj5dID8gcmN1X3JlYWRfbG9ja19zY2hlZF9oZWxkKzB4N2Yv MHg5MAo+ICBbPGZmZmZmZmZmODEyMDgyMTg+XSA/IGttZW1fY2FjaGVfYWxsb2NfdHJhY2UrMHgy NDgvMHgyYjAKPiAgWzxmZmZmZmZmZjgxNWFmZGM1Pl0gPyBkcm1fbW9kZXNldF9sb2NrX2FsbCsw eDI1LzB4MTIwCj4gIFs8ZmZmZmZmZmY4MTVhZmRlMD5dIGRybV9tb2Rlc2V0X2xvY2tfYWxsKzB4 NDAvMHgxMjAKPiAgWzxmZmZmZmZmZjgxNThmNzliPl0gZHJtX2ZiX2hlbHBlcl9yZXN0b3JlX2Zi ZGV2X21vZGVfdW5sb2NrZWQrMHgyYi8weDgwCj4gIFs8ZmZmZmZmZmY4MTU4ZjgxZD5dIGRybV9m Yl9oZWxwZXJfc2V0X3BhcisweDJkLzB4NTAKPiAgWzxmZmZmZmZmZmEwMTA1ZjdhPl0gaW50ZWxf ZmJkZXZfc2V0X3BhcisweDFhLzB4NjAgW2k5MTVdCj4gIFs8ZmZmZmZmZmY4MTRjMTNjNj5dIGZi Y29uX2luaXQrMHg1ODYvMHg2MTAKPiAgWzxmZmZmZmZmZjgxNTRkMTZhPl0gdmlzdWFsX2luaXQr MHhjYS8weDEzMAo+ICBbPGZmZmZmZmZmODE1NGU2MTE+XSBkb19iaW5kX2Nvbl9kcml2ZXIrMHgx YzEvMHgzYTAKPiAgWzxmZmZmZmZmZjgxNTRlYWY2Pl0gZG9fdGFrZV9vdmVyX2NvbnNvbGUrMHgx MTYvMHgxODAKPiAgWzxmZmZmZmZmZjgxNGJkM2E3Pl0gZG9fZmJjb25fdGFrZW92ZXIrMHg1Ny8w eGIwCj4gIFs8ZmZmZmZmZmY4MTRjMWU0OD5dIGZiY29uX2V2ZW50X25vdGlmeSsweDY1OC8weDc1 MAo+ICBbPGZmZmZmZmZmODEwYWJjYWU+XSBub3RpZmllcl9jYWxsX2NoYWluKzB4M2UvMHhiMAo+ ICBbPGZmZmZmZmZmODEwYWMxYWQ+XSBfX2Jsb2NraW5nX25vdGlmaWVyX2NhbGxfY2hhaW4rMHg0 ZC8weDcwCj4gIFs8ZmZmZmZmZmY4MTBhYzFlNj5dIGJsb2NraW5nX25vdGlmaWVyX2NhbGxfY2hh aW4rMHgxNi8weDIwCj4gIFs8ZmZmZmZmZmY4MTRjNzQ4Yj5dIGZiX25vdGlmaWVyX2NhbGxfY2hh aW4rMHgxYi8weDIwCj4gIFs8ZmZmZmZmZmY4MTRjODZiMT5dIHJlZ2lzdGVyX2ZyYW1lYnVmZmVy KzB4MjUxLzB4MzMwCj4gIFs8ZmZmZmZmZmY4MTViN2U4ZD5dID8gdmdhX3N3aXRjaGVyb29fY2xp ZW50X2ZiX3NldCsweDVkLzB4NzAKPiAgWzxmZmZmZmZmZjgxNThmYTlmPl0gZHJtX2ZiX2hlbHBl cl9pbml0aWFsX2NvbmZpZysweDI1Zi8weDNmMAo+ICBbPGZmZmZmZmZmYTAxMDZiNDg+XSBpbnRl bF9mYmRldl9pbml0aWFsX2NvbmZpZysweDE4LzB4MzAgW2k5MTVdCj4gIFs8ZmZmZmZmZmY4MTBh ZGZkOD5dIGFzeW5jX3J1bl9lbnRyeV9mbisweDQ4LzB4MTUwCj4gIFs8ZmZmZmZmZmY4MTBhMzk0 Nz5dIHByb2Nlc3Nfb25lX3dvcmsrMHgxZTcvMHg3NTAKPiAgWzxmZmZmZmZmZjgxMGEzOGM5Pl0g PyBwcm9jZXNzX29uZV93b3JrKzB4MTY5LzB4NzUwCj4gIFs8ZmZmZmZmZmY4MTBhM2VmYj5dIHdv cmtlcl90aHJlYWQrMHg0Yi8weDRmMAo+ICBbPGZmZmZmZmZmODEwYTNlYjA+XSA/IHByb2Nlc3Nf b25lX3dvcmsrMHg3NTAvMHg3NTAKPiAgWzxmZmZmZmZmZjgxMGFhZDRmPl0ga3RocmVhZCsweGVm LzB4MTEwCj4gIFs8ZmZmZmZmZmY4MTlhODVlZj5dIHJldF9mcm9tX2ZvcmsrMHgxZi8weDQwCj4g IFs8ZmZmZmZmZmY4MTBhYWM2MD5dID8ga3RocmVhZF9zdG9wKzB4MmUwLzB4MmUwCj4KPiBDYzog SW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IENjOiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGludGVsLmNvbT4KCkZpeGVzOiA/CkNjOiBkcm0taW50ZWwtZml4ZXNAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCkNjOiBhIGJ1bmNoIG9mIHBlb3BsZSB3aG8gcmVwb3J0ZWQgdGhlIHBy b2JsZW0gdXBzdHJlYW0/CgpCUiwKSmFuaS4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1f Y29ubmVjdG9yLmMgfCA4ICsrKy0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KyksIDUgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9j b25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiBpbmRleCBlZjky MWZhMDlhODQuLmQ5MTA0ZDhiM2M2YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2Nvbm5lY3Rvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+IEBA IC00MDEsMTYgKzQwMSwxNCBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlcl9hbGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiAgCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Cj4g IAlpbnQgcmV0Owo+ICAKPiAtCW11dGV4X2xvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ IC0KPiAtCWRybV9mb3JfZWFjaF9jb25uZWN0b3IoY29ubmVjdG9yLCBkZXYpIHsKPiArCS8qIEZJ WE1FOiB0YWtpbmcgdGhlIG1vZGUgY29uZmlnIG11dGV4IGVuZHMgdXAgaW4gYSBjbGFzaCB3aXRo Cj4gKwkgKiBmYmNvbi9iYWNrbGlnaHQgcmVnaXN0cmF0aW9uICovCj4gKwlsaXN0X2Zvcl9lYWNo X2VudHJ5KGNvbm5lY3RvciwgJmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9yX2xpc3QsIGhlYWQp IHsKPiAgCQlyZXQgPSBkcm1fY29ubmVjdG9yX3JlZ2lzdGVyKGNvbm5lY3Rvcik7Cj4gIAkJaWYg KHJldCkKPiAgCQkJZ290byBlcnI7Cj4gIAl9Cj4gIAo+IC0JbXV0ZXhfdW5sb2NrKCZkZXYtPm1v ZGVfY29uZmlnLm11dGV4KTsKPiAtCj4gIAlyZXR1cm4gMDsKPiAgCj4gIGVycjoKCi0tIApKYW5p IE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==