From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 09/13] drm/atomic: atomic_check functions Date: Wed, 17 Dec 2014 15:25:57 +0100 Message-ID: <20141217142557.GN2711@phenom.ffwll.local> References: <1418771141-16954-1-git-send-email-robdclark@gmail.com> <1418771141-16954-10-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-f176.google.com (mail-wi0-f176.google.com [209.85.212.176]) by gabe.freedesktop.org (Postfix) with ESMTP id 18F396E545 for ; Wed, 17 Dec 2014 06:25:23 -0800 (PST) Received: by mail-wi0-f176.google.com with SMTP id ex7so15879361wid.9 for ; Wed, 17 Dec 2014 06:25:22 -0800 (PST) Content-Disposition: inline In-Reply-To: <1418771141-16954-10-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 T24gVHVlLCBEZWMgMTYsIDIwMTQgYXQgMDY6MDU6MzdQTSAtMDUwMCwgUm9iIENsYXJrIHdyb3Rl Ogo+IEFkZCBmdW5jdGlvbnMgdG8gY2hlY2sgY29yZSBwbGFuZS9jcnRjIHN0YXRlLgo+IAo+IFNp Z25lZC1vZmYtYnk6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KPiAtLS0KPiAgZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICAgfCA4NyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5j IHwgNDcgKysrKysrKysrKysrKystLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oICAg ICAgICAgICAgfCAgNCArKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDEyNCBpbnNlcnRpb25zKCspLCAx NCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9t aWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiBpbmRleCA0MDk5YjQ0Li5hZmI4 MzBkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gQEAgLTI2MSw2ICsyNjEsMjcgQEAgaW50IGRy bV9hdG9taWNfY3J0Y19nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICBFWFBP UlRfU1lNQk9MKGRybV9hdG9taWNfY3J0Y19nZXRfcHJvcGVydHkpOwo+ICAKPiAgLyoqCj4gKyAq IGRybV9hdG9taWNfY3J0Y19jaGVjayAtIGNoZWNrIGNydGMgc3RhdGUKPiArICogQGNydGM6IGNy dGMgdG8gY2hlY2sKPiArICogQHN0YXRlOiBjcnRjIHN0YXRlIHRvIGNoZWNrCj4gKyAqCj4gKyAq IFByb3ZpZGVzIGNvcmUgc2FuaXR5IGNoZWNrcyBmb3IgY3J0YyBzdGF0ZS4KPiArICoKPiArICog UkVUVVJOUzoKPiArICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUKPiAr ICovCj4gK2ludCBkcm1fYXRvbWljX2NydGNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ ICsJCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCj4gK3sKPiArCS8qIFRPRE8gYW55dGhp bmcgdG8gY2hlY2s/ICBJIHRoaW5rIGlmIGRyaXZlcnMgd2FudCB0byBlbmZvcmNlIHRoYXQKPiAr CSAqIHByaW1hcnkgbGF5ZXIgY292ZXJzIGVudGlyZSBzY3JlZW4sIHRoZXkgc2hvdWxkIGRvIHRo YXQgaW4gdGhlaXIKPiArCSAqIG93biBjcnRjLT5hdG9taWNfY2hlY2soKSB2ZnVuYy4uCj4gKwkg Ki8KCldlIGNvdWxkIGRvIHRoaW5ncyBsaWtlIG1vZGUgc2FuaXR5IGNoZWNraW5nLCBsaWtlIFZp bGxlJ3MgbGF0ZXN0IHNlcmllcwpkb2VzLiBCdXQgZm9yIG5vdyB0aGVyZSdzIG5vdGhpbmcsIHNv IGltbyBkcm9wIHRoZSBjb21tZW50LiBNYXliZSBpbnN0ZWFkCgoJLyogVE9ETzogQWRkIGdlbmVy aWMgbW9kZXNldCBzdGF0ZSBjaGVja3Mgb25jZSB3ZSBzdXBwb3J0IHRob3NlLiAqLwoKPiArCXJl dHVybiAwOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2F0b21pY19jcnRjX2NoZWNrKTsKPiAr Cj4gKy8qKgo+ICAgKiBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0ZSAtIGdldCBwbGFuZSBzdGF0 ZQo+ICAgKiBAc3RhdGU6IGdsb2JhbCBhdG9taWMgc3RhdGUgb2JqZWN0Cj4gICAqIEBwbGFuZTog cGxhbmUgdG8gZ2V0IHN0YXRlIG9iamVjdCBmb3IKPiBAQCAtMzYwLDYgKzM4MSw3MiBAQCBpbnQg ZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4g IEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkpOwo+ICAKPiAgLyoq Cj4gKyAqIGRybV9hdG9taWNfcGxhbmVfY2hlY2sgLSBjaGVjayBwbGFuZSBzdGF0ZQo+ICsgKiBA cGxhbmU6IHBsYW5lIHRvIGNoZWNrCj4gKyAqIEBzdGF0ZTogcGxhbmUgc3RhdGUgdG8gY2hlY2sK PiArICoKPiArICogUHJvdmlkZXMgY29yZSBzYW5pdHkgY2hlY2tzIGZvciBwbGFuZSBzdGF0ZS4K PiArICoKPiArICogUkVUVVJOUzoKPiArICogWmVybyBvbiBzdWNjZXNzLCBlcnJvciBjb2RlIG9u IGZhaWx1cmUKPiArICovCj4gK2ludCBkcm1fYXRvbWljX3BsYW5lX2NoZWNrKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+ICsJCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ICt7Cj4g Kwl1bnNpZ25lZCBpbnQgZmJfd2lkdGgsIGZiX2hlaWdodDsKPiArCXVuc2lnbmVkIGludCBpOwoK VGhlIG92ZXJmbG93IGNoZWNrcyBvbiBjcnRjX3cveC9oL3kgZnJvbSBkcm1fbW9kZV9zZXRwbGFu ZSBzZWVtIHRvIGJlCm1pc3NpbmcgaGVyZS4gSSB0aGluayB3ZSBzaG91bGQgYWRkIHRoZW0gdG8g dGhlIGF0b21pYyBwYXRocywgdG9vLgoKPiArCj4gKwkvKiBlaXRoZXIgKmJvdGgqIENSVEMgYW5k IEZCIG11c3QgYmUgc2V0LCBvciBuZWl0aGVyICovCj4gKwlpZiAoV0FSTl9PTihzdGF0ZS0+Y3J0 YyAmJiAhc3RhdGUtPmZiKSkgewo+ICsJCURSTV9ERUJVR19LTVMoIkNSVEMgc2V0IGJ1dCBubyBG QlxuIik7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9IGVsc2UgaWYgKFdBUk5fT04oc3RhdGUt PmZiICYmICFzdGF0ZS0+Y3J0YykpIHsKPiArCQlEUk1fREVCVUdfS01TKCJGQiBzZXQgYnV0IG5v IENSVENcbiIpOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICsKPiArCS8qIGlmIGRpc2Fi bGVkLCB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSByZXN0IG9mIHRoZSBzdGF0ZTogKi8KPiArCWlm ICghc3RhdGUtPmNydGMpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJLyogQ2hlY2sgd2hldGhlciB0 aGlzIHBsYW5lIGlzIHVzYWJsZSBvbiB0aGlzIENSVEMgKi8KPiArCWlmICghKHBsYW5lLT5wb3Nz aWJsZV9jcnRjcyAmIGRybV9jcnRjX21hc2soc3RhdGUtPmNydGMpKSkgewo+ICsJCURSTV9ERUJV R19LTVMoIkludmFsaWQgY3J0YyBmb3IgcGxhbmVcbiIpOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+ ICsJfQo+ICsKPiArCS8qIENoZWNrIHdoZXRoZXIgdGhpcyBwbGFuZSBzdXBwb3J0cyB0aGUgZmIg cGl4ZWwgZm9ybWF0LiAqLwo+ICsJZm9yIChpID0gMDsgaSA8IHBsYW5lLT5mb3JtYXRfY291bnQ7 IGkrKykKPiArCQlpZiAoc3RhdGUtPmZiLT5waXhlbF9mb3JtYXQgPT0gcGxhbmUtPmZvcm1hdF90 eXBlc1tpXSkKPiArCQkJYnJlYWs7Cj4gKwlpZiAoaSA9PSBwbGFuZS0+Zm9ybWF0X2NvdW50KSB7 Cj4gKwkJRFJNX0RFQlVHX0tNUygiSW52YWxpZCBwaXhlbCBmb3JtYXQgJXNcbiIsCj4gKwkJCSAg ICAgIGRybV9nZXRfZm9ybWF0X25hbWUoc3RhdGUtPmZiLT5waXhlbF9mb3JtYXQpKTsKPiArCQly ZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwlmYl93aWR0aCA9IHN0YXRlLT5mYi0+d2lkdGgg PDwgMTY7Cj4gKwlmYl9oZWlnaHQgPSBzdGF0ZS0+ZmItPmhlaWdodCA8PCAxNjsKPiArCj4gKwkv KiBNYWtlIHN1cmUgc291cmNlIGNvb3JkaW5hdGVzIGFyZSBpbnNpZGUgdGhlIGZiLiAqLwo+ICsJ aWYgKHN0YXRlLT5zcmNfdyA+IGZiX3dpZHRoIHx8Cj4gKwkgICAgc3RhdGUtPnNyY194ID4gZmJf d2lkdGggLSBzdGF0ZS0+c3JjX3cgfHwKPiArCSAgICBzdGF0ZS0+c3JjX2ggPiBmYl9oZWlnaHQg fHwKPiArCSAgICBzdGF0ZS0+c3JjX3kgPiBmYl9oZWlnaHQgLSBzdGF0ZS0+c3JjX2gpIHsKPiAr CQlEUk1fREVCVUdfS01TKCJJbnZhbGlkIHNvdXJjZSBjb29yZGluYXRlcyAiCj4gKwkJCSAgICAg ICIldS4lMDZ1eCV1LiUwNnUrJXUuJTA2dSsldS4lMDZ1XG4iLAo+ICsJCQkgICAgICBzdGF0ZS0+ c3JjX3cgPj4gMTYsICgoc3RhdGUtPnNyY193ICYgMHhmZmZmKSAqIDE1NjI1KSA+PiAxMCwKPiAr CQkJICAgICAgc3RhdGUtPnNyY19oID4+IDE2LCAoKHN0YXRlLT5zcmNfaCAmIDB4ZmZmZikgKiAx NTYyNSkgPj4gMTAsCj4gKwkJCSAgICAgIHN0YXRlLT5zcmNfeCA+PiAxNiwgKChzdGF0ZS0+c3Jj X3ggJiAweGZmZmYpICogMTU2MjUpID4+IDEwLAo+ICsJCQkgICAgICBzdGF0ZS0+c3JjX3kgPj4g MTYsICgoc3RhdGUtPnNyY195ICYgMHhmZmZmKSAqIDE1NjI1KSA+PiAxMCk7Cj4gKwkJcmV0dXJu IC1FTk9TUEM7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChk cm1fYXRvbWljX3BsYW5lX2NoZWNrKTsKPiArCj4gKy8qKgo+ICAgKiBkcm1fYXRvbWljX2dldF9j b25uZWN0b3Jfc3RhdGUgLSBnZXQgY29ubmVjdG9yIHN0YXRlCj4gICAqIEBzdGF0ZTogZ2xvYmFs IGF0b21pYyBzdGF0ZSBvYmplY3QKPiAgICogQGNvbm5lY3RvcjogY29ubmVjdG9yIHRvIGdldCBz dGF0ZSBvYmplY3QgZm9yCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBpbmRleCAx YTFhYjM0Li41NWI2OTgxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj X2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBA QCAtNDA3LDYgKzQwNywzNyBAQCBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gIAlyZXR1cm4gbW9kZV9maXh1cChzdGF0ZSk7Cj4gIH0KPiAg Cj4gK3N0YXRpYyBpbnQgcGxhbmVfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVj dCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX3BsYW5lX2hlbHBl cl9mdW5jcyAqZnVuY3MgPSBwbGFuZS0+aGVscGVyX3ByaXZhdGU7Cj4gKwlpbnQgcmV0Owo+ICsK PiArCXJldCA9IGRybV9hdG9taWNfcGxhbmVfY2hlY2socGxhbmUsIHN0YXRlKTsKPiArCWlmIChy ZXQpCj4gKwkJcmV0dXJuIHJldDsKPiArCj4gKwo+ICsJaWYgKGZ1bmNzICYmIGZ1bmNzLT5hdG9t aWNfY2hlY2spCj4gKwkJcmV0ID0gZnVuY3MtPmF0b21pY19jaGVjayhwbGFuZSwgc3RhdGUpOwo+ ICsKPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgY3J0Y19jaGVjayhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCj4gK3sKPiAr CXN0cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgKmZ1bmNzID0gY3J0Yy0+aGVscGVyX3ByaXZh dGU7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCXJldCA9IGRybV9hdG9taWNfY3J0Y19jaGVjayhjcnRj LCBzdGF0ZSk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJaWYgKGZ1bmNz ICYmIGZ1bmNzLT5hdG9taWNfY2hlY2spCj4gKwkJcmV0ID0gZnVuY3MtPmF0b21pY19jaGVjayhj cnRjLCBzdGF0ZSk7Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ICsKPiAgLyoqCj4gICAqIGRy bV9hdG9taWNfaGVscGVyX2NoZWNrIC0gdmFsaWRhdGUgc3RhdGUgb2JqZWN0Cj4gICAqIEBkZXY6 IERSTSBkZXZpY2UKPiBAQCAtNDI5LDIxICs0NjAsMTUgQEAgaW50IGRybV9hdG9taWNfaGVscGVy X2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlpbnQgaSwgcmV0ID0gMDsKPiAgCj4g IAlmb3IgKGkgPSAwOyBpIDwgbnBsYW5lczsgaSsrKSB7Cj4gLQkJc3RydWN0IGRybV9wbGFuZV9o ZWxwZXJfZnVuY3MgKmZ1bmNzOwo+ICAJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gc3RhdGUt PnBsYW5lc1tpXTsKPiAgCQlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9IHN0 YXRlLT5wbGFuZV9zdGF0ZXNbaV07Cj4gIAo+ICAJCWlmICghcGxhbmUpCj4gIAkJCWNvbnRpbnVl Owo+ICAKPiAtCQlmdW5jcyA9IHBsYW5lLT5oZWxwZXJfcHJpdmF0ZTsKPiAtCj4gIAkJZHJtX2F0 b21pY19oZWxwZXJfcGxhbmVfY2hhbmdlZChzdGF0ZSwgcGxhbmVfc3RhdGUsIHBsYW5lKTsKPiAg Cj4gLQkJaWYgKCFmdW5jcyB8fCAhZnVuY3MtPmF0b21pY19jaGVjaykKPiAtCQkJY29udGludWU7 Cj4gLQo+IC0JCXJldCA9IGZ1bmNzLT5hdG9taWNfY2hlY2socGxhbmUsIHBsYW5lX3N0YXRlKTsK PiArCQlyZXQgPSBwbGFuZV9jaGVjayhwbGFuZSwgcGxhbmVfc3RhdGUpOwo+ICAJCWlmIChyZXQp IHsKPiAgCQkJRFJNX0RFQlVHX0tNUygiW1BMQU5FOiVkXSBhdG9taWMgY2hlY2sgZmFpbGVkXG4i LAo+ICAJCQkJICAgICAgcGxhbmUtPmJhc2UuaWQpOwo+IEBAIC00NTIsMTggKzQ3NywxMiBAQCBp bnQgZHJtX2F0b21pY19oZWxwZXJfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCX0K PiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgbmNydGNzOyBpKyspIHsKPiAtCQlzdHJ1Y3QgZHJtX2Ny dGNfaGVscGVyX2Z1bmNzICpmdW5jczsKPiAgCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBzdGF0 ZS0+Y3J0Y3NbaV07Cj4gIAo+ICAJCWlmICghY3J0YykKPiAgCQkJY29udGludWU7Cj4gIAo+IC0J CWZ1bmNzID0gY3J0Yy0+aGVscGVyX3ByaXZhdGU7Cj4gLQo+IC0JCWlmICghZnVuY3MgfHwgIWZ1 bmNzLT5hdG9taWNfY2hlY2spCj4gLQkJCWNvbnRpbnVlOwo+IC0KPiAtCQlyZXQgPSBmdW5jcy0+ YXRvbWljX2NoZWNrKGNydGMsIHN0YXRlLT5jcnRjX3N0YXRlc1tpXSk7Cj4gKwkJcmV0ID0gY3J0 Y19jaGVjayhjcnRjLCBzdGF0ZS0+Y3J0Y19zdGF0ZXNbaV0pOwoKSW1vIHRoaXMgc2hvdWxkIGJl IG1vdmVkIGludG8gZHJtX2F0b21pY19jaGVja19vbmx5IHNpbmNlIGNvcmUgY2hlY2tzCnNob3Vs ZG4ndCBiZSBhbGxvd2VkIHRvIGJlIG92ZXJ3cml0dGVuLiBXZSBjb3VsZCB0aGVuIGFsc28gZHJv cCB0aGUKRVhQT1JUX1NZTUJPTCBmb3IgdGhlIHR3byBmdW5jdGlvbnMgYWRkZWQgdG8gZHJtX2F0 b21pYy5jCgpUaGF0IG1lYW5zIGEgYml0IG9mIGNvcHlwYXN0YSwgYnV0IHRoYXQganVzdCBzZWVt cyB1bmF2b2lkYWJsZSB3aXRoIG91cgptdWx0aXBsZSBwYXRocyBhbGwgYXJvdW5kLiBBbmQgaXQn cyBqdXN0IGNvcHlpbmcgb2YgdGhlIGxvb3BzIGhlcmUuCgpJIHRoaW5rIEkgYWxzbyBuZWVkIHRv IG1vdmUgc29tZSBvZiB0aGUgY29ubmVjdG9yIHNhbml0eSBjaGVja3MKZXZlbnR1YWxseSBmcm9t IGhlbHBlcnMgdG8gY29yZS4gQnV0IHRoYXQgY2FuIGJlIHJldmlld2VkIG9uY2UgaTkxNSBjb21l cwphcm91bmQuCgo+ICAJCWlmIChyZXQpIHsKPiAgCQkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWRd IGF0b21pYyBjaGVjayBmYWlsZWRcbiIsCj4gIAkJCQkgICAgICBjcnRjLT5iYXNlLmlkKTsKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pYy5oIGIvaW5jbHVkZS9kcm0vZHJtX2F0 b21pYy5oCj4gaW5kZXggYjM0MjI0YS4uNzQyZDAyNyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fYXRvbWljLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljLmgKPiBAQCAtNDQs NiArNDQsOCBAQCBpbnQgZHJtX2F0b21pY19jcnRjX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gIGludCBkcm1fYXRvbWljX2NydGNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAgCQljb25zdCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlLAo+ICAJ CXN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LCB1aW50NjRfdCAqdmFsKTsKPiAraW50IGRy bV9hdG9taWNfY3J0Y19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJc3RydWN0IGRy bV9jcnRjX3N0YXRlICpzdGF0ZSk7Cj4gIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKiBfX211c3Rf Y2hlY2sKPiAgZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlLAo+ICAJCQkgICBzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gQEAgLTUzLDYg KzU1LDggQEAgaW50IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLAo+ICBpbnQgZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkoc3RydWN0IGRy bV9wbGFuZSAqcGxhbmUsCj4gIAkJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUs Cj4gIAkJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2YWwpOwo+ICtp bnQgZHJtX2F0b21pY19wbGFuZV9jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiArCQlz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSk7Cj4gIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0 YXRlICogX19tdXN0X2NoZWNrCj4gIGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKTsKPiAtLSAKPiAyLjEuMAo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29m dHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCis0MSAoMCkgNzkgMzY1IDU3IDQ4IC0g aHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK