From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH] drm/amdgpu: Modify the argument of emit_ib interface Date: Tue, 23 Oct 2018 14:09:00 +0200 Message-ID: <331a74c1-2dac-52e4-363f-eaed2b1c9aa3@gmail.com> References: <1540296077-9971-1-git-send-email-Rex.Zhu@amd.com> Reply-To: christian.koenig-5C7GfCeVMHo@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1540296077-9971-1-git-send-email-Rex.Zhu-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Rex Zhu , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org QW0gMjMuMTAuMTggdW0gMTQ6MDEgc2NocmllYiBSZXggWmh1Ogo+IHVzZSB0aGUgcG9pbnQgb2Yg c3RydWN0IGFtZGdwdV9qb2IgYXMgdGhlIGZ1bmN0aW9uCj4gYXJndW1lbnQgaW5zdGFuZCBvZiB2 bWlkLCBzbyB0aGUgb3RoZXIgbWVtYmVycyBvZgo+IHN0cnVjdCBhbWRncHVfam9iIGNhbiBiZSB2 aXNpdCBpbiBlbWl0X2liIGZ1bmN0aW9uLgo+Cj4gU2lnbmVkLW9mZi1ieTogUmV4IFpodSA8UmV4 LlpodUBhbWQuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2liLmMgICB8ICAzICstLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jp bmcuaCB8ICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMg IHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuaCAgfCAg MiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX3NkbWEuYyAgICB8ICAzICsr LQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y2XzAuYyAgICB8ICAzICsrLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYyAgICB8ICA2ICsrKystLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYyAgICB8ICA2ICsrKystLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y5XzAuYyAgICB8IDI0ICsrKysrKysr KysrKystLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92Ml80 LmMgICB8ICA0ICsrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjNfMC5j ICAgfCAgNCArKystCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYyAg IHwgIDQgKysrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lfZG1hLmMgICAgICB8 ICAzICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y0XzIuYyAgICB8ICAy ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjVfMC5jICAgIHwgIDIgKy0K PiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92Nl8wLmMgICAgfCAgOCArKysrKyst LQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y3XzAuYyAgICB8ICA3ICsrKysr LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92M18wLmMgICAgfCAgNCArKyst Cj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjRfMC5jICAgIHwgIDQgKysrLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNuX3YxXzAuYyAgICB8IDEwICsrKysrKyst LS0KPiAgIDIwIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygt KQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pYi5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2liLmMKPiBpbmRleCBiODk2M2I3 Li4wYjIyN2NhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9pYi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2liLmMKPiBA QCAtMjIxLDggKzIyMSw3IEBAIGludCBhbWRncHVfaWJfc2NoZWR1bGUoc3RydWN0IGFtZGdwdV9y aW5nICpyaW5nLCB1bnNpZ25lZCBudW1faWJzLAo+ICAgCQkJIWFtZGdwdV9zcmlvdl92ZihhZGV2 KSkgLyogZm9yIFNSSU9WIHByZWVtcHRpb24sIFByZWFtYmxlIENFIGliIG11c3QgYmUgaW5zZXJ0 ZWQgYW55d2F5ICovCj4gICAJCQljb250aW51ZTsKPiAgIAo+IC0JCWFtZGdwdV9yaW5nX2VtaXRf aWIocmluZywgaWIsIGpvYiA/IGpvYi0+dm1pZCA6IDAsCj4gLQkJCQkgICAgbmVlZF9jdHhfc3dp dGNoKTsKPiArCQlhbWRncHVfcmluZ19lbWl0X2liKHJpbmcsIGliLCBqb2IsIG5lZWRfY3R4X3N3 aXRjaCk7Cj4gICAJCW5lZWRfY3R4X3N3aXRjaCA9IGZhbHNlOwo+ICAgCX0KPiAgIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcmluZy5oIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3JpbmcuaAo+IGluZGV4IDNjYjdmYjguLjBmMGY4 ZmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Jpbmcu aAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yaW5nLmgKPiBAQCAt MjI5LDcgKzIyOSw3IEBAIHN0cnVjdCBhbWRncHVfcmluZyB7Cj4gICAjZGVmaW5lIGFtZGdwdV9y aW5nX2dldF9ycHRyKHIpIChyKS0+ZnVuY3MtPmdldF9ycHRyKChyKSkKPiAgICNkZWZpbmUgYW1k Z3B1X3JpbmdfZ2V0X3dwdHIocikgKHIpLT5mdW5jcy0+Z2V0X3dwdHIoKHIpKQo+ICAgI2RlZmlu ZSBhbWRncHVfcmluZ19zZXRfd3B0cihyKSAociktPmZ1bmNzLT5zZXRfd3B0cigocikpCj4gLSNk ZWZpbmUgYW1kZ3B1X3JpbmdfZW1pdF9pYihyLCBpYiwgdm1pZCwgYykgKHIpLT5mdW5jcy0+ZW1p dF9pYigociksIChpYiksICh2bWlkKSwgKGMpKQo+ICsjZGVmaW5lIGFtZGdwdV9yaW5nX2VtaXRf aWIociwgaWIsIGpvYiwgYykgKChyKS0+ZnVuY3MtPmVtaXRfaWIoKHIpLCAoaWIpLCAoam9iKSwg KGMpKSkKPiAgICNkZWZpbmUgYW1kZ3B1X3JpbmdfZW1pdF9waXBlbGluZV9zeW5jKHIpIChyKS0+ ZnVuY3MtPmVtaXRfcGlwZWxpbmVfc3luYygocikpCj4gICAjZGVmaW5lIGFtZGdwdV9yaW5nX2Vt aXRfdm1fZmx1c2gociwgdm1pZCwgYWRkcikgKHIpLT5mdW5jcy0+ZW1pdF92bV9mbHVzaCgociks ICh2bWlkKSwgKGFkZHIpKQo+ICAgI2RlZmluZSBhbWRncHVfcmluZ19lbWl0X2ZlbmNlKHIsIGFk ZHIsIHNlcSwgZmxhZ3MpIChyKS0+ZnVuY3MtPmVtaXRfZmVuY2UoKHIpLCAoYWRkciksIChzZXEp LCAoZmxhZ3MpKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdmNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMKPiBpbmRl eCA4NGRkNTUwLi44Zjk4NjQxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV92Y2UuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV92Y2UuYwo+IEBAIC0xMDMyLDcgKzEwMzIsNyBAQCBpbnQgYW1kZ3B1X3ZjZV9yaW5nX3BhcnNl X2NzX3ZtKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLCB1aW50MzJfdCBpYl9pZHgpCj4gICAg Kgo+ICAgICovCj4gICB2b2lkIGFtZGdwdV92Y2VfcmluZ19lbWl0X2liKHN0cnVjdCBhbWRncHVf cmluZyAqcmluZywgc3RydWN0IGFtZGdwdV9pYiAqaWIsCj4gLQkJCSAgICAgdW5zaWduZWQgdm1p ZCwgYm9vbCBjdHhfc3dpdGNoKQo+ICsJCQkJCXN0cnVjdCBhbWRncHVfam9iICpqb2IsIGJvb2wg Y3R4X3N3aXRjaCkKClRoZSBpbmRlbnRhdGlvbiBoZXJlIGxvb2tzIHdyb25nIG9uIGZpcnN0IGds YW5jZS4KCkFkZGl0aW9uYWwgdG8gdGhhdCBJIHdvdWxkIHB1dCB0aGUgam9iIGJlZm9yZSB0aGUg SUIgaW4gdGhlIHBhcmFtZXRlciAKbGlzdCBiZWNhdXNlIGl0IGlzIHRoZSBjb250YWluaW5nIG9i amVjdC4KCj4gICB7Cj4gICAJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgVkNFX0NNRF9JQik7Cj4g ICAJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgbG93ZXJfMzJfYml0cyhpYi0+Z3B1X2FkZHIpKTsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5oIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5oCj4gaW5kZXggYTFmMjA5ZS4u MDZkNmQ4NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf dmNlLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmgKPiBA QCAtNjYsNyArNjYsNyBAQCBpbnQgYW1kZ3B1X3ZjZV9nZXRfZGVzdHJveV9tc2coc3RydWN0IGFt ZGdwdV9yaW5nICpyaW5nLCB1aW50MzJfdCBoYW5kbGUsCj4gICBpbnQgYW1kZ3B1X3ZjZV9yaW5n X3BhcnNlX2NzKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLCB1aW50MzJfdCBpYl9pZHgpOwo+ ICAgaW50IGFtZGdwdV92Y2VfcmluZ19wYXJzZV9jc192bShzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNl ciAqcCwgdWludDMyX3QgaWJfaWR4KTsKPiAgIHZvaWQgYW1kZ3B1X3ZjZV9yaW5nX2VtaXRfaWIo c3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCBzdHJ1Y3QgYW1kZ3B1X2liICppYiwKPiAtCQkJICAg ICB1bnNpZ25lZCB2bWlkLCBib29sIGN0eF9zd2l0Y2gpOwo+ICsJCQkJc3RydWN0IGFtZGdwdV9q b2IgKmpvYiwgYm9vbCBjdHhfc3dpdGNoKTsKPiAgIHZvaWQgYW1kZ3B1X3ZjZV9yaW5nX2VtaXRf ZmVuY2Uoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1NjQgYWRkciwgdTY0IHNlcSwKPiAgIAkJ CQl1bnNpZ25lZCBmbGFncyk7Cj4gICBpbnQgYW1kZ3B1X3ZjZV9yaW5nX3Rlc3RfcmluZyhzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9jaWtfc2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX3NkbWEu Ywo+IGluZGV4IDMyZWI0M2QuLjcwZDQ0MTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvY2lrX3NkbWEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2Npa19zZG1hLmMKPiBAQCAtMjE5LDggKzIxOSw5IEBAIHN0YXRpYyB2b2lkIGNpa19zZG1hX3Jp bmdfaW5zZXJ0X25vcChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVpbnQzMl90IGNvdW50KQo+ ICAgICovCj4gICBzdGF0aWMgdm9pZCBjaWtfc2RtYV9yaW5nX2VtaXRfaWIoc3RydWN0IGFtZGdw dV9yaW5nICpyaW5nLAo+ICAgCQkJCSAgc3RydWN0IGFtZGdwdV9pYiAqaWIsCj4gLQkJCQkgIHVu c2lnbmVkIHZtaWQsIGJvb2wgY3R4X3N3aXRjaCkKPiArCQkJCSAgc3RydWN0IGFtZGdwdV9qb2Ig KmpvYiwgYm9vbCBjdHhfc3dpdGNoKQo+ICAgewo+ICsJdW5zaWduZWQgdm1pZCA9IGpvYiA/IGpv Yi0+dm1pZCA6IDA7CgpJJ20gbm90IDEwMCUgc3VyZSBpZiBkdXBsaWNhdGluZyB0aGlzIGxvZ2lj IG92ZXIgYW5kIG92ZXIgYWdhaW4gaXMgc3VjaCAKYSBnb29kIGlkZWEuCgpNYXliZSBpbmRlZWQg cHJvdmlkZSB0aGUgQ1NBIGFkZHJlc3MgYXMgcGFyYW1ldGVyIGluc3RlYWQuIEl0IGRvZXNuJ3Qg CnJlYWxseSBtYXR0ZXIgdGhhdCBpdCBpcyB1bnVzZWQgYnkgbW9zdCBJUCBibG9jayBpbXBsZW1l bnRhdGlvbnMuCgpBbHRlcm5hdGl2ZSBpcyB0byB1c2UgYSB3cmFwcGVyIGZ1bmN0aW9uIHRvIGdl dCB0aGUgVk1JRCBmcm9tIHRoZSBqb2IuCgpSZWdhcmRzLApDaHJpc3RpYW4uCgo+ICAgCXUzMiBl eHRyYV9iaXRzID0gdm1pZCAmIDB4ZjsKPiAgIAo+ICAgCS8qIElCIHBhY2tldCBtdXN0IGVuZCBv biBhIDggRFcgYm91bmRhcnkgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZ2Z4X3Y2XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92Nl8wLmMK PiBpbmRleCA2MjJkZDcwLi4yNjY0ODJmNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nZnhfdjZfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z2Z4X3Y2XzAuYwo+IEBAIC0xODQ2LDggKzE4NDYsOSBAQCBzdGF0aWMgdm9pZCBnZnhfdjZfMF9y aW5nX2VtaXRfZmVuY2Uoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1NjQgYWRkciwKPiAgIAo+ ICAgc3RhdGljIHZvaWQgZ2Z4X3Y2XzBfcmluZ19lbWl0X2liKHN0cnVjdCBhbWRncHVfcmluZyAq cmluZywKPiAgIAkJCQkgIHN0cnVjdCBhbWRncHVfaWIgKmliLAo+IC0JCQkJICB1bnNpZ25lZCB2 bWlkLCBib29sIGN0eF9zd2l0Y2gpCj4gKwkJCQkgIHN0cnVjdCBhbWRncHVfam9iICpqb2IsIGJv b2wgY3R4X3N3aXRjaCkKPiAgIHsKPiArCXVuc2lnbmVkIHZtaWQgPSBqb2IgPyBqb2ItPnZtaWQg OiAwOwo+ICAgCXUzMiBoZWFkZXIsIGNvbnRyb2wgPSAwOwo+ICAgCj4gICAJLyogaW5zZXJ0IFNX SVRDSF9CVUZGRVIgcGFja2V0IGJlZm9yZSBmaXJzdCBJQiBpbiB0aGUgcmluZyBmcmFtZSAqLwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjdfMC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYwo+IGluZGV4IGNmYTQ1ZDkuLmRiY2Q5 Y2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92N18wLmMKPiBAQCAtMjIzNCw4 ICsyMjM0LDkgQEAgc3RhdGljIHZvaWQgZ2Z4X3Y3XzBfcmluZ19lbWl0X2ZlbmNlX2NvbXB1dGUo c3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAo+ICAgICovCj4gICBzdGF0aWMgdm9pZCBnZnhfdjdf MF9yaW5nX2VtaXRfaWJfZ2Z4KHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKPiAgIAkJCQkgICAg ICBzdHJ1Y3QgYW1kZ3B1X2liICppYiwKPiAtCQkJCSAgICAgIHVuc2lnbmVkIHZtaWQsIGJvb2wg Y3R4X3N3aXRjaCkKPiArCQkJCSAgICAgIHN0cnVjdCBhbWRncHVfam9iICpqb2IsIGJvb2wgY3R4 X3N3aXRjaCkKPiAgIHsKPiArCXVuc2lnbmVkIHZtaWQgPSBqb2IgPyBqb2ItPnZtaWQgOiAwOwo+ ICAgCXUzMiBoZWFkZXIsIGNvbnRyb2wgPSAwOwo+ICAgCj4gICAJLyogaW5zZXJ0IFNXSVRDSF9C VUZGRVIgcGFja2V0IGJlZm9yZSBmaXJzdCBJQiBpbiB0aGUgcmluZyBmcmFtZSAqLwo+IEBAIC0y MjYzLDggKzIyNjQsOSBAQCBzdGF0aWMgdm9pZCBnZnhfdjdfMF9yaW5nX2VtaXRfaWJfZ2Z4KHN0 cnVjdCBhbWRncHVfcmluZyAqcmluZywKPiAgIAo+ICAgc3RhdGljIHZvaWQgZ2Z4X3Y3XzBfcmlu Z19lbWl0X2liX2NvbXB1dGUoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAo+ICAgCQkJCQkgIHN0 cnVjdCBhbWRncHVfaWIgKmliLAo+IC0JCQkJCSAgdW5zaWduZWQgdm1pZCwgYm9vbCBjdHhfc3dp dGNoKQo+ICsJCQkJICBzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iLCBib29sIGN0eF9zd2l0Y2gpCj4g ICB7Cj4gKwl1bnNpZ25lZCB2bWlkID0gam9iID8gam9iLT52bWlkIDogMDsKPiAgIAl1MzIgY29u dHJvbCA9IElORElSRUNUX0JVRkZFUl9WQUxJRCB8IGliLT5sZW5ndGhfZHcgfCAodm1pZCA8PCAy NCk7Cj4gICAKPiAgIAlhbWRncHVfcmluZ193cml0ZShyaW5nLCBQQUNLRVQzKFBBQ0tFVDNfSU5E SVJFQ1RfQlVGRkVSLCAyKSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2dmeF92OF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCj4g aW5kZXggZjZjYzBkMy4uMzU1Njc5YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nZnhfdjhfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4 X3Y4XzAuYwo+IEBAIC02MTMwLDggKzYxMzAsOSBAQCBzdGF0aWMgdm9pZCBnZnhfdjhfMF9yaW5n X2VtaXRfdmd0X2ZsdXNoKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykKPiAgIAo+ICAgc3RhdGlj IHZvaWQgZ2Z4X3Y4XzBfcmluZ19lbWl0X2liX2dmeChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcs Cj4gICAJCQkJICAgICAgc3RydWN0IGFtZGdwdV9pYiAqaWIsCj4gLQkJCQkgICAgICB1bnNpZ25l ZCB2bWlkLCBib29sIGN0eF9zd2l0Y2gpCj4gKwkJCQkgIHN0cnVjdCBhbWRncHVfam9iICpqb2Is IGJvb2wgY3R4X3N3aXRjaCkKPiAgIHsKPiArCXVuc2lnbmVkIHZtaWQgPSBqb2IgPyBqb2ItPnZt aWQgOiAwOwo+ICAgCXUzMiBoZWFkZXIsIGNvbnRyb2wgPSAwOwo+ICAgCj4gICAJaWYgKGliLT5m bGFncyAmIEFNREdQVV9JQl9GTEFHX0NFKQo+IEBAIC02MTYwLDggKzYxNjEsOSBAQCBzdGF0aWMg dm9pZCBnZnhfdjhfMF9yaW5nX2VtaXRfaWJfZ2Z4KHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywK PiAgIAo+ICAgc3RhdGljIHZvaWQgZ2Z4X3Y4XzBfcmluZ19lbWl0X2liX2NvbXB1dGUoc3RydWN0 IGFtZGdwdV9yaW5nICpyaW5nLAo+ICAgCQkJCQkgIHN0cnVjdCBhbWRncHVfaWIgKmliLAo+IC0J CQkJCSAgdW5zaWduZWQgdm1pZCwgYm9vbCBjdHhfc3dpdGNoKQo+ICsJCQkJICBzdHJ1Y3QgYW1k Z3B1X2pvYiAqam9iLCBib29sIGN0eF9zd2l0Y2gpCj4gICB7Cj4gKwl1bnNpZ25lZCB2bWlkID0g am9iID8gam9iLT52bWlkIDogMDsKPiAgIAl1MzIgY29udHJvbCA9IElORElSRUNUX0JVRkZFUl9W QUxJRCB8IGliLT5sZW5ndGhfZHcgfCAodm1pZCA8PCAyNCk7Cj4gICAKPiAgIAlhbWRncHVfcmlu Z193cml0ZShyaW5nLCBQQUNLRVQzKFBBQ0tFVDNfSU5ESVJFQ1RfQlVGRkVSLCAyKSk7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjlfMC5jCj4gaW5kZXggZjFiZjBiNy4uMzRiZjQ1YyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjlfMC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y5XzAuYwo+IEBAIC00MDcyLDkgKzQw NzIsMTAgQEAgc3RhdGljIHZvaWQgZ2Z4X3Y5XzBfcmluZ19lbWl0X2hkcF9mbHVzaChzdHJ1Y3Qg YW1kZ3B1X3JpbmcgKnJpbmcpCj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lkIGdmeF92OV8wX3Jp bmdfZW1pdF9pYl9nZngoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAo+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfaWIgKmliLAo+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIHZtaWQsIGJvb2wgY3R4X3N3 aXRjaCkKPiArCQkJCQlzdHJ1Y3QgYW1kZ3B1X2liICppYiwKPiArCQkJCQlzdHJ1Y3QgYW1kZ3B1 X2pvYiAqam9iLCBib29sIGN0eF9zd2l0Y2gpCj4gICB7Cj4gKwl1bnNpZ25lZCB2bWlkID0gam9i ID8gam9iLT52bWlkIDogMDsKPiAgIAl1MzIgaGVhZGVyLCBjb250cm9sID0gMDsKPiAgIAo+ICAg CWlmIChpYi0+ZmxhZ3MgJiBBTURHUFVfSUJfRkxBR19DRSkKPiBAQCAtNDEwMywyMCArNDEwNCwy MSBAQCBzdGF0aWMgdm9pZCBnZnhfdjlfMF9yaW5nX2VtaXRfaWJfZ2Z4KHN0cnVjdCBhbWRncHVf cmluZyAqcmluZywKPiAgIH0KPiAgIAo+ICAgc3RhdGljIHZvaWQgZ2Z4X3Y5XzBfcmluZ19lbWl0 X2liX2NvbXB1dGUoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAo+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2liICppYiwKPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgdm1pZCwgYm9vbCBj dHhfc3dpdGNoKQo+ICsJCQkJCXN0cnVjdCBhbWRncHVfaWIgKmliLAo+ICsJCQkJCXN0cnVjdCBh bWRncHVfam9iICpqb2IsIGJvb2wgY3R4X3N3aXRjaCkKPiAgIHsKPiAtICAgICAgICB1MzIgY29u dHJvbCA9IElORElSRUNUX0JVRkZFUl9WQUxJRCB8IGliLT5sZW5ndGhfZHcgfCAodm1pZCA8PCAy NCk7Cj4gKwl1bnNpZ25lZCB2bWlkID0gam9iID8gam9iLT52bWlkIDogMDsKPiArCXUzMiBjb250 cm9sID0gSU5ESVJFQ1RfQlVGRkVSX1ZBTElEIHwgaWItPmxlbmd0aF9kdyB8ICh2bWlkIDw8IDI0 KTsKPiAgIAo+IC0gICAgICAgIGFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDMoUEFDS0VU M19JTkRJUkVDVF9CVUZGRVIsIDIpKTsKPiArCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tF VDMoUEFDS0VUM19JTkRJUkVDVF9CVUZGRVIsIDIpKTsKPiAgIAlCVUdfT04oaWItPmdwdV9hZGRy ICYgMHgzKTsgLyogRHdvcmQgYWxpZ24gKi8KPiAtICAgICAgICBhbWRncHVfcmluZ193cml0ZShy aW5nLAo+ICsJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywKPiAgICNpZmRlZiBfX0JJR19FTkRJQU4K PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMiA8PCAwKSB8Cj4gKwkJCQkoMiA8 PCAwKSB8Cj4gICAjZW5kaWYKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb3dl cl8zMl9iaXRzKGliLT5ncHVfYWRkcikpOwo+IC0gICAgICAgIGFtZGdwdV9yaW5nX3dyaXRlKHJp bmcsIHVwcGVyXzMyX2JpdHMoaWItPmdwdV9hZGRyKSk7Cj4gLSAgICAgICAgYW1kZ3B1X3Jpbmdf d3JpdGUocmluZywgY29udHJvbCk7Cj4gKwkJCQlsb3dlcl8zMl9iaXRzKGliLT5ncHVfYWRkcikp Owo+ICsJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgdXBwZXJfMzJfYml0cyhpYi0+Z3B1X2FkZHIp KTsKPiArCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIGNvbnRyb2wpOwo+ICAgfQo+ICAgCj4gICBz dGF0aWMgdm9pZCBnZnhfdjlfMF9yaW5nX2VtaXRfZmVuY2Uoc3RydWN0IGFtZGdwdV9yaW5nICpy aW5nLCB1NjQgYWRkciwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv c2RtYV92Ml80LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YyXzQuYwo+IGlu ZGV4IGJlZGJkNWYuLmQyOWYxMjYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvc2RtYV92Ml80LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1h X3YyXzQuYwo+IEBAIC0yNDYsOCArMjQ2LDEwIEBAIHN0YXRpYyB2b2lkIHNkbWFfdjJfNF9yaW5n X2luc2VydF9ub3Aoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1aW50MzJfdCBjb3VudCkKPiAg ICAqLwo+ICAgc3RhdGljIHZvaWQgc2RtYV92Ml80X3JpbmdfZW1pdF9pYihzdHJ1Y3QgYW1kZ3B1 X3JpbmcgKnJpbmcsCj4gICAJCQkJICAgc3RydWN0IGFtZGdwdV9pYiAqaWIsCj4gLQkJCQkgICB1 bnNpZ25lZCB2bWlkLCBib29sIGN0eF9zd2l0Y2gpCj4gKwkJCQkgIHN0cnVjdCBhbWRncHVfam9i ICpqb2IsIGJvb2wgY3R4X3N3aXRjaCkKPiAgIHsKPiArCXVuc2lnbmVkIHZtaWQgPSBqb2IgPyBq b2ItPnZtaWQgOiAwOwo+ICsKPiAgIAkvKiBJQiBwYWNrZXQgbXVzdCBlbmQgb24gYSA4IERXIGJv dW5kYXJ5ICovCj4gICAJc2RtYV92Ml80X3JpbmdfaW5zZXJ0X25vcChyaW5nLCAoMTAgLSAobG93 ZXJfMzJfYml0cyhyaW5nLT53cHRyKSAmIDcpKSAlIDgpOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjNfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvc2RtYV92M18wLmMKPiBpbmRleCA2ZDAzOWI2Li4wNjFlZjVmIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjNfMC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92M18wLmMKPiBAQCAtNDIwLDggKzQyMCwxMCBAQCBz dGF0aWMgdm9pZCBzZG1hX3YzXzBfcmluZ19pbnNlcnRfbm9wKHN0cnVjdCBhbWRncHVfcmluZyAq cmluZywgdWludDMyX3QgY291bnQpCj4gICAgKi8KPiAgIHN0YXRpYyB2b2lkIHNkbWFfdjNfMF9y aW5nX2VtaXRfaWIoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAo+ICAgCQkJCSAgIHN0cnVjdCBh bWRncHVfaWIgKmliLAo+IC0JCQkJICAgdW5zaWduZWQgdm1pZCwgYm9vbCBjdHhfc3dpdGNoKQo+ ICsJCQkJICBzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iLCBib29sIGN0eF9zd2l0Y2gpCj4gICB7Cj4g Kwl1bnNpZ25lZCB2bWlkID0gam9iID8gam9iLT52bWlkIDogMDsKPiArCj4gICAJLyogSUIgcGFj a2V0IG11c3QgZW5kIG9uIGEgOCBEVyBib3VuZGFyeSAqLwo+ICAgCXNkbWFfdjNfMF9yaW5nX2lu c2VydF9ub3AocmluZywgKDEwIC0gKGxvd2VyXzMyX2JpdHMocmluZy0+d3B0cikgJiA3KSkgJSA4 KTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0 XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jCj4gaW5kZXggMmI5 NzIyNC4uNDUyZmVmMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9z ZG1hX3Y0XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5j Cj4gQEAgLTUwMyw4ICs1MDMsMTAgQEAgc3RhdGljIHZvaWQgc2RtYV92NF8wX3JpbmdfaW5zZXJ0 X25vcChzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHVpbnQzMl90IGNvdW50KQo+ICAgICovCj4g ICBzdGF0aWMgdm9pZCBzZG1hX3Y0XzBfcmluZ19lbWl0X2liKHN0cnVjdCBhbWRncHVfcmluZyAq cmluZywKPiAgIAkJCQkJc3RydWN0IGFtZGdwdV9pYiAqaWIsCj4gLQkJCQkJdW5zaWduZWQgdm1p ZCwgYm9vbCBjdHhfc3dpdGNoKQo+ICsJCQkJICBzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iLCBib29s IGN0eF9zd2l0Y2gpCj4gICB7Cj4gKwl1bnNpZ25lZCB2bWlkID0gam9iID8gam9iLT52bWlkIDog MDsKPiArCj4gICAJLyogSUIgcGFja2V0IG11c3QgZW5kIG9uIGEgOCBEVyBib3VuZGFyeSAqLwo+ ICAgCXNkbWFfdjRfMF9yaW5nX2luc2VydF9ub3AocmluZywgKDEwIC0gKGxvd2VyXzMyX2JpdHMo cmluZy0+d3B0cikgJiA3KSkgJSA4KTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zaV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2Rt YS5jCj4gaW5kZXggZDliMjdkNy4uMWJmNTRiMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zaV9kbWEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L3NpX2RtYS5jCj4gQEAgLTYyLDggKzYyLDkgQEAgc3RhdGljIHZvaWQgc2lfZG1hX3Jpbmdfc2V0 X3dwdHIoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQo+ICAgCj4gICBzdGF0aWMgdm9pZCBzaV9k bWFfcmluZ19lbWl0X2liKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKPiAgIAkJCQlzdHJ1Y3Qg YW1kZ3B1X2liICppYiwKPiAtCQkJCXVuc2lnbmVkIHZtaWQsIGJvb2wgY3R4X3N3aXRjaCkKPiAr CQkJCSAgc3RydWN0IGFtZGdwdV9qb2IgKmpvYiwgYm9vbCBjdHhfc3dpdGNoKQo+ICAgewo+ICsJ dW5zaWduZWQgdm1pZCA9IGpvYiA/IGpvYi0+dm1pZCA6IDA7Cj4gICAJLyogVGhlIGluZGlyZWN0 IGJ1ZmZlciBwYWNrZXQgbXVzdCBlbmQgb24gYW4gOCBEVyBib3VuZGFyeSBpbiB0aGUgRE1BIHJp bmcuCj4gICAJICogUGFkIGFzIG5lY2Vzc2FyeSB3aXRoIE5PUHMuCj4gICAJICovCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92NF8yLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS91dmRfdjRfMi5jCj4gaW5kZXggMWZjMTdiZi4uNDcwNmM5MSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjRfMi5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y0XzIuYwo+IEBAIC01MjAsNyArNTIwLDcg QEAgc3RhdGljIGludCB1dmRfdjRfMl9yaW5nX3Rlc3RfcmluZyhzdHJ1Y3QgYW1kZ3B1X3Jpbmcg KnJpbmcpCj4gICAgKi8KPiAgIHN0YXRpYyB2b2lkIHV2ZF92NF8yX3JpbmdfZW1pdF9pYihzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCj4gICAJCQkJICBzdHJ1Y3QgYW1kZ3B1X2liICppYiwKPiAt CQkJCSAgdW5zaWduZWQgdm1pZCwgYm9vbCBjdHhfc3dpdGNoKQo+ICsJCQkJICBzdHJ1Y3QgYW1k Z3B1X2pvYiAqam9iLCBib29sIGN0eF9zd2l0Y2gpCj4gICB7Cj4gICAJYW1kZ3B1X3Jpbmdfd3Jp dGUocmluZywgUEFDS0VUMChtbVVWRF9SQkNfSUJfQkFTRSwgMCkpOwo+ICAgCWFtZGdwdV9yaW5n X3dyaXRlKHJpbmcsIGliLT5ncHVfYWRkcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3V2ZF92NV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRf djVfMC5jCj4gaW5kZXggZmRlNmFkNS4uYjY5YzJhYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS91dmRfdjVfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvdXZkX3Y1XzAuYwo+IEBAIC01MzYsNyArNTM2LDcgQEAgc3RhdGljIGludCB1dmRfdjVf MF9yaW5nX3Rlc3RfcmluZyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCj4gICAgKi8KPiAgIHN0 YXRpYyB2b2lkIHV2ZF92NV8wX3JpbmdfZW1pdF9pYihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcs Cj4gICAJCQkJICBzdHJ1Y3QgYW1kZ3B1X2liICppYiwKPiAtCQkJCSAgdW5zaWduZWQgdm1pZCwg Ym9vbCBjdHhfc3dpdGNoKQo+ICsJCQkJICBzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iLCBib29sIGN0 eF9zd2l0Y2gpCj4gICB7Cj4gICAJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgUEFDS0VUMChtbVVW RF9MTUlfUkJDX0lCXzY0QklUX0JBUl9MT1csIDApKTsKPiAgIAlhbWRncHVfcmluZ193cml0ZShy aW5nLCBsb3dlcl8zMl9iaXRzKGliLT5ncHVfYWRkcikpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvdXZkX3Y2XzAuYwo+IGluZGV4IDdhNWI0MDIuLjM2ZjZiOTYgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y2XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3V2ZF92Nl8wLmMKPiBAQCAtMTAwNSw4ICsxMDA1LDEwIEBAIHN0YXRpYyBp bnQgdXZkX3Y2XzBfcmluZ190ZXN0X3Jpbmcoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQo+ICAg ICovCj4gICBzdGF0aWMgdm9pZCB1dmRfdjZfMF9yaW5nX2VtaXRfaWIoc3RydWN0IGFtZGdwdV9y aW5nICpyaW5nLAo+ICAgCQkJCSAgc3RydWN0IGFtZGdwdV9pYiAqaWIsCj4gLQkJCQkgIHVuc2ln bmVkIHZtaWQsIGJvb2wgY3R4X3N3aXRjaCkKPiArCQkJCSAgc3RydWN0IGFtZGdwdV9qb2IgKmpv YiwgYm9vbCBjdHhfc3dpdGNoKQo+ICAgewo+ICsJdW5zaWduZWQgdm1pZCA9IGpvYiA/IGpvYi0+ dm1pZCA6IDA7Cj4gKwo+ICAgCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFBBQ0tFVDAobW1VVkRf TE1JX1JCQ19JQl9WTUlELCAwKSk7Cj4gICAJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywgdm1pZCk7 Cj4gICAKPiBAQCAtMTAyNyw4ICsxMDI5LDEwIEBAIHN0YXRpYyB2b2lkIHV2ZF92Nl8wX3Jpbmdf ZW1pdF9pYihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCj4gICAgKiBXcml0ZSBlbmMgcmluZyBj b21tYW5kcyB0byBleGVjdXRlIHRoZSBpbmRpcmVjdCBidWZmZXIKPiAgICAqLwo+ICAgc3RhdGlj IHZvaWQgdXZkX3Y2XzBfZW5jX3JpbmdfZW1pdF9pYihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcs Cj4gLQkJc3RydWN0IGFtZGdwdV9pYiAqaWIsIHVuc2lnbmVkIGludCB2bWlkLCBib29sIGN0eF9z d2l0Y2gpCj4gKwkJc3RydWN0IGFtZGdwdV9pYiAqaWIsIHN0cnVjdCBhbWRncHVfam9iICpqb2Is IGJvb2wgY3R4X3N3aXRjaCkKPiAgIHsKPiArCXVuc2lnbmVkIHZtaWQgPSBqb2IgPyBqb2ItPnZt aWQgOiAwOwo+ICsKPiAgIAlhbWRncHVfcmluZ193cml0ZShyaW5nLCBIRVZDX0VOQ19DTURfSUJf Vk0pOwo+ICAgCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIHZtaWQpOwo+ICAgCWFtZGdwdV9yaW5n X3dyaXRlKHJpbmcsIGxvd2VyXzMyX2JpdHMoaWItPmdwdV9hZGRyKSk7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92N18wLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS91dmRfdjdfMC5jCj4gaW5kZXggNThiMzlhZi4uYmVkYTQ5MiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjdfMC5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y3XzAuYwo+IEBAIC0xMzAxLDkgKzEzMDEsMTAgQEAg c3RhdGljIGludCB1dmRfdjdfMF9yaW5nX3BhdGNoX2NzX2luX3BsYWNlKHN0cnVjdCBhbWRncHVf Y3NfcGFyc2VyICpwLAo+ICAgICovCj4gICBzdGF0aWMgdm9pZCB1dmRfdjdfMF9yaW5nX2VtaXRf aWIoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAo+ICAgCQkJCSAgc3RydWN0IGFtZGdwdV9pYiAq aWIsCj4gLQkJCQkgIHVuc2lnbmVkIHZtaWQsIGJvb2wgY3R4X3N3aXRjaCkKPiArCQkJCSAgc3Ry dWN0IGFtZGdwdV9qb2IgKmpvYiwgYm9vbCBjdHhfc3dpdGNoKQo+ICAgewo+ICAgCXN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2ID0gcmluZy0+YWRldjsKPiArCXVuc2lnbmVkIHZtaWQgPSBqb2Ig PyBqb2ItPnZtaWQgOiAwOwo+ICAgCj4gICAJYW1kZ3B1X3Jpbmdfd3JpdGUocmluZywKPiAgIAkJ UEFDS0VUMChTT0MxNV9SRUdfT0ZGU0VUKFVWRCwgcmluZy0+bWUsIG1tVVZEX0xNSV9SQkNfSUJf Vk1JRCksIDApKTsKPiBAQCAtMTMyOSw4ICsxMzMwLDEwIEBAIHN0YXRpYyB2b2lkIHV2ZF92N18w X3JpbmdfZW1pdF9pYihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCj4gICAgKiBXcml0ZSBlbmMg cmluZyBjb21tYW5kcyB0byBleGVjdXRlIHRoZSBpbmRpcmVjdCBidWZmZXIKPiAgICAqLwo+ICAg c3RhdGljIHZvaWQgdXZkX3Y3XzBfZW5jX3JpbmdfZW1pdF9pYihzdHJ1Y3QgYW1kZ3B1X3Jpbmcg KnJpbmcsCj4gLQkJc3RydWN0IGFtZGdwdV9pYiAqaWIsIHVuc2lnbmVkIGludCB2bWlkLCBib29s IGN0eF9zd2l0Y2gpCj4gKwkJc3RydWN0IGFtZGdwdV9pYiAqaWIsIHN0cnVjdCBhbWRncHVfam9i ICpqb2IsIGJvb2wgY3R4X3N3aXRjaCkKPiAgIHsKPiArCXVuc2lnbmVkIHZtaWQgPSBqb2IgPyBq b2ItPnZtaWQgOiAwOwo+ICsKPiAgIAlhbWRncHVfcmluZ193cml0ZShyaW5nLCBIRVZDX0VOQ19D TURfSUJfVk0pOwo+ICAgCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIHZtaWQpOwo+ICAgCWFtZGdw dV9yaW5nX3dyaXRlKHJpbmcsIGxvd2VyXzMyX2JpdHMoaWItPmdwdV9hZGRyKSk7Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92M18wLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS92Y2VfdjNfMC5jCj4gaW5kZXggYTFmZWVhMC4uMjY2NjFiZiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjNfMC5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3YzXzAuYwo+IEBAIC04NDksOCArODQ5LDEw IEBAIHN0YXRpYyB2b2lkIHZjZV92M18wX2dldF9jbG9ja2dhdGluZ19zdGF0ZSh2b2lkICpoYW5k bGUsIHUzMiAqZmxhZ3MpCj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lkIHZjZV92M18wX3Jpbmdf ZW1pdF9pYihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCj4gLQkJc3RydWN0IGFtZGdwdV9pYiAq aWIsIHVuc2lnbmVkIGludCB2bWlkLCBib29sIGN0eF9zd2l0Y2gpCj4gKwkJc3RydWN0IGFtZGdw dV9pYiAqaWIsIHN0cnVjdCBhbWRncHVfam9iICpqb2IsIGJvb2wgY3R4X3N3aXRjaCkKPiAgIHsK PiArCXVuc2lnbmVkIHZtaWQgPSBqb2IgPyBqb2ItPnZtaWQgOiAwOwo+ICsKPiAgIAlhbWRncHVf cmluZ193cml0ZShyaW5nLCBWQ0VfQ01EX0lCX1ZNKTsKPiAgIAlhbWRncHVfcmluZ193cml0ZShy aW5nLCB2bWlkKTsKPiAgIAlhbWRncHVfcmluZ193cml0ZShyaW5nLCBsb3dlcl8zMl9iaXRzKGli LT5ncHVfYWRkcikpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92 Y2VfdjRfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3Y0XzAuYwo+IGluZGV4 IDFjOTQ3MTguLmU1MzFjZmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvdmNlX3Y0XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92NF8w LmMKPiBAQCAtOTUyLDggKzk1MiwxMCBAQCBzdGF0aWMgaW50IHZjZV92NF8wX3NldF9wb3dlcmdh dGluZ19zdGF0ZSh2b2lkICpoYW5kbGUsCj4gICAjZW5kaWYKPiAgIAo+ICAgc3RhdGljIHZvaWQg dmNlX3Y0XzBfcmluZ19lbWl0X2liKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKPiAtCQlzdHJ1 Y3QgYW1kZ3B1X2liICppYiwgdW5zaWduZWQgaW50IHZtaWQsIGJvb2wgY3R4X3N3aXRjaCkKPiAr CQlzdHJ1Y3QgYW1kZ3B1X2liICppYiwgc3RydWN0IGFtZGdwdV9qb2IgKmpvYiwgYm9vbCBjdHhf c3dpdGNoKQo+ICAgewo+ICsJdW5zaWduZWQgdm1pZCA9IGpvYiA/IGpvYi0+dm1pZCA6IDA7Cj4g Kwo+ICAgCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFZDRV9DTURfSUJfVk0pOwo+ICAgCWFtZGdw dV9yaW5nX3dyaXRlKHJpbmcsIHZtaWQpOwo+ICAgCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIGxv d2VyXzMyX2JpdHMoaWItPmdwdV9hZGRyKSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3Zjbl92MV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y25f djFfMC5jCj4gaW5kZXggZWFlOTA5Mi4uZjdhYmY1YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS92Y25fdjFfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvdmNuX3YxXzAuYwo+IEBAIC0xMzY3LDkgKzEzNjcsMTAgQEAgc3RhdGljIHZvaWQgdmNu X3YxXzBfZGVjX3JpbmdfZW1pdF9mZW5jZShzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIHU2NCBh ZGRyLCB1NjQKPiAgICAqLwo+ICAgc3RhdGljIHZvaWQgdmNuX3YxXzBfZGVjX3JpbmdfZW1pdF9p YihzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCj4gICAJCQkJICBzdHJ1Y3QgYW1kZ3B1X2liICpp YiwKPiAtCQkJCSAgdW5zaWduZWQgdm1pZCwgYm9vbCBjdHhfc3dpdGNoKQo+ICsJCQkJICBzdHJ1 Y3QgYW1kZ3B1X2pvYiAqam9iLCBib29sIGN0eF9zd2l0Y2gpCj4gICB7Cj4gICAJc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYgPSByaW5nLT5hZGV2Owo+ICsJdW5zaWduZWQgdm1pZCA9IGpvYiA/ IGpvYi0+dm1pZCA6IDA7Cj4gICAKPiAgIAlhbWRncHVfcmluZ193cml0ZShyaW5nLAo+ICAgCQlQ QUNLRVQwKFNPQzE1X1JFR19PRkZTRVQoVVZELCAwLCBtbVVWRF9MTUlfUkJDX0lCX1ZNSUQpLCAw KSk7Cj4gQEAgLTE1MjQsOCArMTUyNSwxMCBAQCBzdGF0aWMgdm9pZCB2Y25fdjFfMF9lbmNfcmlu Z19pbnNlcnRfZW5kKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZykKPiAgICAqIFdyaXRlIGVuYyBy aW5nIGNvbW1hbmRzIHRvIGV4ZWN1dGUgdGhlIGluZGlyZWN0IGJ1ZmZlcgo+ICAgICovCj4gICBz dGF0aWMgdm9pZCB2Y25fdjFfMF9lbmNfcmluZ19lbWl0X2liKHN0cnVjdCBhbWRncHVfcmluZyAq cmluZywKPiAtCQlzdHJ1Y3QgYW1kZ3B1X2liICppYiwgdW5zaWduZWQgaW50IHZtaWQsIGJvb2wg Y3R4X3N3aXRjaCkKPiArCQlzdHJ1Y3QgYW1kZ3B1X2liICppYiwgc3RydWN0IGFtZGdwdV9qb2Ig KmpvYiwgYm9vbCBjdHhfc3dpdGNoKQo+ICAgewo+ICsJdW5zaWduZWQgdm1pZCA9IGpvYiA/IGpv Yi0+dm1pZCA6IDA7Cj4gKwo+ICAgCWFtZGdwdV9yaW5nX3dyaXRlKHJpbmcsIFZDTl9FTkNfQ01E X0lCKTsKPiAgIAlhbWRncHVfcmluZ193cml0ZShyaW5nLCB2bWlkKTsKPiAgIAlhbWRncHVfcmlu Z193cml0ZShyaW5nLCBsb3dlcl8zMl9iaXRzKGliLT5ncHVfYWRkcikpOwo+IEBAIC0xNzI2LDkg KzE3MjksMTAgQEAgc3RhdGljIHZvaWQgdmNuX3YxXzBfanBlZ19yaW5nX2VtaXRfZmVuY2Uoc3Ry dWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1NjQgYWRkciwgdTYKPiAgICAqLwo+ICAgc3RhdGljIHZv aWQgdmNuX3YxXzBfanBlZ19yaW5nX2VtaXRfaWIoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLAo+ ICAgCQkJCSAgc3RydWN0IGFtZGdwdV9pYiAqaWIsCj4gLQkJCQkgIHVuc2lnbmVkIHZtaWQsIGJv b2wgY3R4X3N3aXRjaCkKPiArCQkJCSAgc3RydWN0IGFtZGdwdV9qb2IgKmpvYiwgYm9vbCBjdHhf c3dpdGNoKQo+ICAgewo+ICAgCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gcmluZy0+YWRl djsKPiArCXVuc2lnbmVkIHZtaWQgPSBqb2IgPyBqb2ItPnZtaWQgOiAwOwo+ICAgCj4gICAJYW1k Z3B1X3Jpbmdfd3JpdGUocmluZywKPiAgIAkJUEFDS0VUSihTT0MxNV9SRUdfT0ZGU0VUKFVWRCwg MCwgbW1VVkRfTE1JX0pSQkNfSUJfVk1JRCksIDAsIDAsIFBBQ0tFVEpfVFlQRTApKTsKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGlu ZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=