From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH] drm: Fix up drm_atomic_state_helper.[hc] extraction Date: Thu, 29 Nov 2018 10:36:13 -0500 Message-ID: References: <20181128100728.4674-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181128100728.4674-1-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , dri-devel List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBOb3YgMjgsIDIwMTggYXQgNTowNyBBTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPiB3cm90ZToKPgo+IEkndmUgbWlzcGxhY2VkIHR3byBmdW5jdGlvbnMgYnkg YWNjaWRlbnQ6Cj4gLSBkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUgaXMgcmVhbGx5 IHBhcnQgb2YgdGhlCj4gICByZXN1bWUvc3VzcGVuZC9zaHV0ZG93biBkZXZpY2Utd2lkZSBoZWxw ZXJzLgo+IC0gZHJtX2F0b21pY19oZWxwZXJfbGVnYWN5X2dhbW1hX3NldCBpcyBwYXJ0IG9mIHRo ZSBsZWdhY3kgaW9jdGwKPiAgIGNvbXBhdCBoZWxwZXJzLgo+Cj4gTW92ZSB0aGVtIGJvdGggYmFj ay4KPgo+IEZpeGVzOiA5ZWY4YTlkYzRiMjEgKCJkcm06IEV4dHJhY3QgZHJtX2F0b21pY19zdGF0 ZV9oZWxwZXIuW2hjXSIpCj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRl ckBpbnRlbC5jb20+CgpSZXZpZXdlZC1ieTogU2VhbiBQYXVsIDxzZWFuQHBvb3JseS5ydW4+Cgo+ IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyAgICAgICB8IDE1NyAr KysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRl X2hlbHBlci5jIHwgMTU3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJt X2F0b21pY19oZWxwZXIuaCAgICAgICAgICAgfCAgIDcgKwo+ICBpbmNsdWRlL2RybS9kcm1fYXRv bWljX3N0YXRlX2hlbHBlci5oICAgICB8ICAgNyAtCj4gIDQgZmlsZXMgY2hhbmdlZCwgMTY0IGlu c2VydGlvbnMoKyksIDE2NCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hl bHBlci5jCj4gaW5kZXggOWIyMjc3NGE5ODY3Li5kZTdkODcyZjlmMWEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IEBAIC0zMTM1LDYgKzMxMzUsOTMgQEAgdm9pZCBkcm1f YXRvbWljX2hlbHBlcl9zaHV0ZG93bihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICB9Cj4gIEVY UE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfc2h1dGRvd24pOwo+Cj4gKy8qKgo+ICsgKiBk cm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUgLSBkdXBsaWNhdGUgYW4gYXRvbWljIHN0 YXRlIG9iamVjdAo+ICsgKiBAZGV2OiBEUk0gZGV2aWNlCj4gKyAqIEBjdHg6IGxvY2sgYWNxdWlz aXRpb24gY29udGV4dAo+ICsgKgo+ICsgKiBNYWtlcyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgYXRv bWljIHN0YXRlIGJ5IGxvb3Bpbmcgb3ZlciBhbGwgb2JqZWN0cyBhbmQKPiArICogZHVwbGljYXRp bmcgdGhlaXIgcmVzcGVjdGl2ZSBzdGF0ZXMuIFRoaXMgaXMgdXNlZCBmb3IgZXhhbXBsZSBieSBz dXNwZW5kLwo+ICsgKiByZXN1bWUgc3VwcG9ydCBjb2RlIHRvIHNhdmUgdGhlIHN0YXRlIHByaW9y IHRvIHN1c3BlbmQgc3VjaCB0aGF0IGl0IGNhbgo+ICsgKiBiZSByZXN0b3JlZCB1cG9uIHJlc3Vt ZS4KPiArICoKPiArICogTm90ZSB0aGF0IHRoaXMgdHJlYXRzIGF0b21pYyBzdGF0ZSBhcyBwZXJz aXN0ZW50IGJldHdlZW4gc2F2ZSBhbmQgcmVzdG9yZS4KPiArICogRHJpdmVycyBtdXN0IG1ha2Ug c3VyZSB0aGF0IHRoaXMgaXMgcG9zc2libGUgYW5kIHdvbid0IHJlc3VsdCBpbiBjb25mdXNpb24K PiArICogb3IgZXJyb25lb3VzIGJlaGF2aW91ci4KPiArICoKPiArICogTm90ZSB0aGF0IGlmIGNh bGxlcnMgaGF2ZW4ndCBhbHJlYWR5IGFjcXVpcmVkIGFsbCBtb2Rlc2V0IGxvY2tzIHRoaXMgbWln aHQKPiArICogcmV0dXJuIC1FREVBRExLLCB3aGljaCBtdXN0IGJlIGhhbmRsZWQgYnkgY2FsbGlu ZyBkcm1fbW9kZXNldF9iYWNrb2ZmKCkuCj4gKyAqCj4gKyAqIFJldHVybnM6Cj4gKyAqIEEgcG9p bnRlciB0byB0aGUgY29weSBvZiB0aGUgYXRvbWljIHN0YXRlIG9iamVjdCBvbiBzdWNjZXNzIG9y IGFuCj4gKyAqIEVSUl9QVFIoKS1lbmNvZGVkIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KPiArICoK PiArICogU2VlIGFsc286Cj4gKyAqIGRybV9hdG9taWNfaGVscGVyX3N1c3BlbmQoKSwgZHJtX2F0 b21pY19oZWxwZXJfcmVzdW1lKCkKPiArICovCj4gK3N0cnVjdCBkcm1fYXRvbWljX3N0YXRlICoK PiArZHJtX2F0b21pY19oZWxwZXJfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fbW9kZXNl dF9hY3F1aXJlX2N0eCAqY3R4KQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGU7Cj4gKyAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubjsKPiArICAgICAg IHN0cnVjdCBkcm1fY29ubmVjdG9yX2xpc3RfaXRlciBjb25uX2l0ZXI7Cj4gKyAgICAgICBzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiArICAgICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiAr ICAgICAgIGludCBlcnIgPSAwOwo+ICsKPiArICAgICAgIHN0YXRlID0gZHJtX2F0b21pY19zdGF0 ZV9hbGxvYyhkZXYpOwo+ICsgICAgICAgaWYgKCFzdGF0ZSkKPiArICAgICAgICAgICAgICAgcmV0 dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gKwo+ICsgICAgICAgc3RhdGUtPmFjcXVpcmVfY3R4ID0g Y3R4Owo+ICsKPiArICAgICAgIGRybV9mb3JfZWFjaF9jcnRjKGNydGMsIGRldikgewo+ICsgICAg ICAgICAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7Cj4gKwo+ICsgICAg ICAgICAgICAgICBjcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwg Y3J0Yyk7Cj4gKyAgICAgICAgICAgICAgIGlmIChJU19FUlIoY3J0Y19zdGF0ZSkpIHsKPiArICAg ICAgICAgICAgICAgICAgICAgICBlcnIgPSBQVFJfRVJSKGNydGNfc3RhdGUpOwo+ICsgICAgICAg ICAgICAgICAgICAgICAgIGdvdG8gZnJlZTsKPiArICAgICAgICAgICAgICAgfQo+ICsgICAgICAg fQo+ICsKPiArICAgICAgIGRybV9mb3JfZWFjaF9wbGFuZShwbGFuZSwgZGV2KSB7Cj4gKyAgICAg ICAgICAgICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+ICsKPiArICAg ICAgICAgICAgICAgcGxhbmVfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wbGFuZV9zdGF0ZShzdGF0 ZSwgcGxhbmUpOwo+ICsgICAgICAgICAgICAgICBpZiAoSVNfRVJSKHBsYW5lX3N0YXRlKSkgewo+ ICsgICAgICAgICAgICAgICAgICAgICAgIGVyciA9IFBUUl9FUlIocGxhbmVfc3RhdGUpOwo+ICsg ICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZnJlZTsKPiArICAgICAgICAgICAgICAgfQo+ICsg ICAgICAgfQo+ICsKPiArICAgICAgIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2JlZ2luKGRldiwg JmNvbm5faXRlcik7Cj4gKyAgICAgICBkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubiwg JmNvbm5faXRlcikgewo+ICsgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubl9zdGF0ZTsKPiArCj4gKyAgICAgICAgICAgICAgIGNvbm5fc3RhdGUgPSBkcm1fYXRv bWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm4pOwo+ICsgICAgICAgICAgICAgICBp ZiAoSVNfRVJSKGNvbm5fc3RhdGUpKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZXJyID0g UFRSX0VSUihjb25uX3N0YXRlKTsKPiArICAgICAgICAgICAgICAgICAgICAgICBkcm1fY29ubmVj dG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAg Z290byBmcmVlOwo+ICsgICAgICAgICAgICAgICB9Cj4gKyAgICAgICB9Cj4gKyAgICAgICBkcm1f Y29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7Cj4gKwo+ICsgICAgICAgLyogY2xl YXIgdGhlIGFjcXVpcmUgY29udGV4dCBzbyB0aGF0IGl0IGlzbid0IGFjY2lkZW50YWxseSByZXVz ZWQgKi8KPiArICAgICAgIHN0YXRlLT5hY3F1aXJlX2N0eCA9IE5VTEw7Cj4gKwo+ICtmcmVlOgo+ ICsgICAgICAgaWYgKGVyciA8IDApIHsKPiArICAgICAgICAgICAgICAgZHJtX2F0b21pY19zdGF0 ZV9wdXQoc3RhdGUpOwo+ICsgICAgICAgICAgICAgICBzdGF0ZSA9IEVSUl9QVFIoZXJyKTsKPiAr ICAgICAgIH0KPiArCj4gKyAgICAgICByZXR1cm4gc3RhdGU7Cj4gK30KPiArRVhQT1JUX1NZTUJP TChkcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUpOwo+ICsKPiAgLyoqCj4gICAqIGRy bV9hdG9taWNfaGVscGVyX3N1c3BlbmQgLSBzdWJzeXN0ZW0tbGV2ZWwgc3VzcGVuZCBoZWxwZXIK PiAgICogQGRldjogRFJNIGRldmljZQo+IEBAIC0zNDE4LDMgKzM1MDUsNzMgQEAgaW50IGRybV9h dG9taWNfaGVscGVyX3BhZ2VfZmxpcF90YXJnZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAg ICAgICAgcmV0dXJuIHJldDsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVy X3BhZ2VfZmxpcF90YXJnZXQpOwo+ICsKPiArLyoqCj4gKyAqIGRybV9hdG9taWNfaGVscGVyX2xl Z2FjeV9nYW1tYV9zZXQgLSBzZXQgdGhlIGxlZ2FjeSBnYW1tYSBjb3JyZWN0aW9uIHRhYmxlCj4g KyAqIEBjcnRjOiBDUlRDIG9iamVjdAo+ICsgKiBAcmVkOiByZWQgY29ycmVjdGlvbiB0YWJsZQo+ ICsgKiBAZ3JlZW46IGdyZWVuIGNvcnJlY3Rpb24gdGFibGUKPiArICogQGJsdWU6IGdyZWVuIGNv cnJlY3Rpb24gdGFibGUKPiArICogQHNpemU6IHNpemUgb2YgdGhlIHRhYmxlcwo+ICsgKiBAY3R4 OiBsb2NrIGFjcXVpcmUgY29udGV4dAo+ICsgKgo+ICsgKiBJbXBsZW1lbnRzIHN1cHBvcnQgZm9y IGxlZ2FjeSBnYW1tYSBjb3JyZWN0aW9uIHRhYmxlIGZvciBkcml2ZXJzCj4gKyAqIHRoYXQgc3Vw cG9ydCBjb2xvciBtYW5hZ2VtZW50IHRocm91Z2ggdGhlIERFR0FNTUFfTFVUL0dBTU1BX0xVVAo+ ICsgKiBwcm9wZXJ0aWVzLiBTZWUgZHJtX2NydGNfZW5hYmxlX2NvbG9yX21nbXQoKSBhbmQgdGhl IGNvbnRhaW5pbmcgY2hhcHRlciBmb3IKPiArICogaG93IHRoZSBhdG9taWMgY29sb3IgbWFuYWdl bWVudCBhbmQgZ2FtbWEgdGFibGVzIHdvcmsuCj4gKyAqLwo+ICtpbnQgZHJtX2F0b21pY19oZWxw ZXJfbGVnYWN5X2dhbW1hX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdTE2ICpyZWQsIHUxNiAqZ3JlZW4sIHUxNiAqYmx1 ZSwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBzaXpl LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fbW9k ZXNldF9hY3F1aXJlX2N0eCAqY3R4KQo+ICt7Cj4gKyAgICAgICBzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gY3J0Yy0+ZGV2Owo+ICsgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl Owo+ICsgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ICsgICAgICAg c3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iID0gTlVMTDsKPiArICAgICAgIHN0cnVjdCBk cm1fY29sb3JfbHV0ICpibG9iX2RhdGE7Cj4gKyAgICAgICBpbnQgaSwgcmV0ID0gMDsKPiArICAg ICAgIGJvb2wgcmVwbGFjZWQ7Cj4gKwo+ICsgICAgICAgc3RhdGUgPSBkcm1fYXRvbWljX3N0YXRl X2FsbG9jKGNydGMtPmRldik7Cj4gKyAgICAgICBpZiAoIXN0YXRlKQo+ICsgICAgICAgICAgICAg ICByZXR1cm4gLUVOT01FTTsKPiArCj4gKyAgICAgICBibG9iID0gZHJtX3Byb3BlcnR5X2NyZWF0 ZV9ibG9iKGRldiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6 ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqIHNpemUsCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5VTEwpOwo+ICsgICAgICAgaWYgKElTX0VSUihibG9iKSkgewo+ ICsgICAgICAgICAgICAgICByZXQgPSBQVFJfRVJSKGJsb2IpOwo+ICsgICAgICAgICAgICAgICBi bG9iID0gTlVMTDsKPiArICAgICAgICAgICAgICAgZ290byBmYWlsOwo+ICsgICAgICAgfQo+ICsK PiArICAgICAgIC8qIFByZXBhcmUgR0FNTUFfTFVUIHdpdGggdGhlIGxlZ2FjeSB2YWx1ZXMuICov Cj4gKyAgICAgICBibG9iX2RhdGEgPSBibG9iLT5kYXRhOwo+ICsgICAgICAgZm9yIChpID0gMDsg aSA8IHNpemU7IGkrKykgewo+ICsgICAgICAgICAgICAgICBibG9iX2RhdGFbaV0ucmVkID0gcmVk W2ldOwo+ICsgICAgICAgICAgICAgICBibG9iX2RhdGFbaV0uZ3JlZW4gPSBncmVlbltpXTsKPiAr ICAgICAgICAgICAgICAgYmxvYl9kYXRhW2ldLmJsdWUgPSBibHVlW2ldOwo+ICsgICAgICAgfQo+ ICsKPiArICAgICAgIHN0YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKPiArICAgICAgIGNydGNfc3Rh dGUgPSBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiArICAgICAgIGlm IChJU19FUlIoY3J0Y19zdGF0ZSkpIHsKPiArICAgICAgICAgICAgICAgcmV0ID0gUFRSX0VSUihj cnRjX3N0YXRlKTsKPiArICAgICAgICAgICAgICAgZ290byBmYWlsOwo+ICsgICAgICAgfQo+ICsK PiArICAgICAgIC8qIFJlc2V0IERFR0FNTUFfTFVUIGFuZCBDVE0gcHJvcGVydGllcy4gKi8KPiAr ICAgICAgIHJlcGxhY2VkICA9IGRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUt PmRlZ2FtbWFfbHV0LCBOVUxMKTsKPiArICAgICAgIHJlcGxhY2VkIHw9IGRybV9wcm9wZXJ0eV9y ZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUtPmN0bSwgTlVMTCk7Cj4gKyAgICAgICByZXBsYWNlZCB8 PSBkcm1fcHJvcGVydHlfcmVwbGFjZV9ibG9iKCZjcnRjX3N0YXRlLT5nYW1tYV9sdXQsIGJsb2Ip Owo+ICsgICAgICAgY3J0Y19zdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkIHw9IHJlcGxhY2VkOwo+ ICsKPiArICAgICAgIHJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKPiArCj4gK2ZhaWw6 Cj4gKyAgICAgICBkcm1fYXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7Cj4gKyAgICAgICBkcm1fcHJv cGVydHlfYmxvYl9wdXQoYmxvYik7Cj4gKyAgICAgICByZXR1cm4gcmV0Owo+ICt9Cj4gK0VYUE9S VF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfbGVnYWN5X2dhbW1hX3NldCk7Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmMKPiBpbmRleCAzYmE5OTYwNjlkNjkuLjYw YmQ3ZDcwOGUzNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19zdGF0 ZV9oZWxwZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBl ci5jCj4gQEAgLTM5Myw5MyArMzkzLDYgQEAgZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1 cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB9Cj4gIEVY UE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZSk7 Cj4KPiAtLyoqCj4gLSAqIGRybV9hdG9taWNfaGVscGVyX2R1cGxpY2F0ZV9zdGF0ZSAtIGR1cGxp Y2F0ZSBhbiBhdG9taWMgc3RhdGUgb2JqZWN0Cj4gLSAqIEBkZXY6IERSTSBkZXZpY2UKPiAtICog QGN0eDogbG9jayBhY3F1aXNpdGlvbiBjb250ZXh0Cj4gLSAqCj4gLSAqIE1ha2VzIGEgY29weSBv ZiB0aGUgY3VycmVudCBhdG9taWMgc3RhdGUgYnkgbG9vcGluZyBvdmVyIGFsbCBvYmplY3RzIGFu ZAo+IC0gKiBkdXBsaWNhdGluZyB0aGVpciByZXNwZWN0aXZlIHN0YXRlcy4gVGhpcyBpcyB1c2Vk IGZvciBleGFtcGxlIGJ5IHN1c3BlbmQvCj4gLSAqIHJlc3VtZSBzdXBwb3J0IGNvZGUgdG8gc2F2 ZSB0aGUgc3RhdGUgcHJpb3IgdG8gc3VzcGVuZCBzdWNoIHRoYXQgaXQgY2FuCj4gLSAqIGJlIHJl c3RvcmVkIHVwb24gcmVzdW1lLgo+IC0gKgo+IC0gKiBOb3RlIHRoYXQgdGhpcyB0cmVhdHMgYXRv bWljIHN0YXRlIGFzIHBlcnNpc3RlbnQgYmV0d2VlbiBzYXZlIGFuZCByZXN0b3JlLgo+IC0gKiBE cml2ZXJzIG11c3QgbWFrZSBzdXJlIHRoYXQgdGhpcyBpcyBwb3NzaWJsZSBhbmQgd29uJ3QgcmVz dWx0IGluIGNvbmZ1c2lvbgo+IC0gKiBvciBlcnJvbmVvdXMgYmVoYXZpb3VyLgo+IC0gKgo+IC0g KiBOb3RlIHRoYXQgaWYgY2FsbGVycyBoYXZlbid0IGFscmVhZHkgYWNxdWlyZWQgYWxsIG1vZGVz ZXQgbG9ja3MgdGhpcyBtaWdodAo+IC0gKiByZXR1cm4gLUVERUFETEssIHdoaWNoIG11c3QgYmUg aGFuZGxlZCBieSBjYWxsaW5nIGRybV9tb2Rlc2V0X2JhY2tvZmYoKS4KPiAtICoKPiAtICogUmV0 dXJuczoKPiAtICogQSBwb2ludGVyIHRvIHRoZSBjb3B5IG9mIHRoZSBhdG9taWMgc3RhdGUgb2Jq ZWN0IG9uIHN1Y2Nlc3Mgb3IgYW4KPiAtICogRVJSX1BUUigpLWVuY29kZWQgZXJyb3IgY29kZSBv biBmYWlsdXJlLgo+IC0gKgo+IC0gKiBTZWUgYWxzbzoKPiAtICogZHJtX2F0b21pY19oZWxwZXJf c3VzcGVuZCgpLCBkcm1fYXRvbWljX2hlbHBlcl9yZXN1bWUoKQo+IC0gKi8KPiAtc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKgo+IC1kcm1fYXRvbWljX2hlbHBlcl9kdXBsaWNhdGVfc3RhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpCj4gLXsKPiAtICAgICAgIHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiAtICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uOwo+IC0gICAgICAgc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5faXRl cjsKPiAtICAgICAgIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwo+IC0gICAgICAgc3RydWN0IGRy bV9jcnRjICpjcnRjOwo+IC0gICAgICAgaW50IGVyciA9IDA7Cj4gLQo+IC0gICAgICAgc3RhdGUg PSBkcm1fYXRvbWljX3N0YXRlX2FsbG9jKGRldik7Cj4gLSAgICAgICBpZiAoIXN0YXRlKQo+IC0g ICAgICAgICAgICAgICByZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKPiAtCj4gLSAgICAgICBzdGF0 ZS0+YWNxdWlyZV9jdHggPSBjdHg7Cj4gLQo+IC0gICAgICAgZHJtX2Zvcl9lYWNoX2NydGMoY3J0 YywgZGV2KSB7Cj4gLSAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZTsKPiAtCj4gLSAgICAgICAgICAgICAgIGNydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9j cnRjX3N0YXRlKHN0YXRlLCBjcnRjKTsKPiAtICAgICAgICAgICAgICAgaWYgKElTX0VSUihjcnRj X3N0YXRlKSkgewo+IC0gICAgICAgICAgICAgICAgICAgICAgIGVyciA9IFBUUl9FUlIoY3J0Y19z dGF0ZSk7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgZ290byBmcmVlOwo+IC0gICAgICAgICAg ICAgICB9Cj4gLSAgICAgICB9Cj4gLQo+IC0gICAgICAgZHJtX2Zvcl9lYWNoX3BsYW5lKHBsYW5l LCBkZXYpIHsKPiAtICAgICAgICAgICAgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcGxhbmVf c3RhdGU7Cj4gLQo+IC0gICAgICAgICAgICAgICBwbGFuZV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0 X3BsYW5lX3N0YXRlKHN0YXRlLCBwbGFuZSk7Cj4gLSAgICAgICAgICAgICAgIGlmIChJU19FUlIo cGxhbmVfc3RhdGUpKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gUFRSX0VSUihw bGFuZV9zdGF0ZSk7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgZ290byBmcmVlOwo+IC0gICAg ICAgICAgICAgICB9Cj4gLSAgICAgICB9Cj4gLQo+IC0gICAgICAgZHJtX2Nvbm5lY3Rvcl9saXN0 X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVyKTsKPiAtICAgICAgIGRybV9mb3JfZWFjaF9jb25u ZWN0b3JfaXRlcihjb25uLCAmY29ubl9pdGVyKSB7Cj4gLSAgICAgICAgICAgICAgIHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlOwo+IC0KPiAtICAgICAgICAgICAgICAgY29u bl9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubik7Cj4g LSAgICAgICAgICAgICAgIGlmIChJU19FUlIoY29ubl9zdGF0ZSkpIHsKPiAtICAgICAgICAgICAg ICAgICAgICAgICBlcnIgPSBQVFJfRVJSKGNvbm5fc3RhdGUpOwo+IC0gICAgICAgICAgICAgICAg ICAgICAgIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKPiAtICAgICAg ICAgICAgICAgICAgICAgICBnb3RvIGZyZWU7Cj4gLSAgICAgICAgICAgICAgIH0KPiAtICAgICAg IH0KPiAtICAgICAgIGRybV9jb25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29ubl9pdGVyKTsKPiAt Cj4gLSAgICAgICAvKiBjbGVhciB0aGUgYWNxdWlyZSBjb250ZXh0IHNvIHRoYXQgaXQgaXNuJ3Qg YWNjaWRlbnRhbGx5IHJldXNlZCAqLwo+IC0gICAgICAgc3RhdGUtPmFjcXVpcmVfY3R4ID0gTlVM TDsKPiAtCj4gLWZyZWU6Cj4gLSAgICAgICBpZiAoZXJyIDwgMCkgewo+IC0gICAgICAgICAgICAg ICBkcm1fYXRvbWljX3N0YXRlX3B1dChzdGF0ZSk7Cj4gLSAgICAgICAgICAgICAgIHN0YXRlID0g RVJSX1BUUihlcnIpOwo+IC0gICAgICAgfQo+IC0KPiAtICAgICAgIHJldHVybiBzdGF0ZTsKPiAt fQo+IC1FWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2R1cGxpY2F0ZV9zdGF0ZSk7Cj4g LQo+ICAvKioKPiAgICogX19kcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0 ZSAtIHJlbGVhc2UgY29ubmVjdG9yIHN0YXRlCj4gICAqIEBzdGF0ZTogY29ubmVjdG9yIHN0YXRl IG9iamVjdCB0byByZWxlYXNlCj4gQEAgLTUxNSw3NiArNDI4LDYgQEAgdm9pZCBkcm1fYXRvbWlj X2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9y X2Rlc3Ryb3lfc3RhdGUpOwo+Cj4gLS8qKgo+IC0gKiBkcm1fYXRvbWljX2hlbHBlcl9sZWdhY3lf Z2FtbWFfc2V0IC0gc2V0IHRoZSBsZWdhY3kgZ2FtbWEgY29ycmVjdGlvbiB0YWJsZQo+IC0gKiBA Y3J0YzogQ1JUQyBvYmplY3QKPiAtICogQHJlZDogcmVkIGNvcnJlY3Rpb24gdGFibGUKPiAtICog QGdyZWVuOiBncmVlbiBjb3JyZWN0aW9uIHRhYmxlCj4gLSAqIEBibHVlOiBncmVlbiBjb3JyZWN0 aW9uIHRhYmxlCj4gLSAqIEBzaXplOiBzaXplIG9mIHRoZSB0YWJsZXMKPiAtICogQGN0eDogbG9j ayBhY3F1aXJlIGNvbnRleHQKPiAtICoKPiAtICogSW1wbGVtZW50cyBzdXBwb3J0IGZvciBsZWdh Y3kgZ2FtbWEgY29ycmVjdGlvbiB0YWJsZSBmb3IgZHJpdmVycwo+IC0gKiB0aGF0IHN1cHBvcnQg Y29sb3IgbWFuYWdlbWVudCB0aHJvdWdoIHRoZSBERUdBTU1BX0xVVC9HQU1NQV9MVVQKPiAtICog cHJvcGVydGllcy4gU2VlIGRybV9jcnRjX2VuYWJsZV9jb2xvcl9tZ210KCkgYW5kIHRoZSBjb250 YWluaW5nIGNoYXB0ZXIgZm9yCj4gLSAqIGhvdyB0aGUgYXRvbWljIGNvbG9yIG1hbmFnZW1lbnQg YW5kIGdhbW1hIHRhYmxlcyB3b3JrLgo+IC0gKi8KPiAtaW50IGRybV9hdG9taWNfaGVscGVyX2xl Z2FjeV9nYW1tYV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHUxNiAqcmVkLCB1MTYgKmdyZWVuLCB1MTYgKmJsdWUsCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRf YWNxdWlyZV9jdHggKmN0eCkKPiAtewo+IC0gICAgICAgc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IGNydGMtPmRldjsKPiAtICAgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiAt ICAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiAtICAgICAgIHN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYiA9IE5VTEw7Cj4gLSAgICAgICBzdHJ1Y3QgZHJtX2Nv bG9yX2x1dCAqYmxvYl9kYXRhOwo+IC0gICAgICAgaW50IGksIHJldCA9IDA7Cj4gLSAgICAgICBi b29sIHJlcGxhY2VkOwo+IC0KPiAtICAgICAgIHN0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9hbGxv YyhjcnRjLT5kZXYpOwo+IC0gICAgICAgaWYgKCFzdGF0ZSkKPiAtICAgICAgICAgICAgICAgcmV0 dXJuIC1FTk9NRU07Cj4gLQo+IC0gICAgICAgYmxvYiA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfYmxv YihkZXYsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihz dHJ1Y3QgZHJtX2NvbG9yX2x1dCkgKiBzaXplLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMKTsKPiAtICAgICAgIGlmIChJU19FUlIoYmxvYikpIHsKPiAtICAg ICAgICAgICAgICAgcmV0ID0gUFRSX0VSUihibG9iKTsKPiAtICAgICAgICAgICAgICAgYmxvYiA9 IE5VTEw7Cj4gLSAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKPiAtICAgICAgIH0KPiAtCj4gLSAg ICAgICAvKiBQcmVwYXJlIEdBTU1BX0xVVCB3aXRoIHRoZSBsZWdhY3kgdmFsdWVzLiAqLwo+IC0g ICAgICAgYmxvYl9kYXRhID0gYmxvYi0+ZGF0YTsKPiAtICAgICAgIGZvciAoaSA9IDA7IGkgPCBz aXplOyBpKyspIHsKPiAtICAgICAgICAgICAgICAgYmxvYl9kYXRhW2ldLnJlZCA9IHJlZFtpXTsK PiAtICAgICAgICAgICAgICAgYmxvYl9kYXRhW2ldLmdyZWVuID0gZ3JlZW5baV07Cj4gLSAgICAg ICAgICAgICAgIGJsb2JfZGF0YVtpXS5ibHVlID0gYmx1ZVtpXTsKPiAtICAgICAgIH0KPiAtCj4g LSAgICAgICBzdGF0ZS0+YWNxdWlyZV9jdHggPSBjdHg7Cj4gLSAgICAgICBjcnRjX3N0YXRlID0g ZHJtX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwgY3J0Yyk7Cj4gLSAgICAgICBpZiAoSVNf RVJSKGNydGNfc3RhdGUpKSB7Cj4gLSAgICAgICAgICAgICAgIHJldCA9IFBUUl9FUlIoY3J0Y19z dGF0ZSk7Cj4gLSAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKPiAtICAgICAgIH0KPiAtCj4gLSAg ICAgICAvKiBSZXNldCBERUdBTU1BX0xVVCBhbmQgQ1RNIHByb3BlcnRpZXMuICovCj4gLSAgICAg ICByZXBsYWNlZCAgPSBkcm1fcHJvcGVydHlfcmVwbGFjZV9ibG9iKCZjcnRjX3N0YXRlLT5kZWdh bW1hX2x1dCwgTlVMTCk7Cj4gLSAgICAgICByZXBsYWNlZCB8PSBkcm1fcHJvcGVydHlfcmVwbGFj ZV9ibG9iKCZjcnRjX3N0YXRlLT5jdG0sIE5VTEwpOwo+IC0gICAgICAgcmVwbGFjZWQgfD0gZHJt X3Byb3BlcnR5X3JlcGxhY2VfYmxvYigmY3J0Y19zdGF0ZS0+Z2FtbWFfbHV0LCBibG9iKTsKPiAt ICAgICAgIGNydGNfc3RhdGUtPmNvbG9yX21nbXRfY2hhbmdlZCB8PSByZXBsYWNlZDsKPiAtCj4g LSAgICAgICByZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Cj4gLQo+IC1mYWlsOgo+IC0g ICAgICAgZHJtX2F0b21pY19zdGF0ZV9wdXQoc3RhdGUpOwo+IC0gICAgICAgZHJtX3Byb3BlcnR5 X2Jsb2JfcHV0KGJsb2IpOwo+IC0gICAgICAgcmV0dXJuIHJldDsKPiAtfQo+IC1FWFBPUlRfU1lN Qk9MKGRybV9hdG9taWNfaGVscGVyX2xlZ2FjeV9nYW1tYV9zZXQpOwo+IC0KPiAgLyoqCj4gICAq IF9fZHJtX2F0b21pY19oZWxwZXJfcHJpdmF0ZV9kdXBsaWNhdGVfc3RhdGUgLSBjb3B5IGF0b21p YyBwcml2YXRlIHN0YXRlCj4gICAqIEBvYmo6IENSVEMgb2JqZWN0Cj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fYXRvbWljX2hl bHBlci5oCj4gaW5kZXggMjVjYTAwOTc1NjNlLi41ODIxNGJlM2JmM2QgMTAwNjQ0Cj4gLS0tIGEv aW5jbHVkZS9kcm0vZHJtX2F0b21pY19oZWxwZXIuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9h dG9taWNfaGVscGVyLmgKPiBAQCAtMTI3LDYgKzEyNyw5IEBAIGludCBfX2RybV9hdG9taWNfaGVs cGVyX3NldF9jb25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0LAo+ICBpbnQgZHJtX2F0b21p Y19oZWxwZXJfZGlzYWJsZV9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpj dHgpOwo+ICB2b2lkIGRybV9hdG9taWNfaGVscGVyX3NodXRkb3duKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpOwo+ICtzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqCj4gK2RybV9hdG9taWNfaGVscGVy X2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCk7 Cj4gIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpkcm1fYXRvbWljX2hlbHBlcl9zdXNwZW5kKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICBpbnQgZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2R1 cGxpY2F0ZWRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRf YWNxdWlyZV9jdHggKmN0eCk7Cj4gQEAgLTE0NSw2ICsxNDgsMTAgQEAgaW50IGRybV9hdG9taWNf aGVscGVyX3BhZ2VfZmxpcF90YXJnZXQoCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50MzJfdCBmbGFncywKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IHRhcmdldCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1f bW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KTsKPiAraW50IGRybV9hdG9taWNfaGVscGVyX2xlZ2Fj eV9nYW1tYV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHUxNiAqcmVkLCB1MTYgKmdyZWVuLCB1MTYgKmJsdWUsCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNx dWlyZV9jdHggKmN0eCk7Cj4KPiAgLyoqCj4gICAqIGRybV9hdG9taWNfY3J0Y19mb3JfZWFjaF9w bGFuZSAtIGl0ZXJhdGUgb3ZlciBwbGFuZXMgY3VycmVudGx5IGF0dGFjaGVkIHRvIENSVEMKPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuaCBiL2luY2x1 ZGUvZHJtL2RybV9hdG9taWNfc3RhdGVfaGVscGVyLmgKPiBpbmRleCA1YjgyY2NmZGI1MDIuLjY2 YzkyY2JkOGUxNiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hl bHBlci5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuaAo+IEBA IC02NSwxNiArNjUsOSBAQCBfX2RybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kdXBsaWNhdGVf c3RhdGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0 YXRlKTsKPiAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKgo+ICBkcm1fYXRvbWljX2hlbHBl cl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IpOwo+IC1zdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqCj4gLWRybV9hdG9taWNfaGVscGVyX2R1 cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCk7Cj4g IHZvaWQKPiAgX19kcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9zdGF0ZShzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUpOwo+ICB2b2lkIGRybV9hdG9taWNfaGVscGVy X2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9j b25uZWN0b3Jfc3RhdGUgKnN0YXRlKTsKPiAtaW50IGRybV9hdG9taWNfaGVscGVyX2xlZ2FjeV9n YW1tYV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHUxNiAqcmVkLCB1MTYgKmdyZWVuLCB1MTYgKmJsdWUsCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSwKPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWly ZV9jdHggKmN0eCk7Cj4gIHZvaWQgX19kcm1fYXRvbWljX2hlbHBlcl9wcml2YXRlX29ial9kdXBs aWNhdGVfc3RhdGUoc3RydWN0IGRybV9wcml2YXRlX29iaiAqb2JqLAo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9wcml2YXRl X3N0YXRlICpzdGF0ZSk7Cj4gLS0KPiAyLjE5LjEKPgo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK