From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: Re: [PATCH v2 1/2] drm/crtc: fix connector reference counting mismatch in drm_crtc_helper_set_config Date: Mon, 13 Jun 2016 18:49:57 +0200 Message-ID: <1465836597.29321.3.camel@pengutronix.de> References: <1464888472-21581-1-git-send-email-p.zabel@pengutronix.de> <20160602202821.GU7231@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by gabe.freedesktop.org (Postfix) with ESMTPS id ADCB56E65F for ; Mon, 13 Jun 2016 16:50:00 +0000 (UTC) In-Reply-To: <20160602202821.GU7231@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , dri-devel@lists.freedesktop.org, kernel@pengutronix.de, Daniel Stone List-Id: dri-devel@lists.freedesktop.org QW0gRG9ubmVyc3RhZywgZGVuIDAyLjA2LjIwMTYsIDIyOjI4ICswMjAwIHNjaHJpZWIgRGFuaWVs IFZldHRlcjoKPiBPbiBUaHUsIEp1biAwMiwgMjAxNiBhdCAwNzoyNzo1MVBNICswMjAwLCBQaGls aXBwIFphYmVsIHdyb3RlOgo+ID4gU2luY2UgY29tbWl0IDA5NTVjMTI1MGU5NiAoImRybS9jcnRj OiB0YWtlIHJlZmVyZW5jZXMgdG8gY29ubmVjdG9ycyB1c2VkCj4gPiBpbiBhIG1vZGVzZXQuICh2 MikiKSwgdGhlIHJlZmVyZW5jZSBjb3VudHMgb2YgYWxsIGNvbm5lY3RvcnMgaW4gdGhlCj4gPiBk cm1fbW9kZV9zZXQgZ2l2ZW4gdG8gZHJtX2NydGNfaGVscGVyX3NldF9jb25maWcgYXJlIGluY3Jl bWVudGVkLCBhbmQgdGhlbgo+ID4gdGhlIHJlZmVyZW5jZSBjb3VudHMgb2YgYWxsIGNvbm5lY3Rv cnMgYXJlIGRlY3JlbWVudGVkIG9uIHN1Y2Nlc3MsIGJ1dCBpbiBhCj4gPiB0ZW1wb3JhcnkgY29w eSBvZiB0aGUgY29ubmVjdG9yIHN0cnVjdHVyZS4gVGhpcyBsZWFkcyB0byB0aGUgZm9sbG93aW5n Cj4gPiBlcnJvciBhZnRlciB0aGUgZmlyc3QgbW9kZXNldCBvbiBpbXgtZHJtOgo+ID4gCj4gPiAg ICAgVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0IHZp cnR1YWwgYWRkcmVzcyAwMDAwMDAwNAo+ID4gICAgIHBnZCA9IGFkOGM0MDAwCj4gPiAgICAgWzAw MDAwMDA0XSAqcGdkPTNkOWM1ODMxLCAqcHRlPTAwMDAwMDAwLCAqcHB0ZT0wMDAwMDAwMAo+ID4g ICAgIEludGVybmFsIGVycm9yOiBPb3BzOiA4MTcgWyMxXSBQUkVFTVBUIFNNUCBBUk0KPiA+ICAg ICBNb2R1bGVzIGxpbmtlZCBpbjoKPiA+ICAgICBDUFU6IDEgUElEOiAxOTAgQ29tbToga21zZmIt bWFuYWdlIE5vdCB0YWludGVkIDQuNy4wLXJjMSsgIzY1Nwo+ID4gICAgIEhhcmR3YXJlIG5hbWU6 IEZyZWVzY2FsZSBpLk1YNiBRdWFkL0R1YWxMaXQ6IFs8ODA1MDYwOTg+XSAgICBsciA6IFs8ODAy NTJlOTQ+XSAgICBwc3I6IDIwMGMwMDEzCj4gPiAgICAgc3AgOiBhZGNhN2NhOCAgaXAgOiBhZGNh N2I5MCAgZnAgOiBhZGNhN2NkNAo+ID4gICAgIHIxMDogMDAwMDAwMDAgIHI5IDogMDAwMDAxMDAg IHI4IDogMDAwMDAyMDAKPiA+ICAgICByNyA6IGFmM2M5ODAwICByNiA6IGFkZWQ3ODQ4ICByNSA6 IGFkZWQ3ODAwICByNCA6IDAwMDAwMDAwCj4gPiAgICAgcjMgOiBhZjNjYTA1OCAgcjIgOiAwMDAw MDIwMCAgcjEgOiBhZjNjYTA1OCAgcjAgOiAwMDAwMDAwMAo+ID4gICAgIEZsYWdzOiBuekN2ICBJ UlFzIG9uICBGSVFzIG9uICBNb2RlIFNWQ18zMiAgSVNBIEFSTSAgU2VnbWVudCBub25lCj4gPiAg ICAgQ29udHJvbDogMTBjNTM4N2QgIFRhYmxlOiAzZDhjNDA0YSAgREFDOiAwMDAwMDA1MQo+ID4g ICAgIFByb2Nlc3Mga21zZmItbWFuYWdlIChwaWQ6IDE5MCwgc3RhY2sgbGltaXQgPSAweGFkY2E2 MjEwKQo+ID4gICAgIFN0YWNrOiAoMHhhZGNhN2NhOCB0byAweGFkY2E4MDAwKQo+ID4gICAgIDdj YTA6ICAgICAgICAgICAgICAgICAgIDgwNTE5MGUwIGFkZWQ3ODAwIGFkZWQ3ODIwIDgwNTAxYTg4 IDgxNTVhMjkwIGFmM2M5YzZjCj4gPiAgICAgN2NjMDogYWRjYTdkZGMgMDAwMDAwMGYgYWRjYTdj ZWMgYWRjYTdjZDggODA1MTkxMDQgODA1MDYwNDQgODA1MTkwZTAgYWRlZDc4MDAKPiA+ICAgICA3 Y2UwOiBhZGNhN2QwNCBhZGNhN2NmMCA4MDUwMWFjMCA4MDUxOTBlYyBhZGVkNzgyMCBhZGVkNzgx NCBhZGNhN2QyNCBhZGNhN2QwOAo+ID4gICAgIDdkMDA6IDgwNGZkYjgwIDgwNTAxYTk0IGFkZWQ3 ODAwIGFmM2NhMDEwIGFkZWQ3YWZjIGFmM2M5YzYwIGFkY2E3ZDk0IGFkY2E3ZDI4Cj4gPiAgICAg N2QyMDogODA0ZTM1MTggODA0ZmRiMjAgMDAwMDAwMDAgYWYzYzliMWMgYWRjYTdkNTAgODE1MDZm NDQgMDAwMDAwMDAgODA5M2M1MDAKPiA+ICAgICA3ZDQwOiBhZjNjOWM2YyBhZTRmMmNhOCBhZTRm MmMxOCAwMDAwMDAwMCAwMDAwMDAwMCBhZTYzN2YwMCAwMDAwMDAwMCBhZGVkNzgwMAo+ID4gICAg IDdkNjA6IDAwMDAwMDAxIGFmM2M5ODAwIGFmMjNjMzAwIGFlNzdmY2MwIGFlNGYyYzE4IDAwMDAw MDAxIGFmM2M5ODAwIDgxNTVhMjkwCj4gPiAgICAgN2Q4MDogYWYxYWY3MDAgYWRjYTYwMDAgYWRj YTdkYjQgYWRjYTdkOTggODA0ZmVhNmMgODA0ZTJkZTQgYWRjYTdlNTAgYWRiM2Q5NDAKPiA+ICAg ICA3ZGEwOiAwMDAwMDAwMSBhZjNjOTgwMCBhZGNhN2UyNCBhZGNhN2RiOCA4MDUwNDQwYyA4MDRm ZWEwYyBhZTc3ZmNjMCAwMDAwMDAwMwo+ID4gICAgIDdkYzA6IGFkY2E3ZTI0IGFkYjNkOTQwIGFm MWFmNzAwIGFlNzdmY2MwIGFlNzdmY2NjIGFlNGYyYzE4IDgwODNkNDRjIGFlNzdmY2MwCj4gPiAg ICAgN2RlMDogYWU0MDAyIDgwZDAzMDQwIGFkY2E3ZTY0IGFkY2E3ZTQwIGFkY2E3ZTUwIDgwNTAz ZjA4Cj4gPiAgICAgN2U0MDogN2ViZDU2MzAgYWRjYTdlNTAgMDAwMDAwNjggYzA2ODY0YTIgN2Vi ZDViZTggMDAwMDAwMDAgMDAwMDAwMDEgMDAwMDAwMTgKPiA+ICAgICA3ZTYwOiAwMDAwMDAyNiAw MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSAwMDAxMTViYyAwNTAxMDUwMCAwNWEw MDU5Zgo+ID4gICAgIDdlODA6IDAzMjAwMDAwIDAzMzYwMzIxIDAwMDAwMzM3IDAwMDAwMDNjIDAw MDAwMDAwIDAwMDAwMDQwIDMwMzgzMjMxIDMwMzAzODc4Cj4gPiAgICAgN2VhMDogMDAwMDAwMDAg MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgODAxNzMwNTggODAx NzJlMzAKPiA+ICAgICA3ZWMwOiA4MGQ3N2QzMiAwMDAwNDAwMCBhZGY3ZDkwMCAwMDAwMDAwMyAw MDAwMDAwMCA3ZWJkNTYzMCBhZjM0MmJiMCBhZGZlM2I4MAo+ID4gICAgIDdlZTA6IDgwMjcyZjUw IDAwMDAwMDAzIGFkY2E2MDAwIDAwMDAwMDAwIGFkY2E3ZjdjIGFkY2E3ZjAwIDgwMjcyNWVjIDgw NGY1MmNjCj4gPiAgICAgN2YwMDogODAyODA5Y2MgODAxNzg0NTAgMDAwMDAwMDAgMDAwMDAwMDAg ODAyODA4ODAgODAxNDU5MDQgYWRiM2Q4YzAgYWRmN2Q5OTAKPiA+ICAgICA3ZjIwOiBmZmZmZmZm ZiAwMDAwMDAwMyAwMDAwNDAwMCAwMTYxNGMxMCBjMDY4NjRhMiAwMDAwMDAwMyBhZGNhNjAwMCAw MDAwMDAwMAo+ID4gICAgIDdmNDA6IGFkY2E3ZjZjIGFkY2E3ZjUwIDgwMjgwYjA0IDgwMjgwODhj IDAwMDExNWJjIGFkZmUzYjgxIDdlYmQ1NjMwIGFkZmUzYjgwCj4gPiAgICAgN2Y2MDogYzA2ODY0 YTIgMDAwMDAwMDMgYWRjYTYwMDAgMDAwMDAwMDAgYWRjYTdmYTQgYWRjYTdmODAgODAyNzJmNTAg ODAyNzI1NDgKPiA+ICAgICA3ZjgwOiAwMDAxMTViYyAwMDAxNzA1MCAwMDAwMDAwMSAwMTYxNGMx MCAwMDAwMDAzNiA4MDEwODllNCAwMDAwMDAwMCBhZGNhN2ZhOAo+ID4gICAgIDdmYTA6IDgwMTA4 ODQwIDgwMjcyZjE4IDAwMDE3MDUwIDAwMDAwMDAxIDAwMDAwMDAzIGMwNjg2NGEyIDdlYmQ1NjMw IDAwMDExNWJjCj4gPiAgICAgN2ZjMDogMDAwMTcwNTAgMDAwMDAwMDEgMDE2MTRjMTAgMDAwMDAw MzYgMDAwMDAwMDMgMDAwMDAwMDAgMDAwMDAwMjYgMDAwMDAwMTgKPiA+ICAgICA3ZmUwOiAwMDAx NmYzOCA3ZWJkNTYyYyAwMDAwYjVlOSA3NmVmMzFlNiA0MDBjMDAzMCAwMDAwMDAwMyBmZjVmMzdk YiBiZmU3ZGQ0ZAo+ID4gICAgIEJhY2t0cmFjZToKPiA+ICAgICBbPDgwNTA2MDM4Pl0gKGRybV9j b25uZWN0b3JfY2xlYW51cCkgZnJvbSBbPDgwNTE5MTA0Pl0gKGR3X2hkbWlfY29ubmVjdG9yX2Rl c3Ryb3krMHgyNC8weDI4KQo+ID4gICAgICByMTA6MDAwMDAwMGYgcjk6YWRjYTdkZGMgcjg6YWYz YzljNmMgcjc6ODE1NWEyOTAgcjY6ODA1MDFhODggcjU6YWRlZDc4MjAKPiA+ICAgICAgcjQ6YWRl ZDc4MDAgcjM6ODA1MTkwZTAKPiA+ICAgICBbPDgwNTE5MGUwPl0gKGR3X2hkbWlfY29ubmVjdG9y X2Rlc3Ryb3kpIGZyb20gWzw4MDUwMWFjMD5dIChkcm1fY29ubmVjdG9yX2ZyZWUrMHgzOC8weDNj KQo+ID4gICAgICByNDphZGVkNzgwMCBucmVmZXJlbmNlKSBmcm9tIFs8ODA0ZTM1MTg+XSAoZHJt X2NydGNfaGVscGVyX3NldF9jb25maWcrMHg3NDAvMHhiZjQpCj4gPiAgICAgIHI2OmFmM2M5YzYw IHI1OmFkZWQ3YWZjIHI0OmFmM2NhMDEwIHIzOmFkZWQ3ODAwCj4gPiAgICAgWzw4MDRlMmRkOD5d IChkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZykgZnJvbSBbPDgwNGZlYTZjPl0gKGRybV9tb2Rl X3NldF9jb25maWdfaW50ZXJuYWwrMHg2Yy8weGY0KQo+ID4gICAgICByMTA6YWRjYTYwMDAgcjk6 YWYxYWY3MDAgcjg6ODE1NWEyOTAgcjc6YWYzYzk4MDAgcjY6MDAwMDAwMDEgcjU6YWU0ZjJjMTgK PiA+ICAgICAgcjQ6YWU3N2ZjYzAKPiA+ICAgICBbPDgwNGZlYTAwPl0gKGRybV9tb2RlX3NldF9j b25maWdfaW50ZXJuYWwpIGZyb20gWzw4MDUwNDQwYz5dIChkcm1fbW9kZV9zZXRjcnRjKzB4NTA0 LzB4NTdjKQo+ID4gICAgICByNzphZjNjOTgwMCByNjowMDAwMDAwMSByNTphZGIzZDk0MCByNDph ZGNhN2U1MAo+ID4gICAgIFs8ODA1MDNmMDg+XSAoZHJtX21vZGVfc2V0Y3J0YykgZnJvbSBbPDgw NGY1NDA0Pl0gKGRybV9pb2N0bCsweDE0NC8weDRkYykKPiA+ICAgICAgcjEwOmFkYTJlMDAwIHI5 OjAwMDAwMGEyIHI4OmFmM2M5ODAwIHI3OjgxNTVhMjkwIHI2OjgwOTMyMGI0IHI1OjAwMDAwMDUx Cj4gPiAgICAgIHI0OmFkY2E3ZTUwCj4gPiAgICAgWzw4MDRmNTJjMD5dIChkcm1faW9jdGwpIGZy b20gWzw4MDI3MjVlYz5dIChkb192ZnNfaW9jdGwrMHhiMC8weDlkMCkKPiA+ICAgICAgcjEwOjAw MDAwMDAwIHI5OmFkY2E2MDAwIHI4OjAwMDAwMDAzIHI3OjgwMjcyZjUwIHI2OmFkZmUzYjgwIHI1 OmFmMzQyYmIwCj4gPiAgICAgIHI0OjdlYmQ1NjMwCj4gPiAgICAgWzw4MDI3MjUzYz5dIChkb192 ZnNfaW9jdGwpIGZyb20gWzw4MDI3MmY1MD5dIChTeVNfaW9jdGwrMHg0NC8weDZjKQo+ID4gICAg ICByMTA6MDAwMDAwMDAgcjk6YWRjYTYwMDAgcjg6MDAwMDAwMDMgcjc6YzA2ODY0YTIgcjY6YWRm ZTNiODAgcjU6N2ViZDU2MzAKPiA+ICAgICAgcjQ6YWRmZTNiODEKPiA+ICAgICBbPDgwMjcyZjBj Pl0gKFN5U19pb2N0bCkgZnJvbSBbPDgwMTA4ODQwPl0gKHJldF9mYXN0X3N5c2NhbGwrMHgwLzB4 MWMpCj4gPiAgICAgIHI4OjgwMTA4OWU0IHI3OjAwMDAwMDM2IHI2OjAxNjE0YzEwIHI1OjAwMDAw MDAxIHI0OjAwMDE3MDUwIHIzOjAwMDExNWJjCj4gPiAgICAgQ29kZTogMGEwMDAwMGMgZTU5MzIw MDQgZTFhMDEwMDMgZTFhMGEwMDQgKGU1ODQyMDA0KQo+ID4gICAgIC0tLVsgZW5kIHRyYWNlIDlh NzI1NzU3MmNjYWNiMTYgXS0tLQo+ID4gCj4gPiBPbmx5IHRoZSByZWZlcmVuY2UgY291bnQgb2Yg Y29ubmVjdG9ycyB0aGF0IHdlcmVuJ3QgcHJldmlvdXNseSBib3VuZCB0bwo+ID4gYW4gZW5jb2Rl ciBzaG91bGQgYmUgaW5jcmVtZW50ZWQgYWZ0ZXIgYSBjYWxsIHRvIGRybV9jcnRjX2hlbHBlcl9z ZXRfY29uZmlnLgo+ID4gQW5kIG9ubHkgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBjb25uZWN0b3Jz IHRoYXQgd2VyZSBwcmV2aW91c2x5IGJvdW5kIHRvCj4gPiBhbiBlbmNvZGVyIGFuZCBhcmUgdW5i b3VuZCBhZnRlcndhcmRzIHNob3VsZCBldmVyIGJlIGRlY3JlbWVudGVkLgo+ID4gVGhlIHJlZmVy ZW5jZSBjb3VudHMgb2YgdGhlIHRlbXBvcmFyeSBjb3BpZXMgaW4gdGhlIHNhdmVfY29ubmVjdG9y cwo+ID4gc2hvdWxkIG5vdCBiZSB0b3VjaGVkIGF0IGFsbC4KPiA+IAo+ID4gVGhpcyBwYXRjaCBm aXhlcyB0aGUgYWJvdmUgZXJyb3IgYnkgb25seSBpbmNyZW1lbnRpbmcgdGhlIHJlZmVyZW5jZSBj b3VudAo+ID4gb2YgdGhvc2UgY29ubmVjdG9ycyBpbiB0aGUgc2V0IHRoYXQgYXJlIGluaXRpYWxs eSBub3QgYm91bmQgdG8gYW55IGVuY29kZXIsCj4gPiBhbmQgYWxzbyBieSByZXN0b3JpbmcgdGhl IHJlZmVyZW5jZSBjb3VudCBvZiBvbmx5IHRob3NlIGNvbm5lY3RvcnMgaW4gdGhlCj4gPiBzZXQg aW4gdGhlIGZhaWx1cmUgY2FzZS4KPiA+IAo+ID4gRml4ZXM6IDA5NTVjMTI1MGU5NiAoImRybS9j cnRjOiB0YWtlIHJlZmVyZW5jZXMgdG8gY29ubmVjdG9ycyB1c2VkIGluIGEgbW9kZXNldC4gKHYy KSIpCj4gPiBTaWduZWQtb2ZmLWJ5OiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4 LmRlPgo+IAo+IEknZCBsaWtlIHRvIGFuYWx5emUgdGhpcyBidWcgZmlyc3QgYSBiaXQgbW9yZSAo c2luY2UgaXQgc2VlbXMgdG8gYmUgaW14Cj4gc3BlY2lmaWMpIGJlZm9yZSByZXZpZXcvbWVyZ2lu ZywgcGVyIG91ciBvbmdvaW5nIGRpc2N1c3Npb24uIFRoZSBjdXJyZW50Cj4gY29kZSBpcyBkZWZp bml0ZWx5IHdyb25nLCBidXQgbG9va2luZyBhdCBpdCBJIG1vcmUgZXhwZWN0ZWQgYSBsZWFrIChz aW5jZQo+IHdlIGRlY3JlbWVudCBzYXZlZCBzdHJ1Y3R1cmVzLCBub3QgdGhlIHJlYWwgb25lcyks IG5vdCBhbiBleHBsb3Npb24uCj4gLURhbmllbAo+IApUaGVyZSBpcyBhIHJlZ3Jlc3Npb24gYnVn IG9wZW4gYWdhaW5zdCBub3V2ZWF1LCB3aGljaCBzaG93cyB0aGUgc2FtZQpzeW1wdG9tcyBhbmQg aXMgZml4ZWQgYnkgdGhlc2UgcGF0Y2hlcy4KCmh0dHBzOi8vYnVnemlsbGEua2VybmVsLm9yZy9z aG93X2J1Zy5jZ2k/aWQ9MTE5ODYxCgpJdCBpcyBub3Qgc3BlY2lmaWMgdG8gaW14LWRybSwgYnV0 IGRvZXNuJ3QgZXhwbG9kZSBvbiBkZXNrdG9wIHN5c3RlbQpyaWdodCBhd2F5LCBwcm9iYWJseSBk dWUgdG8gdGhlIEZCIGVtdWxhdGlvbiBob2xkaW5nIGEgcmVmZXJlbmNlIHRvIGFsbApjb25uZWN0 b3JzLgoKUmVnYXJkcywKTHVjYXMKCj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2Ny dGNfaGVscGVyLmMgfCAxOCArKysrKysrKysrLS0tLS0tLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwg MTAgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0 Y19oZWxwZXIuYwo+ID4gaW5kZXggYTZlNDI0My4uMWM0ZDY3NCAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9jcnRjX2hlbHBlci5jCj4gPiBAQCAtNjMxLDggKzYzMSwxMiBAQCBpbnQgZHJtX2NydGNf aGVscGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQo+ID4gIAkJbW9kZV9j aGFuZ2VkID0gdHJ1ZTsKPiA+ICAJfQo+ID4gIAo+ID4gLQkvKiB0YWtlIGEgcmVmZXJlbmNlIG9u IGFsbCBjb25uZWN0b3JzIGluIHNldCAqLwo+ID4gKwkvKiB0YWtlIGEgcmVmZXJlbmNlIG9uIGFs bCB1bmJvdW5kIGNvbm5lY3RvcnMgaW4gc2V0LCByZXVzZSB0aGUKPiA+ICsJICogYWxyZWFkeSB0 YWtlbiByZWZlcmVuY2UgZm9yIGJvdW5kIGNvbm5lY3RvcnMKPiA+ICsJICovCj4gPiAgCWZvciAo cm8gPSAwOyBybyA8IHNldC0+bnVtX2Nvbm5lY3RvcnM7IHJvKyspIHsKPiA+ICsJCWlmIChzZXQt PmNvbm5lY3RvcnNbcm9dLT5lbmNvZGVyKQo+ID4gKwkJCWNvbnRpbnVlOwo+ID4gIAkJZHJtX2Nv bm5lY3Rvcl9yZWZlcmVuY2Uoc2V0LT5jb25uZWN0b3JzW3JvXSk7Cj4gPiAgCX0KPiA+ICAKPiA+ IEBAIC03NTQsMTIgKzc1OCw2IEBAIGludCBkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZyhzdHJ1 Y3QgZHJtX21vZGVfc2V0ICpzZXQpCj4gPiAgCQl9Cj4gPiAgCX0KPiA+ICAKPiA+IC0JLyogYWZ0 ZXIgZmFpbCBkcm9wIHJlZmVyZW5jZSBvbiBhbGwgY29ubmVjdG9ycyBpbiBzYXZlIHNldCAqLwo+ ID4gLQljb3VudCA9IDA7Cj4gPiAtCWRybV9mb3JfZWFjaF9jb25uZWN0b3IoY29ubmVjdG9yLCBk ZXYpIHsKPiA+IC0JCWRybV9jb25uZWN0b3JfdW5yZWZlcmVuY2UoJnNhdmVfY29ubmVjdG9yc1tj b3VudCsrXSk7Cj4gPiAtCX0KPiA+IC0KPiA+ICAJa2ZyZWUoc2F2ZV9jb25uZWN0b3JzKTsKPiA+ ICAJa2ZyZWUoc2F2ZV9lbmNvZGVycyk7Cj4gPiAgCXJldHVybiAwOwo+ID4gQEAgLTc3Niw4ICs3 NzQsMTIgQEAgZmFpbDoKPiA+ICAJCSpjb25uZWN0b3IgPSBzYXZlX2Nvbm5lY3RvcnNbY291bnQr K107Cj4gPiAgCX0KPiA+ICAKPiA+IC0JLyogYWZ0ZXIgZmFpbCBkcm9wIHJlZmVyZW5jZSBvbiBh bGwgY29ubmVjdG9ycyBpbiBzZXQgKi8KPiA+ICsJLyogYWZ0ZXIgZmFpbCBkcm9wIHJlZmVyZW5j ZSBvbiBhbGwgdW5ib3VuZCBjb25uZWN0b3JzIGluIHNldCwgbGV0Cj4gPiArCSAqIGJvdW5kIGNv bm5lY3RvcnMga2VlcCB0aGVpciByZWZlcmVuY2UKPiA+ICsJICovCj4gPiAgCWZvciAocm8gPSAw OyBybyA8IHNldC0+bnVtX2Nvbm5lY3RvcnM7IHJvKyspIHsKPiA+ICsJCWlmIChzZXQtPmNvbm5l Y3RvcnNbcm9dLT5lbmNvZGVyKQo+ID4gKwkJCWNvbnRpbnVlOwo+ID4gIAkJZHJtX2Nvbm5lY3Rv cl91bnJlZmVyZW5jZShzZXQtPmNvbm5lY3RvcnNbcm9dKTsKPiA+ICAJfQo+ID4gIAo+ID4gLS0g Cj4gPiAyLjguMQo+ID4gCj4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==