From: Rex Zhu Subject: [PATCH 4/4] drm/amd/powerplay: delete dead code in powerplay Date: Tue, 5 Sep 2017 09:29:28 +0800 Message-ID: <1504574968-23945-4-git-send-email-Rex.Zhu@amd.com> References: <1504574968-23945-1-git-send-email-Rex.Zhu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1504574968-23945-1-git-send-email-Rex.Zhu-5C7GfCeVMHo@public.gmane.org> 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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Rex Zhu ZGVsZXRlIGZ1bmN0aW9udGFibGUgcmVsYXRlZCBjb2RlcwoKQ2hhbmdlLUlkOiBJZjRiYmEyMWJl YWYzZTdmZTEwMGViODBkZWYyOGY4M2YzYjhlZjA3NwpTaWduZWQtb2ZmLWJ5OiBSZXggWmh1IDxS ZXguWmh1QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Iv TWFrZWZpbGUgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3 bWdyL2N6X2h3bWdyLmMgICAgIHwgICAzICstCiAuLi4vZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3 bWdyL2Z1bmN0aW9udGFibGVzLmMgICB8IDE2MSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9n cHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvaGFyZHdhcmVtYW5hZ2VyLmMgIHwgIDgyICsrKy0t LS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9od21nci5jICAgICAg ICB8ICAxMiAtLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvcnZfaHdtZ3Iu YyAgICAgfCAgIDMgLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEw X2h3bWdyLmMgfCAgIDMgLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdy LmggICAgICAgICAgfCAgNDggLS0tLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMo KyksIDI5MiBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9od21nci9mdW5jdGlvbnRhYmxlcy5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9od21nci9NYWtlZmlsZQppbmRleCA3OTExOWQ2Li5kYzRiYmNmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9NYWtlZmlsZQorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9NYWtlZmlsZQpAQCAtMiw3ICsy LDcgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSAnaHcgbWFuYWdlcicgc3ViLWNvbXBvbmVudCBvZiBw b3dlcnBsYXkuCiAjIEl0IHByb3ZpZGVzIHRoZSBoYXJkd2FyZSBtYW5hZ2VtZW50IHNlcnZpY2Vz IGZvciB0aGUgZHJpdmVyLgogCi1IQVJEV0FSRV9NR1IgPSBod21nci5vIHByb2Nlc3NwcHRhYmxl cy5vIGZ1bmN0aW9udGFibGVzLm8gXAorSEFSRFdBUkVfTUdSID0gaHdtZ3IubyBwcm9jZXNzcHB0 YWJsZXMubyBcCiAJCWhhcmR3YXJlbWFuYWdlci5vIHBwX2FjcGkubyBjel9od21nci5vIFwKIAkJ Y3pfY2xvY2twb3dlcmdhdGluZy5vIHBwcGNpZWxhbmVzLm9cCiAJCXByb2Nlc3NfcHB0YWJsZXNf djFfMC5vIHBwYXRvbWN0cmwubyBwcGF0b21md2N0cmwubyBcCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9jel9od21nci5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvaHdtZ3IvY3pfaHdtZ3IuYwppbmRleCA3ZWZlMDA4Li5kM2I0NjQ2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9jel9od21nci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2N6X2h3bWdyLmMKQEAg LTExNDIsOCArMTE0Miw3IEBAIHN0YXRpYyBpbnQgY3pfaHdtZ3JfYmFja2VuZF9pbml0KHN0cnVj dCBwcF9od21nciAqaHdtZ3IpCiAJCXJldHVybiAtRU5PTUVNOwogCiAJaHdtZ3ItPmJhY2tlbmQg PSBkYXRhOwotCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3Jt Q2FwcywKLQkJCVBITV9QbGF0Zm9ybUNhcHNfVGFibGVsZXNzSGFyZHdhcmVJbnRlcmZhY2UpOwor CiAJcmVzdWx0ID0gY3pfaW5pdGlhbGl6ZV9kcG1fZGVmYXVsdHMoaHdtZ3IpOwogCWlmIChyZXN1 bHQgIT0gMCkgewogCQlwcl9lcnIoImN6X2luaXRpYWxpemVfZHBtX2RlZmF1bHRzIGZhaWxlZFxu Iik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9mdW5j dGlvbnRhYmxlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvZnVuY3Rp b250YWJsZXMuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmM3ZDhiZC4uMDAwMDAw MAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9mdW5jdGlvbnRhYmxl cy5jCisrKyAvZGV2L251bGwKQEAgLTEsMTYxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgMjAx NSBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCi0gKgotICogUGVybWlzc2lvbiBpcyBoZXJl YnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKLSAq IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz ICh0aGUgIlNvZnR3YXJlIiksCi0gKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJl c3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCi0gKiB0aGUgcmlnaHRzIHRv IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5z ZSwKLSAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQg cGVyc29ucyB0byB3aG9tIHRoZQotICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBz dWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKLSAqCi0gKiBUaGUgYWJvdmUgY29w eXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRl ZCBpbgotICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdh cmUuCi0gKgotICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FS UkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKLSAqIElNUExJRUQsIElOQ0xVRElORyBCVVQg Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICogRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5P IEVWRU5UIFNIQUxMCi0gKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUg TElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKLSAqIE9USEVSIExJQUJJTElUWSwgV0hF VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAotICogQVJJ U0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBU SEUgVVNFIE9SCi0gKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCi0gKgotICovCi0j aW5jbHVkZSA8bGludXgvdHlwZXMuaD4KLSNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KLSNpbmNs dWRlIDxsaW51eC9zbGFiLmg+Ci0jaW5jbHVkZSAiaHdtZ3IuaCIKLQotc3RhdGljIGludCBwaG1f cnVuX3RhYmxlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCi0JCQkgc3RydWN0IHBobV9ydW50aW1l X3RhYmxlX2hlYWRlciAqcnRfdGFibGUsCi0JCQkgdm9pZCAqaW5wdXQsCi0JCQkgdm9pZCAqb3V0 cHV0LAotCQkJIHZvaWQgKnRlbXBfc3RvcmFnZSkKLXsKLQlpbnQgcmVzdWx0ID0gMDsKLQlwaG1f dGFibGVfZnVuY3Rpb24gKmZ1bmN0aW9uOwotCi0JaWYgKHJ0X3RhYmxlLT5mdW5jdGlvbl9saXN0 ID09IE5VTEwpIHsKLQkJcHJfZGVidWcoInRoaXMgZnVuY3Rpb24gbm90IGltcGxlbWVudCFcbiIp OwotCQlyZXR1cm4gMDsKLQl9Ci0KLQlmb3IgKGZ1bmN0aW9uID0gcnRfdGFibGUtPmZ1bmN0aW9u X2xpc3Q7IE5VTEwgIT0gKmZ1bmN0aW9uOyBmdW5jdGlvbisrKSB7Ci0JCWludCB0bXAgPSAoKmZ1 bmN0aW9uKShod21nciwgaW5wdXQsIG91dHB1dCwgdGVtcF9zdG9yYWdlLCByZXN1bHQpOwotCi0J CWlmICh0bXAgPT0gUFBfUmVzdWx0X1RhYmxlSW1tZWRpYXRlRXhpdCkKLQkJCWJyZWFrOwotCQlp ZiAodG1wKSB7Ci0JCQlpZiAoMCA9PSByZXN1bHQpCi0JCQkJcmVzdWx0ID0gdG1wOwotCQkJaWYg KHJ0X3RhYmxlLT5leGl0X2Vycm9yKQotCQkJCWJyZWFrOwotCQl9Ci0JfQotCi0JcmV0dXJuIHJl c3VsdDsKLX0KLQotaW50IHBobV9kaXNwYXRjaF90YWJsZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdy LAotCQkgICAgICAgc3RydWN0IHBobV9ydW50aW1lX3RhYmxlX2hlYWRlciAqcnRfdGFibGUsCi0J CSAgICAgICB2b2lkICppbnB1dCwgdm9pZCAqb3V0cHV0KQotewotCWludCByZXN1bHQ7Ci0Jdm9p ZCAqdGVtcF9zdG9yYWdlOwotCi0JaWYgKGh3bWdyID09IE5VTEwgfHwgcnRfdGFibGUgPT0gTlVM TCkgewotCQlwcl9lcnIoIkludmFsaWQgUGFyYW1ldGVyIVxuIik7Ci0JCXJldHVybiAtRUlOVkFM OwotCX0KLQotCWlmICgwICE9IHJ0X3RhYmxlLT5zdG9yYWdlX3NpemUpIHsKLQkJdGVtcF9zdG9y YWdlID0ga3phbGxvYyhydF90YWJsZS0+c3RvcmFnZV9zaXplLCBHRlBfS0VSTkVMKTsKLQkJaWYg KHRlbXBfc3RvcmFnZSA9PSBOVUxMKSB7Ci0JCQlwcl9lcnIoIkNvdWxkIG5vdCBhbGxvY2F0ZSB0 YWJsZSB0ZW1wb3Jhcnkgc3RvcmFnZVxuIik7Ci0JCQlyZXR1cm4gLUVOT01FTTsKLQkJfQotCX0g ZWxzZSB7Ci0JCXRlbXBfc3RvcmFnZSA9IE5VTEw7Ci0JfQotCi0JcmVzdWx0ID0gcGhtX3J1bl90 YWJsZShod21nciwgcnRfdGFibGUsIGlucHV0LCBvdXRwdXQsIHRlbXBfc3RvcmFnZSk7Ci0KLQlr ZnJlZSh0ZW1wX3N0b3JhZ2UpOwotCi0JcmV0dXJuIHJlc3VsdDsKLX0KLQotaW50IHBobV9jb25z dHJ1Y3RfdGFibGUoc3RydWN0IHBwX2h3bWdyICpod21nciwKLQkJCWNvbnN0IHN0cnVjdCBwaG1f bWFzdGVyX3RhYmxlX2hlYWRlciAqbWFzdGVyX3RhYmxlLAotCQkJc3RydWN0IHBobV9ydW50aW1l X3RhYmxlX2hlYWRlciAqcnRfdGFibGUpCi17Ci0JdWludDMyX3QgZnVuY3Rpb25fY291bnQgPSAw OwotCWNvbnN0IHN0cnVjdCBwaG1fbWFzdGVyX3RhYmxlX2l0ZW0gKnRhYmxlX2l0ZW07Ci0JdWlu dDMyX3Qgc2l6ZTsKLQlwaG1fdGFibGVfZnVuY3Rpb24gKnJ1bl90aW1lX2xpc3Q7Ci0JcGhtX3Rh YmxlX2Z1bmN0aW9uICpydGY7Ci0KLQlpZiAoaHdtZ3IgPT0gTlVMTCB8fCBtYXN0ZXJfdGFibGUg PT0gTlVMTCB8fCBydF90YWJsZSA9PSBOVUxMKSB7Ci0JCXByX2VycigiSW52YWxpZCBQYXJhbWV0 ZXIhXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JZm9yICh0YWJsZV9pdGVtID0gbWFz dGVyX3RhYmxlLT5tYXN0ZXJfbGlzdDsKLQkJTlVMTCAhPSB0YWJsZV9pdGVtLT50YWJsZUZ1bmN0 aW9uOyB0YWJsZV9pdGVtKyspIHsKLQkJaWYgKChOVUxMID09IHRhYmxlX2l0ZW0tPmlzRnVuY3Rp b25OZWVkZWRJblJ1bnRpbWVUYWJsZSkgfHwKLQkJICAgICh0YWJsZV9pdGVtLT5pc0Z1bmN0aW9u TmVlZGVkSW5SdW50aW1lVGFibGUoaHdtZ3IpKSkKLQkJCWZ1bmN0aW9uX2NvdW50Kys7Ci0JfQot Ci0Jc2l6ZSA9IChmdW5jdGlvbl9jb3VudCArIDEpICogc2l6ZW9mKHBobV90YWJsZV9mdW5jdGlv bik7Ci0JcnVuX3RpbWVfbGlzdCA9IGt6YWxsb2Moc2l6ZSwgR0ZQX0tFUk5FTCk7Ci0KLQlpZiAo TlVMTCA9PSBydW5fdGltZV9saXN0KQotCQlyZXR1cm4gLUVOT01FTTsKLQotCXJ0ZiA9IHJ1bl90 aW1lX2xpc3Q7Ci0JZm9yICh0YWJsZV9pdGVtID0gbWFzdGVyX3RhYmxlLT5tYXN0ZXJfbGlzdDsK LQkJTlVMTCAhPSB0YWJsZV9pdGVtLT50YWJsZUZ1bmN0aW9uOyB0YWJsZV9pdGVtKyspIHsKLQkJ aWYgKChydGYgLSBydW5fdGltZV9saXN0KSA+IGZ1bmN0aW9uX2NvdW50KSB7Ci0JCQlwcl9lcnIo IkNoZWNrIGZ1bmN0aW9uIHJlc3VsdHMgaGF2ZSBjaGFuZ2VkXG4iKTsKLQkJCWtmcmVlKHJ1bl90 aW1lX2xpc3QpOwotCQkJcmV0dXJuIC1FSU5WQUw7Ci0JCX0KLQotCQlpZiAoKE5VTEwgPT0gdGFi bGVfaXRlbS0+aXNGdW5jdGlvbk5lZWRlZEluUnVudGltZVRhYmxlKSB8fAotCQkgICAgICh0YWJs ZV9pdGVtLT5pc0Z1bmN0aW9uTmVlZGVkSW5SdW50aW1lVGFibGUoaHdtZ3IpKSkgewotCQkJKihy dGYrKykgPSB0YWJsZV9pdGVtLT50YWJsZUZ1bmN0aW9uOwotCQl9Ci0JfQotCi0JaWYgKChydGYg LSBydW5fdGltZV9saXN0KSA+IGZ1bmN0aW9uX2NvdW50KSB7Ci0JCXByX2VycigiQ2hlY2sgZnVu Y3Rpb24gcmVzdWx0cyBoYXZlIGNoYW5nZWRcbiIpOwotCQlrZnJlZShydW5fdGltZV9saXN0KTsK LQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JKnJ0ZiA9IE5VTEw7Ci0JcnRfdGFibGUtPmZ1bmN0 aW9uX2xpc3QgPSBydW5fdGltZV9saXN0OwotCXJ0X3RhYmxlLT5leGl0X2Vycm9yID0gKDAgIT0g KG1hc3Rlcl90YWJsZS0+ZmxhZ3MgJiBQSE1fTWFzdGVyVGFibGVGbGFnX0V4aXRPbkVycm9yKSk7 Ci0JcnRfdGFibGUtPnN0b3JhZ2Vfc2l6ZSA9IG1hc3Rlcl90YWJsZS0+c3RvcmFnZV9zaXplOwot CXJldHVybiAwOwotfQotCi1pbnQgcGhtX2Rlc3Ryb3lfdGFibGUoc3RydWN0IHBwX2h3bWdyICpo d21nciwKLQkJICAgICAgc3RydWN0IHBobV9ydW50aW1lX3RhYmxlX2hlYWRlciAqcnRfdGFibGUp Ci17Ci0JaWYgKGh3bWdyID09IE5VTEwgfHwgcnRfdGFibGUgPT0gTlVMTCkgewotCQlwcl9lcnIo IkludmFsaWQgUGFyYW1ldGVyXG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JaWYgKE5V TEwgPT0gcnRfdGFibGUtPmZ1bmN0aW9uX2xpc3QpCi0JCXJldHVybiAwOwotCi0Ja2ZyZWUocnRf dGFibGUtPmZ1bmN0aW9uX2xpc3QpOwotCi0JcnRfdGFibGUtPmZ1bmN0aW9uX2xpc3QgPSBOVUxM OwotCXJ0X3RhYmxlLT5zdG9yYWdlX3NpemUgPSAwOwotCXJ0X3RhYmxlLT5leGl0X2Vycm9yID0g ZmFsc2U7Ci0KLQlyZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv cG93ZXJwbGF5L2h3bWdyL2hhcmR3YXJlbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9w b3dlcnBsYXkvaHdtZ3IvaGFyZHdhcmVtYW5hZ2VyLmMKaW5kZXggYTM5OTFjMC4uZDc3NzUzZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvaGFyZHdhcmVt YW5hZ2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvaGFyZHdh cmVtYW5hZ2VyLmMKQEAgLTUxLDE0ICs1MSw4IEBAIGludCBwaG1fc2V0dXBfYXNpYyhzdHJ1Y3Qg cHBfaHdtZ3IgKmh3bWdyKQogewogCVBITV9GVU5DX0NIRUNLKGh3bWdyKTsKIAotCWlmIChwaG1f Y2FwX2VuYWJsZWQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAotCQlQ SE1fUGxhdGZvcm1DYXBzX1RhYmxlbGVzc0hhcmR3YXJlSW50ZXJmYWNlKSkgewotCQlpZiAoTlVM TCAhPSBod21nci0+aHdtZ3JfZnVuYy0+YXNpY19zZXR1cCkKLQkJCXJldHVybiBod21nci0+aHdt Z3JfZnVuYy0+YXNpY19zZXR1cChod21ncik7Ci0JfSBlbHNlIHsKLQkJcmV0dXJuIHBobV9kaXNw YXRjaF90YWJsZShod21nciwgJihod21nci0+c2V0dXBfYXNpYyksCi0JCQkJCSAgTlVMTCwgTlVM TCk7Ci0JfQorCWlmIChOVUxMICE9IGh3bWdyLT5od21ncl9mdW5jLT5hc2ljX3NldHVwKQorCQly ZXR1cm4gaHdtZ3ItPmh3bWdyX2Z1bmMtPmFzaWNfc2V0dXAoaHdtZ3IpOwogCiAJcmV0dXJuIDA7 CiB9CkBAIC02NywxNCArNjEsOCBAQCBpbnQgcGhtX3Bvd2VyX2Rvd25fYXNpYyhzdHJ1Y3QgcHBf aHdtZ3IgKmh3bWdyKQogewogCVBITV9GVU5DX0NIRUNLKGh3bWdyKTsKIAotCWlmIChwaG1fY2Fw X2VuYWJsZWQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAotCQlQSE1f UGxhdGZvcm1DYXBzX1RhYmxlbGVzc0hhcmR3YXJlSW50ZXJmYWNlKSkgewotCQlpZiAoTlVMTCAh PSBod21nci0+aHdtZ3JfZnVuYy0+cG93ZXJfb2ZmX2FzaWMpCi0JCQlyZXR1cm4gaHdtZ3ItPmh3 bWdyX2Z1bmMtPnBvd2VyX29mZl9hc2ljKGh3bWdyKTsKLQl9IGVsc2UgewotCQlyZXR1cm4gcGht X2Rpc3BhdGNoX3RhYmxlKGh3bWdyLCAmKGh3bWdyLT5wb3dlcl9kb3duX2FzaWMpLAotCQkJCQkg IE5VTEwsIE5VTEwpOwotCX0KKwlpZiAoTlVMTCAhPSBod21nci0+aHdtZ3JfZnVuYy0+cG93ZXJf b2ZmX2FzaWMpCisJCXJldHVybiBod21nci0+aHdtZ3JfZnVuYy0+cG93ZXJfb2ZmX2FzaWMoaHdt Z3IpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC05MCwxMyArNzgsOCBAQCBpbnQgcGhtX3NldF9wb3dl cl9zdGF0ZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAogCXN0YXRlcy5wY3VycmVudF9zdGF0ZSA9 IHBjdXJyZW50X3N0YXRlOwogCXN0YXRlcy5wbmV3X3N0YXRlID0gcG5ld19wb3dlcl9zdGF0ZTsK IAotCWlmIChwaG1fY2FwX2VuYWJsZWQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZv cm1DYXBzLAotCQlQSE1fUGxhdGZvcm1DYXBzX1RhYmxlbGVzc0hhcmR3YXJlSW50ZXJmYWNlKSkg ewotCQlpZiAoTlVMTCAhPSBod21nci0+aHdtZ3JfZnVuYy0+cG93ZXJfc3RhdGVfc2V0KQotCQkJ cmV0dXJuIGh3bWdyLT5od21ncl9mdW5jLT5wb3dlcl9zdGF0ZV9zZXQoaHdtZ3IsICZzdGF0ZXMp OwotCX0gZWxzZSB7Ci0JCXJldHVybiBwaG1fZGlzcGF0Y2hfdGFibGUoaHdtZ3IsICYoaHdtZ3It PnNldF9wb3dlcl9zdGF0ZSksICZzdGF0ZXMsIE5VTEwpOwotCX0KKwlpZiAoTlVMTCAhPSBod21n ci0+aHdtZ3JfZnVuYy0+cG93ZXJfc3RhdGVfc2V0KQorCQlyZXR1cm4gaHdtZ3ItPmh3bWdyX2Z1 bmMtPnBvd2VyX3N0YXRlX3NldChod21nciwgJnN0YXRlcyk7CiAKIAlyZXR1cm4gMDsKIH0KQEAg LTEwNywxNSArOTAsOCBAQCBpbnQgcGhtX2VuYWJsZV9keW5hbWljX3N0YXRlX21hbmFnZW1lbnQo c3RydWN0IHBwX2h3bWdyICpod21ncikKIAlib29sIGVuYWJsZWQ7CiAJUEhNX0ZVTkNfQ0hFQ0so aHdtZ3IpOwogCi0JaWYgKHBobV9jYXBfZW5hYmxlZChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRv ci5wbGF0Zm9ybUNhcHMsCi0JCVBITV9QbGF0Zm9ybUNhcHNfVGFibGVsZXNzSGFyZHdhcmVJbnRl cmZhY2UpKSB7Ci0JCWlmIChOVUxMICE9IGh3bWdyLT5od21ncl9mdW5jLT5keW5hbWljX3N0YXRl X21hbmFnZW1lbnRfZW5hYmxlKQotCQkJcmV0ID0gaHdtZ3ItPmh3bWdyX2Z1bmMtPmR5bmFtaWNf c3RhdGVfbWFuYWdlbWVudF9lbmFibGUoaHdtZ3IpOwotCX0gZWxzZSB7Ci0JCXJldCA9IHBobV9k aXNwYXRjaF90YWJsZShod21nciwKLQkJCQkmKGh3bWdyLT5lbmFibGVfZHluYW1pY19zdGF0ZV9t YW5hZ2VtZW50KSwKLQkJCQlOVUxMLCBOVUxMKTsKLQl9CisJaWYgKE5VTEwgIT0gaHdtZ3ItPmh3 bWdyX2Z1bmMtPmR5bmFtaWNfc3RhdGVfbWFuYWdlbWVudF9lbmFibGUpCisJCXJldCA9IGh3bWdy LT5od21ncl9mdW5jLT5keW5hbWljX3N0YXRlX21hbmFnZW1lbnRfZW5hYmxlKGh3bWdyKTsKIAog CWVuYWJsZWQgPSByZXQgPT0gMDsKIApAQCAtMTMxLDE1ICsxMDcsOCBAQCBpbnQgcGhtX2Rpc2Fi bGVfZHluYW1pY19zdGF0ZV9tYW5hZ2VtZW50KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAKIAlQ SE1fRlVOQ19DSEVDSyhod21ncik7CiAKLQlpZiAocGhtX2NhcF9lbmFibGVkKGh3bWdyLT5wbGF0 Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKLQkJUEhNX1BsYXRmb3JtQ2Fwc19UYWJsZWxl c3NIYXJkd2FyZUludGVyZmFjZSkpIHsKLQkJaWYgKGh3bWdyLT5od21ncl9mdW5jLT5keW5hbWlj X3N0YXRlX21hbmFnZW1lbnRfZGlzYWJsZSkKLQkJCXJldCA9IGh3bWdyLT5od21ncl9mdW5jLT5k eW5hbWljX3N0YXRlX21hbmFnZW1lbnRfZGlzYWJsZShod21ncik7Ci0JfSBlbHNlIHsKLQkJcmV0 ID0gcGhtX2Rpc3BhdGNoX3RhYmxlKGh3bWdyLAotCQkJCSYoaHdtZ3ItPmRpc2FibGVfZHluYW1p Y19zdGF0ZV9tYW5hZ2VtZW50KSwKLQkJCQlOVUxMLCBOVUxMKTsKLQl9CisJaWYgKGh3bWdyLT5o d21ncl9mdW5jLT5keW5hbWljX3N0YXRlX21hbmFnZW1lbnRfZGlzYWJsZSkKKwkJcmV0ID0gaHdt Z3ItPmh3bWdyX2Z1bmMtPmR5bmFtaWNfc3RhdGVfbWFuYWdlbWVudF9kaXNhYmxlKGh3bWdyKTsK IAogCWVuYWJsZWQgPSByZXQgPT0gMCA/IGZhbHNlIDogdHJ1ZTsKIApAQCAtMjE5LDEzICsxODgs OSBAQCBpbnQgcGhtX2VuYWJsZV9jbG9ja19wb3dlcl9nYXRpbmdzKHN0cnVjdCBwcF9od21nciAq aHdtZ3IpCiB7CiAJUEhNX0ZVTkNfQ0hFQ0soaHdtZ3IpOwogCi0JaWYgKHBobV9jYXBfZW5hYmxl ZChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCi0JCVBITV9QbGF0Zm9y bUNhcHNfVGFibGVsZXNzSGFyZHdhcmVJbnRlcmZhY2UpKSB7Ci0JCWlmIChOVUxMICE9IGh3bWdy LT5od21ncl9mdW5jLT5lbmFibGVfY2xvY2tfcG93ZXJfZ2F0aW5nKQotCQkJcmV0dXJuIGh3bWdy LT5od21ncl9mdW5jLT5lbmFibGVfY2xvY2tfcG93ZXJfZ2F0aW5nKGh3bWdyKTsKLQl9IGVsc2Ug ewotCQlyZXR1cm4gcGhtX2Rpc3BhdGNoX3RhYmxlKGh3bWdyLCAmKGh3bWdyLT5lbmFibGVfY2xv Y2tfcG93ZXJfZ2F0aW5ncyksIE5VTEwsIE5VTEwpOwotCX0KKwlpZiAoTlVMTCAhPSBod21nci0+ aHdtZ3JfZnVuYy0+ZW5hYmxlX2Nsb2NrX3Bvd2VyX2dhdGluZykKKwkJcmV0dXJuIGh3bWdyLT5o d21ncl9mdW5jLT5lbmFibGVfY2xvY2tfcG93ZXJfZ2F0aW5nKGh3bWdyKTsKKwogCXJldHVybiAw OwogfQogCkBAIC0yMzMsMTEgKzE5OCw5IEBAIGludCBwaG1fZGlzYWJsZV9jbG9ja19wb3dlcl9n YXRpbmdzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiB7CiAJUEhNX0ZVTkNfQ0hFQ0soaHdtZ3Ip OwogCi0JaWYgKHBobV9jYXBfZW5hYmxlZChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0 Zm9ybUNhcHMsCi0JCVBITV9QbGF0Zm9ybUNhcHNfVGFibGVsZXNzSGFyZHdhcmVJbnRlcmZhY2Up KSB7Ci0JCWlmIChOVUxMICE9IGh3bWdyLT5od21ncl9mdW5jLT5kaXNhYmxlX2Nsb2NrX3Bvd2Vy X2dhdGluZykKLQkJCXJldHVybiBod21nci0+aHdtZ3JfZnVuYy0+ZGlzYWJsZV9jbG9ja19wb3dl cl9nYXRpbmcoaHdtZ3IpOwotCX0KKwlpZiAoTlVMTCAhPSBod21nci0+aHdtZ3JfZnVuYy0+ZGlz YWJsZV9jbG9ja19wb3dlcl9nYXRpbmcpCisJCXJldHVybiBod21nci0+aHdtZ3JfZnVuYy0+ZGlz YWJsZV9jbG9ja19wb3dlcl9nYXRpbmcoaHdtZ3IpOworCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTI0 NiwxMiArMjA5LDkgQEAgaW50IHBobV9kaXNwbGF5X2NvbmZpZ3VyYXRpb25fY2hhbmdlZChzdHJ1 Y3QgcHBfaHdtZ3IgKmh3bWdyKQogewogCVBITV9GVU5DX0NIRUNLKGh3bWdyKTsKIAotCWlmIChw aG1fY2FwX2VuYWJsZWQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAot CQkJCSBQSE1fUGxhdGZvcm1DYXBzX1RhYmxlbGVzc0hhcmR3YXJlSW50ZXJmYWNlKSkgewotCQlp ZiAoTlVMTCAhPSBod21nci0+aHdtZ3JfZnVuYy0+ZGlzcGxheV9jb25maWdfY2hhbmdlZCkKLQkJ CWh3bWdyLT5od21ncl9mdW5jLT5kaXNwbGF5X2NvbmZpZ19jaGFuZ2VkKGh3bWdyKTsKLQl9IGVs c2UKLQkJcmV0dXJuIHBobV9kaXNwYXRjaF90YWJsZShod21nciwgJmh3bWdyLT5kaXNwbGF5X2Nv bmZpZ3VyYXRpb25fY2hhbmdlZCwgTlVMTCwgTlVMTCk7CisJaWYgKE5VTEwgIT0gaHdtZ3ItPmh3 bWdyX2Z1bmMtPmRpc3BsYXlfY29uZmlnX2NoYW5nZWQpCisJCWh3bWdyLT5od21ncl9mdW5jLT5k aXNwbGF5X2NvbmZpZ19jaGFuZ2VkKGh3bWdyKTsKKwogCXJldHVybiAwOwogfQogCkBAIC0yNTks OSArMjE5LDcgQEAgaW50IHBobV9ub3RpZnlfc21jX2Rpc3BsYXlfY29uZmlnX2FmdGVyX3BzX2Fk anVzdG1lbnQoc3RydWN0IHBwX2h3bWdyICpod21ncikKIHsKIAlQSE1fRlVOQ19DSEVDSyhod21n cik7CiAKLQlpZiAocGhtX2NhcF9lbmFibGVkKGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBs YXRmb3JtQ2FwcywKLQkJCQkgUEhNX1BsYXRmb3JtQ2Fwc19UYWJsZWxlc3NIYXJkd2FyZUludGVy ZmFjZSkpCi0JCWlmIChOVUxMICE9IGh3bWdyLT5od21ncl9mdW5jLT5ub3RpZnlfc21jX2Rpc3Bs YXlfY29uZmlnX2FmdGVyX3BzX2FkanVzdG1lbnQpCisJaWYgKE5VTEwgIT0gaHdtZ3ItPmh3bWdy X2Z1bmMtPm5vdGlmeV9zbWNfZGlzcGxheV9jb25maWdfYWZ0ZXJfcHNfYWRqdXN0bWVudCkKIAkJ CWh3bWdyLT5od21ncl9mdW5jLT5ub3RpZnlfc21jX2Rpc3BsYXlfY29uZmlnX2FmdGVyX3BzX2Fk anVzdG1lbnQoaHdtZ3IpOwogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9od21nci9od21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvaHdtZ3IvaHdtZ3IuYwppbmRleCBmMGQwZDFmLi43YWUyNmY1IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9od21nci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2h3bWdyLmMKQEAgLTg1MiwxMCArODUyLDYgQEAg aW50IHBvbGFyaXNfc2V0X2FzaWNfc3BlY2lhbF9jYXBzKHN0cnVjdCBwcF9od21nciAqaHdtZ3Ip CiAJcGhtX2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAog CQkJCQlQSE1fUGxhdGZvcm1DYXBzX0F1dG9tYXRpY0RDVHJhbnNpdGlvbik7CiAKLQlwaG1fY2Fw X3NldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCi0JCQkJUEhNX1Bs YXRmb3JtQ2Fwc19UYWJsZWxlc3NIYXJkd2FyZUludGVyZmFjZSk7Ci0KLQogCWlmIChod21nci0+ Y2hpcF9pZCAhPSBDSElQX1BPTEFSSVMxMCkKIAkJcGhtX2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3Jt X2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAogCQkJCQlQSE1fUGxhdGZvcm1DYXBzX1NQTExTaHV0 ZG93blN1cHBvcnQpOwpAQCAtODgyLDkgKzg3OCw2IEBAIGludCBmaWppX3NldF9hc2ljX3NwZWNp YWxfY2FwcyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCXBobV9jYXBfdW5zZXQoaHdtZ3ItPnBs YXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAogCQkJUEhNX1BsYXRmb3JtQ2Fwc19UQ1BS YW1waW5nKTsKIAotCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRm b3JtQ2FwcywKLQkJCVBITV9QbGF0Zm9ybUNhcHNfVGFibGVsZXNzSGFyZHdhcmVJbnRlcmZhY2Up OwotCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTkwNCw5ICs4OTcsNiBAQCBpbnQgdG9uZ2Ffc2V0X2Fz aWNfc3BlY2lhbF9jYXBzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJcGhtX2NhcF91bnNldCho d21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCiAJCSAgICAgIFBITV9QbGF0 Zm9ybUNhcHNfVkNFUG93ZXJHYXRpbmcpOwogCi0JcGhtX2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3Jt X2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAotCQkJIFBITV9QbGF0Zm9ybUNhcHNfVGFibGVsZXNz SGFyZHdhcmVJbnRlcmZhY2UpOwotCiAJcmV0dXJuIDA7CiB9CiAKQEAgLTkyMSw4ICs5MTEsNiBA QCBpbnQgdG9wYXpfc2V0X2FzaWNfc3BlY2lhbF9jYXBzKHN0cnVjdCBwcF9od21nciAqaHdtZ3Ip CiAJcGhtX2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMs CiAJCQlQSE1fUGxhdGZvcm1DYXBzX1RDUFJhbXBpbmcpOwogCXBobV9jYXBfc2V0KGh3bWdyLT5w bGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKLQkJCSBQSE1fUGxhdGZvcm1DYXBzX1Rh YmxlbGVzc0hhcmR3YXJlSW50ZXJmYWNlKTsKLQlwaG1fY2FwX3NldChod21nci0+cGxhdGZvcm1f ZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCiAJCSAgICBQSE1fUGxhdGZvcm1DYXBzX0VWVik7CiAJ cmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci9ydl9od21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvcnZf aHdtZ3IuYwppbmRleCBkYTc0Zjk1Li41OTRiOTc4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9od21nci9ydl9od21nci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvcG93ZXJwbGF5L2h3bWdyL3J2X2h3bWdyLmMKQEAgLTQzNSw5ICs0MzUsNiBAQCBzdGF0aWMg aW50IHJ2X2h3bWdyX2JhY2tlbmRfaW5pdChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCiAJaHdt Z3ItPmJhY2tlbmQgPSBkYXRhOwogCi0JcGhtX2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2Ny aXB0b3IucGxhdGZvcm1DYXBzLAotCQkJUEhNX1BsYXRmb3JtQ2Fwc19UYWJsZWxlc3NIYXJkd2Fy ZUludGVyZmFjZSk7Ci0KIAlyZXN1bHQgPSBydl9pbml0aWFsaXplX2RwbV9kZWZhdWx0cyhod21n cik7CiAJaWYgKHJlc3VsdCAhPSAwKSB7CiAJCXByX2VycigicnZfaW5pdGlhbGl6ZV9kcG1fZGVm YXVsdHMgZmFpbGVkXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L2h3bWdyL3ZlZ2ExMF9od21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aHdtZ3IvdmVnYTEwX2h3bWdyLmMKaW5kZXggZTVmNTMwYi4uYjdhNzg5ZiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEwX2h3bWdyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEwX2h3bWdyLmMKQEAgLTIw MCw5ICsyMDAsNiBAQCBzdGF0aWMgaW50IHZlZ2ExMF9zZXRfZmVhdHVyZXNfcGxhdGZvcm1fY2Fw cyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCQkJCVBITV9QbGF0Zm9ybUNhcHNfQ29udHJvbFZE RENJKTsKIAogCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3Jt Q2FwcywKLQkJCVBITV9QbGF0Zm9ybUNhcHNfVGFibGVsZXNzSGFyZHdhcmVJbnRlcmZhY2UpOwot Ci0JcGhtX2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAog CQkJUEhNX1BsYXRmb3JtQ2Fwc19FbmFibGVTTVU3VGhlcm1hbE1hbmFnZW1lbnQpOwogCiAJc3lz X2luZm8uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgY2dzX3N5c3RlbV9pbmZvKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9od21nci5oIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdyLmgKaW5kZXggODMxYWRkNC4uNWMxZTZhNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdyLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdyLmgKQEAgLTEwOSwxMCArMTA5 LDYgQEAgZW51bSBQSE1fQmFja0VuZF9NYWdpYyB7CiAjZGVmaW5lIFBITV9QQ0lFX1BPV0VSR0FU SU5HX1RBUkdFVF9QTExDQVNDQURFICAgICAyCiAjZGVmaW5lIFBITV9QQ0lFX1BPV0VSR0FUSU5H X1RBUkdFVF9QSFkgICAgICAgICAgICAzCiAKLXR5cGVkZWYgaW50ICgqcGhtX3RhYmxlX2Z1bmN0 aW9uKShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCB2b2lkICppbnB1dCwKLQkJCQkgIHZvaWQgKm91 dHB1dCwgdm9pZCAqc3RvcmFnZSwgaW50IHJlc3VsdCk7Ci0KLXR5cGVkZWYgYm9vbCAoKnBobV9j aGVja19mdW5jdGlvbikoc3RydWN0IHBwX2h3bWdyICpod21ncik7CiAKIHN0cnVjdCBwaG1fc2V0 X3Bvd2VyX3N0YXRlX2lucHV0IHsKIAljb25zdCBzdHJ1Y3QgcHBfaHdfcG93ZXJfc3RhdGUgKnBj dXJyZW50X3N0YXRlOwpAQCAtMTQ5LDMwICsxNDUsNiBAQCBzdHJ1Y3QgcGhtX2dmeF9hcmJpdGVy IHsKIAl1aW50MzJfdCBmY2xrOwogfTsKIAotLyogRW50cmllcyBpbiB0aGUgbWFzdGVyIHRhYmxl cyAqLwotc3RydWN0IHBobV9tYXN0ZXJfdGFibGVfaXRlbSB7Ci0JcGhtX2NoZWNrX2Z1bmN0aW9u IGlzRnVuY3Rpb25OZWVkZWRJblJ1bnRpbWVUYWJsZTsKLQlwaG1fdGFibGVfZnVuY3Rpb24gdGFi bGVGdW5jdGlvbjsKLX07Ci0KLWVudW0gcGhtX21hc3Rlcl90YWJsZV9mbGFnIHsKLQlQSE1fTWFz dGVyVGFibGVGbGFnX05vbmUgICAgICAgICA9IDAsCi0JUEhNX01hc3RlclRhYmxlRmxhZ19FeGl0 T25FcnJvciAgPSAxLAotfTsKLQotLyogVGhlIGhlYWRlciBvZiB0aGUgbWFzdGVyIHRhYmxlcyAq Lwotc3RydWN0IHBobV9tYXN0ZXJfdGFibGVfaGVhZGVyIHsKLQl1aW50MzJfdCBzdG9yYWdlX3Np emU7Ci0JdWludDMyX3QgZmxhZ3M7Ci0JY29uc3Qgc3RydWN0IHBobV9tYXN0ZXJfdGFibGVfaXRl bSAqbWFzdGVyX2xpc3Q7Ci19OwotCi1zdHJ1Y3QgcGhtX3J1bnRpbWVfdGFibGVfaGVhZGVyIHsK LQl1aW50MzJfdCBzdG9yYWdlX3NpemU7Ci0JYm9vbCBleGl0X2Vycm9yOwotCXBobV90YWJsZV9m dW5jdGlvbiAqZnVuY3Rpb25fbGlzdDsKLX07Ci0KIHN0cnVjdCBwaG1fY2xvY2tfYXJyYXkgewog CXVpbnQzMl90IGNvdW50OwogCXVpbnQzMl90IHZhbHVlc1sxXTsKQEAgLTIxNiwxOSArMTg4LDYg QEAgc3RydWN0IHBobV9waGFzZV9zaGVkZGluZ19saW1pdHNfcmVjb3JkIHsKIAl1aW50MzJfdCAg ICBNY2xrOwogfTsKIAotCi1leHRlcm4gaW50IHBobV9kaXNwYXRjaF90YWJsZShzdHJ1Y3QgcHBf aHdtZ3IgKmh3bWdyLAotCQkJICAgICAgc3RydWN0IHBobV9ydW50aW1lX3RhYmxlX2hlYWRlciAq cnRfdGFibGUsCi0JCQkgICAgICB2b2lkICppbnB1dCwgdm9pZCAqb3V0cHV0KTsKLQotZXh0ZXJu IGludCBwaG1fY29uc3RydWN0X3RhYmxlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCi0JCQkgICAg ICAgY29uc3Qgc3RydWN0IHBobV9tYXN0ZXJfdGFibGVfaGVhZGVyICptYXN0ZXJfdGFibGUsCi0J CQkgICAgICAgc3RydWN0IHBobV9ydW50aW1lX3RhYmxlX2hlYWRlciAqcnRfdGFibGUpOwotCi1l eHRlcm4gaW50IHBobV9kZXN0cm95X3RhYmxlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCi0JCQkg ICAgIHN0cnVjdCBwaG1fcnVudGltZV90YWJsZV9oZWFkZXIgKnJ0X3RhYmxlKTsKLQotCiBzdHJ1 Y3QgcGhtX3V2ZF9jbG9ja192b2x0YWdlX2RlcGVuZGVuY3lfcmVjb3JkIHsKIAl1aW50MzJfdCB2 Y2xrOwogCXVpbnQzMl90IGRjbGs7CkBAIC03NjAsMTMgKzcxOSw2IEBAIHN0cnVjdCBwcF9od21n ciB7CiAJdm9pZCAqYmFja2VuZDsKIAllbnVtIFBQX0RBTF9QT1dFUkxFVkVMIGRhbF9wb3dlcl9s ZXZlbDsKIAlzdHJ1Y3QgcGhtX2R5bmFtaWNfc3RhdGVfaW5mbyBkeW5fc3RhdGU7Ci0Jc3RydWN0 IHBobV9ydW50aW1lX3RhYmxlX2hlYWRlciBzZXR1cF9hc2ljOwotCXN0cnVjdCBwaG1fcnVudGlt ZV90YWJsZV9oZWFkZXIgcG93ZXJfZG93bl9hc2ljOwotCXN0cnVjdCBwaG1fcnVudGltZV90YWJs ZV9oZWFkZXIgZGlzYWJsZV9keW5hbWljX3N0YXRlX21hbmFnZW1lbnQ7Ci0Jc3RydWN0IHBobV9y dW50aW1lX3RhYmxlX2hlYWRlciBlbmFibGVfZHluYW1pY19zdGF0ZV9tYW5hZ2VtZW50OwotCXN0 cnVjdCBwaG1fcnVudGltZV90YWJsZV9oZWFkZXIgc2V0X3Bvd2VyX3N0YXRlOwotCXN0cnVjdCBw aG1fcnVudGltZV90YWJsZV9oZWFkZXIgZW5hYmxlX2Nsb2NrX3Bvd2VyX2dhdGluZ3M7Ci0Jc3Ry dWN0IHBobV9ydW50aW1lX3RhYmxlX2hlYWRlciBkaXNwbGF5X2NvbmZpZ3VyYXRpb25fY2hhbmdl ZDsKIAljb25zdCBzdHJ1Y3QgcHBfaHdtZ3JfZnVuYyAqaHdtZ3JfZnVuYzsKIAljb25zdCBzdHJ1 Y3QgcHBfdGFibGVfZnVuYyAqcHB0YWJsZV9mdW5jOwogCXN0cnVjdCBwcF9wb3dlcl9zdGF0ZSAg ICAqcHM7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cg==