From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 17/17] drm/atomic: Refcounting for plane_state->fb Date: Thu, 6 Nov 2014 12:44:08 -0500 Message-ID: References: <1414934370-11924-1-git-send-email-daniel.vetter@ffwll.ch> <1414934370-11924-18-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ie0-f178.google.com (mail-ie0-f178.google.com [209.85.223.178]) by gabe.freedesktop.org (Postfix) with ESMTP id 4259C6F0BE for ; Thu, 6 Nov 2014 09:44:30 -0800 (PST) Received: by mail-ie0-f178.google.com with SMTP id rp18so3500931iec.9 for ; Thu, 06 Nov 2014 09:44:30 -0800 (PST) Received: from mail-ie0-f182.google.com (mail-ie0-f182.google.com. [209.85.223.182]) by mx.google.com with ESMTPSA id fy5sm1381187igd.3.2014.11.06.09.44.28 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 06 Nov 2014 09:44:28 -0800 (PST) Received: by mail-ie0-f182.google.com with SMTP id rd18so3454270iec.27 for ; Thu, 06 Nov 2014 09:44:28 -0800 (PST) In-Reply-To: <1414934370-11924-18-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 T24gU3VuLCBOb3YgMDIsIDIwMTQgYXQgMDI6MTk6MzBQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBTbyBteSBvcmlnaW5hbCBwbGFuIHdhcyB0aGF0IHRoZSBkcm0gY29yZSByZWZjb3Vu dHMgZnJhbWVidWZmZXJzIGxpa2UKPiB3aXRoIHRoZSBsZWdhY3kgaW9jdGxzLiBCdXQgdGhhdCBk b2Vzbid0IHdvcmsgZm9yIGEgYnVuY2ggb2YgcmVhc29uczoKPgo+IC0gU3RhdGUgb2JqZWN0cyBt aWdodCBsaXZlIGxvbmdlciB0aGFuIHVudGlsIHRoZSBuZXh0IGZiIGNoYW5nZQo+ICAgaGFwcGVu cyBmb3IgYSBwbGFuZS4gRm9yIGV4YW1wbGUgZGVsYXllZCBjbGVhbnVwIHdvcmsgb25seSBoYXBw ZW5zCj4gICBfYWZ0ZXJfIHRoZSBwYWdlZmxpcCBpb2N0bCBoYXMgY29tcGxldGVkLiBTbyB0aGlz IGRlZmluaXRlbHkgZG9lc24ndAo+ICAgd29yayB3aXRob3V0IHRoZSBwbGFuZSBzdGF0ZSBob2xk aW5nIGl0cyBvd24gcmVmZXJuY2VzLgoKcy9yZWZlcm5jZXMvcmVmZXJlbmNlcy8KCj4KPiAtIFRo ZSBvdGhlciBpc3N1ZSBpcyB0cmFuc2l0aW9uIGZyb20gbGVnYWN5IHRvIGF0b21pYyBpbXBsZW1l bnRhdGlvbnMsCj4gICB3aGVyZSB0aGUgZHJpdmVyIHdvcmtzIHVuZGVyIGEgbWl4IG9mIGJvdGgg d29ybGRzLiBXaGljaCBtZWFucwo+ICAgbGVnYWN5IHBhdGhzIG1pZ2h0IG5vdCBwcm9wZXJseSB1 cGRhdGUgdGhlIC0+ZmIgcG9pbnRlciB1bmRlcgo+ICAgcGxhbmUtPnN0YXRlLT5mYi4gV2hpY2gg aXMgYSBiaXQgYSBwcm9ibGVtIHdoZW4gdGhlbiBzb21lb25lIGNvbWVzCj4gICBhcm91bmQgYW5k IF9kb2VzXyB0cnkgdG8gY2xlYW4gaXQgdXAgd2hlbiBpdCdzIGxvbmcgZ29uZS4KPgo+IFRoZSBz ZWNvbmQgaXNzdWUgaXMganVzdCBhIGJpdCBhIHRyYW5zaXRpb24gYnVnLCBzaW5jZSBkcml2ZXJz IHNob3VsZAo+IHVwZGF0ZSBwbGFuZS0+c3RhdGUtPmZiIGluIGFsbCB0aGUgcGF0aHMgdGhhdCBh cmVuJ3QgY29udmVydGVkIHlldC4KPiBCdXQgYSBiaXQgbW9yZSByb2J1c3RuZXNzIGZvciB0aGUg dHJhbnNpdGlvbiBjYW50JyBodXJ0IC0gd2UgcHVsbAoKcy9jYW50Jy9jYW4ndC8KCj4gc2ltaWxh ciB0cmlja3Mgd2l0aCBjbGVhbmluZyB1cCB0aGUgb2xkIGZiIGluIHRoZSB0cmFuc2l0aW9uYWwg aGVscGVycwo+IGFscmVhZHkuCj4KPiBUaGUgcGF0dGVybiBmb3IgZHJpdmVycyB0aGF0IHRyYW5z aXRpb24gaXMKPgo+IGlmIChwbGFuZS0+c3RhdGUpCj4gZHJtX2F0b21pY19zZXRfZmJfZm9yX3Bs YW5lKHBsYW5lLT5zdGF0ZSwgcGxhbmUtPmZiKTsKPgo+IGluc2VydGVkIGFmdGVyIHRoZSBmYiB1 cGRhdGUgaGFzIGxvZ2ljYWxseSBjb21wbGV0ZWQgYXQgdGhlIGVuZCBvZgo+IC0+c2V0X2NvbmZp ZyAob3IgLT5zZXRfYmFzZS9tb2RlX3NldCBpZiB1c2luZyB0aGUgY3J0YyBoZWxwZXJzKSwKPiAt PnBhZ2VfZmxpcCwgLT51cGRhdGVfcGxhbmUgb3IgYW55IG90aGVyIGVudHJ5IHBvaW50IHdoaWNo IHVwZGF0ZXMKPiBwbGFuZS0+ZmIuCj4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxk YW5pZWwudmV0dGVyQGludGVsLmNvbT4KClJldmlld2VkLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVs QGNocm9taXVtLm9yZz4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgICAg ICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX2hlbHBlci5jIHwgMjUgKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgICB8ICA3ICsrKystLS0KPiAgZHJpdmVycy9n cHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYyAgfCAxNCArKysrKysrLS0tLS0tLQo+ICBpbmNsdWRl L2RybS9kcm1fYXRvbWljLmggICAgICAgICAgICB8ICAyICsrCj4gIDUgZmlsZXMgY2hhbmdlZCwg NTkgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBp bmRleCBjNmRiOGE0OGNhZDYuLmFmMzQzMjFiNjc1ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+ IEBAIC0zNjYsNiArMzY2LDMzIEBAIGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHN0cnVj dCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9t aWNfc2V0X2NydGNfZm9yX3BsYW5lKTsKPgo+ICAvKioKPiArICogZHJtX2F0b21pY19zZXRfZmJf Zm9yX3BsYW5lIC0gc2V0IGNydGMgZm9yIHBsYW5lCj4gKyAqIEBwbGFuZV9zdGF0ZTogYXRvbWlj IHN0YXRlIG9iamVjdCBmb3IgdGhlIHBsYW5lCj4gKyAqIEBmYjogZmIgdG8gdXNlIGZvciB0aGUg cGxhbmUKPiArICoKPiArICogQ2hhbmdpbmcgdGhlIGFzc2lnbmVkIGNydGMgZm9yIGEgcGxhbmUg cmVxdWlyZXMgdXMgdG8gZ3JhYiB0aGUgbG9jayBhbmQgc3RhdGUKPiArICogZm9yIHRoZSBuZXcg Y3J0YywgYXMgbmVlZGVkLiBUaGlzIGZ1bmN0aW9uIHRha2VzIGNhcmUgb2YgYWxsIHRoZXNlIGRl dGFpbHMKPiArICogYmVzaWRlcyB1cGRhdGluZyB0aGUgcG9pbnRlciBpbiB0aGUgc3RhdGUgb2Jq ZWN0IGl0c2VsZi4KPiArICovCj4gK3ZvaWQKPiArZHJtX2F0b21pY19zZXRfZmJfZm9yX3BsYW5l KHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLAo+ICsgICAgc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIpCj4gK3sKPiArIGlmIChwbGFuZV9zdGF0ZS0+ZmIpCj4gKyBkcm1fZnJh bWVidWZmZXJfdW5yZWZlcmVuY2UocGxhbmVfc3RhdGUtPmZiKTsKPiArIGlmIChmYikKPiArIGRy bV9mcmFtZWJ1ZmZlcl9yZWZlcmVuY2UoZmIpOwo+ICsgcGxhbmVfc3RhdGUtPmZiID0gZmI7Cj4g Kwo+ICsgaWYgKGZiKQo+ICsgRFJNX0RFQlVHX0tNUygiU2V0IFtGQjolZF0gZm9yIHBsYW5lIHN0 YXRlICVwXG4iLAo+ICsgICAgICBmYi0+YmFzZS5pZCwgcGxhbmVfc3RhdGUpOwo+ICsgZWxzZQo+ ICsgRFJNX0RFQlVHX0tNUygiU2V0IFtOT0ZCXSBmb3IgcGxhbmUgc3RhdGUgJXBcbiIsIHBsYW5l X3N0YXRlKTsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfc2V0X2ZiX2Zvcl9wbGFu ZSk7Cj4gKwo+ICsvKioKPiAgICogZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVjdG9yIC0g c2V0IGNydGMgZm9yIGNvbm5lY3Rvcgo+ICAgKiBAY29ubl9zdGF0ZTogYXRvbWljIHN0YXRlIG9i amVjdCBmb3IgdGhlIGNvbm5lY3Rvcgo+ICAgKiBAY3J0YzogY3J0YyB0byB1c2UgZm9yIHRoZSBj b25uZWN0b3IKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVy LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGluZGV4IGQwY2E2ODFk NjMyNi4uYTVkZTYwZmFlZGZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMK PiBAQCAtMTE3NSw3ICsxMTc1LDcgQEAgcmV0cnk6Cj4gICB9Cj4KPiAgIGRybV9hdG9taWNfc2V0 X2NydGNfZm9yX3BsYW5lKHBsYW5lX3N0YXRlLCBjcnRjKTsKPiAtIHBsYW5lX3N0YXRlLT5mYiA9 IGZiOwo+ICsgZHJtX2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKHBsYW5lX3N0YXRlLCBmYik7Cj4g ICBwbGFuZV9zdGF0ZS0+Y3J0Y194ID0gY3J0Y194Owo+ICAgcGxhbmVfc3RhdGUtPmNydGNfeSA9 IGNydGNfeTsKPiAgIHBsYW5lX3N0YXRlLT5jcnRjX2ggPSBjcnRjX2g7Cj4gQEAgLTEyNDIsNyAr MTI0Miw3IEBAIHJldHJ5Ogo+ICAgfQo+Cj4gICBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFu ZShwbGFuZV9zdGF0ZSwgTlVMTCk7Cj4gLSBwbGFuZV9zdGF0ZS0+ZmIgPSBOVUxMOwo+ICsgZHJt X2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKHBsYW5lX3N0YXRlLCBOVUxMKTsKPiAgIHBsYW5lX3N0 YXRlLT5jcnRjX3ggPSAwOwo+ICAgcGxhbmVfc3RhdGUtPmNydGNfeSA9IDA7Cj4gICBwbGFuZV9z dGF0ZS0+Y3J0Y19oID0gMDsKPiBAQCAtMTQwMiw3ICsxNDAyLDcgQEAgcmV0cnk6Cj4gICB9Cj4K PiAgIGRybV9hdG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHByaW1hcnlfc3RhdGUsIGNydGMpOwo+ IC0gcHJpbWFyeV9zdGF0ZS0+ZmIgPSBzZXQtPmZiOwo+ICsgZHJtX2F0b21pY19zZXRfZmJfZm9y X3BsYW5lKHByaW1hcnlfc3RhdGUsIHNldC0+ZmIpOwo+ICAgcHJpbWFyeV9zdGF0ZS0+Y3J0Y194 ID0gMDsKPiAgIHByaW1hcnlfc3RhdGUtPmNydGNfeSA9IDA7Cj4gICBwcmltYXJ5X3N0YXRlLT5j cnRjX2ggPSBzZXQtPm1vZGUtPnZkaXNwbGF5Owo+IEBAIC0xNjk1LDcgKzE2OTUsNyBAQCByZXRy eToKPiAgIH0KPgo+ICAgZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfcGxhbmUocGxhbmVfc3RhdGUs IGNydGMpOwo+IC0gcGxhbmVfc3RhdGUtPmZiID0gZmI7Cj4gKyBkcm1fYXRvbWljX3NldF9mYl9m b3JfcGxhbmUocGxhbmVfc3RhdGUsIGZiKTsKPgo+ICAgcmV0ID0gZHJtX2F0b21pY19hc3luY19j b21taXQoc3RhdGUpOwo+ICAgaWYgKHJldCA9PSAtRURFQURMSykKPiBAQCAtMTgwOSw2ICsxODA5 LDkgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUp Owo+ICAgKi8KPiAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9yZXNldChzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSkKPiAgewo+ICsgaWYgKHBsYW5lLT5zdGF0ZSAmJiBwbGFuZS0+c3RhdGUt PmZiKQo+ICsgZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKHBsYW5lLT5zdGF0ZS0+ZmIpOwo+ ICsKPiAgIGtmcmVlKHBsYW5lLT5zdGF0ZSk7Cj4gICBwbGFuZS0+c3RhdGUgPSBremFsbG9jKHNp emVvZigqcGxhbmUtPnN0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gIH0KPiBAQCAtMTgyNCwxMCArMTgy NywxNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX3BsYW5lX3Jlc2V0KTsKPiAg c3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqCj4gIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2R1cGxp Y2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKPiAgewo+ICsgc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqc3RhdGU7Cj4gKwo+ICAgaWYgKFdBUk5fT04oIXBsYW5lLT5zdGF0ZSkpCj4g ICByZXR1cm4gTlVMTDsKPgo+IC0gcmV0dXJuIGttZW1kdXAocGxhbmUtPnN0YXRlLCBzaXplb2Yo KnBsYW5lLT5zdGF0ZSksIEdGUF9LRVJORUwpOwo+ICsgc3RhdGUgPSBrbWVtZHVwKHBsYW5lLT5z dGF0ZSwgc2l6ZW9mKCpwbGFuZS0+c3RhdGUpLCBHRlBfS0VSTkVMKTsKPiArCj4gKyBpZiAoc3Rh dGUgJiYgc3RhdGUtPmZiKQo+ICsgZHJtX2ZyYW1lYnVmZmVyX3JlZmVyZW5jZShzdGF0ZS0+ZmIp Owo+ICsKPiArIHJldHVybiBzdGF0ZTsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNf aGVscGVyX3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZSk7Cj4KPiBAQCAtMTg0MCw4ICsxODUwLDExIEBA IEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZHVwbGljYXRlX3N0YXRlKTsK PiAgICogc3ViY2xhc3NlZCBwbGFuZSBzdGF0ZSBzdHJ1Y3R1cmUuCj4gICAqLwo+ICB2b2lkIGRy bV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCj4gLSAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4gKyAgIHN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gKyBpZiAoc3RhdGUtPmZiKQo+ICsgZHJtX2ZyYW1l YnVmZmVyX3VucmVmZXJlbmNlKHN0YXRlLT5mYik7Cj4gKwo+ICAga2ZyZWUoc3RhdGUpOwo+ICB9 Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZGVzdHJveV9zdGF0ZSk7 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwo+IGluZGV4IDMzMTk1ZTlhZGFhYi4uZDU1Mjcw ODQwOWRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19oZWxwZXIuYwo+IEBAIC0zNCwxMSArMzQs MTMgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+Cj4KPiAgI2luY2x1ZGUgPGRy bS9kcm1QLmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJtX2F0b21pYy5oPgo+ICAjaW5jbHVkZSA8ZHJt L2RybV9jcnRjLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2ZvdXJjYy5oPgo+ICAjaW5jbHVkZSA8 ZHJtL2RybV9jcnRjX2hlbHBlci5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9mYl9oZWxwZXIuaD4K PiAgI2luY2x1ZGUgPGRybS9kcm1fcGxhbmVfaGVscGVyLmg+Cj4gKyNpbmNsdWRlIDxkcm0vZHJt X2F0b21pY19oZWxwZXIuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgo+Cj4gIC8qKgo+ IEBAIC05OTgsMTUgKzEwMDAsMTQgQEAgaW50IGRybV9oZWxwZXJfY3J0Y19tb2RlX3NldF9iYXNl KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgaW50IHgsIGludCB5LAo+ICAgaWYgKHBsYW5lLT5mdW5j cy0+YXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSkKPiAgIHBsYW5lX3N0YXRlID0gcGxhbmUtPmZ1bmNz LT5hdG9taWNfZHVwbGljYXRlX3N0YXRlKHBsYW5lKTsKPiAgIGVsc2UgaWYgKHBsYW5lLT5zdGF0 ZSkKPiAtIHBsYW5lX3N0YXRlID0ga21lbWR1cChwbGFuZS0+c3RhdGUsIHNpemVvZigqcGxhbmVf c3RhdGUpLAo+IC0gICAgICBHRlBfS0VSTkVMKTsKPiArIHBsYW5lX3N0YXRlID0gZHJtX2F0b21p Y19oZWxwZXJfcGxhbmVfZHVwbGljYXRlX3N0YXRlKHBsYW5lKTsKPiAgIGVsc2UKPiAgIHBsYW5l X3N0YXRlID0ga3phbGxvYyhzaXplb2YoKnBsYW5lX3N0YXRlKSwgR0ZQX0tFUk5FTCk7Cj4gICBp ZiAoIXBsYW5lX3N0YXRlKQo+ICAgcmV0dXJuIC1FTk9NRU07Cj4KPiAgIHBsYW5lX3N0YXRlLT5j cnRjID0gY3J0YzsKPiAtIHBsYW5lX3N0YXRlLT5mYiA9IGNydGMtPnByaW1hcnktPmZiOwo+ICsg ZHJtX2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKHBsYW5lX3N0YXRlLCBjcnRjLT5wcmltYXJ5LT5m Yik7Cj4gICBwbGFuZV9zdGF0ZS0+Y3J0Y194ID0gMDsKPiAgIHBsYW5lX3N0YXRlLT5jcnRjX3kg PSAwOwo+ICAgcGxhbmVfc3RhdGUtPmNydGNfaCA9IGNydGMtPm1vZGUudmRpc3BsYXk7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jCj4gaW5kZXggZGY2OTUyMmIxZjBlLi40OTcxMDRkZjEx MmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wbGFuZV9oZWxwZXIuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcGxhbmVfaGVscGVyLmMKPiBAQCAtMjcsNyArMjcsOSBA QAo+ICAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fcGxhbmVfaGVs cGVyLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX3JlY3QuaD4KPiArI2luY2x1ZGUgPGRybS9kcm1f YXRvbWljLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2NydGNfaGVscGVyLmg+Cj4gKyNpbmNsdWRl IDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KPgo+ICAjZGVmaW5lIFNVQlBJWEVMX01BU0sgMHhm ZmZmCj4KPiBAQCAtNDYyLDcgKzQ2NCw3IEBAIGZhaWw6Cj4gICBpZiAocGxhbmUtPmZ1bmNzLT5h dG9taWNfZGVzdHJveV9zdGF0ZSkKPiAgIHBsYW5lLT5mdW5jcy0+YXRvbWljX2Rlc3Ryb3lfc3Rh dGUocGxhbmUsIHBsYW5lX3N0YXRlKTsKPiAgIGVsc2UKPiAtIGtmcmVlKHBsYW5lX3N0YXRlKTsK PiArIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lfc3RhdGUocGxhbmUsIHBsYW5lX3N0 YXRlKTsKPiAgIH0KPgo+ICAgcmV0dXJuIHJldDsKPiBAQCAtNTAzLDE1ICs1MDUsMTQgQEAgaW50 IGRybV9wbGFuZV9oZWxwZXJfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gICBpZiAocGxhbmUtPmZ1bmNzLT5hdG9taWNfZHVwbGljYXRlX3N0 YXRlKQo+ICAgcGxhbmVfc3RhdGUgPSBwbGFuZS0+ZnVuY3MtPmF0b21pY19kdXBsaWNhdGVfc3Rh dGUocGxhbmUpOwo+ICAgZWxzZSBpZiAocGxhbmUtPnN0YXRlKQo+IC0gcGxhbmVfc3RhdGUgPSBr bWVtZHVwKHBsYW5lLT5zdGF0ZSwgc2l6ZW9mKCpwbGFuZV9zdGF0ZSksCj4gLSAgICAgIEdGUF9L RVJORUwpOwo+ICsgcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9wbGFuZV9kdXBsaWNh dGVfc3RhdGUocGxhbmUpOwo+ICAgZWxzZQo+ICAgcGxhbmVfc3RhdGUgPSBremFsbG9jKHNpemVv ZigqcGxhbmVfc3RhdGUpLCBHRlBfS0VSTkVMKTsKPiAgIGlmICghcGxhbmVfc3RhdGUpCj4gICBy ZXR1cm4gLUVOT01FTTsKPgo+ICAgcGxhbmVfc3RhdGUtPmNydGMgPSBjcnRjOwo+IC0gcGxhbmVf c3RhdGUtPmZiID0gZmI7Cj4gKyBkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVfc3Rh dGUsIGZiKTsKPiAgIHBsYW5lX3N0YXRlLT5jcnRjX3ggPSBjcnRjX3g7Cj4gICBwbGFuZV9zdGF0 ZS0+Y3J0Y195ID0gY3J0Y195Owo+ICAgcGxhbmVfc3RhdGUtPmNydGNfaCA9IGNydGNfaDsKPiBA QCAtNTUwLDE1ICs1NTEsMTQgQEAgaW50IGRybV9wbGFuZV9oZWxwZXJfZGlzYWJsZShzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSkKPiAgIGlmIChwbGFuZS0+ZnVuY3MtPmF0b21pY19kdXBsaWNhdGVf c3RhdGUpCj4gICBwbGFuZV9zdGF0ZSA9IHBsYW5lLT5mdW5jcy0+YXRvbWljX2R1cGxpY2F0ZV9z dGF0ZShwbGFuZSk7Cj4gICBlbHNlIGlmIChwbGFuZS0+c3RhdGUpCj4gLSBwbGFuZV9zdGF0ZSA9 IGttZW1kdXAocGxhbmUtPnN0YXRlLCBzaXplb2YoKnBsYW5lX3N0YXRlKSwKPiAtICAgICAgR0ZQ X0tFUk5FTCk7Cj4gKyBwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX3BsYW5lX2R1cGxp Y2F0ZV9zdGF0ZShwbGFuZSk7Cj4gICBlbHNlCj4gICBwbGFuZV9zdGF0ZSA9IGt6YWxsb2Moc2l6 ZW9mKCpwbGFuZV9zdGF0ZSksIEdGUF9LRVJORUwpOwo+ICAgaWYgKCFwbGFuZV9zdGF0ZSkKPiAg IHJldHVybiAtRU5PTUVNOwo+Cj4gICBwbGFuZV9zdGF0ZS0+Y3J0YyA9IE5VTEw7Cj4gLSBwbGFu ZV9zdGF0ZS0+ZmIgPSBOVUxMOwo+ICsgZHJtX2F0b21pY19zZXRfZmJfZm9yX3BsYW5lKHBsYW5l X3N0YXRlLCBOVUxMKTsKPgo+ICAgcmV0dXJuIGRybV9wbGFuZV9oZWxwZXJfY29tbWl0KHBsYW5l LCBwbGFuZV9zdGF0ZSwgcGxhbmUtPmZiKTsKPiAgfQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9kcm1fYXRvbWljLmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiBpbmRleCA3NTM4MTIw MzRlNzEuLjUyZDkyOTgxMjA5ZiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWlj LmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiBAQCAtNDUsNiArNDUsOCBAQCBk cm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlLAo+Cj4gIGludCBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwKPiAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICt2 b2lkIGRybV9hdG9taWNfc2V0X2ZiX2Zvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpw bGFuZV9zdGF0ZSwKPiArIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKTsKPiAgaW50IGRybV9h dG9taWNfc2V0X2NydGNfZm9yX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq Y29ubl9zdGF0ZSwKPiAgICAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAgaW50Cj4gLS0K PiAyLjEuMQo+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK