From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/fb_helper: Allow leaking fbdev smem_start Date: Mon, 24 Sep 2018 16:45:52 +0200 Message-ID: <20180924144552.GR11082@phenom.ffwll.local> References: <1537448652-17780-1-git-send-email-narmstrong@baylibre.com> <20180921140740.j7u7etiuqcih5t2m@flea> <20180922085617.GL11082@phenom.ffwll.local> <42c4c2b7-c067-9ce4-77dd-bc6fb899d700@baylibre.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com [IPv6:2a00:1450:4864:20::542]) by gabe.freedesktop.org (Postfix) with ESMTPS id EAC5B6E24E for ; Mon, 24 Sep 2018 14:45:57 +0000 (UTC) Received: by mail-ed1-x542.google.com with SMTP id f4-v6so16534056edq.3 for ; Mon, 24 Sep 2018 07:45:57 -0700 (PDT) Content-Disposition: inline In-Reply-To: <42c4c2b7-c067-9ce4-77dd-bc6fb899d700@baylibre.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Neil Armstrong Cc: Bartlomiej Zolnierkiewicz , Maxime Ripard , Daniel Vetter , dri-devel@lists.freedesktop.org, Christian =?iso-8859-1?Q?K=F6nig?= List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBTZXAgMjQsIDIwMTggYXQgMTA6NDQ6MDVBTSArMDIwMCwgTmVpbCBBcm1zdHJvbmcg d3JvdGU6Cj4gSGkgTWF4aW1lLCBEYW5pZWwsCj4gCj4gT24gMjIvMDkvMjAxOCAxMDo1NiwgRGFu aWVsIFZldHRlciB3cm90ZToKPiA+IE9uIEZyaSwgU2VwIDIxLCAyMDE4IGF0IDA0OjA3OjQwUE0g KzAyMDAsIE1heGltZSBSaXBhcmQgd3JvdGU6Cj4gPj4gSGksCj4gPj4KPiA+PiBPbiBUaHUsIFNl cCAyMCwgMjAxOCBhdCAwMzowNDoxMlBNICswMjAwLCBOZWlsIEFybXN0cm9uZyB3cm90ZToKPiA+ Pj4gU2luY2UgImRybS9mYjogU3RvcCBsZWFraW5nIHBoeXNpY2FsIGFkZHJlc3MiLCB0aGUgZGVm YXVsdCBiZWhhdmlvdXIgb2YKPiA+Pj4gdGhlIERSTSBmYmRldiBlbXVsYXRpb24gaXMgdG8gc2V0 IHRoZSBzbWVtX2Jhc2UgdG8gMCBhbmQgcGFzcyB0aGUgbmV3Cj4gPj4+IEZCSU5GT19ISURFX1NN RU1fU1RBUlQgZmxhZy4KPiA+Pj4KPiA+Pj4gVGhlIG1haW4gcmVhc29uIGlzIHRvIGF2b2lkIGxl YWtpbmcgcGh5c2ljYWwgYWRkcmVzc2UgdG8gdXNlci1zcGFjZSwgYW5kCj4gPj4+IGl0IGZvbGxv d3MgYSBnZW5lcmFsIG1vdmUgb3ZlciB0aGUga2VybmVsIGNvZGUgdG8gYXZvaWQgdXNlci1zcGFj ZSB0bwo+ID4+PiBtYW5pcHVsYXRlIHBoeXNpY2FsIGFkZHJlc3NlcyBhbmQgdGhlbiB1c2Ugc29t ZSBvdGhlciBtZWNoYW5pc21zIGxpa2UKPiA+Pj4gZG1hLWJ1ZiB0byB0cmFuc2ZlciBwaHlzaWNh bCBidWZmZXIgaGFuZGxlcyBvdmVyIG11bHRpcGxlIHN1YnN5c3RlbXMuCj4gPj4+Cj4gPj4+IEJ1 dCwgYSBsb3Qgb2YgZGV2aWNlcyBkZXBlbmRzIG9uIGNsb3NlZCBzb3VyY2VzIGJpbmFyaWVzIHRv IGVuYWJsZQo+ID4+PiBPcGVuR0wgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIHRoYXQgdXNlcyB0aGlz IHNtZW1fc3RhcnQgdmFsdWUgdG8KPiA+Pj4gcGFzcyBwaHlzaWNhbCBhZGRyZXNzZXMgdG8gb3V0 LW9mLXRyZWUgbW9kdWxlcyBpbiBvcmRlciB0byByZW5kZXIKPiA+Pj4gaW50byB0aGVzZSBwaHlz aWNhbCBhZHJlc3Nlcy4gVGhlc2Ugc2hvdWxkIHVzZSBkbWEtYnVmIGJ1ZmZlcnMgYWxsb2NhdGVk Cj4gPj4+IGZyb20gdGhlIERSTSBkaXNwbGF5IGRldmljZSBpbnN0ZWFkIGFuZCBzdG9wIHJlbHlp bmcgb24gZmJkZXYgb3ZlcmFsbG9jYXRpb24KPiA+Pj4gdG8gZ2F0aGVyIERNQSBtZW1vcnkgKHNv bWUgSFcgdmVuZG9ycyBkZWxpdmVycyBHQk0gYW5kIFdheWxhbmQgY2FwYWJsZQo+ID4+PiBiaW5h cmllcywgYnV0IG9sZGVyIHVuc3VwcG9ydGVkIGRldmljZXMgd29uJ3QgaGF2ZSB0aGVzZSBuZXcg YmluYXJpZXMKPiA+Pj4gYW5kIGFyZSBkb29tZWQgdW50aWwgYW4gT3BlbiBTb3VyY2Ugc29sdXRp b24gbGlrZSBMaW1hIGZpbmFsaXplcykuCj4gPj4+Cj4gPj4+IFNpbmNlIHRoZXNlIGRldmljZXMg aGVhdmlseSBkZXBlbmRzIG9uIHRoaXMga2luZCBvZiBzb2Z0d2FyZSBhbmQgYmVjYXVzZQo+ID4+ PiB0aGUgc21lbV9zdGFydCBwb3B1bGF0aW9uIHdhcyBhdmFpbGFibGUgZm9yIHllYXJzLCBpdCdz IGEgYnJlYWthZ2UgdG8KPiA+Pj4gc3RvcCBsZWFraW5nIHNtZW1fc3RhcnQgd2l0aG91dCBhbnkg YWx0ZXJuYXRpdmUgc29sdXRpb25zLgo+ID4+Pgo+ID4+PiBUaGlzIHBhdGNoIGFkZHMgYSBLY29u ZmlnIGRlcGVuZGluZyBvbiB0aGUgRVhQRVJUIGNvbmZpZyBhbmQgYW4gdW5zYWZlCj4gPj4+IGtl cm5lbCBtb2R1bGUgcGFyYW1ldGVyIHRhaW50aW5nIHRoZSBrZXJuZWwgd2hlbiBlbmFibGVkLgo+ ID4+Pgo+ID4+PiBBIGNsZWFyIGNvbW1lbnQgYW5kIEtjb25maWcgaGVscCB0ZXh0IHdhcyBhZGRl ZCB0byBjbGFyaWZ5IHdoeSBhbmQgd2hlbgo+ID4+PiB0aGlzIHBhdGNoIHNob3VsZCBiZSByZXZl cnRlZCwgYnV0IGluIHRoZSBtZWFudGltZSBpdCdzIGEgbmVjZXNzYXJ5Cj4gPj4+IGZlYXR1cmUg dG8ga2VlcC4KPiA+Pj4KPiA+Pj4gQ2M6IERhdmUgQWlybGllIDxhaXJsaWVkQGdtYWlsLmNvbT4K PiA+Pj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gPj4+IENj OiBCYXJ0bG9taWVqIFpvbG5pZXJraWV3aWN6IDxiLnpvbG5pZXJraWVAc2Ftc3VuZy5jb20+Cj4g Pj4+IENjOiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVzLm9yZz4KPiA+Pj4gQ2M6IE1h eGltZSBSaXBhcmQgPG1heGltZS5yaXBhcmRAYm9vdGxpbi5jb20+Cj4gPj4+IENjOiBFcmljIEFu aG9sdCA8ZXJpY0BhbmhvbHQubmV0Pgo+ID4+PiBDYzogTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVu Z3V0cm9uaXguZGU+Cj4gPj4+IENjOiBSb2IgQ2xhcmsgPHJvYmRjbGFya0BnbWFpbC5jb20+Cj4g Pj4+IENjOiBCZW4gU2tlZ2dzIDxza2VnZ3NiQGdtYWlsLmNvbT4KPiA+Pj4gQ2M6IENocmlzdGlh biBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KPiA+Pj4gU2lnbmVkLW9mZi1ieTog TmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJvbmdAYmF5bGlicmUuY29tPgo+ID4+PiAtLS0KPiA+Pj4g IGRyaXZlcnMvZ3B1L2RybS9LY29uZmlnICAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKPiA+ Pj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgfCAzMyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0KPiA+Pj4gIDIgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKPiA+Pj4KPiA+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPiA+Pj4gaW5kZXggODg3MWIzZi4u YjA3YzI5OCAxMDA2NDQKPiA+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPiA+Pj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPiA+Pj4gQEAgLTExMCw2ICsxMTAsMjEgQEAg Y29uZmlnIERSTV9GQkRFVl9PVkVSQUxMT0MKPiA+Pj4gIAkgIGlzIDEwMC4gVHlwaWNhbCB2YWx1 ZXMgZm9yIGRvdWJsZSBidWZmZXJpbmcgd2lsbCBiZSAyMDAsCj4gPj4+ICAJICB0cmlwbGUgYnVm ZmVyaW5nIDMwMC4KPiA+Pj4gIAo+ID4+PiArY29uZmlnIERSTV9GQkRFVl9MRUFLX1BIWVNfU01F TQo+ID4+PiArCWJvb2wgIlNoYW1lbGVzc2x5IGFsbG93IGxlYWtpbmcgb2YgZmJkZXYgcGh5c2lj YWwgYWRkcmVzcyAoREFOR0VST1VTKSIKPiA+Pj4gKwlkZXBlbmRzIG9uIERSTV9GQkRFVl9FTVVM QVRJT04gJiYgRVhQRVJUCj4gPj4+ICsJZGVmYXVsdCBuCj4gPj4+ICsJaGVscAo+ID4+PiArCSAg SW4gb3JkZXIgdG8ga2VlcCB1c2VyLXNwYWNlIGNvbXBhdGliaWxpdHksIHdlIHdhbnQgaW4gY2Vy dGFpbgo+ID4+PiArCSAgdXNlLWNhc2VzIHRvIGtlZXAgbGVha2luZyB0aGUgZmJkZXYgcGh5c2lj YWwgYWRkcmVzcyB0byB0aGUKPiA+Pj4gKwkgIHVzZXItc3BhY2UgcHJvZ3JhbSBoYW5kbGluZyB0 aGUgZmJkZXYgYnVmZmVyLgo+ID4+PiArCSAgVGhpcyBvcHRpb24gaXMgYSBzaGFtZSBhbmQgc2hv dWxkIGJlIHJlbW92ZWQgYXMgc29vbiBhcyBwb3NzaWJsZQo+ID4+PiArCSAgYW5kIGJlIGNvbnNp ZGVyZWQgYXMgYSBicm9rZW4gYW5kIGxlZ2FjeSBiZWhhdmlvdXIgZnJvbSBhIG1vZGVybgo+ID4+ PiArCSAgZmJkZXYgZGV2aWNlIGRyaXZlci4KPiA+IAo+ID4gcy9zaGFtZS9ub3Qgc3VwcG9ydGVk IGJ5IHVwc3RyZWFtIGRldmVsb3BlcnMvCj4gCj4gQWNrCj4gCj4gPiAKPiA+IEFuZCBtYXliZSBh ZGQgIlBsZWFzZSBzZW5kIGFueSBidWcgcmVwb3J0cyB3aGVuIHVzaW5nIHRoaXMgdG8geW91cgo+ ID4gcHJvcHJpZXRhcnkgc29mdHdhcmUgdmVuZG9yIHRoYXQgcmVxdWlyZXMgdGhpcy4iCj4gCj4g SXQncyAoc29tZWhvdykgb24gdGhlIGZvbGxvd2luZyBsaW5lIDoKPiAKPiA+Pj4gKwkgIElmIGlu IGRvdWJ0LCBzYXkgIk4iIG9yIHNwcmVhZCB0aGUgd29yZCB0byB5b3VyIGNsb3NlZCBzb3VyY2UK PiA+Pj4gKwkgIGxpYnJhcnkgdmVuZG9yLgo+IAo+IEkgd2lsbCBtYWtlIGl0IGV2ZW4gc2Nhcmll ciAhCj4gCj4gPiAKPiA+IEknZCBhbHNvIGJlIGluIGZhdm91ciBvZiBqdXN0IGNhbGxpbmcgdGhp cyB0aGUgQVJNIE1hbGkgYmxvYiBvbgo+ID4gJGFmZmVjdGVkX2RldmljZXMuIE1ha2VzIGl0IGVh c2llciBmb3IgcGVvcGxlIHRvIGZpbmQgdGhlIG1hZ2ljIGtub2IKPiA+IHRoZXkncmUgbG9va2lu ZyBmb3IsIGlmIHRoZXkncmUgdW5sdWNreSBlbm91Z2ggdG8gaGF2ZSBzdWNoIGEgc29jLgo+IAo+ IEknbSBub3Qgc3VyZSBpdCdzIG9ubHkgZm9yIE1hbGkuLi4gQW55d2F5IEknbGwgYWRkICJNYWxp IiB0byBoZWxwCj4gcGVvcGxlIGZpbmRpbmQgaXQuCj4gCj4gPiAKPiA+Pj4gKwo+ID4+PiArCSAg SWYgaW4gZG91YnQsIHNheSAiTiIgb3Igc3ByZWFkIHRoZSB3b3JkIHRvIHlvdXIgY2xvc2VkIHNv dXJjZQo+ID4+PiArCSAgbGlicmFyeSB2ZW5kb3IuCj4gPj4+ICsKPiA+Pj4gIGNvbmZpZyBEUk1f TE9BRF9FRElEX0ZJUk1XQVJFCj4gPj4+ICAJYm9vbCAiQWxsb3cgdG8gc3BlY2lmeSBhbiBFRElE IGRhdGEgc2V0IGluc3RlYWQgb2YgcHJvYmluZyBmb3IgaXQiCj4gPj4+ICAJZGVwZW5kcyBvbiBE Uk0KPiA+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gPj4+IGluZGV4IGJmMjE5MGMuLmEzNTQ5 NDQgMTAwNjQ0Cj4gPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiA+ Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYwo+ID4+PiBAQCAtNTYsNiAr NTYsMjUgQEAgTU9EVUxFX1BBUk1fREVTQyhkcm1fZmJkZXZfb3ZlcmFsbG9jLAo+ID4+PiAgCQkg Ik92ZXJhbGxvY2F0aW9uIG9mIHRoZSBmYmRldiBidWZmZXIgKCUpIFtkZWZhdWx0PSIKPiA+Pj4g IAkJIF9fTU9EVUxFX1NUUklORyhDT05GSUdfRFJNX0ZCREVWX09WRVJBTExPQykgIl0iKTsKPiA+ Pj4gIAo+ID4+PiArLyoKPiA+Pj4gKyAqIEluIG9yZGVyIHRvIGtlZXAgdXNlci1zcGFjZSBjb21w YXRpYmlsaXR5LCB3ZSB3YW50IGluIGNlcnRhaW4gdXNlLWNhc2VzCj4gPj4+ICsgKiB0byBrZWVw IGxlYWtpbmcgdGhlIGZiZGV2IHBoeXNpY2FsIGFkZHJlc3MgdG8gdGhlIHVzZXItc3BhY2UgcHJv Z3JhbQo+ID4+PiArICogaGFuZGxpbmcgdGhlIGZiZGV2IGJ1ZmZlci4KPiA+Pj4gKyAqIFRoaXMg aXMgYSBiYWQgaGFiaXQgZXNzZW50aWFsbHkga2VwdCBpbnRvIGNsb3NlZCBzb3VyY2Ugb3Blbmds IGRyaXZlcgo+ID4+PiArICogdGhhdCBzaG91bGQgcmVhbGx5IGJlIG1vdmVkIGludG8gb3Blbi1z b3VyY2UgdXBzdHJlYW0gcHJvamVjdHMgaW5zdGVhZAo+ID4+PiArICogb2YgdXNpbmcgbGVnYWN5 IHBoeXNpY2FsIGFkZHJlc3NlcyBpbiB1c2VyIHNwYWNlIHRvIGNvbW11bmljYXRlIHdpdGgKPiA+ Pj4gKyAqIG90aGVyIG91dC1vZi10cmVlIGtlcm5lbCBtb2R1bGVzLgo+ID4+PiArICoKPiA+Pj4g KyAqIFRoaXMgbW9kdWxlX3BhcmFtICpzaG91bGQqIGJlIHJlbW92ZWQgYXMgc29vbiBhcyBwb3Nz aWJsZSBhbmQgYmUKPiA+Pj4gKyAqIGNvbnNpZGVyZWQgYXMgYSBicm9rZW4gYW5kIGxlZ2FjeSBi ZWhhdmlvdXIgZnJvbSBhIG1vZGVybiBmYmRldiBkZXZpY2UuCj4gPj4+ICsgKi8KPiA+Pj4gKyNp ZiBJU19FTkFCTEVEKENPTkZJR19EUk1fRkJERVZfTEVBS19QSFlTX1NNRU0pCj4gPj4+ICtzdGF0 aWMgYm9vbCBkcm1fbGVha19mYmRldl9zbWVtID0gZmFsc2U7Cj4gPj4+ICttb2R1bGVfcGFyYW1f dW5zYWZlKGRybV9sZWFrX2ZiZGV2X3NtZW0sIGJvb2wsIDA2MDApOwo+ID4+PiArTU9EVUxFX1BB Uk1fREVTQyhmYmRldl9lbXVsYXRpb24sCj4gPj4+ICsJCSAiQWxsb3cgdW5zYWZlIGxlYWtpbmcg ZmJkZXYgcGh5c2ljYWwgc21lbSBhZGRyZXNzIFtkZWZhdWx0PWZhbHNlXSIpOwo+ID4+PiArI2Vu ZGlmCj4gPj4+ICsKPiA+Pj4gIHN0YXRpYyBMSVNUX0hFQUQoa2VybmVsX2ZiX2hlbHBlcl9saXN0 KTsKPiA+Pj4gIHN0YXRpYyBERUZJTkVfTVVURVgoa2VybmVsX2ZiX2hlbHBlcl9sb2NrKTsKPiA+ Pj4gIAo+ID4+PiBAQCAtMjY3Myw4ICsyNjkyLDEyIEBAIF9fZHJtX2ZiX2hlbHBlcl9pbml0aWFs X2NvbmZpZ19hbmRfdW5sb2NrKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCj4gPj4+ ICAKPiA+Pj4gIAlpbmZvID0gZmJfaGVscGVyLT5mYmRldjsKPiA+Pj4gIAlpbmZvLT52YXIucGl4 Y2xvY2sgPSAwOwo+ID4+PiAtCS8qIGRvbid0IGxlYWsgYW55IHBoeXNpY2FsIGFkZHJlc3NlcyB0 byB1c2Vyc3BhY2UgKi8KPiA+Pj4gLQlpbmZvLT5mbGFncyB8PSBGQklORk9fSElERV9TTUVNX1NU QVJUOwo+ID4+PiArCS8qIFNoYW1lbGVzc2x5IGFsbG93IHBoeXNpY2FsIGFkZHJlc3MgbGVha2lu ZyB0byB1c2Vyc3BhY2UgKi8KPiA+Pj4gKyNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fRkJERVZf TEVBS19QSFlTX1NNRU0pCj4gPj4+ICsJaWYgKCFkcm1fbGVha19mYmRldl9zbWVtKQo+ID4+PiAr I2VuZGlmCj4gPj4KPiA+PiBZb3UgY2FuIHVzZSB0aGUgSVNfRU5BQkxFRCBkaXJlY3R5IHdpdGhp biB0aGUgaWYgc3RhdGVtZW50LiBJdCB3b3VsZAo+ID4+IG1ha2UgdGhlIGNvZGUgYSBiaXQgbmlj ZXIuCj4gCj4gSXQgd291bGQsIGJ1dCAwMS5vcmcgc2VuZCBtZSB1Z2x5IG1haWxzIHdpdGggdW5k ZWNsYXJlZCBlcnJvcnMuLi4KPiAKPiA+Pgo+ID4+PiArCQkvKiBkb24ndCBsZWFrIGFueSBwaHlz aWNhbCBhZGRyZXNzZXMgdG8gdXNlcnNwYWNlICovCj4gPj4+ICsJCWluZm8tPmZsYWdzIHw9IEZC SU5GT19ISURFX1NNRU1fU1RBUlQ7Cj4gPj4+ICAKPiA+Pj4gIAkvKiBOZWVkIHRvIGRyb3AgbG9j a3MgdG8gYXZvaWQgcmVjdXJzaXZlIGRlYWRsb2NrIGluCj4gPj4+ICAJICogcmVnaXN0ZXJfZnJh bWVidWZmZXIuIFRoaXMgaXMgb2sgYmVjYXVzZSB0aGUgb25seSB0aGluZyBsZWZ0IHRvIGRvIGlz Cj4gPj4+IEBAIC0zMDgzLDYgKzMxMDYsMTIgQEAgaW50IGRybV9mYl9oZWxwZXJfZ2VuZXJpY19w cm9iZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+ID4+PiAgCWZiaS0+ZmJvcHMg PSAmZHJtX2ZiZGV2X2ZiX29wczsKPiA+Pj4gIAlmYmktPnNjcmVlbl9zaXplID0gZmItPmhlaWdo dCAqIGZiLT5waXRjaGVzWzBdOwo+ID4+PiAgCWZiaS0+Zml4LnNtZW1fbGVuID0gZmJpLT5zY3Jl ZW5fc2l6ZTsKPiA+Pj4gKwkvKiBTaGFtZWxlc3NseSBsZWFrIHRoZSBwaHlzaWNhbCBhZGRyZXNz IHRvIHVzZXItc3BhY2UgKi8KPiA+Pj4gKyNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fRkJERVZf TEVBS19QSFlTX1NNRU0pCj4gPj4+ICsJaWYgKGRybV9sZWFrX2ZiZGV2X3NtZW0pCj4gPj4+ICsJ CWZiaS0+Zml4LnNtZW1fc3RhcnQgPQo+ID4+PiArCQkJcGFnZV90b19waHlzKHZpcnRfdG9fcGFn ZShmYmktPnNjcmVlbl9idWZmZXIpKTsKCk9uZSBtb3JlOiBNYXliZSBvbmx5IG92ZXJ3cml0ZSBz bWVtX3N0YXJ0IHdoZW4gaXQncyAwLiBUaGlzIHdheSBkcml2ZXJzCmNhbiBzZXQgaXQgdG8gc29t ZXRoaW5nIHNwZWNpYWwgc3RpbGwuIERvZXNuJ3QgbWF0dGVyIGZvciBhbnl0aGluZyB1c2luZwpj bWEsIGJ1dCBkb2VzIG1hdHRlciBmb3Igc29tZSBvZiB0aGUgZGVza3RvcCBncHVzIHdoZXJlIHRo ZSBmcmFtZWJ1ZmZlciBpcwpiZWhpbmQgYSBwY2kgYmFyLgotRGFuaWVsCgo+ID4+PiArI2VuZGlm Cj4gPj4KPiA+PiBmYmktPnNjcmVlbl9idWZmZXIgaXMgb25seSBzZXQuLgo+ID4+Cj4gPj4+ICAJ ZmJpLT5zY3JlZW5fYnVmZmVyID0gYnVmZmVyLT52YWRkcjsKPiA+Pgo+ID4+IC4uIGF0IHRoZSBu ZXh0IGxpbmUuIE1vdmluZyB0aGF0IGxpbmUgYmVmb3JlIHRoZSBpZiBzdGF0ZW1lbnQgd29ya3Mu Cj4gCj4gT29wcywgd2lsbCBmaXguLi4KPiAKPiA+Pgo+ID4+IFdpdGggdGhhdCBmaXhlZCwgYW5k IHRoZSBJU19FTkFCTEVEIGluIHRoZSBpZgo+ID4+Cj4gPj4gUmV2aWV3ZWQtYnk6IE1heGltZSBS aXBhcmQgPG1heGltZS5yaXBhcmRAYm9vdGxpbi5jb20+Cj4gPj4gVGVzdGVkLWJ5OiBNYXhpbWUg UmlwYXJkIDxtYXhpbWUucmlwYXJkQGJvb3RsaW4uY29tPgo+ID4gCj4gPiBJIHRoaW5rIGFsbCB0 aGUgaGVscCB0ZXh0IGlzIHN1ZmZpY2llbnRseSB0byBzY2FyZSBwZW9wbGUgYXdheSBmcm9tIHVz aW5nCj4gPiB0aGlzIGJ5IGFjY2lkZW50Lgo+ID4gCj4gPiBBY2tlZC1ieTogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiAKPiBUaGFua3MsCj4gTmVpbAo+IAo+ID4+Cj4g Pj4gVGhhbmtzIQo+ID4+IE1heGltZQo+ID4+Cj4gPj4gLS0gCj4gPj4gTWF4aW1lIFJpcGFyZCwg Qm9vdGxpbgo+ID4+IEVtYmVkZGVkIExpbnV4IGFuZCBLZXJuZWwgZW5naW5lZXJpbmcKPiA+PiBo dHRwczovL2Jvb3RsaW4uY29tCj4gPiAKPiA+IAo+ID4gCj4gCgotLSAKRGFuaWVsIFZldHRlcgpT b2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==