From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 05/13] drm: add atomic_get_property Date: Wed, 17 Dec 2014 07:52:18 -0500 Message-ID: <20141217125218.GB19962@philcollins> 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-qa0-f41.google.com (mail-qa0-f41.google.com [209.85.216.41]) by gabe.freedesktop.org (Postfix) with ESMTP id 1426F6E7B8 for ; Wed, 17 Dec 2014 04:52:31 -0800 (PST) Received: by mail-qa0-f41.google.com with SMTP id f12so11145999qad.0 for ; Wed, 17 Dec 2014 04:52:30 -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 eTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgoKU2FtZSBuaXQgaGVyZQoKPiAtLS0K PiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyB8IDc2ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gIGluY2x1ZGUvZHJtL2RybV9hdG9taWMuaCAgICAg fCAgOSArKysrKysKPiAgaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICB8IDE4ICsrKysrKysr KysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKPiBpbmRleCAxMjYxYWRlLi40MDk5YjQ0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fYXRvbWljLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4g QEAgLTIzOSw2ICsyMzksMjggQEAgaW50IGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfY3J0Y19zZXRf cHJvcGVydHkpOwo+ICAKPiAgLyoqCj4gKyAqIGRybV9hdG9taWNfY3J0Y19nZXRfcHJvcGVydHkg LSBnZXQgcHJvcGVydHkgb24gY29ubmVjdG9yCgpzL2Nvbm5lY3Rvci9jcnRjLwoKPiArICogQGNy dGM6IHRoZSBkcm0gQ1JUQyB0byBnZXQgYSBwcm9wZXJ0eSBvbgo+ICsgKiBAc3RhdGU6IHRoZSBz dGF0ZSBvYmplY3Qgd2l0aCB0aGUgcHJvcGVydHkgdmFsdWUgdG8gcmVhZAo+ICsgKiBAcHJvcGVy dHk6IHRoZSBwcm9wZXJ0eSB0byBnZXQKPiArICogQHZhbDogdGhlIHByb3BlcnR5IHZhbHVlIChy ZXR1cm5lZCBieSByZWZlcmVuY2UpCj4gKyAqCj4gKyAqIFVzZSB0aGlzIGluc3RlYWQgb2YgY2Fs bGluZyBjcnRjLT5hdG9taWNfZ2V0X3Byb3BlcnR5IGRpcmVjdGx5Cj4gKyAqCj4gKyAqIFJFVFVS TlM6Cj4gKyAqIFplcm8gb24gc3VjY2VzcywgZXJyb3IgY29kZSBvbiBmYWlsdXJlCj4gKyAqLwo+ ICtpbnQgZHJtX2F0b21pY19jcnRjX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gKwkJY29uc3Qgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwKPiArCQlzdHJ1Y3QgZHJt X3Byb3BlcnR5ICpwcm9wZXJ0eSwgdWludDY0X3QgKnZhbCkKPiArewo+ICsJaWYgKGNydGMtPmZ1 bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KQo+ICsJCXJldHVybiBjcnRjLT5mdW5jcy0+YXRvbWlj X2dldF9wcm9wZXJ0eShjcnRjLCBzdGF0ZSwgcHJvcGVydHksIHZhbCk7Cj4gKwlyZXR1cm4gLUVJ TlZBTDsKPiArfQo+ICtFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfY3J0Y19nZXRfcHJvcGVydHkp Owo+ICsKPiArLyoqCj4gICAqIGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlIC0gZ2V0IHBsYW5l IHN0YXRlCj4gICAqIEBzdGF0ZTogZ2xvYmFsIGF0b21pYyBzdGF0ZSBvYmplY3QKPiAgICogQHBs YW5lOiBwbGFuZSB0byBnZXQgc3RhdGUgb2JqZWN0IGZvcgo+IEBAIC0zMTYsNiArMzM4LDI4IEBA IGludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eSk7Cj4gIAo+ ICAvKioKPiArICogZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkgLSBnZXQgcHJvcGVydHkg b24gcGxhbmUKPiArICogQHBsYW5lOiB0aGUgZHJtIHBsYW5lIHRvIGdldCBhIHByb3BlcnR5IG9u Cj4gKyAqIEBzdGF0ZTogdGhlIHN0YXRlIG9iamVjdCB3aXRoIHRoZSBwcm9wZXJ0eSB2YWx1ZSB0 byByZWFkCj4gKyAqIEBwcm9wZXJ0eTogdGhlIHByb3BlcnR5IHRvIGdldAo+ICsgKiBAdmFsOiB0 aGUgcHJvcGVydHkgdmFsdWUgKHJldHVybmVkIGJ5IHJlZmVyZW5jZSkKPiArICoKPiArICogVXNl IHRoaXMgaW5zdGVhZCBvZiBjYWxsaW5nIHBsYW5lLT5hdG9taWNfZ2V0X3Byb3BlcnR5IGRpcmVj dGx5Cj4gKyAqCj4gKyAqIFJFVFVSTlM6Cj4gKyAqIFplcm8gb24gc3VjY2VzcywgZXJyb3IgY29k ZSBvbiBmYWlsdXJlCj4gKyAqLwo+ICtpbnQgZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHko c3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gKwkJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqc3RhdGUsCj4gKwkJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2 YWwpCj4gK3sKPiArCWlmIChwbGFuZS0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkpCj4gKwkJ cmV0dXJuIHBsYW5lLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eShwbGFuZSwgc3RhdGUsIHBy b3BlcnR5LCB2YWwpOwo+ICsJcmV0dXJuIC1FSU5WQUw7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChk cm1fYXRvbWljX3BsYW5lX2dldF9wcm9wZXJ0eSk7Cj4gKwo+ICsvKioKPiAgICogZHJtX2F0b21p Y19nZXRfY29ubmVjdG9yX3N0YXRlIC0gZ2V0IGNvbm5lY3RvciBzdGF0ZQo+ICAgKiBAc3RhdGU6 IGdsb2JhbCBhdG9taWMgc3RhdGUgb2JqZWN0Cj4gICAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciB0 byBnZXQgc3RhdGUgb2JqZWN0IGZvcgo+IEBAIC00MjEsNiArNDY1LDM4IEBAIGludCBkcm1fYXRv bWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJvcGVydHkpOwo+ ICAKPiAgLyoqCj4gKyAqIGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eSAtIGdldCBw cm9wZXJ0eSBvbiBjb25uZWN0b3IKPiArICogQGNvbm5lY3RvcjogdGhlIGRybSBjb25uZWN0b3Ig dG8gZ2V0IGEgcHJvcGVydHkgb24KPiArICogQHN0YXRlOiB0aGUgc3RhdGUgb2JqZWN0IHdpdGgg dGhlIHByb3BlcnR5IHZhbHVlIHRvIHJlYWQKPiArICogQHByb3BlcnR5OiB0aGUgcHJvcGVydHkg dG8gZ2V0Cj4gKyAqIEB2YWw6IHRoZSBwcm9wZXJ0eSB2YWx1ZSAocmV0dXJuZWQgYnkgcmVmZXJl bmNlKQo+ICsgKgo+ICsgKiBVc2UgdGhpcyBpbnN0ZWFkIG9mIGNhbGxpbmcgY29ubmVjdG9yLT5h dG9taWNfZ2V0X3Byb3BlcnR5IGRpcmVjdGx5Cj4gKyAqCj4gKyAqIFJFVFVSTlM6Cj4gKyAqIFpl cm8gb24gc3VjY2VzcywgZXJyb3IgY29kZSBvbiBmYWlsdXJlCj4gKyAqLwo+ICtpbnQgZHJtX2F0 b21pY19jb25uZWN0b3JfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsCj4gKwkJY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlLAo+ICsJCXN0 cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LCB1aW50NjRfdCAqdmFsKQo+ICt7Cj4gKwlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX21vZGVf Y29uZmlnICpjb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKPiArCj4gKwlpZiAocHJvcGVydHkg PT0gY29uZmlnLT5kcG1zX3Byb3BlcnR5KSB7Cj4gKwkJKnZhbCA9IGNvbm5lY3Rvci0+ZHBtczsK PiArCX0gZWxzZSBpZiAoY29ubmVjdG9yLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkgewo+ ICsJCXJldHVybiBjb25uZWN0b3ItPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5KGNvbm5lY3Rv ciwKPiArCQkJCXN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKPiArCX0gZWxzZSB7Cj4gKwkJcmV0dXJu IC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChk cm1fYXRvbWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkpOwo+ICsKPiArLyoqCj4gICAqIGRybV9h dG9taWNfc2V0X2NydGNfZm9yX3BsYW5lIC0gc2V0IGNydGMgZm9yIHBsYW5lCj4gICAqIEBzdGF0 ZTogdGhlIGluY29taW5nIGF0b21pYyBzdGF0ZQo+ICAgKiBAcGxhbmU6IHRoZSBwbGFuZSB3aG9z ZSBpbmNvbWluZyBzdGF0ZSB0byB1cGRhdGUKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJt X2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oCj4gaW5kZXggYjA4MzRkYy4uYjM0 MjI0YSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiArKysgYi9pbmNs dWRlL2RybS9kcm1fYXRvbWljLmgKPiBAQCAtNDEsMTggKzQxLDI3IEBAIGRybV9hdG9taWNfZ2V0 X2NydGNfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICBpbnQgZHJtX2F0 b21pY19jcnRjX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJc3RydWN0 IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4g IAkJdWludDY0X3QgdmFsKTsKPiAraW50IGRybV9hdG9taWNfY3J0Y19nZXRfcHJvcGVydHkoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3Rh dGUsCj4gKwkJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2YWwpOwo+ ICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICogX19tdXN0X2NoZWNrCj4gIGRybV9hdG9taWNfZ2V0 X3BsYW5lX3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKPiAgCQkJICAgc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUpOwo+ICBpbnQgZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVy dHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAq c3RhdGUsIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICAJCXVpbnQ2NF90IHZhbCk7 Cj4gK2ludCBkcm1fYXRvbWljX3BsYW5lX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKPiArCQljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwKPiArCQlzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwgdWludDY0X3QgKnZhbCk7Cj4gIHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICogX19tdXN0X2NoZWNrCj4gIGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rv cl9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgICAgICBzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAgaW50IGRybV9hdG9taWNfY29ubmVjdG9y X3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICAJCXN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVy dHksCj4gIAkJdWludDY0X3QgdmFsKTsKPiAraW50IGRybV9hdG9taWNfY29ubmVjdG9yX2dldF9w cm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCWNvbnN0IHN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwKPiArCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpw cm9wZXJ0eSwgdWludDY0X3QgKnZhbCk7Cj4gIAo+ICBpbnQgX19tdXN0X2NoZWNrCj4gIGRybV9h dG9taWNfc2V0X2NydGNfZm9yX3BsYW5lKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwK PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9j cnRjLmgKPiBpbmRleCAxYjcxZjYwLi5lNmNmZGFmIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJt L2RybV9jcnRjLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gQEAgLTMwMSw2ICsz MDEsOCBAQCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgewo+ICAgKiBAYXRvbWljX2Rlc3Ryb3lfc3Rh dGU6IGRlc3Ryb3kgYW4gYXRvbWljIHN0YXRlIGZvciB0aGlzIENSVEMKPiAgICogQGF0b21pY19z ZXRfcHJvcGVydHk6IHNldCBhIHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBD UlRDCj4gICAqICAgIChkbyBub3QgY2FsbCBkaXJlY3RseSwgdXNlIGRybV9hdG9taWNfY3J0Y19z ZXRfcHJvcGVydHkoKSkKPiArICogQGF0b21pY19nZXRfcHJvcGVydHk6IGdldCBhIHByb3BlcnR5 IG9uIGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBDUlRDCj4gKyAqICAgIChkbyBub3QgY2FsbCBk aXJlY3RseSwgdXNlIGRybV9hdG9taWNfY3J0Y19nZXRfcHJvcGVydHkoKSkKPiAgICoKPiAgICog VGhlIGRybV9jcnRjX2Z1bmNzIHN0cnVjdHVyZSBpcyB0aGUgY2VudHJhbCBDUlRDIG1hbmFnZW1l bnQgc3RydWN0dXJlCj4gICAqIGluIHRoZSBEUk0uICBFYWNoIENSVEMgY29udHJvbHMgb25lIG9y IG1vcmUgY29ubmVjdG9ycyAobm90ZSB0aGF0IHRoZSBuYW1lCj4gQEAgLTM2MCw2ICszNjIsMTAg QEAgc3RydWN0IGRybV9jcnRjX2Z1bmNzIHsKPiAgCQkJCSAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqc3RhdGUsCj4gIAkJCQkgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKPiAgCQkJ CSAgIHVpbnQ2NF90IHZhbCk7Cj4gKwlpbnQgKCphdG9taWNfZ2V0X3Byb3BlcnR5KShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gKwkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0 YXRlLAo+ICsJCQkJICAgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gKwkJCQkgICB1 aW50NjRfdCAqdmFsKTsKPiAgfTsKPiAgCj4gIC8qKgo+IEBAIC00ODUsNiArNDkxLDggQEAgc3Ry dWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgewo+ICAgKiBAYXRvbWljX2Rlc3Ryb3lfc3RhdGU6IGRl c3Ryb3kgYW4gYXRvbWljIHN0YXRlIGZvciB0aGlzIGNvbm5lY3Rvcgo+ICAgKiBAYXRvbWljX3Nl dF9wcm9wZXJ0eTogc2V0IGEgcHJvcGVydHkgb24gYW4gYXRvbWljIHN0YXRlIGZvciB0aGlzIGNv bm5lY3Rvcgo+ICAgKiAgICAoZG8gbm90IGNhbGwgZGlyZWN0bHksIHVzZSBkcm1fYXRvbWljX2Nv bm5lY3Rvcl9zZXRfcHJvcGVydHkoKSkKPiArICogQGF0b21pY19nZXRfcHJvcGVydHk6IGdldCBh IHByb3BlcnR5IG9uIGFuIGF0b21pYyBzdGF0ZSBmb3IgdGhpcyBjb25uZWN0b3IKPiArICogICAg KGRvIG5vdCBjYWxsIGRpcmVjdGx5LCB1c2UgZHJtX2F0b21pY19jb25uZWN0b3JfZ2V0X3Byb3Bl cnR5KCkpCj4gICAqCj4gICAqIEVhY2ggQ1JUQyBtYXkgaGF2ZSBvbmUgb3IgbW9yZSBjb25uZWN0 b3JzIGF0dGFjaGVkIHRvIGl0LiAgVGhlIGZ1bmN0aW9ucwo+ICAgKiBiZWxvdyBhbGxvdyB0aGUg Y29yZSBEUk0gY29kZSB0byBjb250cm9sIGNvbm5lY3RvcnMsIGVudW1lcmF0ZSBhdmFpbGFibGUg bW9kZXMsCj4gQEAgLTUxOCw2ICs1MjYsMTAgQEAgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3Mg ewo+ICAJCQkJICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlLAo+ICAJCQkJICAg c3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCj4gIAkJCQkgICB1aW50NjRfdCB2YWwpOwo+ ICsJaW50ICgqYXRvbWljX2dldF9wcm9wZXJ0eSkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiArCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSwK PiArCQkJCSAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ICsJCQkJICAgdWludDY0 X3QgKnZhbCk7Cj4gIH07Cj4gIAo+ICAvKioKPiBAQCAtNzQ2LDYgKzc1OCw4IEBAIHN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgewo+ICAgKiBAYXRvbWljX2Rlc3Ryb3lfc3RhdGU6IGRlc3Ryb3kgYW4g YXRvbWljIHN0YXRlIGZvciB0aGlzIHBsYW5lCj4gICAqIEBhdG9taWNfc2V0X3Byb3BlcnR5OiBz ZXQgYSBwcm9wZXJ0eSBvbiBhbiBhdG9taWMgc3RhdGUgZm9yIHRoaXMgcGxhbmUKPiAgICogICAg KGRvIG5vdCBjYWxsIGRpcmVjdGx5LCB1c2UgZHJtX2F0b21pY19wbGFuZV9zZXRfcHJvcGVydHko KSkKPiArICogQGF0b21pY19nZXRfcHJvcGVydHk6IGdldCBhIHByb3BlcnR5IG9uIGFuIGF0b21p YyBzdGF0ZSBmb3IgdGhpcyBwbGFuZQo+ICsgKiAgICAoZG8gbm90IGNhbGwgZGlyZWN0bHksIHVz ZSBkcm1fYXRvbWljX3BsYW5lX2dldF9wcm9wZXJ0eSgpKQo+ICAgKi8KPiAgc3RydWN0IGRybV9w bGFuZV9mdW5jcyB7Cj4gIAlpbnQgKCp1cGRhdGVfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAo+IEBAIC03NjksNiArNzgzLDEwIEBAIHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mgewo+ICAJ CQkJICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsCj4gIAkJCQkgICBzdHJ1Y3QgZHJt X3Byb3BlcnR5ICpwcm9wZXJ0eSwKPiAgCQkJCSAgIHVpbnQ2NF90IHZhbCk7Cj4gKwlpbnQgKCph dG9taWNfZ2V0X3Byb3BlcnR5KShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQkJCSAgIGNv bnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLAo+ICsJCQkJICAgc3RydWN0IGRybV9w cm9wZXJ0eSAqcHJvcGVydHksCj4gKwkJCQkgICB1aW50NjRfdCAqdmFsKTsKPiAgfTsKPiAgCj4g IGVudW0gZHJtX3BsYW5lX3R5cGUgewo+IC0tIAo+IDIuMS4wCj4gCj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0 Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK