From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: Re: [PATCH 1/3] drm: Update GEM refcounting docs Date: Thu, 22 Oct 2015 13:54:17 -0400 Message-ID: References: <1445533889-7661-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: <1445533889-7661-1-git-send-email-daniel.vetter@ffwll.ch> 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 , Intel Graphics Development , DRI Development List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBPY3QgMjIsIDIwMTUgYXQgMToxMSBQTSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZl dHRlckBmZndsbC5jaD4gd3JvdGU6Cj4gSSBqdXN0IHJlYWxpemVkIHRoYXQgSSd2ZSBmb3Jnb3R0 ZW4gdG8gdXBkYXRlIGFsbCB0aGUgZ2VtIHJlZmNvdW50aW5nCj4gZG9jcy4gRm9yIHBlbm5hbmNl IGFsc28gYWRkIHByZXR0eSBkb2NzIGZvciB0aGUgb3ZlcmFsbCBkcm1fZ2VtX29iamVjdAo+IHN0 cnVjdHVyZSwgd2l0aCBhIGZldyBsaW5rcyB0aHJvd24gaW4gZm9yZSBnb29kLgo+Cj4gQXMgdXN1 YWxseSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGUga2VybmVsZG9jIHJlZmVyZW5jZSBpcyBhdCBt b3N0IGEKPiBzZWN0MiBmb3Igb3RoZXJ3aXNlIGl0IHdvbid0IGJlIGxpc3RlZC4KPgo+IFNpZ25l ZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgoKUGF0Y2hl cyAxIGFuZCAzIGFyZToKUmV2aWV3ZWQtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNo ZXJAYW1kLmNvbT4KCj4gLS0tCj4gIERvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbCB8ICAx NSArKystLS0KPiAgaW5jbHVkZS9kcm0vZHJtX2dlbS5oICAgICAgICAgIHwgMTA2ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTAw IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50 YXRpb24vRG9jQm9vay9ncHUudG1wbCBiL0RvY3VtZW50YXRpb24vRG9jQm9vay9ncHUudG1wbAo+ IGluZGV4IDkwYzJhYWIzMTI2OS4uNmM1ODY1YmI1ZWU4IDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50 YXRpb24vRG9jQm9vay9ncHUudG1wbAo+ICsrKyBiL0RvY3VtZW50YXRpb24vRG9jQm9vay9ncHUu dG1wbAo+IEBAIC02MzUsMTAgKzYzNSwxMCBAQCBjaGFyICpkYXRlOzwvc3lub3BzaXM+Cj4gICAg ICAgICAgICBhY3F1aXJlZCBhbmQgcmVsZWFzZSBieSA8ZnVuY3Rpb24+Y2FsbGluZyBkcm1fZ2Vt X29iamVjdF9yZWZlcmVuY2U8L2Z1bmN0aW9uPgo+ICAgICAgICAgICAgYW5kIDxmdW5jdGlvbj5k cm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZTwvZnVuY3Rpb24+IHJlc3BlY3RpdmVseS4gVGhlCj4g ICAgICAgICAgICBjYWxsZXIgbXVzdCBob2xkIHRoZSA8c3RydWN0bmFtZT5kcm1fZGV2aWNlPC9z dHJ1Y3RuYW1lPgo+IC0gICAgICAgICAgPHN0cnVjdGZpZWxkPnN0cnVjdF9tdXRleDwvc3RydWN0 ZmllbGQ+IGxvY2suIEFzIGEgY29udmVuaWVuY2UsIEdFTQo+IC0gICAgICAgICAgcHJvdmlkZXMg dGhlIDxmdW5jdGlvbj5kcm1fZ2VtX29iamVjdF9yZWZlcmVuY2VfdW5sb2NrZWQ8L2Z1bmN0aW9u PiBhbmQKPiAtICAgICAgICAgIDxmdW5jdGlvbj5kcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91 bmxvY2tlZDwvZnVuY3Rpb24+IGZ1bmN0aW9ucyB0aGF0Cj4gLSAgICAgICAgICBjYW4gYmUgY2Fs bGVkIHdpdGhvdXQgaG9sZGluZyB0aGUgbG9jay4KPiArICAgICAgICAgPHN0cnVjdGZpZWxkPnN0 cnVjdF9tdXRleDwvc3RydWN0ZmllbGQ+IGxvY2sgd2hlbiBjYWxsaW5nCj4gKyAgICAgICAgIDxm dW5jdGlvbj5kcm1fZ2VtX29iamVjdF9yZWZlcmVuY2U8L2Z1bmN0aW9uPi4gQXMgYSBjb252ZW5p ZW5jZSwgR0VNCj4gKyAgICAgICAgIHByb3ZpZGVzIDxmdW5jdGlvbj5kcm1fZ2VtX29iamVjdF91 bnJlZmVyZW5jZV91bmxvY2tlZDwvZnVuY3Rpb24+Cj4gKyAgICAgICAgIGZ1bmN0aW9ucyB0aGF0 IGNhbiBiZSBjYWxsZWQgd2l0aG91dCBob2xkaW5nIHRoZSBsb2NrLgo+ICAgICAgICAgIDwvcGFy YT4KPiAgICAgICAgICA8cGFyYT4KPiAgICAgICAgICAgIFdoZW4gdGhlIGxhc3QgcmVmZXJlbmNl IHRvIGEgR0VNIG9iamVjdCBpcyByZWxlYXNlZCB0aGUgR0VNIGNvcmUgY2FsbHMKPiBAQCAtODM2 LDEwICs4MzYsMTEgQEAgY2hhciAqZGF0ZTs8L3N5bm9wc2lzPgo+ICAgICAgICAgICAgYWJzdHJh Y3RlZCBmcm9tIHRoZSBjbGllbnQgaW4gbGliZHJtLgo+ICAgICAgICAgIDwvcGFyYT4KPiAgICAg ICAgPC9zZWN0Mz4KPiAtICAgICAgPHNlY3QzPgo+IC0gICAgICAgIDx0aXRsZT5HRU0gRnVuY3Rp b24gUmVmZXJlbmNlPC90aXRsZT4KPiArICAgIDwvc2VjdDI+Cj4gKyAgICA8c2VjdDI+Cj4gKyAg ICAgIDx0aXRsZT5HRU0gRnVuY3Rpb24gUmVmZXJlbmNlPC90aXRsZT4KPiAgIUVkcml2ZXJzL2dw dS9kcm0vZHJtX2dlbS5jCj4gLSAgICAgIDwvc2VjdDM+Cj4gKyFJaW5jbHVkZS9kcm0vZHJtX2dl bS5oCj4gICAgICA8L3NlY3QyPgo+ICAgICAgPHNlY3QyPgo+ICAgICAgICA8dGl0bGU+Vk1BIE9m ZnNldCBNYW5hZ2VyPC90aXRsZT4KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2dlbS5o IGIvaW5jbHVkZS9kcm0vZHJtX2dlbS5oCj4gaW5kZXggMTVlN2YwMDczODBmLi4wYjNlMTFhYjg3 NTcgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2dlbS5oCj4gKysrIGIvaW5jbHVkZS9k cm0vZHJtX2dlbS5oCj4gQEAgLTM1LDc2ICszNSwxMjkgQEAKPiAgICovCj4KPiAgLyoqCj4gLSAq IFRoaXMgc3RydWN0dXJlIGRlZmluZXMgdGhlIGRybV9tbSBtZW1vcnkgb2JqZWN0LCB3aGljaCB3 aWxsIGJlIHVzZWQgYnkgdGhlCj4gLSAqIERSTSBmb3IgaXRzIGJ1ZmZlciBvYmplY3RzLgo+ICsg KiBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgLSBHRU0gYnVmZmVyIG9iamVjdAo+ICsgKgo+ICsgKiBU aGlzIHN0cnVjdHVyZSBkZWZpbmVzIHRoZSBnZW5lcmljIHBhcnRzIGZvciBHRU0gYnVmZmVyIG9i amVjdHMsIHdoaWNoIGFyZQo+ICsgKiBtb3N0bHkgYXJvdW5kIGhhbmRsaW5nIG1tYXAgYW5kIHVz ZXJzcGFjZSBoYW5kbGVzLgo+ICsgKgo+ICsgKiBCdWZmZXIgb2JqZWN0cyBhcmUgb2Z0ZW4gYWJi cmV2aWF0ZWQgdG8gQk8uCj4gICAqLwo+ICBzdHJ1Y3QgZHJtX2dlbV9vYmplY3Qgewo+IC0gICAg ICAgLyoqIFJlZmVyZW5jZSBjb3VudCBvZiB0aGlzIG9iamVjdCAqLwo+ICsgICAgICAgLyoqCj4g KyAgICAgICAgKiBAcmVmY291bnQ6Cj4gKyAgICAgICAgKgo+ICsgICAgICAgICogUmVmZXJlbmNl IGNvdW50IG9mIHRoaXMgb2JqZWN0Cj4gKyAgICAgICAgKgo+ICsgICAgICAgICogUGxlYXNlIHVz ZSBkcm1fZ2VtX29iamVjdF9yZWZlcmVuY2UoKSB0byBhY3F1aXJlIGFuZAo+ICsgICAgICAgICog ZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoKSBvciBkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5j ZV91bmxvY2tlZCgpCj4gKyAgICAgICAgKiB0byByZWxlYXNlIGEgcmVmZXJlbmNlIHRvIGEgR0VN IGJ1ZmZlciBvYmplY3QuCj4gKyAgICAgICAgKi8KPiAgICAgICAgIHN0cnVjdCBrcmVmIHJlZmNv dW50Owo+Cj4gICAgICAgICAvKioKPiAtICAgICAgICAqIGhhbmRsZV9jb3VudCAtIGdlbSBmaWxl X3ByaXYgaGFuZGxlIGNvdW50IG9mIHRoaXMgb2JqZWN0Cj4gKyAgICAgICAgKiBAaGFuZGxlX2Nv dW50Ogo+ICsgICAgICAgICoKPiArICAgICAgICAqIFRoaXMgaXMgdGhlIEdFTSBmaWxlX3ByaXYg aGFuZGxlIGNvdW50IG9mIHRoaXMgb2JqZWN0Lgo+ICAgICAgICAgICoKPiAgICAgICAgICAqIEVh Y2ggaGFuZGxlIGFsc28gaG9sZHMgYSByZWZlcmVuY2UuIE5vdGUgdGhhdCB3aGVuIHRoZSBoYW5k bGVfY291bnQKPiAgICAgICAgICAqIGRyb3BzIHRvIDAgYW55IGdsb2JhbCBuYW1lcyAoZS5nLiB0 aGUgaWQgaW4gdGhlIGZsaW5rIG5hbWVzcGFjZSkgd2lsbAo+ICAgICAgICAgICogYmUgY2xlYXJl ZC4KPiAgICAgICAgICAqCj4gICAgICAgICAgKiBQcm90ZWN0ZWQgYnkgZGV2LT5vYmplY3RfbmFt ZV9sb2NrLgo+IC0gICAgICAgICogKi8KPiArICAgICAgICAqLwo+ICAgICAgICAgdW5zaWduZWQg aGFuZGxlX2NvdW50Owo+Cj4gLSAgICAgICAvKiogUmVsYXRlZCBkcm0gZGV2aWNlICovCj4gKyAg ICAgICAvKioKPiArICAgICAgICAqIEBkZXY6IERSTSBkZXYgdGhpcyBvYmplY3QgYmVsb25ncyB0 by4KPiArICAgICAgICAqLwo+ICAgICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldjsKPgo+IC0g ICAgICAgLyoqIEZpbGUgcmVwcmVzZW50aW5nIHRoZSBzaG1lbSBzdG9yYWdlICovCj4gKyAgICAg ICAvKioKPiArICAgICAgICAqIEBmaWxwOgo+ICsgICAgICAgICoKPiArICAgICAgICAqIFNITUVN IGZpbGUgbm9kZSB1c2VkIGFzIGJhY2tpbmcgc3RvcmFnZSBmb3Igc3dhcHBhYmxlIGJ1ZmZlciBv YmplY3RzLgo+ICsgICAgICAgICogR0VNIGFsc28gc3VwcG9ydHMgZHJpdmVyIHByaXZhdGUgb2Jq ZWN0cyB3aXRoIGRyaXZlci1zcGVjaWZpYyBiYWNraW5nCj4gKyAgICAgICAgKiBzdG9yYWdlIChj b250aWd1b3VzIENNQSBtZW1vcnksIHNwZWNpYWwgcmVzZXJ2ZWQgYmxvY2tzKS4gSW4gdGhpcwo+ ICsgICAgICAgICogY2FzZSBAZmlscCBpcyBOVUxMLgo+ICsgICAgICAgICovCj4gICAgICAgICBz dHJ1Y3QgZmlsZSAqZmlscDsKPgo+IC0gICAgICAgLyogTWFwcGluZyBpbmZvIGZvciB0aGlzIG9i amVjdCAqLwo+ICsgICAgICAgLyoqCj4gKyAgICAgICAgKiBAdm1hX25vZGU6Cj4gKyAgICAgICAg Kgo+ICsgICAgICAgICogTWFwcGluZyBpbmZvIGZvciB0aGlzIG9iamVjdCB0byBzdXBwb3J0IG1t YXAuIERyaXZlcnMgYXJlIHN1cHBvc2VkIHRvCj4gKyAgICAgICAgKiBhbGxvY2F0ZSB0aGUgbW1h cCBvZmZzZXQgdXNpbmcgZHJtX2dlbV9jcmVhdGVfbW1hcF9vZmZzZXQoKS4gVGhlCj4gKyAgICAg ICAgKiBvZmZzZXQgaXRzZWxmIGNhbiBiZSByZXRyaWV2ZWQgdXNpbmcgZHJtX3ZtYV9ub2RlX29m ZnNldF9hZGRyKCkuCj4gKyAgICAgICAgKgo+ICsgICAgICAgICogTWVtb3J5IG1hcHBpbmcgaXRz ZWxmIGlzIGhhbmRsZWQgYnkgZHJtX2dlbV9tbWFwKCksIHdoaWNoIGFsc28gY2hlY2tzCj4gKyAg ICAgICAgKiB0aGF0IHVzZXJzcGFjZSBpcyBhbGxvd2VkIHRvIGFjY2VzcyB0aGUgb2JqZWN0Lgo+ ICsgICAgICAgICovCj4gICAgICAgICBzdHJ1Y3QgZHJtX3ZtYV9vZmZzZXRfbm9kZSB2bWFfbm9k ZTsKPgo+ICAgICAgICAgLyoqCj4gKyAgICAgICAgKiBAc2l6ZToKPiArICAgICAgICAqCj4gICAg ICAgICAgKiBTaXplIG9mIHRoZSBvYmplY3QsIGluIGJ5dGVzLiAgSW1tdXRhYmxlIG92ZXIgdGhl IG9iamVjdCdzCj4gICAgICAgICAgKiBsaWZldGltZS4KPiAgICAgICAgICAqLwo+ICAgICAgICAg c2l6ZV90IHNpemU7Cj4KPiAgICAgICAgIC8qKgo+ICsgICAgICAgICogQG5hbWU6Cj4gKyAgICAg ICAgKgo+ICAgICAgICAgICogR2xvYmFsIG5hbWUgZm9yIHRoaXMgb2JqZWN0LCBzdGFydHMgYXQg MS4gMCBtZWFucyB1bm5hbWVkLgo+IC0gICAgICAgICogQWNjZXNzIGlzIGNvdmVyZWQgYnkgdGhl IG9iamVjdF9uYW1lX2xvY2sgaW4gdGhlIHJlbGF0ZWQgZHJtX2RldmljZQo+ICsgICAgICAgICog QWNjZXNzIGlzIGNvdmVyZWQgYnkgZGV2LT5vYmplY3RfbmFtZV9sb2NrLiBUaGlzIGlzIHVzZWQg YnkgdGhlIEdFTV9GTElOSwo+ICsgICAgICAgICogYW5kIEdFTV9PUEVOIGlvY3Rscy4KPiAgICAg ICAgICAqLwo+ICAgICAgICAgaW50IG5hbWU7Cj4KPiAgICAgICAgIC8qKgo+IC0gICAgICAgICog TWVtb3J5IGRvbWFpbnMuIFRoZXNlIG1vbml0b3Igd2hpY2ggY2FjaGVzIGNvbnRhaW4gcmVhZC93 cml0ZSBkYXRhCj4gKyAgICAgICAgKiBAcmVhZF9kb21haW5zOgo+ICsgICAgICAgICoKPiArICAg ICAgICAqIFJlYWQgbWVtb3J5IGRvbWFpbnMuIFRoZXNlIG1vbml0b3Igd2hpY2ggY2FjaGVzIGNv bnRhaW4gcmVhZC93cml0ZSBkYXRhCj4gICAgICAgICAgKiByZWxhdGVkIHRvIHRoZSBvYmplY3Qu IFdoZW4gdHJhbnNpdGlvbmluZyBmcm9tIG9uZSBzZXQgb2YgZG9tYWlucwo+ICAgICAgICAgICog dG8gYW5vdGhlciwgdGhlIGRyaXZlciBpcyBjYWxsZWQgdG8gZW5zdXJlIHRoYXQgY2FjaGVzIGFy ZSBzdWl0YWJseQo+IC0gICAgICAgICogZmx1c2hlZCBhbmQgaW52YWxpZGF0ZWQKPiArICAgICAg ICAqIGZsdXNoZWQgYW5kIGludmFsaWRhdGVkLgo+ICAgICAgICAgICovCj4gICAgICAgICB1aW50 MzJfdCByZWFkX2RvbWFpbnM7Cj4gKwo+ICsgICAgICAgLyoqCj4gKyAgICAgICAgKiBAd3JpdGVf ZG9tYWluOiBDb3JyZXNwb25kaW5nIHVuaXF1ZSB3cml0ZSBtZW1vcnkgZG9tYWluLgo+ICsgICAg ICAgICovCj4gICAgICAgICB1aW50MzJfdCB3cml0ZV9kb21haW47Cj4KPiAgICAgICAgIC8qKgo+ ICsgICAgICAgICogQHBlbmRpbmdfcmVhZF9kb21haW5zOgo+ICsgICAgICAgICoKPiAgICAgICAg ICAqIFdoaWxlIHZhbGlkYXRpbmcgYW4gZXhlYyBvcGVyYXRpb24sIHRoZQo+ICAgICAgICAgICog bmV3IHJlYWQvd3JpdGUgZG9tYWluIHZhbHVlcyBhcmUgY29tcHV0ZWQgaGVyZS4KPiAgICAgICAg ICAqIFRoZXkgd2lsbCBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgYWJvdmUgdmFsdWVzCj4gICAgICAg ICAgKiBhdCB0aGUgcG9pbnQgdGhhdCBhbnkgY2FjaGUgZmx1c2hpbmcgb2NjdXJzCj4gICAgICAg ICAgKi8KPiAgICAgICAgIHVpbnQzMl90IHBlbmRpbmdfcmVhZF9kb21haW5zOwo+ICsKPiArICAg ICAgIC8qKgo+ICsgICAgICAgICogQHBlbmRpbmdfd3JpdGVfZG9tYWluOiBXcml0ZSBkb21haW4g c2ltaWxhciB0byBAcGVuZGluZ19yZWFkX2RvbWFpbnMuCj4gKyAgICAgICAgKi8KPiAgICAgICAg IHVpbnQzMl90IHBlbmRpbmdfd3JpdGVfZG9tYWluOwo+Cj4gICAgICAgICAvKioKPiAtICAgICAg ICAqIGRtYV9idWYgLSBkbWEgYnVmIGFzc29jaWF0ZWQgd2l0aCB0aGlzIEdFTSBvYmplY3QKPiAr ICAgICAgICAqIEBkbWFfYnVmOgo+ICsgICAgICAgICoKPiArICAgICAgICAqIGRtYS1idWYgYXNz b2NpYXRlZCB3aXRoIHRoaXMgR0VNIG9iamVjdC4KPiAgICAgICAgICAqCj4gICAgICAgICAgKiBQ b2ludGVyIHRvIHRoZSBkbWEtYnVmIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGdlbSBvYmplY3QgKGVp dGhlcgo+ICAgICAgICAgICogdGhyb3VnaCBpbXBvcnRpbmcgb3IgZXhwb3J0aW5nKS4gV2UgYnJl YWsgdGhlIHJlc3VsdGluZyByZWZlcmVuY2UKPiAgICAgICAgICAqIGxvb3Agd2hlbiB0aGUgbGFz dCBnZW0gaGFuZGxlIGZvciB0aGlzIG9iamVjdCBpcyByZWxlYXNlZC4KPiAgICAgICAgICAqCj4g LSAgICAgICAgKiBQcm90ZWN0ZWQgYnkgb2JqLT5vYmplY3RfbmFtZV9sb2NrCj4gKyAgICAgICAg KiBQcm90ZWN0ZWQgYnkgb2JqLT5vYmplY3RfbmFtZV9sb2NrLgo+ICAgICAgICAgICovCj4gICAg ICAgICBzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZjsKPgo+ICAgICAgICAgLyoqCj4gLSAgICAgICAg KiBpbXBvcnRfYXR0YWNoIC0gZG1hIGJ1ZiBhdHRhY2htZW50IGJhY2tpbmcgdGhpcyBvYmplY3QK PiArICAgICAgICAqIEBpbXBvcnRfYXR0YWNoOgo+ICsgICAgICAgICoKPiArICAgICAgICAqIGRt YS1idWYgYXR0YWNobWVudCBiYWNraW5nIHRoaXMgb2JqZWN0Lgo+ICAgICAgICAgICoKPiAgICAg ICAgICAqIEFueSBmb3JlaWduIGRtYV9idWYgaW1wb3J0ZWQgYXMgYSBnZW0gb2JqZWN0IGhhcyB0 aGlzIHNldCB0byB0aGUKPiAgICAgICAgICAqIGF0dGFjaG1lbnQgcG9pbnQgZm9yIHRoZSBkZXZp Y2UuIFRoaXMgaXMgaW52YXJpYW50IG92ZXIgdGhlIGxpZmV0aW1lCj4gQEAgLTEzMywxMiArMTg2 LDMwIEBAIGludCBkcm1fZ2VtX21tYXBfb2JqKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCB1 bnNpZ25lZCBsb25nIG9ial9zaXplLAo+ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2bV9h cmVhX3N0cnVjdCAqdm1hKTsKPiAgaW50IGRybV9nZW1fbW1hcChzdHJ1Y3QgZmlsZSAqZmlscCwg c3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpOwo+Cj4gKy8qKgo+ICsgKiBkcm1fZ2VtX29iamVj dF9yZWZlcmVuY2UgLSBhY3F1aXJlIGEgR0VNIEJPIHJlZmVyZW5jZQo+ICsgKiBAb2JqOiBHRU0g YnVmZmVyIG9iamVjdAo+ICsgKgo+ICsgKiBUaGlzIGFjcXVpcmVzIGFkZGl0aW9uYWwgcmVmZXJl bmNlIHRvIEBvYmouIEl0IGlzIGlsbGVnYWwgdG8gY2FsbCB0aGlzCj4gKyAqIHdpdGhvdXQgYWxy ZWFkeSBob2xkaW5nIGEgcmVmZXJlbmNlLiBObyBsb2NrcyByZXF1aXJlZC4KPiArICovCj4gIHN0 YXRpYyBpbmxpbmUgdm9pZAo+ICBkcm1fZ2VtX29iamVjdF9yZWZlcmVuY2Uoc3RydWN0IGRybV9n ZW1fb2JqZWN0ICpvYmopCj4gIHsKPiAgICAgICAgIGtyZWZfZ2V0KCZvYmotPnJlZmNvdW50KTsK PiAgfQo+Cj4gKy8qKgo+ICsgKiBkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSAtIHJlbGVhc2Ug YSBHRU0gQk8gcmVmZXJlbmNlCj4gKyAqIEBvYmo6IEdFTSBidWZmZXIgb2JqZWN0Cj4gKyAqCj4g KyAqIFRoaXMgcmVsZWFzZXMgYSByZWZlcmVuY2UgdG8gQG9iai4gQ2FsbGVycyBtdXN0IGhvbGQg dGhlIGRldi0+c3RydWN0X211dGV4Cj4gKyAqIGxvY2sgd2hlbiBjYWxsaW5nIHRoaXMgZnVuY3Rp b24sIGV2ZW4gd2hlbiB0aGUgZHJpdmVyIGRvZXNuJ3QgdXNlCj4gKyAqIGRldi0+c3RydWN0X211 dGV4IGZvciBhbnl0aGluZy4KPiArICoKPiArICogRm9yIGRyaXZlcnMgbm90IGVuY3VtYmVyZWQg d2l0aCBsZWdhY3kgbG9ja2luZyB1c2UKPiArICogZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2Vf dW5sb2NrZWQoKSBpbnN0ZWFkLgo+ICsgKi8KPiAgc3RhdGljIGlubGluZSB2b2lkCj4gIGRybV9n ZW1fb2JqZWN0X3VucmVmZXJlbmNlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQo+ICB7Cj4g QEAgLTE0OSw2ICsyMjAsMTMgQEAgZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2Uoc3RydWN0IGRy bV9nZW1fb2JqZWN0ICpvYmopCj4gICAgICAgICB9Cj4gIH0KPgo+ICsvKioKPiArICogZHJtX2dl bV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQgLSByZWxlYXNlIGEgR0VNIEJPIHJlZmVyZW5j ZQo+ICsgKiBAb2JqOiBHRU0gYnVmZmVyIG9iamVjdAo+ICsgKgo+ICsgKiBUaGlzIHJlbGVhc2Vz IGEgcmVmZXJlbmNlIHRvIEBvYmouIENhbGxlcnMgbXVzdCBub3QgaG9sZCB0aGUKPiArICogZGV2 LT5zdHJ1Y3RfbXV0ZXggbG9jayB3aGVuIGNhbGxpbmcgdGhpcyBmdW5jdGlvbi4KPiArICovCj4g IHN0YXRpYyBpbmxpbmUgdm9pZAo+ICBkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tl ZChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKPiAgewo+IC0tCj4gMi41LjEKPgo+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1h aWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==