From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Nicolai_H=c3=a4hnle?= Subject: Re: [PATCH 1/5] drm/ttm: add evict parameter to ttm_bo_driver::move_notify Date: Wed, 21 Dec 2016 16:12:05 +0100 Message-ID: <8f68adf1-52bc-b2ef-2fa7-79a8f9695164@gmail.com> References: <1481821815-9971-1-git-send-email-nhaehnle@gmail.com> <1481821815-9971-2-git-send-email-nhaehnle@gmail.com> <5853564E.5020005@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5853564E.5020005-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: zhoucm1 , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, =?UTF-8?Q?Nicolai_H=c3=a4hnle?= List-Id: dri-devel@lists.freedesktop.org T24gMTYuMTIuMjAxNiAwMzo0OSwgemhvdWNtMSB3cm90ZToKPiBPbiAyMDE25bm0MTLmnIgxNuaX pSAwMToxMCwgTmljb2xhaSBIw6RobmxlIHdyb3RlOgo+PiBGcm9tOiBOaWNvbGFpIEjDpGhubGUg PG5pY29sYWkuaGFlaG5sZUBhbWQuY29tPgo+Pgo+PiBFbnN1cmUgdGhhdCB0aGUgZHJpdmVyIGNh biBsaXN0ZW4gdG8gZXZpY3Rpb25zIGV2ZW4gd2hlbiB0aGV5IGRvbid0Cj4+IHRha2UgdGhlCj4+ IHBhdGggdGhyb3VnaCB0dG1fYm9fZHJpdmVyOjptb3ZlLgo+Pgo+PiBUaGlzIGlzIGNydWNpYWwg Zm9yIGFtZGdwdSwgd2hpY2ggcmVsaWVzIG9uIGFuIGV2aWN0aW9uIGNvdW50ZXIgdG8gc2tpcAo+ PiByZS1iaW5kaW5nIHBhZ2UgdGFibGVzIHdoZW4gcG9zc2libGUuCj4+Cj4+IFNpZ25lZC1vZmYt Ynk6IE5pY29sYWkgSMOkaG5sZSA8bmljb2xhaS5oYWVobmxlQGFtZC5jb20+Cj4gQWNrZWQtYnk6 IENodW5taW5nIFpob3UgPGRhdmlkMS56aG91QGFtZC5jb20+CgpUaGFua3MuIFBpbmcgZm9yIGZl ZWRiYWNrIGZyb20gbm9uLUFNRCBwZW9wbGU/CgpOaWNvbGFpCgoKPj4gLS0tCj4+ICAgZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5jIHwgIDEgKwo+PiAgIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuaCB8ICAzICsrLQo+PiAgIGRyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYm8uYyAgICAgICB8ICAzICsrLQo+PiAgIGRyaXZlcnMv Z3B1L2RybS9xeGwvcXhsX3R0bS5jICAgICAgICAgICAgICB8ICAxICsKPj4gICBkcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuYyAgICAgfCAgMSArCj4+ICAgZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fb2JqZWN0LmggICAgIHwgIDEgKwo+PiAgIGRyaXZlcnMvZ3B1L2Ry bS90dG0vdHRtX2JvLmMgICAgICAgICAgICAgICB8ICA4ICsrKystLS0tCj4+ICAgZHJpdmVycy9n cHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3R0bS5jICAgICAgIHwgIDEgKwo+PiAgIGRyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X2J1ZmZlci5jICAgICB8ICAxICsKPj4gICBpbmNsdWRlL2RybS90 dG0vdHRtX2JvX2RyaXZlci5oICAgICAgICAgICAgfCAxMCArKysrKysrKy0tCj4+ICAgMTAgZmls ZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9vYmplY3QuYwo+PiBpbmRleCBiZjc5Yjcz Li5jMjlkYjk5IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfb2JqZWN0LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29i amVjdC5jCj4+IEBAIC04NDIsMjAgKzg0MiwyMSBAQCBpbnQgYW1kZ3B1X2JvX2dldF9tZXRhZGF0 YShzdHJ1Y3QgYW1kZ3B1X2JvICpibywKPj4gdm9pZCAqYnVmZmVyLAo+PiAgICAgICAgIGlmICht ZXRhZGF0YV9zaXplKQo+PiAgICAgICAgICAgKm1ldGFkYXRhX3NpemUgPSBiby0+bWV0YWRhdGFf c2l6ZTsKPj4gICAgICAgaWYgKGZsYWdzKQo+PiAgICAgICAgICAgKmZsYWdzID0gYm8tPm1ldGFk YXRhX2ZsYWdzOwo+PiAgICAgICAgIHJldHVybiAwOwo+PiAgIH0KPj4gICAgIHZvaWQgYW1kZ3B1 X2JvX21vdmVfbm90aWZ5KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4+ICsgICAgICAg ICAgICAgICBib29sIGV2aWN0LAo+PiAgICAgICAgICAgICAgICAgIHN0cnVjdCB0dG1fbWVtX3Jl ZyAqbmV3X21lbSkKPj4gICB7Cj4+ICAgICAgIHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0g YW1kZ3B1X3R0bV9hZGV2KGJvLT5iZGV2KTsKPj4gICAgICAgc3RydWN0IGFtZGdwdV9ibyAqYWJv Owo+PiAgICAgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm9sZF9tZW0gPSAmYm8tPm1lbTsKPj4gICAg ICAgICBpZiAoIWFtZGdwdV90dG1fYm9faXNfYW1kZ3B1X2JvKGJvKSkKPj4gICAgICAgICAgIHJl dHVybjsKPj4gICAgICAgICBhYm8gPSBjb250YWluZXJfb2YoYm8sIHN0cnVjdCBhbWRncHVfYm8s IHRibyk7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf b2JqZWN0LmgKPj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgK Pj4gaW5kZXggNWNiZjU5ZS4uNDMwNmIyZiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9vYmplY3QuaAo+PiBAQCAtMTQ4LDIxICsxNDgsMjIgQEAgdm9pZCBhbWRn cHVfYm9fZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7Cj4+ICAgaW50IGFtZGdwdV9i b19mYmRldl9tbWFwKHN0cnVjdCBhbWRncHVfYm8gKmJvLAo+PiAgICAgICAgICAgICAgICAgICBz dHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7Cj4+ICAgaW50IGFtZGdwdV9ib19zZXRfdGlsaW5n X2ZsYWdzKHN0cnVjdCBhbWRncHVfYm8gKmJvLCB1NjQgdGlsaW5nX2ZsYWdzKTsKPj4gICB2b2lk IGFtZGdwdV9ib19nZXRfdGlsaW5nX2ZsYWdzKHN0cnVjdCBhbWRncHVfYm8gKmJvLCB1NjQKPj4g KnRpbGluZ19mbGFncyk7Cj4+ICAgaW50IGFtZGdwdV9ib19zZXRfbWV0YWRhdGEgKHN0cnVjdCBh bWRncHVfYm8gKmJvLCB2b2lkICptZXRhZGF0YSwKPj4gICAgICAgICAgICAgICAgICAgdWludDMy X3QgbWV0YWRhdGFfc2l6ZSwgdWludDY0X3QgZmxhZ3MpOwo+PiAgIGludCBhbWRncHVfYm9fZ2V0 X21ldGFkYXRhKHN0cnVjdCBhbWRncHVfYm8gKmJvLCB2b2lkICpidWZmZXIsCj4+ICAgICAgICAg ICAgICAgICAgc2l6ZV90IGJ1ZmZlcl9zaXplLCB1aW50MzJfdCAqbWV0YWRhdGFfc2l6ZSwKPj4g ICAgICAgICAgICAgICAgICB1aW50NjRfdCAqZmxhZ3MpOwo+PiAgIHZvaWQgYW1kZ3B1X2JvX21v dmVfbm90aWZ5KHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4+IC0gICAgICAgICAgICAg ICAgICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm5ld19tZW0pOwo+PiArICAgICAgICAgICAgICAgYm9v bCBldmljdCwKPj4gKyAgICAgICAgICAgICAgIHN0cnVjdCB0dG1fbWVtX3JlZyAqbmV3X21lbSk7 Cj4+ICAgaW50IGFtZGdwdV9ib19mYXVsdF9yZXNlcnZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZl cl9vYmplY3QgKmJvKTsKPj4gICB2b2lkIGFtZGdwdV9ib19mZW5jZShzdHJ1Y3QgYW1kZ3B1X2Jv ICpibywgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsCj4+ICAgICAgICAgICAgICAgIGJvb2wgc2hh cmVkKTsKPj4gICB1NjQgYW1kZ3B1X2JvX2dwdV9vZmZzZXQoc3RydWN0IGFtZGdwdV9ibyAqYm8p Owo+PiAgIGludCBhbWRncHVfYm9fYmFja3VwX3RvX3NoYWRvdyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwKPj4gICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5n LAo+PiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2JvICpibywKPj4gICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcmVzdiwKPj4gICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGRtYV9mZW5jZSAqKmZlbmNlLCBib29sIGRpcmVjdCk7Cj4+ ICAgaW50IGFtZGdwdV9ib19yZXN0b3JlX2Zyb21fc2hhZG93KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9i by5jCj4+IGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iby5jCj4+IGluZGV4IGUw YzAwMDcuLjZmYTE1MjEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25v dXZlYXVfYm8uYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2JvLmMK Pj4gQEAgLTExODcsMjEgKzExODcsMjIgQEAgbm91dmVhdV9ib19tb3ZlX2ZsaXBzKHN0cnVjdCB0 dG1fYnVmZmVyX29iamVjdAo+PiAqYm8sIGJvb2wgZXZpY3QsIGJvb2wgaW50ciwKPj4gICAgICAg cmV0ID0gbm91dmVhdV9ib19tb3ZlX20ybWYoYm8sIHRydWUsIGludHIsIG5vX3dhaXRfZ3B1LCBu ZXdfbWVtKTsKPj4gICAgICAgaWYgKHJldCkKPj4gICAgICAgICAgIGdvdG8gb3V0Owo+PiAgICAg b3V0Ogo+PiAgICAgICB0dG1fYm9fbWVtX3B1dChibywgJnRtcF9tZW0pOwo+PiAgICAgICByZXR1 cm4gcmV0Owo+PiAgIH0KPj4gICAgIHN0YXRpYyB2b2lkCj4+IC1ub3V2ZWF1X2JvX21vdmVfbnRm eShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLCBzdHJ1Y3QgdHRtX21lbV9yZWcKPj4gKm5l d19tZW0pCj4+ICtub3V2ZWF1X2JvX21vdmVfbnRmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3Qg KmJvLCBib29sIGV2aWN0LAo+PiArICAgICAgICAgICAgIHN0cnVjdCB0dG1fbWVtX3JlZyAqbmV3 X21lbSkKPj4gICB7Cj4+ICAgICAgIHN0cnVjdCBub3V2ZWF1X2JvICpudmJvID0gbm91dmVhdV9i byhibyk7Cj4+ICAgICAgIHN0cnVjdCBudmttX3ZtYSAqdm1hOwo+PiAgICAgICAgIC8qIHR0bSBj YW4gbm93IChzdHVwaWRseSkgcGFzcyB0aGUgZHJpdmVyIGJvcyBpdCBkaWRuJ3QKPj4gY3JlYXRl Li4uICovCj4+ICAgICAgIGlmIChiby0+ZGVzdHJveSAhPSBub3V2ZWF1X2JvX2RlbF90dG0pCj4+ ICAgICAgICAgICByZXR1cm47Cj4+ICAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZu dmJvLT52bWFfbGlzdCwgaGVhZCkgewo+PiAgICAgICAgICAgaWYgKG5ld19tZW0gJiYgbmV3X21l bS0+bWVtX3R5cGUgIT0gVFRNX1BMX1NZU1RFTSAmJgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3F4bC9xeGxfdHRtLmMKPj4gYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF90dG0uYwo+ PiBpbmRleCAxMTc2MTMzLi5mMzkzOWE5IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v cXhsL3F4bF90dG0uYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF90dG0uYwo+PiBA QCAtMzYwLDIwICszNjAsMjEgQEAgc3RhdGljIGludCBxeGxfYm9fbW92ZShzdHJ1Y3QgdHRtX2J1 ZmZlcl9vYmplY3QKPj4gKmJvLAo+PiAgICAgICAgIGlmIChvbGRfbWVtLT5tZW1fdHlwZSA9PSBU VE1fUExfU1lTVEVNICYmIGJvLT50dG0gPT0gTlVMTCkgewo+PiAgICAgICAgICAgcXhsX21vdmVf bnVsbChibywgbmV3X21lbSk7Cj4+ICAgICAgICAgICByZXR1cm4gMDsKPj4gICAgICAgfQo+PiAg ICAgICByZXR1cm4gdHRtX2JvX21vdmVfbWVtY3B5KGJvLCBpbnRlcnJ1cHRpYmxlLCBub193YWl0 X2dwdSwKPj4gICAgICAgICAgICAgICAgICAgICBuZXdfbWVtKTsKPj4gICB9Cj4+ICAgICBzdGF0 aWMgdm9pZCBxeGxfYm9fbW92ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywK Pj4gKyAgICAgICAgICAgICAgICAgICBib29sIGV2aWN0LAo+PiAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgdHRtX21lbV9yZWcgKm5ld19tZW0pCj4+ICAgewo+PiAgICAgICBzdHJ1Y3QgcXhs X2JvICpxYm87Cj4+ICAgICAgIHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2Owo+PiAgICAgICAgIGlm ICghcXhsX3R0bV9ib19pc19xeGxfYm8oYm8pKQo+PiAgICAgICAgICAgcmV0dXJuOwo+PiAgICAg ICBxYm8gPSB0b19xeGxfYm8oYm8pOwo+PiAgICAgICBxZGV2ID0gcWJvLT5nZW1fYmFzZS5kZXYt PmRldl9wcml2YXRlOwo+PiAgIGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9vYmplY3QuYwo+PiBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5j Cj4+IGluZGV4IDQxYjcyY2UuLjc0YjI3NjAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX29iamVjdC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX29iamVjdC5jCj4+IEBAIC03NTgsMjAgKzc1OCwyMSBAQCBpbnQgcmFkZW9uX2JvX2No ZWNrX3RpbGluZyhzdHJ1Y3QgcmFkZW9uX2JvICpibywKPj4gYm9vbCBoYXNfbW92ZWQsCj4+ICAg ICAgICAgICByZXR1cm4gMDsKPj4gICAgICAgfQo+PiAgICAgICAgIGlmICgoYm8tPnN1cmZhY2Vf cmVnID49IDApICYmICFoYXNfbW92ZWQpCj4+ICAgICAgICAgICByZXR1cm4gMDsKPj4gICAgICAg ICByZXR1cm4gcmFkZW9uX2JvX2dldF9zdXJmYWNlX3JlZyhibyk7Cj4+ICAgfQo+PiAgICAgdm9p ZCByYWRlb25fYm9fbW92ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPj4g KyAgICAgICAgICAgICAgIGJvb2wgZXZpY3QsCj4+ICAgICAgICAgICAgICAgICAgc3RydWN0IHR0 bV9tZW1fcmVnICpuZXdfbWVtKQo+PiAgIHsKPj4gICAgICAgc3RydWN0IHJhZGVvbl9ibyAqcmJv Owo+PiAgICAgICAgIGlmICghcmFkZW9uX3R0bV9ib19pc19yYWRlb25fYm8oYm8pKQo+PiAgICAg ICAgICAgcmV0dXJuOwo+PiAgICAgICAgIHJibyA9IGNvbnRhaW5lcl9vZihibywgc3RydWN0IHJh ZGVvbl9ibywgdGJvKTsKPj4gICAgICAgcmFkZW9uX2JvX2NoZWNrX3RpbGluZyhyYm8sIDAsIDEp Owo+PiAgICAgICByYWRlb25fdm1fYm9faW52YWxpZGF0ZShyYm8tPnJkZXYsIHJibyk7Cj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9vYmplY3QuaAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5oCj4+IGluZGV4IGExMGJiM2QuLjlm ZmQ4MjEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVj dC5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX29iamVjdC5oCj4+IEBA IC0xNDMsMjAgKzE0MywyMSBAQCBleHRlcm4gdm9pZCByYWRlb25fYm9fZmluaShzdHJ1Y3QgcmFk ZW9uX2RldmljZQo+PiAqcmRldik7Cj4+ICAgZXh0ZXJuIGludCByYWRlb25fYm9fbGlzdF92YWxp ZGF0ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKPj4gICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHd3X2FjcXVpcmVfY3R4ICp0aWNrZXQsCj4+ICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBsaXN0X2hlYWQgKmhlYWQsIGludCByaW5nKTsKPj4gICBleHRlcm4gaW50IHJhZGVvbl9i b19zZXRfdGlsaW5nX2ZsYWdzKHN0cnVjdCByYWRlb25fYm8gKmJvLAo+PiAgICAgICAgICAgICAg ICAgICB1MzIgdGlsaW5nX2ZsYWdzLCB1MzIgcGl0Y2gpOwo+PiAgIGV4dGVybiB2b2lkIHJhZGVv bl9ib19nZXRfdGlsaW5nX2ZsYWdzKHN0cnVjdCByYWRlb25fYm8gKmJvLAo+PiAgICAgICAgICAg ICAgICAgICB1MzIgKnRpbGluZ19mbGFncywgdTMyICpwaXRjaCk7Cj4+ICAgZXh0ZXJuIGludCBy YWRlb25fYm9fY2hlY2tfdGlsaW5nKHN0cnVjdCByYWRlb25fYm8gKmJvLCBib29sIGhhc19tb3Zl ZCwKPj4gICAgICAgICAgICAgICAgICAgYm9vbCBmb3JjZV9kcm9wKTsKPj4gICBleHRlcm4gdm9p ZCByYWRlb25fYm9fbW92ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibywKPj4g KyAgICAgICAgICAgICAgICAgIGJvb2wgZXZpY3QsCj4+ICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IHR0bV9tZW1fcmVnICpuZXdfbWVtKTsKPj4gICBleHRlcm4gaW50IHJhZGVvbl9ib19mYXVs dF9yZXNlcnZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QKPj4gKmJvKTsKPj4gICBl eHRlcm4gaW50IHJhZGVvbl9ib19nZXRfc3VyZmFjZV9yZWcoc3RydWN0IHJhZGVvbl9ibyAqYm8p Owo+PiAgIGV4dGVybiB2b2lkIHJhZGVvbl9ib19mZW5jZShzdHJ1Y3QgcmFkZW9uX2JvICpibywg c3RydWN0Cj4+IHJhZGVvbl9mZW5jZSAqZmVuY2UsCj4+ICAgICAgICAgICAgICAgICAgIGJvb2wg c2hhcmVkKTsKPj4gICAgIC8qCj4+ICAgICogc3ViIGFsbG9jYXRpb24KPj4gICAgKi8KPj4gICBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwo+PiBiL2RyaXZlcnMvZ3B1 L2RybS90dG0vdHRtX2JvLmMKPj4gaW5kZXggZDUwNjM2MS4uZDQ5NzNlOWMgMTAwNjQ0Cj4+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3R0bS90dG1fYm8uYwo+PiBAQCAtMzM1LDQ1ICszMzUsNDUgQEAgc3RhdGljIGludCB0dG1fYm9f aGFuZGxlX21vdmVfbWVtKHN0cnVjdAo+PiB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4+ICAgICAg ICAgICAgICAgZ290byBvdXRfZXJyOwo+PiAgICAgICAgICAgICBpZiAobWVtLT5tZW1fdHlwZSAh PSBUVE1fUExfU1lTVEVNKSB7Cj4+ICAgICAgICAgICAgICAgcmV0ID0gdHRtX3R0X2JpbmQoYm8t PnR0bSwgbWVtKTsKPj4gICAgICAgICAgICAgICBpZiAocmV0KQo+PiAgICAgICAgICAgICAgICAg ICBnb3RvIG91dF9lcnI7Cj4+ICAgICAgICAgICB9Cj4+ICAgICAgICAgICAgIGlmIChiby0+bWVt Lm1lbV90eXBlID09IFRUTV9QTF9TWVNURU0pIHsKPj4gICAgICAgICAgICAgICBpZiAoYmRldi0+ ZHJpdmVyLT5tb3ZlX25vdGlmeSkKPj4gLSAgICAgICAgICAgICAgICBiZGV2LT5kcml2ZXItPm1v dmVfbm90aWZ5KGJvLCBtZW0pOwo+PiArICAgICAgICAgICAgICAgIGJkZXYtPmRyaXZlci0+bW92 ZV9ub3RpZnkoYm8sIGV2aWN0LCBtZW0pOwo+PiAgICAgICAgICAgICAgIGJvLT5tZW0gPSAqbWVt Owo+PiAgICAgICAgICAgICAgIG1lbS0+bW1fbm9kZSA9IE5VTEw7Cj4+ICAgICAgICAgICAgICAg Z290byBtb3ZlZDsKPj4gICAgICAgICAgIH0KPj4gICAgICAgfQo+PiAgICAgICAgIGlmIChiZGV2 LT5kcml2ZXItPm1vdmVfbm90aWZ5KQo+PiAtICAgICAgICBiZGV2LT5kcml2ZXItPm1vdmVfbm90 aWZ5KGJvLCBtZW0pOwo+PiArICAgICAgICBiZGV2LT5kcml2ZXItPm1vdmVfbm90aWZ5KGJvLCBl dmljdCwgbWVtKTsKPj4gICAgICAgICBpZiAoIShvbGRfbWFuLT5mbGFncyAmIFRUTV9NRU1UWVBF X0ZMQUdfRklYRUQpICYmCj4+ICAgICAgICAgICAhKG5ld19tYW4tPmZsYWdzICYgVFRNX01FTVRZ UEVfRkxBR19GSVhFRCkpCj4+ICAgICAgICAgICByZXQgPSB0dG1fYm9fbW92ZV90dG0oYm8sIGlu dGVycnVwdGlibGUsIG5vX3dhaXRfZ3B1LCBtZW0pOwo+PiAgICAgICBlbHNlIGlmIChiZGV2LT5k cml2ZXItPm1vdmUpCj4+ICAgICAgICAgICByZXQgPSBiZGV2LT5kcml2ZXItPm1vdmUoYm8sIGV2 aWN0LCBpbnRlcnJ1cHRpYmxlLAo+PiAgICAgICAgICAgICAgICAgICAgICAgIG5vX3dhaXRfZ3B1 LCBtZW0pOwo+PiAgICAgICBlbHNlCj4+ICAgICAgICAgICByZXQgPSB0dG1fYm9fbW92ZV9tZW1j cHkoYm8sIGludGVycnVwdGlibGUsIG5vX3dhaXRfZ3B1LCBtZW0pOwo+PiAgICAgICAgIGlmIChy ZXQpIHsKPj4gICAgICAgICAgIGlmIChiZGV2LT5kcml2ZXItPm1vdmVfbm90aWZ5KSB7Cj4+ICAg ICAgICAgICAgICAgc3RydWN0IHR0bV9tZW1fcmVnIHRtcF9tZW0gPSAqbWVtOwo+PiAgICAgICAg ICAgICAgICptZW0gPSBiby0+bWVtOwo+PiAgICAgICAgICAgICAgIGJvLT5tZW0gPSB0bXBfbWVt Owo+PiAtICAgICAgICAgICAgYmRldi0+ZHJpdmVyLT5tb3ZlX25vdGlmeShibywgbWVtKTsKPj4g KyAgICAgICAgICAgIGJkZXYtPmRyaXZlci0+bW92ZV9ub3RpZnkoYm8sIGZhbHNlLCBtZW0pOwo+ PiAgICAgICAgICAgICAgIGJvLT5tZW0gPSAqbWVtOwo+PiAgICAgICAgICAgICAgICptZW0gPSB0 bXBfbWVtOwo+PiAgICAgICAgICAgfQo+PiAgICAgICAgICAgICBnb3RvIG91dF9lcnI7Cj4+ICAg ICAgIH0KPj4gICAgIG1vdmVkOgo+PiAgICAgICBpZiAoYm8tPmV2aWN0ZWQpIHsKPj4gICAgICAg ICAgIGlmIChiZGV2LT5kcml2ZXItPmludmFsaWRhdGVfY2FjaGVzKSB7Cj4+IEBAIC00MDcsMjEg KzQwNywyMSBAQCBzdGF0aWMgaW50IHR0bV9ib19oYW5kbGVfbW92ZV9tZW0oc3RydWN0Cj4+IHR0 bV9idWZmZXJfb2JqZWN0ICpibywKPj4gICAgKiBDYWxsIGJvOjpyZXNlcnZlZC4KPj4gICAgKiBX aWxsIHJlbGVhc2UgR1BVIG1lbW9yeSB0eXBlIHVzYWdlIG9uIGRlc3RydWN0aW9uLgo+PiAgICAq IFRoaXMgaXMgdGhlIHBsYWNlIHRvIHB1dCBpbiBkcml2ZXIgc3BlY2lmaWMgaG9va3MgdG8gcmVs ZWFzZQo+PiAgICAqIGRyaXZlciBwcml2YXRlIHJlc291cmNlcy4KPj4gICAgKiBXaWxsIHJlbGVh c2UgdGhlIGJvOjpyZXNlcnZlZCBsb2NrLgo+PiAgICAqLwo+PiAgICAgc3RhdGljIHZvaWQgdHRt X2JvX2NsZWFudXBfbWVtdHlwZV91c2Uoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKPj4g ICB7Cj4+ICAgICAgIGlmIChiby0+YmRldi0+ZHJpdmVyLT5tb3ZlX25vdGlmeSkKPj4gLSAgICAg ICAgYm8tPmJkZXYtPmRyaXZlci0+bW92ZV9ub3RpZnkoYm8sIE5VTEwpOwo+PiArICAgICAgICBi by0+YmRldi0+ZHJpdmVyLT5tb3ZlX25vdGlmeShibywgZmFsc2UsIE5VTEwpOwo+PiAgICAgICAg IHR0bV90dF9kZXN0cm95KGJvLT50dG0pOwo+PiAgICAgICBiby0+dHRtID0gTlVMTDsKPj4gICAg ICAgdHRtX2JvX21lbV9wdXQoYm8sICZiby0+bWVtKTsKPj4gICAgICAgICB3d19tdXRleF91bmxv Y2sgKCZiby0+cmVzdi0+bG9jayk7Cj4+ICAgfQo+PiAgICAgc3RhdGljIHZvaWQgdHRtX2JvX2Zs dXNoX2FsbF9mZW5jZXMoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibykKPj4gICB7Cj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfdHRtLmMKPj4gYi9kcml2 ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfdHRtLmMKPj4gaW5kZXggNGExZGU5Zi4uMTAzODdk NyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3R0bS5jCj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV90dG0uYwo+PiBAQCAtMzc5LDIw ICszNzksMjEgQEAgc3RhdGljIGludCB2aXJ0aW9fZ3B1X2JvX21vdmUoc3RydWN0Cj4+IHR0bV9i dWZmZXJfb2JqZWN0ICpibywKPj4gICAgICAgICByZXQgPSB0dG1fYm9fd2FpdChibywgaW50ZXJy dXB0aWJsZSwgbm9fd2FpdF9ncHUpOwo+PiAgICAgICBpZiAocmV0KQo+PiAgICAgICAgICAgcmV0 dXJuIHJldDsKPj4gICAgICAgICB2aXJ0aW9fZ3B1X21vdmVfbnVsbChibywgbmV3X21lbSk7Cj4+ ICAgICAgIHJldHVybiAwOwo+PiAgIH0KPj4gICAgIHN0YXRpYyB2b2lkIHZpcnRpb19ncHVfYm9f bW92ZV9ub3RpZnkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICp0Ym8sCj4+ICsgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBldmljdCwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHR0bV9tZW1fcmVnICpuZXdfbWVtKQo+PiAgIHsKPj4gICAgICAgc3RydWN0IHZpcnRpb19ncHVf b2JqZWN0ICpibzsKPj4gICAgICAgc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldjsKPj4g ICAgICAgICBibyA9IGNvbnRhaW5lcl9vZih0Ym8sIHN0cnVjdCB2aXJ0aW9fZ3B1X29iamVjdCwg dGJvKTsKPj4gICAgICAgdmdkZXYgPSAoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICopYm8tPmdl bV9iYXNlLmRldi0+ZGV2X3ByaXZhdGU7Cj4+ICAgICAgICAgaWYgKCFuZXdfbWVtIHx8IChuZXdf bWVtLT5wbGFjZW1lbnQgJiBUVE1fUExfRkxBR19TWVNURU0pKSB7Cj4+ICAgICAgICAgICBpZiAo Ym8tPmh3X3Jlc19oYW5kbGUpCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9idWZmZXIuYwo+PiBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2J1ZmZl ci5jCj4+IGluZGV4IGM4OTRhNDguLmNhYTI3OWIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X2J1ZmZlci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdn Zngvdm13Z2Z4X2J1ZmZlci5jCj4+IEBAIC04MTgsMjAgKzgxOCwyMSBAQCBzdGF0aWMgaW50IHZt d190dG1fZmF1bHRfcmVzZXJ2ZV9ub3RpZnkoc3RydWN0Cj4+IHR0bV9idWZmZXJfb2JqZWN0ICpi bykKPj4gICAgKiB2bXdfbW92ZV9ub3RpZnkgLSBUVE0gbW92ZV9ub3RpZnlfY2FsbGJhY2sKPj4g ICAgKgo+PiAgICAqIEBibzogVGhlIFRUTSBidWZmZXIgb2JqZWN0IGFib3V0IHRvIG1vdmUuCj4+ ICAgICogQG1lbTogVGhlIHN0cnVjdCB0dG1fbWVtX3JlZyBpbmRpY2F0aW5nIHRvIHdoYXQgbWVt b3J5Cj4+ICAgICogICAgICAgcmVnaW9uIHRoZSBtb3ZlIGlzIHRha2luZyBwbGFjZS4KPj4gICAg Kgo+PiAgICAqIENhbGxzIG1vdmVfbm90aWZ5IGZvciBhbGwgc3Vic3lzdGVtcyBuZWVkaW5nIGl0 Lgo+PiAgICAqIChjdXJyZW50bHkgb25seSByZXNvdXJjZXMpLgo+PiAgICAqLwo+PiAgIHN0YXRp YyB2b2lkIHZtd19tb3ZlX25vdGlmeShzdHJ1Y3QgdHRtX2J1ZmZlcl9vYmplY3QgKmJvLAo+PiAr ICAgICAgICAgICAgICAgIGJvb2wgZXZpY3QsCj4+ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0 dG1fbWVtX3JlZyAqbWVtKQo+PiAgIHsKPj4gICAgICAgdm13X3Jlc291cmNlX21vdmVfbm90aWZ5 KGJvLCBtZW0pOwo+PiAgICAgICB2bXdfcXVlcnlfbW92ZV9ub3RpZnkoYm8sIG1lbSk7Cj4+ICAg fQo+PiAgICAgICAvKioKPj4gICAgKiB2bXdfc3dhcF9ub3RpZnkgLSBUVE0gbW92ZV9ub3RpZnlf Y2FsbGJhY2sKPj4gICAgKgo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19k cml2ZXIuaAo+PiBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKPj4gaW5kZXggY2Ri ZGI0MC4uOGI0YmVjNyAxMDA2NDQKPj4gLS0tIGEvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2 ZXIuaAo+PiArKysgYi9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2RyaXZlci5oCj4+IEBAIC00MjQs MjMgKzQyNCwyOSBAQCBzdHJ1Y3QgdHRtX2JvX2RyaXZlciB7Cj4+ICAgICAgICAqCj4+ICAgICAg ICAqIENhbGxlZCBmcm9tIHRoZSBtYXAgLyB3cml0ZSAvIHJlYWQgbWV0aG9kcyB0byB2ZXJpZnkg dGhhdCB0aGUKPj4gICAgICAgICogY2FsbGVyIGlzIHBlcm1pdHRlZCB0byBhY2Nlc3MgdGhlIGJ1 ZmZlciBvYmplY3QuCj4+ICAgICAgICAqIFRoaXMgbWVtYmVyIG1heSBiZSBzZXQgdG8gTlVMTCwg d2hpY2ggd2lsbCByZWZ1c2UgdGhpcyBraW5kIG9mCj4+ICAgICAgICAqIGFjY2VzcyBmb3IgYWxs IGJ1ZmZlciBvYmplY3RzLgo+PiAgICAgICAgKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4g MCBpZiBhY2Nlc3MgaXMgZ3JhbnRlZCwgLUVQRVJNCj4+IG90aGVyd2lzZS4KPj4gICAgICAgICov Cj4+ICAgICAgIGludCAoKnZlcmlmeV9hY2Nlc3MpKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAq Ym8sCj4+ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmlsZSAqZmlscCk7Cj4+ICAgLSAgICAv KiBob29rIHRvIG5vdGlmeSBkcml2ZXIgYWJvdXQgYSBkcml2ZXIgbW92ZSBzbyBpdAo+PiAtICAg ICAqIGNhbiBkbyB0aWxpbmcgdGhpbmdzICovCj4+ICsgICAgLyoqCj4+ICsgICAgICogSG9vayB0 byBub3RpZnkgZHJpdmVyIGFib3V0IGEgZHJpdmVyIG1vdmUgc28gaXQKPj4gKyAgICAgKiBjYW4g ZG8gdGlsaW5nIHRoaW5ncyBhbmQgYm9vay1rZWVwaW5nLgo+PiArICAgICAqCj4+ICsgICAgICog QGV2aWN0OiB3aGV0aGVyIHRoaXMgbW92ZSBpcyBldmljdGluZyB0aGUgYnVmZmVyIGZyb20gdGhl Cj4+IGdyYXBoaWNzCj4+ICsgICAgICogYWRkcmVzcyBzcGFjZQo+PiArICAgICAqLwo+PiAgICAg ICB2b2lkICgqbW92ZV9ub3RpZnkpKHN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8sCj4+ICsg ICAgICAgICAgICAgICAgYm9vbCBldmljdCwKPj4gICAgICAgICAgICAgICAgICAgc3RydWN0IHR0 bV9tZW1fcmVnICpuZXdfbWVtKTsKPj4gICAgICAgLyogbm90aWZ5IHRoZSBkcml2ZXIgd2UgYXJl IHRha2luZyBhIGZhdWx0IG9uIHRoaXMgQk8KPj4gICAgICAgICogYW5kIGhhdmUgcmVzZXJ2ZWQg aXQgKi8KPj4gICAgICAgaW50ICgqZmF1bHRfcmVzZXJ2ZV9ub3RpZnkpKHN0cnVjdCB0dG1fYnVm ZmVyX29iamVjdCAqYm8pOwo+PiAgICAgICAgIC8qKgo+PiAgICAgICAgKiBub3RpZnkgdGhlIGRy aXZlciB0aGF0IHdlJ3JlIGFib3V0IHRvIHN3YXAgb3V0IHRoaXMgYm8KPj4gICAgICAgICovCj4+ ICAgICAgIHZvaWQgKCpzd2FwX25vdGlmeSkoc3RydWN0IHR0bV9idWZmZXJfb2JqZWN0ICpibyk7 Cj4+Cj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1k LWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==