From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 05/13] drm: add atomic_get_property Date: Wed, 17 Dec 2014 14:54:42 +0100 Message-ID: <20141217135442.GI2711@phenom.ffwll.local> References: <1418771141-16954-1-git-send-email-robdclark@gmail.com> <1418771141-16954-6-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175]) by gabe.freedesktop.org (Postfix) with ESMTP id 110666E829 for ; Wed, 17 Dec 2014 05:54:07 -0800 (PST) Received: by mail-wi0-f175.google.com with SMTP id l15so15803402wiw.14 for ; Wed, 17 Dec 2014 05:54:06 -0800 (PST) Content-Disposition: inline In-Reply-To: <1418771141-16954-6-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Clark Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBEZWMgMTYsIDIwMTQgYXQgMDY6MDU6MzNQTSAtMDUwMCwgUm9iIENsYXJrIHdyb3Rl Ogo+IFNpbmNlIHdlIHdvbid0IGJlIHVzaW5nIHRoZSBvYmotPnByb3BlcnRpZXMtPnZhbHVlc1td IGFycmF5IHRvIHNoYWRvdwo+IHByb3BlcnR5IHZhbHVlcyBmb3IgYXRvbWljIGRyaXZlcnMsIHdl IGFyZSBnb2luZyB0byBuZWVkIGEgdmZ1bmMgZm9yCj4gZ2V0dGluZyBwcm9wIHZhbHVlcy4gIEFk ZCB0aGF0IGFsb25nIHcvIG1hbmRhdG9yeSB3cmFwcGVyIGZ4bnMuCj4gCj4gU2lnbmVkLW9mZi1i eTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgoKV2l0aCBTZWFuJ3Mgbml0cGljazog UmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIHwgNzYgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oICAg ICB8ICA5ICsrKysrKwo+ICBpbmNsdWRlL2RybS9kcm1fY3J0Yy5oICAgICAgIHwgMTggKysrKysr KysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYwo+IGluZGV4IDEyNjFhZGUuLjQwOTliNDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMK PiBAQCAtMjM5LDYgKzIzOSwyOCBAQCBpbnQgZHJtX2F0b21pY19jcnRjX3NldF9wcm9wZXJ0eShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19jcnRjX3Nl dF9wcm9wZXJ0eSk7Cj4gIAo+ICAvKioKPiArICogZHJtX2F0b21pY19jcnRjX2dldF9wcm9wZXJ0 eSAtIGdldCBwcm9wZXJ0eSBvbiBjb25uZWN0b3IKPiArICogQGNydGM6IHRoZSBkcm0gQ1JUQyB0 byBnZXQgYSBwcm9wZXJ0eSBvbgo+ICsgKiBAc3RhdGU6IHRoZSBzdGF0ZSBvYmplY3Qgd2l0aCB0 aGUgcHJvcGVydHkgdmFsdWUgdG8gcmVhZAo+ICsgKiBAcHJvcGVydHk6IHRoZSBwcm9wZXJ0eSB0 byBnZXQKPiArICogQHZhbDogdGhlIHByb3BlcnR5IHZhbHVlIChyZXR1cm5lZCBieSByZWZlcmVu Y2UpCj4gKyAqCj4gKyAqIFVzZSB0aGlzIGluc3RlYWQgb2YgY2FsbGluZyBjcnRjLT5hdG9taWNf Z2V0X3Byb3BlcnR5IGRpcmVjdGx5Cj4gKyAqCj4gKyAqIFJFVFVSTlM6Cj4gKyAqIFplcm8gb24g c3VjY2VzcywgZXJyb3IgY29kZSBvbiBmYWlsdXJlCj4gKyAqLwo+ICtpbnQgZHJtX2F0b21pY19j cnRjX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJY29uc3Qgc3RydWN0 IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwKPiArCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0 eSwgdWludDY0X3QgKnZhbCkKPiArewo+ICsJaWYgKGNydGMtPmZ1bmNzLT5hdG9taWNfZ2V0X3By b3BlcnR5KQo+ICsJCXJldHVybiBjcnRjLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShjcnRj LCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gKwlyZXR1cm4gLUVJTlZBTDsKPiArfQo+ICtFWFBP UlRfU1lNQk9MKGRybV9hdG9taWNfY3J0Y19nZXRfcHJvcGVydHkpOwo+ICsKPiArLyoqCj4gICAq IGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlIC0gZ2V0IHBsYW5lIHN0YXRlCj4gICAqIEBzdGF0 ZTogZ2xvYmFsIGF0b21pYyBzdGF0ZSBvYmplY3QKPiAgICogQHBsYW5lOiBwbGFuZSB0byBnZXQg c3RhdGUgb2JqZWN0IGZvcgo+IEBAIC0zMTYsNiArMzM4LDI4IEBAIGludCBkcm1fYXRvbWljX3Bs YW5lX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgRVhQT1JUX1NZTUJP TChkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eSk7Cj4gIAo+ICAvKioKPiArICogZHJtX2F0 b21pY19wbGFuZV9nZXRfcHJvcGVydHkgLSBnZXQgcHJvcGVydHkgb24gcGxhbmUKPiArICogQHBs YW5lOiB0aGUgZHJtIHBsYW5lIHRvIGdldCBhIHByb3BlcnR5IG9uCj4gKyAqIEBzdGF0ZTogdGhl IHN0YXRlIG9iamVjdCB3aXRoIHRoZSBwcm9wZXJ0eSB2YWx1ZSB0byByZWFkCj4gKyAqIEBwcm9w ZXJ0eTogdGhlIHByb3BlcnR5IHRvIGdldAo+ICsgKiBAdmFsOiB0aGUgcHJvcGVydHkgdmFsdWUg KHJldHVybmVkIGJ5IHJlZmVyZW5jZSkKPiArICoKPiArICogVXNlIHRoaXMgaW5zdGVhZCBvZiBj YWxsaW5nIHBsYW5lLT5hdG9taWNfZ2V0X3Byb3BlcnR5IGRpcmVjdGx5Cj4gKyAqCj4gKyAqIFJF VFVSTlM6Cj4gKyAqIFplcm8gb24gc3VjY2VzcywgZXJyb3IgY29kZSBvbiBmYWlsdXJlCj4gKyAq Lwo+ICtpbnQgZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCj4gKwkJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsCj4gKwkJc3Ry dWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2YWwpCj4gK3sKPiArCWlmIChw bGFuZS0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkpCj4gKwkJcmV0dXJuIHBsYW5lLT5mdW5j cy0+YXRvbWljX2dldF9wcm9wZXJ0eShwbGFuZSwgc3RhdGUsIHByb3BlcnR5LCB2YWwpOwo+ICsJ cmV0dXJuIC1FSU5WQUw7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX3BsYW5lX2dl dF9wcm9wZXJ0eSk7Cj4gKwo+ICsvKioKPiAgICogZHJtX2F0b21pY19nZXRfY29ubmVjdG9yX3N0 YXRlIC0gZ2V0IGNvbm5lY3RvciBzdGF0ZQo+ICAgKiBAc3RhdGU6IGdsb2JhbCBhdG9taWMgc3Rh dGUgb2JqZWN0Cj4gICAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciB0byBnZXQgc3RhdGUgb2JqZWN0 IGZvcgo+IEBAIC00MjEsNiArNDY1LDM4IEBAIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgRVhQT1JUX1NZTUJP TChkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkpOwo+ICAKPiAgLyoqCj4gKyAqIGRy bV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eSAtIGdldCBwcm9wZXJ0eSBvbiBjb25uZWN0 b3IKPiArICogQGNvbm5lY3RvcjogdGhlIGRybSBjb25uZWN0b3IgdG8gZ2V0IGEgcHJvcGVydHkg b24KPiArICogQHN0YXRlOiB0aGUgc3RhdGUgb2JqZWN0IHdpdGggdGhlIHByb3BlcnR5IHZhbHVl IHRvIHJlYWQKPiArICogQHByb3BlcnR5OiB0aGUgcHJvcGVydHkgdG8gZ2V0Cj4gKyAqIEB2YWw6 IHRoZSBwcm9wZXJ0eSB2YWx1ZSAocmV0dXJuZWQgYnkgcmVmZXJlbmNlKQo+ICsgKgo+ICsgKiBV c2UgdGhpcyBpbnN0ZWFkIG9mIGNhbGxpbmcgY29ubmVjdG9yLT5hdG9taWNfZ2V0X3Byb3BlcnR5 IGRpcmVjdGx5Cj4gKyAqCj4gKyAqIFJFVFVSTlM6Cj4gKyAqIFplcm8gb24gc3VjY2VzcywgZXJy b3IgY29kZSBvbiBmYWlsdXJlCj4gKyAqLwo+ICtpbnQgZHJtX2F0b21pY19jb25uZWN0b3JfZ2V0 X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gKwkJY29uc3Qgc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlLAo+ICsJCXN0cnVjdCBkcm1fcHJvcGVydHkg KnByb3BlcnR5LCB1aW50NjRfdCAqdmFsKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY29ubmVjdG9yLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAm ZGV2LT5tb2RlX2NvbmZpZzsKPiArCj4gKwlpZiAocHJvcGVydHkgPT0gY29uZmlnLT5kcG1zX3By b3BlcnR5KSB7Cj4gKwkJKnZhbCA9IGNvbm5lY3Rvci0+ZHBtczsKPiArCX0gZWxzZSBpZiAoY29u bmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkgewo+ICsJCXJldHVybiBjb25uZWN0 b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KGNvbm5lY3RvciwKPiArCQkJCXN0YXRlLCBw cm9wZXJ0eSwgdmFsKTsKPiArCX0gZWxzZSB7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4g Kwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2Nvbm5lY3Rv cl9nZXRfcHJvcGVydHkpOwo+ICsKPiArLyoqCj4gICAqIGRybV9hdG9taWNfc2V0X2NydGNfZm9y X3BsYW5lIC0gc2V0IGNydGMgZm9yIHBsYW5lCj4gICAqIEBzdGF0ZTogdGhlIGluY29taW5nIGF0 b21pYyBzdGF0ZQo+ICAgKiBAcGxhbmU6IHRoZSBwbGFuZSB3aG9zZSBpbmNvbWluZyBzdGF0ZSB0 byB1cGRhdGUKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVk ZS9kcm0vZHJtX2F0b21pYy5oCj4gaW5kZXggYjA4MzRkYy4uYjM0MjI0YSAxMDA2NDQKPiAtLS0g YS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWlj LmgKPiBAQCAtNDEsMTggKzQxLDI3IEBAIGRybV9hdG9taWNfZ2V0X2NydGNfc3RhdGUoc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICBpbnQgZHJtX2F0b21pY19jcnRjX3NldF9wcm9w ZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpz dGF0ZSwgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gIAkJdWludDY0X3QgdmFsKTsK PiAraW50IGRybV9hdG9taWNfY3J0Y19nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRj LAo+ICsJCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCj4gKwkJc3RydWN0IGRy bV9wcm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2YWwpOwo+ICBzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICogX19tdXN0X2NoZWNrCj4gIGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJICAgc3RydWN0IGRybV9wbGFuZSAqcGxh bmUpOwo+ICBpbnQgZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCj4gIAkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsIHN0cnVjdCBkcm1f cHJvcGVydHkgKnByb3BlcnR5LAo+ICAJCXVpbnQ2NF90IHZhbCk7Cj4gK2ludCBkcm1fYXRvbWlj X3BsYW5lX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQljb25zdCBz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwKPiArCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpw cm9wZXJ0eSwgdWludDY0X3QgKnZhbCk7Cj4gIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICog X19tdXN0X2NoZWNrCj4gIGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yKTsKPiAgaW50IGRybV9hdG9taWNfY29ubmVjdG9yX3NldF9wcm9wZXJ0eShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpzdGF0ZSwgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gIAkJdWludDY0X3Qg dmFsKTsKPiAraW50IGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICpzdGF0ZSwKPiArCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwgdWludDY0X3Qg KnZhbCk7Cj4gIAo+ICBpbnQgX19tdXN0X2NoZWNrCj4gIGRybV9hdG9taWNfc2V0X2NydGNfZm9y X3BsYW5lKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiBkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiBpbmRleCAxYjcx ZjYwLi5lNmNmZGFmIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKPiArKysg Yi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gQEAgLTMwMSw2ICszMDEsOCBAQCBzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgewo+ICAgKiBAYXRvbWljX2Rlc3Ryb3lfc3RhdGU6IGRlc3Ryb3kgYW4gYXRv bWljIHN0YXRlIGZvciB0aGlzIENSVEMKPiAgICogQGF0b21pY19zZXRfcHJvcGVydHk6IHNldCBh IHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBDUlRDCj4gICAqICAgIChkbyBu b3QgY2FsbCBkaXJlY3RseSwgdXNlIGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkoKSkKPiAr ICogQGF0b21pY19nZXRfcHJvcGVydHk6IGdldCBhIHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0 ZSBmb3IgdGhpcyBDUlRDCj4gKyAqICAgIChkbyBub3QgY2FsbCBkaXJlY3RseSwgdXNlIGRybV9h dG9taWNfY3J0Y19nZXRfcHJvcGVydHkoKSkKPiAgICoKPiAgICogVGhlIGRybV9jcnRjX2Z1bmNz IHN0cnVjdHVyZSBpcyB0aGUgY2VudHJhbCBDUlRDIG1hbmFnZW1lbnQgc3RydWN0dXJlCj4gICAq IGluIHRoZSBEUk0uICBFYWNoIENSVEMgY29udHJvbHMgb25lIG9yIG1vcmUgY29ubmVjdG9ycyAo bm90ZSB0aGF0IHRoZSBuYW1lCj4gQEAgLTM2MCw2ICszNjIsMTAgQEAgc3RydWN0IGRybV9jcnRj X2Z1bmNzIHsKPiAgCQkJCSAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCj4gIAkJCQkg ICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKPiAgCQkJCSAgIHVpbnQ2NF90IHZhbCk7 Cj4gKwlpbnQgKCphdG9taWNfZ2V0X3Byb3BlcnR5KShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4g KwkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLAo+ICsJCQkJICAgc3Ry dWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gKwkJCQkgICB1aW50NjRfdCAqdmFsKTsKPiAg fTsKPiAgCj4gIC8qKgo+IEBAIC00ODUsNiArNDkxLDggQEAgc3RydWN0IGRybV9jb25uZWN0b3Jf c3RhdGUgewo+ICAgKiBAYXRvbWljX2Rlc3Ryb3lfc3RhdGU6IGRlc3Ryb3kgYW4gYXRvbWljIHN0 YXRlIGZvciB0aGlzIGNvbm5lY3Rvcgo+ICAgKiBAYXRvbWljX3NldF9wcm9wZXJ0eTogc2V0IGEg cHJvcGVydHkgb24gYW4gYXRvbWljIHN0YXRlIGZvciB0aGlzIGNvbm5lY3Rvcgo+ICAgKiAgICAo ZG8gbm90IGNhbGwgZGlyZWN0bHksIHVzZSBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVy dHkoKSkKPiArICogQGF0b21pY19nZXRfcHJvcGVydHk6IGdldCBhIHByb3BlcnR5IG9uIGFuIGF0 b21pYyBzdGF0ZSBmb3IgdGhpcyBjb25uZWN0b3IKPiArICogICAgKGRvIG5vdCBjYWxsIGRpcmVj dGx5LCB1c2UgZHJtX2F0b21pY19jb25uZWN0b3JfZ2V0X3Byb3BlcnR5KCkpCj4gICAqCj4gICAq IEVhY2ggQ1JUQyBtYXkgaGF2ZSBvbmUgb3IgbW9yZSBjb25uZWN0b3JzIGF0dGFjaGVkIHRvIGl0 LiAgVGhlIGZ1bmN0aW9ucwo+ICAgKiBiZWxvdyBhbGxvdyB0aGUgY29yZSBEUk0gY29kZSB0byBj b250cm9sIGNvbm5lY3RvcnMsIGVudW1lcmF0ZSBhdmFpbGFibGUgbW9kZXMsCj4gQEAgLTUxOCw2 ICs1MjYsMTAgQEAgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3Mgewo+ICAJCQkJICAgc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlLAo+ICAJCQkJICAgc3RydWN0IGRybV9wcm9wZXJ0 eSAqcHJvcGVydHksCj4gIAkJCQkgICB1aW50NjRfdCB2YWwpOwo+ICsJaW50ICgqYXRvbWljX2dl dF9wcm9wZXJ0eSkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiArCQkJCSAgIGNv bnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwKPiArCQkJCSAgIHN0cnVjdCBk cm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICsJCQkJICAgdWludDY0X3QgKnZhbCk7Cj4gIH07Cj4g IAo+ICAvKioKPiBAQCAtNzQ2LDYgKzc1OCw4IEBAIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgewo+ ICAgKiBAYXRvbWljX2Rlc3Ryb3lfc3RhdGU6IGRlc3Ryb3kgYW4gYXRvbWljIHN0YXRlIGZvciB0 aGlzIHBsYW5lCj4gICAqIEBhdG9taWNfc2V0X3Byb3BlcnR5OiBzZXQgYSBwcm9wZXJ0eSBvbiBh biBhdG9taWMgc3RhdGUgZm9yIHRoaXMgcGxhbmUKPiAgICogICAgKGRvIG5vdCBjYWxsIGRpcmVj dGx5LCB1c2UgZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVydHkoKSkKPiArICogQGF0b21pY19n ZXRfcHJvcGVydHk6IGdldCBhIHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBw bGFuZQo+ICsgKiAgICAoZG8gbm90IGNhbGwgZGlyZWN0bHksIHVzZSBkcm1fYXRvbWljX3BsYW5l X2dldF9wcm9wZXJ0eSgpKQo+ICAgKi8KPiAgc3RydWN0IGRybV9wbGFuZV9mdW5jcyB7Cj4gIAlp bnQgKCp1cGRhdGVfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+IEBAIC03NjksNiAr NzgzLDEwIEBAIHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mgewo+ICAJCQkJICAgc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqc3RhdGUsCj4gIAkJCQkgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0 eSwKPiAgCQkJCSAgIHVpbnQ2NF90IHZhbCk7Cj4gKwlpbnQgKCphdG9taWNfZ2V0X3Byb3BlcnR5 KShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKnN0YXRlLAo+ICsJCQkJICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHks Cj4gKwkJCQkgICB1aW50NjRfdCAqdmFsKTsKPiAgfTsKPiAgCj4gIGVudW0gZHJtX3BsYW5lX3R5 cGUgewo+IC0tIAo+IDIuMS4wCj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVl ciwgSW50ZWwgQ29ycG9yYXRpb24KKzQxICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5m ZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=