From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] dma-buf, drm, ion: Propagate error code from dma_buf_start_cpu_access() Date: Sat, 19 Mar 2016 11:09:36 +0100 Message-ID: <20160319100936.GQ14170@phenom.ffwll.local> References: <1458331359-2634-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1458331359-2634-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: devel@driverdev.osuosl.org, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, Daniel Vetter , linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBNYXIgMTgsIDIwMTYgYXQgMDg6MDI6MzlQTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IERyaXZlcnMsIGVzcGVjaWFsbHkgaTkxNS5rbywgY2FuIGZhaWwgZHVyaW5nIHRoZSBp bml0aWFsIG1pZ3JhdGlvbiBvZiBhCj4gZG1hLWJ1ZiBmb3IgQ1BVIGFjY2Vzcy4gSG93ZXZlciwg dGhlIGVycm9yIGNvZGUgZnJvbSB0aGUgZHJpdmVyIHdhcyBub3QKPiBiZWluZyBwcm9wYWdhdGVk IGJhY2sgdG8gaW9jdGwgYW5kIHNvIHVzZXJzcGFjZSB3YXMgYmxpc3NmdWxseSBpZ25vcmFudAo+ IG9mIHRoZSBmYWlsdXJlLiBSZW5kZXJpbmcgY29ycnVwdGlvbiBlbnN1ZXMuCj4gCj4gV2hpbHN0 IGZpeGluZyB0aGUgaW9jdGwgdG8gcmV0dXJuIHRoZSBlcnJvciBjb2RlIGZyb20KPiBkbWFfYnVm X3N0YXJ0X2NwdV9hY2Nlc3MoKSwgYWxzbyBkbyB0aGUgc2FtZSBmb3IKPiBkbWFfYnVmX2VuZF9j cHVfYWNjZXNzKCkuICBGb3IgbW9zdCBkcml2ZXJzLCBkbWFfYnVmX2VuZF9jcHVfYWNjZXNzKCkK PiBjYW5ub3QgZmFpbC4gaTkxNS5rbyBob3dldmVyLCBhcyBtb3N0IGRyaXZlcnMgd291bGQsIHdh bnRzIHRvIGF2b2lkIGJlaW5nCj4gdW5pbnRlcnJ1cHRpYmxlIChhcyB3b3VsZCBiZSByZXF1aXJl ZCB0byBndWFycmFudGVlIG5vIGZhaWx1cmUgd2hlbgo+IGZsdXNoaW5nIHRoZSBidWZmZXIgdG8g dGhlIGRldmljZSkuIEFzIHVzZXJzcGFjZSBhbHJlYWR5IGhhcyB0byBoYW5kbGUKPiBlcnJvcnMg ZnJvbSB0aGUgU1lOQ19JT0NUTCwgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhpcyB0byBiZSBhYmxlIHRv IHJlc3RhcnQKPiB0aGUgc3lzY2FsbCBhY3Jvc3Mgc2lnbmFscy4KPiAKPiBUaGlzIGZpeGVzIGEg Y29oZXJlbmN5IGlzc3VlIGZvciBpOTE1LmtvIGFzIHdlbGwgYXMgcmVkdWNpbmcgdGhlCj4gdW5p bnRlcnJ1cHRpYmxlIGhvbGQgdXBvbiBpdHMgQktMLCB0aGUgc3RydWN0X211dGV4Lgo+IAo+IEZp eGVzIGNvbW1pdCBjMTFlMzkxZGEyYThmZTk3M2MzYzIzOTg0NTIwMDBiZWQ1MDU4NTFlCj4gQXV0 aG9yOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+IERhdGU6ICAgVGh1 IEZlYiAxMSAyMDowNDo1MSAyMDE2IC0wMjAwCj4gCj4gICAgIGRtYS1idWY6IEFkZCBpb2N0bHMg dG8gYWxsb3cgdXNlcnNwYWNlIHRvIGZsdXNoCj4gCj4gVGVzdGNhc2U6IGlndC9nZW1fY29uY3Vy cmVudF9ibGl0LypkbWFidWYqaW50ZXJydXB0aWJsZQo+IFRlc3RjYXNlOiBpZ3QvcHJpbWVfbW1h cF9jb2hlcmVuY3kvaW9jdGwtZXJyb3JzCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFRpYWdvIFZpZ25hdHRpIDx0aWFnby52aWdu YXR0aUBpbnRlbC5jb20+Cj4gQ2M6IFN0w6lwaGFuZSBNYXJjaGVzaW4gPG1hcmNoZXVAY2hyb21p dW0ub3JnPgo+IENjOiBEYXZpZCBIZXJybWFubiA8ZGguaGVycm1hbm5AZ21haWwuY29tPgo+IENj OiBTdW1pdCBTZW13YWwgPHN1bWl0LnNlbXdhbEBsaW5hcm8ub3JnPgo+IENjOiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiBDQzogbGludXgtbWVkaWFAdmdlci5rZXJu ZWwub3JnCj4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogbGluYXJv LW1tLXNpZ0BsaXN0cy5saW5hcm8ub3JnCj4gQ2M6IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiBDYzogZGV2ZWxAZHJpdmVyZGV2Lm9zdW9zbC5vcmcKCkFwcGxpZWQgdG8gZHJtLW1p c2MsIEknbGwgc2VuZCBhIHB1bGwgdG8gRGF2ZSB0aGUgbmV4dCBmZXcgZGF5cyBpZiBubyBvbmUK c2NyZWFtcy4KLURhbmllbAoKPiAtLS0KPiAgZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYyAgICAg ICAgICAgICAgICAgfCAxNyArKysrKysrKysrKy0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9kbWFidWYuYyAgICB8IDE1ICsrKysrLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dw dS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFidWYuYyB8ICA1ICsrKy0tCj4gIGRyaXZlcnMvZ3B1 L2RybS91ZGwvdWRsX2ZiLmMgICAgICAgICAgICAgIHwgIDQgKystLQo+ICBkcml2ZXJzL3N0YWdp bmcvYW5kcm9pZC9pb24vaW9uLmMgICAgICAgICB8ICA2ICsrKystLQo+ICBpbmNsdWRlL2xpbnV4 L2RtYS1idWYuaCAgICAgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQo+ICA2IGZpbGVzIGNoYW5n ZWQsIDI4IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jIGIvZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYwo+IGlu ZGV4IDk4MTBkMWRmMDY5MS4uNzc0YTYwZjQzMDlhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZG1h LWJ1Zi9kbWEtYnVmLmMKPiArKysgYi9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jCj4gQEAgLTI1 OSw2ICsyNTksNyBAQCBzdGF0aWMgbG9uZyBkbWFfYnVmX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxl LAo+ICAJc3RydWN0IGRtYV9idWYgKmRtYWJ1ZjsKPiAgCXN0cnVjdCBkbWFfYnVmX3N5bmMgc3lu YzsKPiAgCWVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcmVjdGlvbjsKPiArCWludCByZXQ7Cj4g IAo+ICAJZG1hYnVmID0gZmlsZS0+cHJpdmF0ZV9kYXRhOwo+ICAKPiBAQCAtMjg1LDExICsyODYs MTEgQEAgc3RhdGljIGxvbmcgZG1hX2J1Zl9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwKPiAgCQl9 Cj4gIAo+ICAJCWlmIChzeW5jLmZsYWdzICYgRE1BX0JVRl9TWU5DX0VORCkKPiAtCQkJZG1hX2J1 Zl9lbmRfY3B1X2FjY2VzcyhkbWFidWYsIGRpcmVjdGlvbik7Cj4gKwkJCXJldCA9IGRtYV9idWZf ZW5kX2NwdV9hY2Nlc3MoZG1hYnVmLCBkaXJlY3Rpb24pOwo+ICAJCWVsc2UKPiAtCQkJZG1hX2J1 Zl9iZWdpbl9jcHVfYWNjZXNzKGRtYWJ1ZiwgZGlyZWN0aW9uKTsKPiArCQkJcmV0ID0gZG1hX2J1 Zl9iZWdpbl9jcHVfYWNjZXNzKGRtYWJ1ZiwgZGlyZWN0aW9uKTsKPiAgCj4gLQkJcmV0dXJuIDA7 Cj4gKwkJcmV0dXJuIHJldDsKPiAgCWRlZmF1bHQ6Cj4gIAkJcmV0dXJuIC1FTk9UVFk7Cj4gIAl9 Cj4gQEAgLTYxMywxMyArNjE0LDE3IEBAIEVYUE9SVF9TWU1CT0xfR1BMKGRtYV9idWZfYmVnaW5f Y3B1X2FjY2Vzcyk7Cj4gICAqCj4gICAqIFRoaXMgY2FsbCBtdXN0IGFsd2F5cyBzdWNjZWVkLgo+ ICAgKi8KPiAtdm9pZCBkbWFfYnVmX2VuZF9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFi dWYsCj4gLQkJCSAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXJlY3Rpb24pCj4gK2ludCBk bWFfYnVmX2VuZF9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCj4gKwkJCSAgIGVu dW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcmVjdGlvbikKPiAgewo+ICsJaW50IHJldCA9IDA7Cj4g Kwo+ICAJV0FSTl9PTighZG1hYnVmKTsKPiAgCj4gIAlpZiAoZG1hYnVmLT5vcHMtPmVuZF9jcHVf YWNjZXNzKQo+IC0JCWRtYWJ1Zi0+b3BzLT5lbmRfY3B1X2FjY2VzcyhkbWFidWYsIGRpcmVjdGlv bik7Cj4gKwkJcmV0ID0gZG1hYnVmLT5vcHMtPmVuZF9jcHVfYWNjZXNzKGRtYWJ1ZiwgZGlyZWN0 aW9uKTsKPiArCj4gKwlyZXR1cm4gcmV0Owo+ICB9Cj4gIEVYUE9SVF9TWU1CT0xfR1BMKGRtYV9i dWZfZW5kX2NwdV9hY2Nlc3MpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZG1hYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9kbWFi dWYuYwo+IGluZGV4IDFmM2VlZjZmYjM0NS4uMDUwNjAxNmUxOGUwIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVmLmMKPiBAQCAtMjI4LDI1ICsyMjgsMjAgQEAgc3RhdGlj IGludCBpOTE1X2dlbV9iZWdpbl9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCBl bnVtIGRtYV9kYXRhX2RpcmUKPiAgCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lk IGk5MTVfZ2VtX2VuZF9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmLCBlbnVtIGRt YV9kYXRhX2RpcmVjdGlvbiBkaXJlY3Rpb24pCj4gK3N0YXRpYyBpbnQgaTkxNV9nZW1fZW5kX2Nw dV9hY2Nlc3Moc3RydWN0IGRtYV9idWYgKmRtYV9idWYsIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9u IGRpcmVjdGlvbikKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGRt YV9idWZfdG9fb2JqKGRtYV9idWYpOwo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+ YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7Cj4gLQlib29sIHdhc19pbnRlcnJ1cHRpYmxlOwo+ICAJaW50IHJldDsKPiAgCj4gLQlt dXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4gLQl3YXNfaW50ZXJydXB0aWJsZSA9IGRl dl9wcml2LT5tbS5pbnRlcnJ1cHRpYmxlOwo+IC0JZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGUg PSBmYWxzZTsKPiArCXJldCA9IGk5MTVfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKGRldik7Cj4g KwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gIAo+ICAJcmV0ID0gaTkxNV9nZW1fb2JqZWN0 X3NldF90b19ndHRfZG9tYWluKG9iaiwgZmFsc2UpOwo+IC0KPiAtCWRldl9wcml2LT5tbS5pbnRl cnJ1cHRpYmxlID0gd2FzX2ludGVycnVwdGlibGU7Cj4gIAltdXRleF91bmxvY2soJmRldi0+c3Ry dWN0X211dGV4KTsKPiAgCj4gLQlpZiAodW5saWtlbHkocmV0KSkKPiAtCQlEUk1fRVJST1IoInVu YWJsZSB0byBmbHVzaCBidWZmZXIgZm9sbG93aW5nIENQVSBhY2Nlc3M7IHJlbmRlcmluZyBtYXkg YmUgY29ycnVwdFxuIik7Cj4gKwlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qg c3RydWN0IGRtYV9idWZfb3BzIGk5MTVfZG1hYnVmX29wcyA9ICB7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtX2RtYWJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9nZW1fZG1hYnVmLmMKPiBpbmRleCAzY2Y4YWFiMjNhMzkuLmFmMjY3YzM1 ZDgxMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFi dWYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtX2RtYWJ1Zi5jCj4g QEAgLTk3LDExICs5NywxMiBAQCBzdGF0aWMgaW50IG9tYXBfZ2VtX2RtYWJ1Zl9iZWdpbl9jcHVf YWNjZXNzKHN0cnVjdCBkbWFfYnVmICpidWZmZXIsCj4gIAlyZXR1cm4gb21hcF9nZW1fZ2V0X3Bh Z2VzKG9iaiwgJnBhZ2VzLCB0cnVlKTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgb21hcF9nZW1f ZG1hYnVmX2VuZF9jcHVfYWNjZXNzKHN0cnVjdCBkbWFfYnVmICpidWZmZXIsCj4gLQkJZW51bSBk bWFfZGF0YV9kaXJlY3Rpb24gZGlyKQo+ICtzdGF0aWMgaW50IG9tYXBfZ2VtX2RtYWJ1Zl9lbmRf Y3B1X2FjY2VzcyhzdHJ1Y3QgZG1hX2J1ZiAqYnVmZmVyLAo+ICsJCQkJCSAgZW51bSBkbWFfZGF0 YV9kaXJlY3Rpb24gZGlyKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiA9IGJ1 ZmZlci0+cHJpdjsKPiAgCW9tYXBfZ2VtX3B1dF9wYWdlcyhvYmopOwo+ICsJcmV0dXJuIDA7Cj4g IH0KPiAgCj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9mYi5jIGIv ZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZmIuYwo+IGluZGV4IGM0Mjc0OTkxMzNkNi4uMzMyMzlh MmIyNjRhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9mYi5jCj4gQEAgLTQyMyw4ICs0MjMsOCBAQCBzdGF0 aWMgaW50IHVkbF91c2VyX2ZyYW1lYnVmZmVyX2RpcnR5KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiLAo+ICAJfQo+ICAKPiAgCWlmICh1ZmItPm9iai0+YmFzZS5pbXBvcnRfYXR0YWNoKSB7Cj4g LQkJZG1hX2J1Zl9lbmRfY3B1X2FjY2Vzcyh1ZmItPm9iai0+YmFzZS5pbXBvcnRfYXR0YWNoLT5k bWFidWYsCj4gLQkJCQkgICAgICAgRE1BX0ZST01fREVWSUNFKTsKPiArCQlyZXQgPSBkbWFfYnVm X2VuZF9jcHVfYWNjZXNzKHVmYi0+b2JqLT5iYXNlLmltcG9ydF9hdHRhY2gtPmRtYWJ1ZiwKPiAr CQkJCQkgICAgIERNQV9GUk9NX0RFVklDRSk7Cj4gIAl9Cj4gIAo+ICAgdW5sb2NrOgo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLmMgYi9kcml2ZXJzL3N0YWdp bmcvYW5kcm9pZC9pb24vaW9uLmMKPiBpbmRleCAwNzU0YTM3Yzk2NzQuLjQ5NDM2YjQ1MTBmNCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLmMKPiArKysgYi9k cml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9pb24vaW9uLmMKPiBAQCAtMTA3NSwxNCArMTA3NSwxNiBA QCBzdGF0aWMgaW50IGlvbl9kbWFfYnVmX2JlZ2luX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYg KmRtYWJ1ZiwKPiAgCXJldHVybiBQVFJfRVJSX09SX1pFUk8odmFkZHIpOwo+ICB9Cj4gIAo+IC1z dGF0aWMgdm9pZCBpb25fZG1hX2J1Zl9lbmRfY3B1X2FjY2VzcyhzdHJ1Y3QgZG1hX2J1ZiAqZG1h YnVmLAo+IC0JCQkJICAgICAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcmVjdGlvbikKPiAr c3RhdGljIGludCBpb25fZG1hX2J1Zl9lbmRfY3B1X2FjY2VzcyhzdHJ1Y3QgZG1hX2J1ZiAqZG1h YnVmLAo+ICsJCQkJICAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyZWN0aW9uKQo+ICB7 Cj4gIAlzdHJ1Y3QgaW9uX2J1ZmZlciAqYnVmZmVyID0gZG1hYnVmLT5wcml2Owo+ICAKPiAgCW11 dGV4X2xvY2soJmJ1ZmZlci0+bG9jayk7Cj4gIAlpb25fYnVmZmVyX2ttYXBfcHV0KGJ1ZmZlcik7 Cj4gIAltdXRleF91bmxvY2soJmJ1ZmZlci0+bG9jayk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gIH0K PiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZG1hX2J1Zl9vcHMgZG1hX2J1Zl9vcHMgPSB7Cj4gZGlmZiAt LWdpdCBhL2luY2x1ZGUvbGludXgvZG1hLWJ1Zi5oIGIvaW5jbHVkZS9saW51eC9kbWEtYnVmLmgK PiBpbmRleCA1MzIxMDhlYTBjMWMuLjNmZTkwZDQ5NGVkYiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRl L2xpbnV4L2RtYS1idWYuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvZG1hLWJ1Zi5oCj4gQEAgLTk0 LDcgKzk0LDcgQEAgc3RydWN0IGRtYV9idWZfb3BzIHsKPiAgCXZvaWQgKCpyZWxlYXNlKShzdHJ1 Y3QgZG1hX2J1ZiAqKTsKPiAgCj4gIAlpbnQgKCpiZWdpbl9jcHVfYWNjZXNzKShzdHJ1Y3QgZG1h X2J1ZiAqLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbik7Cj4gLQl2b2lkICgqZW5kX2NwdV9hY2Nl c3MpKHN0cnVjdCBkbWFfYnVmICosIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uKTsKPiArCWludCAo KmVuZF9jcHVfYWNjZXNzKShzdHJ1Y3QgZG1hX2J1ZiAqLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlv bik7Cj4gIAl2b2lkICooKmttYXBfYXRvbWljKShzdHJ1Y3QgZG1hX2J1ZiAqLCB1bnNpZ25lZCBs b25nKTsKPiAgCXZvaWQgKCprdW5tYXBfYXRvbWljKShzdHJ1Y3QgZG1hX2J1ZiAqLCB1bnNpZ25l ZCBsb25nLCB2b2lkICopOwo+ICAJdm9pZCAqKCprbWFwKShzdHJ1Y3QgZG1hX2J1ZiAqLCB1bnNp Z25lZCBsb25nKTsKPiBAQCAtMjI0LDggKzIyNCw4IEBAIHZvaWQgZG1hX2J1Zl91bm1hcF9hdHRh Y2htZW50KHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKiwgc3RydWN0IHNnX3RhYmxlICosCj4g IAkJCQllbnVtIGRtYV9kYXRhX2RpcmVjdGlvbik7Cj4gIGludCBkbWFfYnVmX2JlZ2luX2NwdV9h Y2Nlc3Moc3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4gIAkJCSAgICAgZW51bSBkbWFfZGF0YV9k aXJlY3Rpb24gZGlyKTsKPiAtdm9pZCBkbWFfYnVmX2VuZF9jcHVfYWNjZXNzKHN0cnVjdCBkbWFf YnVmICpkbWFfYnVmLAo+IC0JCQkgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKTsKPiAr aW50IGRtYV9idWZfZW5kX2NwdV9hY2Nlc3Moc3RydWN0IGRtYV9idWYgKmRtYV9idWYsCj4gKwkJ CSAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcik7Cj4gIHZvaWQgKmRtYV9idWZfa21hcF9h dG9taWMoc3RydWN0IGRtYV9idWYgKiwgdW5zaWduZWQgbG9uZyk7Cj4gIHZvaWQgZG1hX2J1Zl9r dW5tYXBfYXRvbWljKHN0cnVjdCBkbWFfYnVmICosIHVuc2lnbmVkIGxvbmcsIHZvaWQgKik7Cj4g IHZvaWQgKmRtYV9idWZfa21hcChzdHJ1Y3QgZG1hX2J1ZiAqLCB1bnNpZ25lZCBsb25nKTsKPiAt LSAKPiAyLjguMC5yYzMKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRl bCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK