From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [CI 2/7] drm/i915/guc: Move GuC workqueue allocations outside of the mutex Date: Wed, 13 Dec 2017 23:13:47 +0100 Message-ID: <20171213221352.7173-2-michal.winiarski@intel.com> References: <20171213221352.7173-1-michal.winiarski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id CBCDF6E5F2 for ; Wed, 13 Dec 2017 22:14:46 +0000 (UTC) In-Reply-To: <20171213221352.7173-1-michal.winiarski@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBnZXRzIHJpZCBvZiB0aGUgZm9sbG93aW5nIGxvY2tkZXAgc3BsYXQ6Cgo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KV0FSTklORzogcG9z c2libGUgY2lyY3VsYXIgbG9ja2luZyBkZXBlbmRlbmN5IGRldGVjdGVkCjQuMTUuMC1yYzItQ0kt UGF0Y2h3b3JrXzc0MjgrICMxIE5vdCB0YWludGVkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkZWJ1Z2ZzX3Rlc3QvMTM1MSBpcyB0cnlpbmcg dG8gYWNxdWlyZSBsb2NrOgogKCZkZXYtPnN0cnVjdF9tdXRleCl7Ky4rLn0sIGF0OiBbPDAwMDAw MDAwOWQ5MGQxYTM+XSBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZSsweDQ3LzB4MTMwIFtp OTE1XQoKYnV0IHRhc2sgaXMgYWxyZWFkeSBob2xkaW5nIGxvY2s6CiAoJm1tLT5tbWFwX3NlbSl7 KysrK30sIGF0OiBbPDAwMDAwMDAwNWRmMDFjMWU+XSBfX2RvX3BhZ2VfZmF1bHQrMHgxMDYvMHg1 NjAKCndoaWNoIGxvY2sgYWxyZWFkeSBkZXBlbmRzIG9uIHRoZSBuZXcgbG9jay4KCnRoZSBleGlz dGluZyBkZXBlbmRlbmN5IGNoYWluIChpbiByZXZlcnNlIG9yZGVyKSBpczoKCi0+ICM2ICgmbW0t Pm1tYXBfc2VtKXsrKysrfToKICAgICAgIF9fbWlnaHRfZmF1bHQrMHg2My8weDkwCiAgICAgICBf Y29weV90b191c2VyKzB4MWUvMHg3MAogICAgICAgZmlsbGRpcisweDhjLzB4ZjAKICAgICAgIGRj YWNoZV9yZWFkZGlyKzB4ZWIvMHgxNjAKICAgICAgIGl0ZXJhdGVfZGlyKzB4ZTYvMHgxNTAKICAg ICAgIFN5U19nZXRkZW50cysweGEwLzB4MTMwCiAgICAgICBlbnRyeV9TWVNDQUxMXzY0X2Zhc3Rw YXRoKzB4MWMvMHg4OQoKLT4gIzUgKCZzYi0+c190eXBlLT5pX211dGV4X2tleSM1KXsrKysrfToK ICAgICAgIGxvY2tyZWZfZ2V0KzB4OS8weDIwCgotPiAjNCAoKGNvbXBsZXRpb24pJnJlcS5kb25l KXsrLisufToKICAgICAgIHdhaXRfZm9yX2NvbW1vbisweDU0LzB4MjEwCiAgICAgICBkZXZ0bXBm c19jcmVhdGVfbm9kZSsweDEzMC8weDE1MAogICAgICAgZGV2aWNlX2FkZCsweDVhZC8weDVlMAog ICAgICAgZGV2aWNlX2NyZWF0ZV9ncm91cHNfdmFyZ3MrMHhkNC8weGUwCiAgICAgICBkZXZpY2Vf Y3JlYXRlKzB4MzUvMHg0MAogICAgICAgbXNyX2RldmljZV9jcmVhdGUrMHgyMi8weDQwCiAgICAg ICBjcHVocF9pbnZva2VfY2FsbGJhY2srMHhjNS8weGJmMAogICAgICAgY3B1aHBfdGhyZWFkX2Z1 bisweDE2Ny8weDIxMAogICAgICAgc21wYm9vdF90aHJlYWRfZm4rMHgxN2YvMHgyNzAKICAgICAg IGt0aHJlYWQrMHgxNzMvMHgxYjAKICAgICAgIHJldF9mcm9tX2ZvcmsrMHgyNC8weDMwCgotPiAj MyAoY3B1aHBfc3RhdGUtdXApeysuKy59OgogICAgICAgY3B1aHBfaXNzdWVfY2FsbCsweDEzMi8w eDFjMAogICAgICAgX19jcHVocF9zZXR1cF9zdGF0ZV9jcHVzbG9ja2VkKzB4MTJmLzB4MmEwCiAg ICAgICBfX2NwdWhwX3NldHVwX3N0YXRlKzB4M2EvMHg1MAogICAgICAgcGFnZV93cml0ZWJhY2tf aW5pdCsweDNhLzB4NWMKICAgICAgIHN0YXJ0X2tlcm5lbCsweDM5My8weDNlMgogICAgICAgc2Vj b25kYXJ5X3N0YXJ0dXBfNjQrMHhhNS8weGIwCgotPiAjMiAoY3B1aHBfc3RhdGVfbXV0ZXgpeysu Ky59OgogICAgICAgX19tdXRleF9sb2NrKzB4ODEvMHg5YjAKICAgICAgIF9fY3B1aHBfc2V0dXBf c3RhdGVfY3B1c2xvY2tlZCsweDRiLzB4MmEwCiAgICAgICBfX2NwdWhwX3NldHVwX3N0YXRlKzB4 M2EvMHg1MAogICAgICAgcGFnZV9hbGxvY19pbml0KzB4MWYvMHgyNgogICAgICAgc3RhcnRfa2Vy bmVsKzB4MTM5LzB4M2UyCiAgICAgICBzZWNvbmRhcnlfc3RhcnR1cF82NCsweGE1LzB4YjAKCi0+ ICMxIChjcHVfaG90cGx1Z19sb2NrLnJ3X3NlbSl7KysrK306CiAgICAgICBjcHVzX3JlYWRfbG9j aysweDM0LzB4YTAKICAgICAgIGFwcGx5X3dvcmtxdWV1ZV9hdHRycysweGQvMHg0MAogICAgICAg X19hbGxvY193b3JrcXVldWVfa2V5KzB4MmM3LzB4NGUxCiAgICAgICBpbnRlbF9ndWNfc3VibWlz c2lvbl9pbml0KzB4MTBjLzB4NjUwIFtpOTE1XQogICAgICAgaW50ZWxfdWNfaW5pdF9odysweDI5 ZS8weDQ2MCBbaTkxNV0KICAgICAgIGk5MTVfZ2VtX2luaXRfaHcrMHhjYS8weDI5MCBbaTkxNV0K ICAgICAgIGk5MTVfZ2VtX2luaXQrMHgxMTUvMHgzYTAgW2k5MTVdCiAgICAgICBpOTE1X2RyaXZl cl9sb2FkKzB4OWE4LzB4MTZjMCBbaTkxNV0KICAgICAgIGk5MTVfcGNpX3Byb2JlKzB4MmUvMHg5 MCBbaTkxNV0KICAgICAgIHBjaV9kZXZpY2VfcHJvYmUrMHg5Yy8weDEyMAogICAgICAgZHJpdmVy X3Byb2JlX2RldmljZSsweDJhMy8weDQ4MAogICAgICAgX19kcml2ZXJfYXR0YWNoKzB4ZDkvMHhl MAogICAgICAgYnVzX2Zvcl9lYWNoX2RldisweDU3LzB4OTAKICAgICAgIGJ1c19hZGRfZHJpdmVy KzB4MTY4LzB4MjYwCiAgICAgICBkcml2ZXJfcmVnaXN0ZXIrMHg1Mi8weGMwCiAgICAgICBkb19v bmVfaW5pdGNhbGwrMHgzOS8weDE1MAogICAgICAgZG9faW5pdF9tb2R1bGUrMHg1Ni8weDFlZgog ICAgICAgbG9hZF9tb2R1bGUrMHgyMzFjLzB4MmQ3MAogICAgICAgU3lTX2Zpbml0X21vZHVsZSsw eGE1LzB4ZTAKICAgICAgIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxYy8weDg5CgotPiAj MCAoJmRldi0+c3RydWN0X211dGV4KXsrLisufToKICAgICAgIGxvY2tfYWNxdWlyZSsweGFmLzB4 MjAwCiAgICAgICBfX211dGV4X2xvY2srMHg4MS8weDliMAogICAgICAgaTkxNV9tdXRleF9sb2Nr X2ludGVycnVwdGlibGUrMHg0Ny8weDEzMCBbaTkxNV0KICAgICAgIGk5MTVfZ2VtX2ZhdWx0KzB4 MjAxLzB4NzYwIFtpOTE1XQogICAgICAgX19kb19mYXVsdCsweDE1LzB4NzAKICAgICAgIF9faGFu ZGxlX21tX2ZhdWx0KzB4ODViLzB4ZTQwCiAgICAgICBoYW5kbGVfbW1fZmF1bHQrMHgxNGYvMHgy ZjAKICAgICAgIF9fZG9fcGFnZV9mYXVsdCsweDJkMS8weDU2MAogICAgICAgcGFnZV9mYXVsdCsw eDIyLzB4MzAKCm90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6CgpDaGFp biBleGlzdHMgb2Y6CiAgJmRldi0+c3RydWN0X211dGV4IC0tPiAmc2ItPnNfdHlwZS0+aV9tdXRl eF9rZXkjNSAtLT4gJm1tLT5tbWFwX3NlbQoKIFBvc3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5h cmlvOgoKICAgICAgIENQVTAgICAgICAgICAgICAgICAgICAgIENQVTEKICAgICAgIC0tLS0gICAg ICAgICAgICAgICAgICAgIC0tLS0KICBsb2NrKCZtbS0+bW1hcF9zZW0pOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbG9jaygmc2ItPnNfdHlwZS0+aV9tdXRleF9rZXkjNSk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrKCZtbS0+bW1hcF9zZW0pOwogIGxvY2soJmRl di0+c3RydWN0X211dGV4KTsKCiAqKiogREVBRExPQ0sgKioqCgoxIGxvY2sgaGVsZCBieSBkZWJ1 Z2ZzX3Rlc3QvMTM1MToKICMwOiAgKCZtbS0+bW1hcF9zZW0peysrKyt9LCBhdDogWzwwMDAwMDAw MDVkZjAxYzFlPl0gX19kb19wYWdlX2ZhdWx0KzB4MTA2LzB4NTYwCgpzdGFjayBiYWNrdHJhY2U6 CkNQVTogMiBQSUQ6IDEzNTEgQ29tbTogZGVidWdmc190ZXN0IE5vdCB0YWludGVkIDQuMTUuMC1y YzItQ0ktUGF0Y2h3b3JrXzc0MjgrICMxCkhhcmR3YXJlIG5hbWU6ICAgICAgICAgICAgICAgICAg L05VQzZpNVNZQiwgQklPUyBTWVNLTGkzNS44NkEuMDA1Ny4yMDE3LjAxMTkuMTc1OCAwMS8xOS8y MDE3CkNhbGwgVHJhY2U6CiBkdW1wX3N0YWNrKzB4NWYvMHg4NgogcHJpbnRfY2lyY3VsYXJfYnVn KzB4MjMwLzB4M2IwCiBjaGVja19wcmV2X2FkZCsweDQzOS8weDdiMAogPyBsb2NrZGVwX2luaXRf bWFwX2Nyb3NzbG9jaysweDIwLzB4MjAKID8gdW53aW5kX2dldF9yZXR1cm5fYWRkcmVzcysweDE2 LzB4MzAKID8gX19sb2NrX2FjcXVpcmUrMHgxMzg1LzB4MTVhMAogX19sb2NrX2FjcXVpcmUrMHgx Mzg1LzB4MTVhMAogbG9ja19hY3F1aXJlKzB4YWYvMHgyMDAKID8gaTkxNV9tdXRleF9sb2NrX2lu dGVycnVwdGlibGUrMHg0Ny8weDEzMCBbaTkxNV0KIF9fbXV0ZXhfbG9jaysweDgxLzB4OWIwCiA/ IGk5MTVfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKzB4NDcvMHgxMzAgW2k5MTVdCiA/IGk5MTVf bXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKzB4NDcvMHgxMzAgW2k5MTVdCiA/IGk5MTVfbXV0ZXhf bG9ja19pbnRlcnJ1cHRpYmxlKzB4NDcvMHgxMzAgW2k5MTVdCiBpOTE1X211dGV4X2xvY2tfaW50 ZXJydXB0aWJsZSsweDQ3LzB4MTMwIFtpOTE1XQogPyBfX3BtX3J1bnRpbWVfcmVzdW1lKzB4NGYv MHg4MAogaTkxNV9nZW1fZmF1bHQrMHgyMDEvMHg3NjAgW2k5MTVdCiBfX2RvX2ZhdWx0KzB4MTUv MHg3MAogX19oYW5kbGVfbW1fZmF1bHQrMHg4NWIvMHhlNDAKIGhhbmRsZV9tbV9mYXVsdCsweDE0 Zi8weDJmMAogX19kb19wYWdlX2ZhdWx0KzB4MmQxLzB4NTYwCiBwYWdlX2ZhdWx0KzB4MjIvMHgz MApSSVA6IDAwMzM6MHg3Zjk4ZDZmNDkxMTYKUlNQOiAwMDJiOjAwMDA3ZmZkNmZmYzMyNzggRUZM QUdTOiAwMDAxMDI4MwpSQVg6IDAwMDA3Zjk4ZDM5YTJiYzAgUkJYOiAwMDAwMDAwMDAwMDAwMDAw IFJDWDogMDAwMDAwMDAwMDAwMTY4MApSRFg6IDAwMDAwMDAwMDAwMDE2ODAgUlNJOiAwMDAwN2Zm ZDZmZmMzNDAwIFJESTogMDAwMDdmOThkMzlhMmJjMApSQlA6IDAwMDA3ZmZkNmZmYzMzYTAgUjA4 OiAwMDAwMDAwMDAwMDAwMDAwIFIwOTogMDAwMDAwMDAwMDAwMDVhMApSMTA6IDAwMDA1NWU4NDdj MmE4MzAgUjExOiAwMDAwMDAwMDAwMDAwMDAyIFIxMjogMDAwMDAwMDAwMDAwMDAwMQpSMTM6IDAw MDA1NWU4NDdjMWQwNDAgUjE0OiAwMDAwN2ZmZDZmZmMzNDAwIFIxNTogMDAwMDdmOThkNjc1MmJh MAoKdjI6IEluaXQgcHJlZW1wdF93b3JrIHVuY29uZGl0aW9uYWxseSAoQ2hyaXMpCnYzOiBNZW50 aW9uIHRoYXQgd2UgbmVlZCB0aGUgZW5hYmxlX2d1Yz0xIGZvciBsb2NrZGVwIHNwbGF0IChDaHJp cykKClRlc3RjYXNlOiBpZ3QvZGVidWdmc190ZXN0L3JlYWRfYWxsX2VudHJpZXMgIyB3aXRoIGk5 MTUuZW5hYmxlX2d1Yz0xClNpZ25lZC1vZmYtYnk6IE1pY2hhxYIgV2luaWFyc2tpIDxtaWNoYWwu d2luaWFyc2tpQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29u LmNvLnVrPgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwu Y29tPgpDYzogTWljaGFsIFdhamRlY3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+ClJl dmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAgICAgIHwgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICB8ICA0ICsrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ndWMuYyAgICAgICAgICAgIHwgNTcgKysrKysrKysrKysrKysrKysr KysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICAgICAgICAgICAgfCAgMiAr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMgICAgICAgIHwgMjMgLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYyB8IDcwICsr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWNfc3VibWlzc2lvbi5oIHwgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYyAg ICAgICAgICAgICB8IDI2ICsrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91 Yy5oICAgICAgICAgICAgIHwgIDIgKwogOSBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygr KSwgNzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggNzIxY2NjZTE4 MzJmLi4yODVjOGIyMzhiZmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtNjIxLDYgKzYy MSw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQogCWk5MTVfZ2VtX2NvbnRleHRzX2ZpbmkoZGV2X3ByaXYpOwogCW11dGV4X3Vu bG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCisJaW50ZWxfdWNfZmluaV93cShk ZXZfcHJpdik7CiAJaTkxNV9nZW1fY2xlYW51cF91c2VycHRyKGRldl9wcml2KTsKIAogCWk5MTVf Z2VtX2RyYWluX2ZyZWVkX29iamVjdHMoZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK aW5kZXggMTNmYTI2MjM4ZTg5Li4yYzEzZTNhNGY0NWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0u YwpAQCAtNTE2Myw2ICs1MTYzLDEwIEBAIGludCBpOTE1X2dlbV9pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCisJcmV0ID0g aW50ZWxfdWNfaW5pdF93cShkZXZfcHJpdik7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwog CS8qIFRoaXMgaXMganVzdCBhIHNlY3VyaXR5IGJsYW5rZXQgdG8gcGxhY2F0ZSBkcmFnb25zLgog CSAqIE9uIHNvbWUgc3lzdGVtcywgd2UgdmVyeSBzcG9yYWRpY2FsbHkgb2JzZXJ2ZSB0aGF0IHRo ZSBmaXJzdCBUTEJzCiAJICogdXNlZCBieSB0aGUgQ1MgbWF5IGJlIHN0YWxlLCBkZXNwaXRlIHVz IHBva2luZyB0aGUgVExCIHJlc2V0LiBJZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYwppbmRleCA5 MmVkMjJmMzhmYzQuLjNjNmJmNWEzNGMzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMKQEAg LTY5LDYgKzY5LDYzIEBAIHZvaWQgaW50ZWxfZ3VjX2luaXRfZWFybHkoc3RydWN0IGludGVsX2d1 YyAqZ3VjKQogCWd1Yy0+bm90aWZ5ID0gZ2VuOF9ndWNfcmFpc2VfaXJxOwogfQogCitpbnQgaW50 ZWxfZ3VjX2luaXRfd3Eoc3RydWN0IGludGVsX2d1YyAqZ3VjKQoreworCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1Yyk7CisKKwkvKgorCSAqIEd1QyBs b2cgYnVmZmVyIGZsdXNoIHdvcmsgaXRlbSBoYXMgdG8gZG8gcmVnaXN0ZXIgYWNjZXNzIHRvCisJ ICogc2VuZCB0aGUgYWNrIHRvIEd1QyBhbmQgdGhpcyB3b3JrIGl0ZW0sIGlmIG5vdCBzeW5jZWQg YmVmb3JlCisJICogc3VzcGVuZCwgY2FuIHBvdGVudGlhbGx5IGdldCBleGVjdXRlZCBhZnRlciB0 aGUgR0ZYIGRldmljZSBpcworCSAqIHN1c3BlbmRlZC4KKwkgKiBCeSBtYXJraW5nIHRoZSBXUSBh cyBmcmVlemFibGUsIHdlIGRvbid0IGhhdmUgdG8gYm90aGVyIGFib3V0CisJICogZmx1c2hpbmcg b2YgdGhpcyB3b3JrIGl0ZW0gZnJvbSB0aGUgc3VzcGVuZCBob29rcywgdGhlIHBlbmRpbmcKKwkg KiB3b3JrIGl0ZW0gaWYgYW55IHdpbGwgYmUgZWl0aGVyIGV4ZWN1dGVkIGJlZm9yZSB0aGUgc3Vz cGVuZAorCSAqIG9yIHNjaGVkdWxlZCBsYXRlciBvbiByZXN1bWUuIFRoaXMgd2F5IHRoZSBoYW5k bGluZyBvZiB3b3JrCisJICogaXRlbSBjYW4gYmUga2VwdCBzYW1lIGJldHdlZW4gc3lzdGVtIHN1 c3BlbmQgJiBycG0gc3VzcGVuZC4KKwkgKi8KKwlndWMtPmxvZy5ydW50aW1lLmZsdXNoX3dxID0g YWxsb2Nfb3JkZXJlZF93b3JrcXVldWUoImk5MTUtZ3VjX2xvZyIsCisJCQkJCQlXUV9ISUdIUFJJ IHwgV1FfRlJFRVpBQkxFKTsKKwlpZiAoIWd1Yy0+bG9nLnJ1bnRpbWUuZmx1c2hfd3EpCisJCXJl dHVybiAtRU5PTUVNOworCisJLyoKKwkgKiBFdmVuIHRob3VnaCBib3RoIHNlbmRpbmcgR3VDIGFj dGlvbiwgYW5kIGFkZGluZyBhIG5ldyB3b3JraXRlbSB0bworCSAqIEd1QyB3b3JrcXVldWUgYXJl IHNlcmlhbGl6ZWQgKGVhY2ggd2l0aCBpdHMgb3duIGxvY2tpbmcpLCBzaW5jZQorCSAqIHdlJ3Jl IHVzaW5nIG11dGxpcGxlIGVuZ2luZXMsIGl0J3MgcG9zc2libGUgdGhhdCB3ZSdyZSBnb2luZyB0 bworCSAqIGlzc3VlIGEgcHJlZW1wdCByZXF1ZXN0IHdpdGggdHdvIChvciBtb3JlIC0gZWFjaCBm b3IgZGlmZmVyZW50CisJICogZW5naW5lKSB3b3JraXRlbXMgaW4gR3VDIHF1ZXVlLiBJbiB0aGlz IHNpdHVhdGlvbiwgR3VDIG1heSBzdWJtaXQKKwkgKiBhbGwgb2YgdGhlbSwgd2hpY2ggd2lsbCBt YWtlIHVzIHZlcnkgY29uZnVzZWQuCisJICogT3VyIHByZWVtcHRpb24gY29udGV4dHMgbWF5IGV2 ZW4gYWxyZWFkeSBiZSBjb21wbGV0ZSAtIGJlZm9yZSB3ZQorCSAqIGV2ZW4gaGFkIHRoZSBjaGFu Y2UgdG8gc2VudCB0aGUgcHJlZW1wdCBhY3Rpb24gdG8gR3VDIS4gUmF0aGVyCisJICogdGhhbiBp bnRyb2R1Y2luZyB5ZXQgYW5vdGhlciBsb2NrLCB3ZSBjYW4ganVzdCB1c2Ugb3JkZXJlZCB3b3Jr cXVldWUKKwkgKiB0byBtYWtlIHN1cmUgd2UncmUgYWx3YXlzIHNlbmRpbmcgYSBzaW5nbGUgcHJl ZW1wdGlvbiByZXF1ZXN0IHdpdGggYQorCSAqIHNpbmdsZSB3b3JraXRlbS4KKwkgKi8KKwlpZiAo SEFTX0xPR0lDQUxfUklOR19QUkVFTVBUSU9OKGRldl9wcml2KSAmJgorCSAgICBVU0VTX0dVQ19T VUJNSVNTSU9OKGRldl9wcml2KSkgeworCQlndWMtPnByZWVtcHRfd3EgPSBhbGxvY19vcmRlcmVk X3dvcmtxdWV1ZSgiaTkxNS1ndWNfcHJlZW1wdCIsCisJCQkJCQkJICBXUV9ISUdIUFJJKTsKKwkJ aWYgKCFndWMtPnByZWVtcHRfd3EpIHsKKwkJCWRlc3Ryb3lfd29ya3F1ZXVlKGd1Yy0+bG9nLnJ1 bnRpbWUuZmx1c2hfd3EpOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwl9CisKKwlyZXR1cm4g MDsKK30KKwordm9pZCBpbnRlbF9ndWNfZmluaV93cShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsK KworCWlmIChIQVNfTE9HSUNBTF9SSU5HX1BSRUVNUFRJT04oZGV2X3ByaXYpICYmCisJICAgIFVT RVNfR1VDX1NVQk1JU1NJT04oZGV2X3ByaXYpKQorCQlkZXN0cm95X3dvcmtxdWV1ZShndWMtPnBy ZWVtcHRfd3EpOworCisJZGVzdHJveV93b3JrcXVldWUoZ3VjLT5sb2cucnVudGltZS5mbHVzaF93 cSk7Cit9CisKIHN0YXRpYyBpbnQgZ3VjX3NoYXJlZF9kYXRhX2NyZWF0ZShzdHJ1Y3QgaW50ZWxf Z3VjICpndWMpCiB7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Yy5oCmluZGV4IDgxNjU5ZTIyM2UxMS4uNTI4NTZhOTc0NzdkIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ndWMuaApAQCAtMTE5LDYgKzExOSw4IEBAIHN0YXRpYyBpbmxpbmUgdTMyIGd1Y19nZ3R0X29m ZnNldChzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIHZvaWQgaW50ZWxfZ3VjX2luaXRfZWFybHkoc3Ry dWN0IGludGVsX2d1YyAqZ3VjKTsKIHZvaWQgaW50ZWxfZ3VjX2luaXRfc2VuZF9yZWdzKHN0cnVj dCBpbnRlbF9ndWMgKmd1Yyk7CiB2b2lkIGludGVsX2d1Y19pbml0X3BhcmFtcyhzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMpOworaW50IGludGVsX2d1Y19pbml0X3dxKHN0cnVjdCBpbnRlbF9ndWMgKmd1 Yyk7Cit2b2lkIGludGVsX2d1Y19maW5pX3dxKHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7CiBpbnQg aW50ZWxfZ3VjX2luaXQoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKIHZvaWQgaW50ZWxfZ3VjX2Zp bmkoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKIGludCBpbnRlbF9ndWNfc2VuZF9ub3Aoc3RydWN0 IGludGVsX2d1YyAqZ3VjLCBjb25zdCB1MzIgKmFjdGlvbiwgdTMyIGxlbik7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWNfbG9nLmMKaW5kZXggMWEyYzVlZWQ5OTI5Li5lYWVkZDYzZTM4MTkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMKQEAgLTQxMSwzMCArNDExLDggQEAgc3Rh dGljIGludCBndWNfbG9nX3J1bnRpbWVfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIAln dWMtPmxvZy5ydW50aW1lLnJlbGF5X2NoYW4gPSBndWNfbG9nX3JlbGF5X2NoYW47CiAKIAlJTklU X1dPUksoJmd1Yy0+bG9nLnJ1bnRpbWUuZmx1c2hfd29yaywgY2FwdHVyZV9sb2dzX3dvcmspOwot Ci0JLyoKLQkgKiBHdUMgbG9nIGJ1ZmZlciBmbHVzaCB3b3JrIGl0ZW0gaGFzIHRvIGRvIHJlZ2lz dGVyIGFjY2VzcyB0bwotCSAqIHNlbmQgdGhlIGFjayB0byBHdUMgYW5kIHRoaXMgd29yayBpdGVt LCBpZiBub3Qgc3luY2VkIGJlZm9yZQotCSAqIHN1c3BlbmQsIGNhbiBwb3RlbnRpYWxseSBnZXQg ZXhlY3V0ZWQgYWZ0ZXIgdGhlIEdGWCBkZXZpY2UgaXMKLQkgKiBzdXNwZW5kZWQuCi0JICogQnkg bWFya2luZyB0aGUgV1EgYXMgZnJlZXphYmxlLCB3ZSBkb24ndCBoYXZlIHRvIGJvdGhlciBhYm91 dAotCSAqIGZsdXNoaW5nIG9mIHRoaXMgd29yayBpdGVtIGZyb20gdGhlIHN1c3BlbmQgaG9va3Ms IHRoZSBwZW5kaW5nCi0JICogd29yayBpdGVtIGlmIGFueSB3aWxsIGJlIGVpdGhlciBleGVjdXRl ZCBiZWZvcmUgdGhlIHN1c3BlbmQKLQkgKiBvciBzY2hlZHVsZWQgbGF0ZXIgb24gcmVzdW1lLiBU aGlzIHdheSB0aGUgaGFuZGxpbmcgb2Ygd29yawotCSAqIGl0ZW0gY2FuIGJlIGtlcHQgc2FtZSBi ZXR3ZWVuIHN5c3RlbSBzdXNwZW5kICYgcnBtIHN1c3BlbmQuCi0JICovCi0JZ3VjLT5sb2cucnVu dGltZS5mbHVzaF93cSA9IGFsbG9jX29yZGVyZWRfd29ya3F1ZXVlKCJpOTE1LWd1Y19sb2ciLAot CQkJCQkJV1FfSElHSFBSSSB8IFdRX0ZSRUVaQUJMRSk7Ci0JaWYgKCFndWMtPmxvZy5ydW50aW1l LmZsdXNoX3dxKSB7Ci0JCURSTV9FUlJPUigiQ291bGRuJ3QgYWxsb2NhdGUgdGhlIHdxIGZvciBH dUMgbG9nZ2luZ1xuIik7Ci0JCXJldCA9IC1FTk9NRU07Ci0JCWdvdG8gZXJyX3JlbGF5Y2hhbjsK LQl9Ci0KIAlyZXR1cm4gMDsKIAotZXJyX3JlbGF5Y2hhbjoKLQlyZWxheV9jbG9zZShndWMtPmxv Zy5ydW50aW1lLnJlbGF5X2NoYW4pOwogZXJyX3ZhZGRyOgogCWk5MTVfZ2VtX29iamVjdF91bnBp bl9tYXAoZ3VjLT5sb2cudm1hLT5vYmopOwogCWd1Yy0+bG9nLnJ1bnRpbWUuYnVmX2FkZHIgPSBO VUxMOwpAQCAtNDUwLDcgKzQyOCw2IEBAIHN0YXRpYyB2b2lkIGd1Y19sb2dfcnVudGltZV9kZXN0 cm95KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIAlpZiAoIWd1Y19sb2dfaGFzX3J1bnRpbWUoZ3Vj KSkKIAkJcmV0dXJuOwogCi0JZGVzdHJveV93b3JrcXVldWUoZ3VjLT5sb2cucnVudGltZS5mbHVz aF93cSk7CiAJcmVsYXlfY2xvc2UoZ3VjLT5sb2cucnVudGltZS5yZWxheV9jaGFuKTsKIAlpOTE1 X2dlbV9vYmplY3RfdW5waW5fbWFwKGd1Yy0+bG9nLnZtYS0+b2JqKTsKIAlndWMtPmxvZy5ydW50 aW1lLmJ1Zl9hZGRyID0gTlVMTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3Vi bWlzc2lvbi5jCmluZGV4IGMwMjA1NjBjMzk1ZS4uOGY0YjI3NGQ2NmE3IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKQEAgLTExODcsNTcgKzExODcsMTUg QEAgc3RhdGljIHZvaWQgZ3VjX2Fkc19kZXN0cm95KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIAlp OTE1X3ZtYV91bnBpbl9hbmRfcmVsZWFzZSgmZ3VjLT5hZHNfdm1hKTsKIH0KIAotc3RhdGljIGlu dCBndWNfcHJlZW1wdF93b3JrX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCi17Ci0Jc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKLQlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Ci0JZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7Ci0K LQkvKgotCSAqIEV2ZW4gdGhvdWdoIGJvdGggc2VuZGluZyBHdUMgYWN0aW9uLCBhbmQgYWRkaW5n IGEgbmV3IHdvcmtpdGVtIHRvCi0JICogR3VDIHdvcmtxdWV1ZSBhcmUgc2VyaWFsaXplZCAoZWFj aCB3aXRoIGl0cyBvd24gbG9ja2luZyksIHNpbmNlCi0JICogd2UncmUgdXNpbmcgbXV0bGlwbGUg ZW5naW5lcywgaXQncyBwb3NzaWJsZSB0aGF0IHdlJ3JlIGdvaW5nIHRvCi0JICogaXNzdWUgYSBw cmVlbXB0IHJlcXVlc3Qgd2l0aCB0d28gKG9yIG1vcmUgLSBlYWNoIGZvciBkaWZmZXJlbnQKLQkg KiBlbmdpbmUpIHdvcmtpdGVtcyBpbiBHdUMgcXVldWUuIEluIHRoaXMgc2l0dWF0aW9uLCBHdUMg bWF5IHN1Ym1pdAotCSAqIGFsbCBvZiB0aGVtLCB3aGljaCB3aWxsIG1ha2UgdXMgdmVyeSBjb25m dXNlZC4KLQkgKiBPdXIgcHJlZW1wdGlvbiBjb250ZXh0cyBtYXkgZXZlbiBhbHJlYWR5IGJlIGNv bXBsZXRlIC0gYmVmb3JlIHdlCi0JICogZXZlbiBoYWQgdGhlIGNoYW5jZSB0byBzZW50IHRoZSBw cmVlbXB0IGFjdGlvbiB0byBHdUMhLiBSYXRoZXIKLQkgKiB0aGFuIGludHJvZHVjaW5nIHlldCBh bm90aGVyIGxvY2ssIHdlIGNhbiBqdXN0IHVzZSBvcmRlcmVkIHdvcmtxdWV1ZQotCSAqIHRvIG1h a2Ugc3VyZSB3ZSdyZSBhbHdheXMgc2VuZGluZyBhIHNpbmdsZSBwcmVlbXB0aW9uIHJlcXVlc3Qg d2l0aCBhCi0JICogc2luZ2xlIHdvcmtpdGVtLgotCSAqLwotCWd1Yy0+cHJlZW1wdF93cSA9IGFs bG9jX29yZGVyZWRfd29ya3F1ZXVlKCJpOTE1LWd1Y19wcmVlbXB0IiwKLQkJCQkJCSAgV1FfSElH SFBSSSk7Ci0JaWYgKCFndWMtPnByZWVtcHRfd3EpCi0JCXJldHVybiAtRU5PTUVNOwotCi0JZm9y X2VhY2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYsIGlkKSB7Ci0JCWd1Yy0+cHJlZW1wdF93b3Jr W2lkXS5lbmdpbmUgPSBlbmdpbmU7Ci0JCUlOSVRfV09SSygmZ3VjLT5wcmVlbXB0X3dvcmtbaWRd LndvcmssIGluamVjdF9wcmVlbXB0X2NvbnRleHQpOwotCX0KLQotCXJldHVybiAwOwotfQotCi1z dGF0aWMgdm9pZCBndWNfcHJlZW1wdF93b3JrX2Rlc3Ryb3koc3RydWN0IGludGVsX2d1YyAqZ3Vj KQotewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1 Yyk7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwotCWVudW0gaW50ZWxfZW5naW5l X2lkIGlkOwotCi0JZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYsIGlkKQotCQljYW5j ZWxfd29ya19zeW5jKCZndWMtPnByZWVtcHRfd29ya1tpZF0ud29yayk7Ci0KLQlkZXN0cm95X3dv cmtxdWV1ZShndWMtPnByZWVtcHRfd3EpOwotCWd1Yy0+cHJlZW1wdF93cSA9IE5VTEw7Ci19Ci0K IC8qCiAgKiBTZXQgdXAgdGhlIG1lbW9yeSByZXNvdXJjZXMgdG8gYmUgc2hhcmVkIHdpdGggdGhl IEd1QyAodmlhIHRoZSBHR1RUKQogICogYXQgZmlybXdhcmUgbG9hZGluZyB0aW1lLgogICovCiBp bnQgaW50ZWxfZ3VjX3N1Ym1pc3Npb25faW5pdChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiB7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKKwlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7 CiAJaW50IHJldDsKIAogCWlmIChndWMtPnN0YWdlX2Rlc2NfcG9vbCkKQEAgLTEyNTYsMjAgKzEy MTQsMTggQEAgaW50IGludGVsX2d1Y19zdWJtaXNzaW9uX2luaXQoc3RydWN0IGludGVsX2d1YyAq Z3VjKQogCWlmIChyZXQgPCAwKQogCQlnb3RvIGVycl9zdGFnZV9kZXNjX3Bvb2w7CiAKLQlyZXQg PSBndWNfcHJlZW1wdF93b3JrX2NyZWF0ZShndWMpOwotCWlmIChyZXQpCi0JCWdvdG8gZXJyX2xv ZzsKLQlHRU1fQlVHX09OKCFndWMtPnByZWVtcHRfd3EpOwotCiAJcmV0ID0gZ3VjX2Fkc19jcmVh dGUoZ3VjKTsKIAlpZiAocmV0IDwgMCkKLQkJZ290byBlcnJfd3E7CisJCWdvdG8gZXJyX2xvZzsK IAlHRU1fQlVHX09OKCFndWMtPmFkc192bWEpOwogCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwg ZGV2X3ByaXYsIGlkKSB7CisJCWd1Yy0+cHJlZW1wdF93b3JrW2lkXS5lbmdpbmUgPSBlbmdpbmU7 CisJCUlOSVRfV09SSygmZ3VjLT5wcmVlbXB0X3dvcmtbaWRdLndvcmssIGluamVjdF9wcmVlbXB0 X2NvbnRleHQpOworCX0KKwogCXJldHVybiAwOwogCi1lcnJfd3E6Ci0JZ3VjX3ByZWVtcHRfd29y a19kZXN0cm95KGd1Yyk7CiBlcnJfbG9nOgogCWludGVsX2d1Y19sb2dfZGVzdHJveShndWMpOwog ZXJyX3N0YWdlX2Rlc2NfcG9vbDoKQEAgLTEyNzksOCArMTIzNSwxNCBAQCBpbnQgaW50ZWxfZ3Vj X3N1Ym1pc3Npb25faW5pdChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAKIHZvaWQgaW50ZWxfZ3Vj X3N1Ym1pc3Npb25fZmluaShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiB7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKKwlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmU7CisJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CisKKwlmb3JfZWFj aF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaWQpCisJCWNhbmNlbF93b3JrX3N5bmMoJmd1Yy0+ cHJlZW1wdF93b3JrW2lkXS53b3JrKTsKKwogCWd1Y19hZHNfZGVzdHJveShndWMpOwotCWd1Y19w cmVlbXB0X3dvcmtfZGVzdHJveShndWMpOwogCWludGVsX2d1Y19sb2dfZGVzdHJveShndWMpOwog CWd1Y19zdGFnZV9kZXNjX3Bvb2xfZGVzdHJveShndWMpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmgKaW5kZXggMDIxZmU4NWM4ZjcxLi5mYjA4MWNlZmVm OTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9u LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uaApAQCAt NzcsNSArNzcsNyBAQCBpbnQgaW50ZWxfZ3VjX3N1Ym1pc3Npb25faW5pdChzdHJ1Y3QgaW50ZWxf Z3VjICpndWMpOwogaW50IGludGVsX2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3QgaW50ZWxf Z3VjICpndWMpOwogdm9pZCBpbnRlbF9ndWNfc3VibWlzc2lvbl9kaXNhYmxlKHN0cnVjdCBpbnRl bF9ndWMgKmd1Yyk7CiB2b2lkIGludGVsX2d1Y19zdWJtaXNzaW9uX2Zpbmkoc3RydWN0IGludGVs X2d1YyAqZ3VjKTsKK2ludCBpbnRlbF9ndWNfcHJlZW1wdF93b3JrX2NyZWF0ZShzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMpOwordm9pZCBpbnRlbF9ndWNfcHJlZW1wdF93b3JrX2Rlc3Ryb3koc3RydWN0 IGludGVsX2d1YyAqZ3VjKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF91Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYwppbmRleCAz MDQwYTBlMDAxNDIuLjc4NTg1MDgzOGE0NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jCkBAIC0x ODgsNiArMTg4LDMyIEBAIHN0YXRpYyB2b2lkIGd1Y19kaXNhYmxlX2NvbW11bmljYXRpb24oc3Ry dWN0IGludGVsX2d1YyAqZ3VjKQogCWd1Yy0+c2VuZCA9IGludGVsX2d1Y19zZW5kX25vcDsKIH0K IAoraW50IGludGVsX3VjX2luaXRfd3Eoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQoreworCWludCByZXQ7CisKKwlpZiAoIVVTRVNfR1VDKGRldl9wcml2KSkKKwkJcmV0dXJuIDA7 CisKKwlyZXQgPSBpbnRlbF9ndWNfaW5pdF93cSgmZGV2X3ByaXYtPmd1Yyk7CisJaWYgKHJldCkg eworCQlEUk1fRVJST1IoIkNvdWxkbid0IGFsbG9jYXRlIHdvcmtxdWV1ZXMgZm9yIEd1Q1xuIik7 CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgaW50ZWxfdWNfZmlu aV93cShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJaWYgKCFVU0VTX0dV QyhkZXZfcHJpdikpCisJCXJldHVybjsKKworCUdFTV9CVUdfT04oIUhBU19HVUMoZGV2X3ByaXYp KTsKKworCWludGVsX2d1Y19maW5pX3dxKCZkZXZfcHJpdi0+Z3VjKTsKK30KKwogaW50IGludGVs X3VjX2luaXRfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVj dCBpbnRlbF9ndWMgKmd1YyA9ICZkZXZfcHJpdi0+Z3VjOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfdWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmgK aW5kZXggN2E1OWUyNDg2ZTllLi41M2VkZmVhZjU2YjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3VjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMu aApAQCAtMzMsNiArMzMsOCBAQCB2b2lkIGludGVsX3VjX2luaXRfZWFybHkoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfdWNfaW5pdF9tbWlvKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGludGVsX3VjX2luaXRfZncoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfdWNfZmluaV9mdyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOworaW50IGludGVsX3VjX2luaXRfd3Eoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQgaW50ZWxfdWNfZmluaV93cShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogaW50IGludGVsX3VjX2luaXRfaHco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfdWNfZmluaV9o dyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCi0tIAoyLjE0LjMKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=