From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755747AbcCBQLj (ORCPT ); Wed, 2 Mar 2016 11:11:39 -0500 Received: from mail-vk0-f52.google.com ([209.85.213.52]:35401 "EHLO mail-vk0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753319AbcCBQLf (ORCPT ); Wed, 2 Mar 2016 11:11:35 -0500 MIME-Version: 1.0 Reply-To: sedat.dilek@gmail.com In-Reply-To: References: <20150930220153.7a75c4fc@grimm.local.home> <20151012205755.7ad86f4c@grimm.local.home> <20160301100740.759440b7@gandalf.local.home> <20160301151700.GU6356@twins.programming.kicks-ass.net> <20160302151713.GG6357@twins.programming.kicks-ass.net> <20160302105625.6be17909@gandalf.local.home> Date: Wed, 2 Mar 2016 17:11:34 +0100 Message-ID: Subject: Re: [PATCH] usbhid: Fix lockdep unannotated irqs-off warning From: Sedat Dilek To: Steven Rostedt Cc: Peter Zijlstra , Jiri Kosina , Tejun Heo , Lai Jiangshan , Benjamin Tissoires , Paul McKenney , Andy Lutomirski , LKML , linux-usb@vger.kernel.org, Greg Kroah-Hartman , Alan Stern , Felipe Balbi , Ingo Molnar Content-Type: multipart/mixed; boundary=001a114318c8c060fb052d1322e5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --001a114318c8c060fb052d1322e5 Content-Type: text/plain; charset=UTF-8 On 3/2/16, Sedat Dilek wrote: > On 3/2/16, Steven Rostedt wrote: >> >> [ Resend with reply all, instead of just "reply" ] >> >> On Wed, 2 Mar 2016 16:53:36 +0100 >> Sedat Dilek wrote: >> >>> ffffffff8110f3f0 : >>> ffffffff8110f3f0: 55 push %rbp >>> ffffffff8110f3f1: 48 89 e5 mov %rsp,%rbp >>> ffffffff8110f3f4: 41 57 push %r15 >>> ffffffff8110f3f6: 41 56 push %r14 >>> ffffffff8110f3f8: 53 push %rbx >>> ffffffff8110f3f9: 50 push %rax >>> ffffffff8110f3fa: 48 89 fb mov %rdi,%rbx >>> ffffffff8110f3fd: e8 ee 6f 80 00 callq ffffffff819163f0 >>> ffffffff8110f402: e8 e9 6f 80 00 callq ffffffff819163f0 >>> ffffffff8110f407: e8 e4 6f 80 00 callq ffffffff819163f0 >>> ffffffff8110f40c: e8 df 6f 80 00 callq ffffffff819163f0 >> >> What is this about? >> > > Dunno. > > Not sure if this is relevant or not... > > [ LINUX-CONFIG ] > > $ ./scripts/diffconfig /boot/config-4.4.3-3-iniza-small > /boot/config-4.4.3-3-llvmlinux-amd64 > ARCH_HWEIGHT_CFLAGS "-fcall-saved-rdi -fcall-saved-rsi > -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 > -fcall-saved-r10 -fcall-saved-r11" -> "" > > ...and my patchset on top of Linux v4.4.3 is attached. > That was my full linux-config and now and really the patchset. ( If you are ill, stay in your bed. ) - Sedat - --001a114318c8c060fb052d1322e5 Content-Type: text/x-diff; charset=US-ASCII; name="4.4.3-3-llvmlinux-amd64.patch" Content-Disposition: attachment; filename="4.4.3-3-llvmlinux-amd64.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 QWwgVmlybyAoMSk6CiAgICAgIHVzZSAtPmRfc2VxIHRvIGdldCBjb2hlcmVuY3kgYmV0d2VlbiAt PmRfaW5vZGUgYW5kIC0+ZF9mbGFncwoKU2VkYXQgRGlsZWsgKDIzKToKICAgICAga2J1aWxkOiBs bHZtbGludXg6IEFkZCBjcm9zcyBjb21waWxhdGlvbiBzdXBwb3J0CiAgICAgIGtidWlsZDogbGx2 bWxpbnV4OiBBZGQgc3VwcG9ydCBmb3IgaW50ZWdyYXRlZC1hc3NlbWJsZXIgKElBKQogICAgICBr YnVpbGQ6IGxsdm1saW51eDogQWRkIExMVk0gYml0Y29kZSBzdXBwb3J0CiAgICAgIGtidWlsZDog bGx2bWxpbnV4OiBBZGQgc29tZSBtb3JlIGNsYW5nIGNvbXBpbGVyLWZsYWdzCiAgICAgIGtidWls ZDogbGx2bWxpbnV4OiBBZGQgLVdlcnJvciBjb21waWxlci1mbGFnIHRvIGNjLW9wdGlvbnMKICAg ICAga2J1aWxkOiBsbHZtbGludXg6IEZpeCBBU00gZGVmaW5lcwogICAgICBrYnVpbGQ6IGxsdm1s aW51eDogRml4IHVuc3VwcG9ydGVkIC1mbm8tZGVsZXRlLW51bGwtcG9pbnRlci1jaGVja3MgY29t cGlsZXItZmxhZwogICAgICBrYnVpbGQ6IGxsdm1saW51eDogRml4IHVuc3VwcG9ydGVkIC1mY2F0 Y2gtdW5kZWZpbmVkLWJlaGF2aW9yIGNvbXBpbGVyLWZsYWcKICAgICAgY29tcGlsZXItZ2NjOiBs bHZtbGludXg6IEFkZCBfX21heWJlX3VudXNlZCBhdHRyaWJ1dGUgZm9yIGlubGluaW5nCiAgICAg IGZzL2NvbXBhdDogbGx2bWxpbnV4OiBGaXggd2FybmluZyBpbiBDT01QQVRJQkxFX0lPQ1RMIGRl ZmluZQogICAgICBiY2FjaGU6IGxsdm1saW51eDogUmVwbGFjZSBuZXN0ZWQgZnVuY3Rpb24gd2l0 aCBfX2JjaF9jYWNoZV9jbXAoKQogICAgICBtZWdhcmFpZF9zYXM6IGxsdm1saW51eDogUmVtb3Zl IGlubGluZSBmcm9tIG1lZ2FzYXNfcmV0dXJuX2NtZCgpCiAgICAgIHNjc2k6IGxpYm9zZDogbGx2 bWxpbnV4OiBSZW1vdmUgX193ZWFrIGFuZCBhZGQgX19tYXliZV91bnVzZWQgYXR0cmlidXRlCiAg ICAgIG1waWxpYjogbGx2bWxpbnV4OiBGaXggY29tcGlsYXRpb24gd2l0aCBjbGFuZwogICAgICBt ZC9yYWlkMTA6IGxsdm1saW51eDogUmVtb3ZlIFZMQUlTIGZyb20gaGFuZGxlX3Jlc2hhcGVfcmVh ZF9lcnJvcigpCiAgICAgIGFwcGFybW9yOiBsbHZtbGludXg6IFJlbW92ZSBWTEFJUyBmcm9tIGFh X2NhbGNfcHJvZmlsZV9oYXNoKCkKICAgICAgeDg2OiBsbHZtbGludXg6IEZpeCB1bnN1cHBvcnRl ZCAtZmFsaWduLXtqdW1wcyxsb29wc30gY29tcGlsZXItZmxhZ3MKICAgICAgeGVuOiBsbHZtbGlu dXg6IFJlbW92ZSBWTEFJUyBmcm9tIHhlbl9mbHVzaF90bGJfb3RoZXJzKCkKICAgICAgdW06IGxs dm1saW51eDogQ2hlY2sgZm9yIGNsYW5nIGNvbXBpbGVyIGluIG1lbWNweSBleHBvcnQKICAgICAg eDg2OiBib290OiBsbHZtbGludXg6IFdvcmthcm91bmQgTExWTSBCdWcgUFIzOTk3CiAgICAgIHg4 Ni9od2VpZ2h0OiBib290OiBsbHZtbGludXg6IFdvcmthcm91bmQgTExWTSBCdWcgUFI5NDU3CiAg ICAgIE1lcmdlIGJyYW5jaCAnZm9yLTQuNC92ZnMtZml4ZXMnIGludG8gNC40LjMtMy1pbml6YS1z bWFsbAogICAgICBNZXJnZSBicmFuY2ggJ2Zvci00LjQvbGx2bWxpbnV4LWFtZDY0LWZpeGVzJyBp bnRvIDQuNC4zLTMtbGx2bWxpbnV4LWFtZDY0CgogLmdpdGlnbm9yZSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgMSArCiBLYnVpbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA4ICsrKy0tLS0KIE1ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogYXJjaC94ODYvS2Nv bmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCiBhcmNoL3g4Ni9NYWtlZmls ZSAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICsrKystLQogYXJjaC94ODYvYm9vdC9tZW1v cnkuYyAgICAgICAgICAgICAgICAgICAgfCAgNiArKysrKysKIGFyY2gveDg2L2Jvb3Qvc3RyaW5n LmggICAgICAgICAgICAgICAgICAgIHwgIDMgKysrCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9hcmNo X2h3ZWlnaHQuaCAgICAgICB8IDE4ICsrKystLS0tLS0tLS0tLS0KIGFyY2gveDg2L3VtL2tzeW1z LmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L3hlbi9tbXUuYyAgICAg ICAgICAgICAgICAgICAgICAgIHwgMzUgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBk cml2ZXJzL21kL2JjYWNoZS9zeXNmcy5jICAgICAgICAgICAgICAgICB8IDEwICsrKysrLS0tLQog ZHJpdmVycy9tZC9yYWlkMTAuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKystLS0tCiBk cml2ZXJzL3Njc2kvbWVnYXJhaWQvbWVnYXJhaWRfc2FzX2Jhc2UuYyB8ICAyICstCiBmcy9jb21w YXRfaW9jdGwuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBmcy9kY2FjaGUuYyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIwICsrKysrLS0tLS0tLS0tLS0tCiBpbmNs dWRlL2xpbnV4L2NvbXBpbGVyLWdjYy5oICAgICAgICAgICAgICB8IDEyICsrKysrLS0tLS0tCiBp bmNsdWRlL2xpbnV4L2RjYWNoZS5oICAgICAgICAgICAgICAgICAgICB8ICA0ICstLS0KIGluY2x1 ZGUvbGludXgva2J1aWxkLmggICAgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBpbmNsdWRl L3Njc2kvb3NkX3R5cGVzLmggICAgICAgICAgICAgICAgICB8ICAyICstCiBsaWIvbXBpL01ha2Vm aWxlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICsrCiBsaWIvbXBpL2xvbmdsb25nLmgg ICAgICAgICAgICAgICAgICAgICAgICB8ICA5ICsrKy0tLS0tCiBsaWIvbXBpL21waS1pbmxpbmUu aCAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBsaWIvbXBpL21waS1pbnRlcm5hbC5oICAg ICAgICAgICAgICAgICAgICB8IDEwICstLS0tLS0tLQogc2NyaXB0cy9LYnVpbGQuaW5jbHVkZSAg ICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0KIHNjcmlwdHMvTWFrZWZpbGUuYnVpbGQgICAg ICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKysrCiBzY3JpcHRzL21vZC9NYWtlZmlsZSAg ICAgICAgICAgICAgICAgICAgICB8ICA4ICsrKy0tLS0KIHNlY3VyaXR5L2FwcGFybW9yL2NyeXB0 by5jICAgICAgICAgICAgICAgIHwgMTcgKysrKysrLS0tLS0tLS0tCiAyNyBmaWxlcyBjaGFuZ2Vk LCAxMzcgaW5zZXJ0aW9ucygrKSwgMTE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhLy5naXRp Z25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IGZkM2EzNTU5MjU0My4uMzRmZTEzNDZhYTg3IDEwMDY0 NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTMzLDYgKzMzLDcgQEAKICou bHpvCiAqLnBhdGNoCiAqLmdjbm8KKyoubGwKIG1vZHVsZXMuYnVpbHRpbgogTW9kdWxlLnN5bXZl cnMKICouZHdvCmRpZmYgLS1naXQgYS9LYnVpbGQgYi9LYnVpbGQKaW5kZXggZjU1Y2VmZDliZjI5 Li4wYmJiODYzNTg5NDIgMTAwNjQ0Ci0tLSBhL0tidWlsZAorKysgYi9LYnVpbGQKQEAgLTgsMTAg KzgsMTAgQEAKIAogIyBEZWZhdWx0IHNlZCByZWdleHAgLSBtdWx0aWxpbmUgZHVlIHRvIHN5bnRh eCBjb25zdHJhaW50cwogZGVmaW5lIHNlZC15Ci0JIi9eLT4ve3M6LT4jXCguKlwpOi8qIFwxICov OjsgXAotCXM6Xi0+XChbXiBdKlwpIFtcJCQjXSpcKFstMC05XSpcKSBcKC4qXCk6I2RlZmluZSBc MSBcMiAvKiBcMyAqLzo7IFwKLQlzOl4tPlwoW14gXSpcKSBbXCQkI10qXChbXiBdKlwpIFwoLipc KTojZGVmaW5lIFwxIFwyIC8qIFwzICovOjsgXAotCXM6LT46OjsgcDt9IgorCSIvXkAtPi97czpA LT4jXCguKlwpOi8qIFwxICovOjsgXAorCXM6XkAtPlwoW14gXSpcKSBbXCQkI10qXChbLTAtOV0q XCkgXCguKlwpOiNkZWZpbmUgXDEgXDIgLyogXDMgKi86OyBcCisJczpeQC0+XChbXiBdKlwpIFtc JCQjXSpcKFteIF0qXCkgXCguKlwpOiNkZWZpbmUgXDEgXDIgLyogXDMgKi86OyBcCisJczpALT46 OjsgcDt9IgogZW5kZWYKIAogIyBVc2UgZmlsZWNoayB0byBhdm9pZCByZWJ1aWxkcyB3aGVuIGEg aGVhZGVyIGNoYW5nZXMsIGJ1dCB0aGUgcmVzdWx0aW5nIGZpbGUKZGlmZiAtLWdpdCBhL01ha2Vm aWxlIGIvTWFrZWZpbGUKaW5kZXggODAyYmUxMGM0MGM1Li5mYzM4ZjRjOTBlYTQgMTAwNjQ0Ci0t LSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC0zMDEsOCArMzAxLDEwIEBAIEhPU1RDRkxB R1MgICA9IC1XYWxsIC1XbWlzc2luZy1wcm90b3R5cGVzIC1Xc3RyaWN0LXByb3RvdHlwZXMgLU8y IC1mb21pdC1mcmFtZS1wCiBIT1NUQ1hYRkxBR1MgPSAtTzIKIAogaWZlcSAoJChzaGVsbCAkKEhP U1RDQykgLXYgMj4mMSB8IGdyZXAgLWMgImNsYW5nIHZlcnNpb24iKSwgMSkKLUhPU1RDRkxBR1Mg ICs9IC1Xbm8tdW51c2VkLXZhbHVlIC1Xbm8tdW51c2VkLXBhcmFtZXRlciBcCi0JCS1Xbm8tbWlz c2luZy1maWVsZC1pbml0aWFsaXplcnMgLWZuby1kZWxldGUtbnVsbC1wb2ludGVyLWNoZWNrcwor SE9TVENGTEFHUyAgKz0gLVduby11bnVzZWQtdmFsdWUgLVduby11bnVzZWQtcGFyYW1ldGVyIC1X bm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMKK2VuZGlmCitpZm5lcSAoJChzaGVsbCAkKEhP U1RDQykgLXYgMj4mMSB8IGdyZXAgLWMgImNsYW5nIHZlcnNpb24iKSwgMSkKK0hPU1RDRkxBR1Mg ICs9IC1mbm8tZGVsZXRlLW51bGwtcG9pbnRlci1jaGVja3MKIGVuZGlmCiAKICMgRGVjaWRlIHdo ZXRoZXIgdG8gYnVpbGQgYnVpbHQtaW4sIG1vZHVsYXIsIG9yIGJvdGguCkBAIC0zNjYsNiArMzY4 LDE5IEBAIENGTEFHU19LRVJORUwJPQogQUZMQUdTX0tFUk5FTAk9CiBDRkxBR1NfR0NPVgk9IC1m cHJvZmlsZS1hcmNzIC1mdGVzdC1jb3ZlcmFnZQogCitpZmVxICgkKGNjLW5hbWUpLGNsYW5nKQor aWZuZXEgKCQoQ1JPU1NfQ09NUElMRSksKQorQ0xBTkdfVEFSR0VUICAgOj0gLXRhcmdldCAkKG5v dGRpciAkKENST1NTX0NPTVBJTEU6JS09JSkpCitHQ0NfVE9PTENIQUlOICA6PSAkKGRpciAkKENS T1NTX0NPTVBJTEUpKQorZW5kaWYKK2lmbmVxICgkKEdDQ19UT09MQ0hBSU4pLCkKK0NMQU5HX0dD Q19UQyAgIDo9IC1nY2MtdG9vbGNoYWluICQoR0NDX1RPT0xDSEFJTikKK2VuZGlmCitpZm5lcSAo JChDTEFOR19FTkFCTEVfSUEpLDEpCitDTEFOR19JQV9GTEFHICA9IC1uby1pbnRlZ3JhdGVkLWFz CitlbmRpZgorQ0xBTkdfRkxBR1MgICAgOj0gJChDTEFOR19UQVJHRVQpICQoQ0xBTkdfR0NDX1RD KSAkKENMQU5HX0lBX0ZMQUcpCitlbmRpZgogCiAjIFVzZSBVU0VSSU5DTFVERSB3aGVuIHlvdSBt dXN0IHJlZmVyZW5jZSB0aGUgVUFQSSBkaXJlY3RvcmllcyBvbmx5LgogVVNFUklOQ0xVREUgICAg Oj0gXApAQCAtMzkxLDExICs0MDYsMTEgQEAgS0JVSUxEX0NGTEFHUyAgIDo9IC1XYWxsIC1XdW5k ZWYgLVdzdHJpY3QtcHJvdG90eXBlcyAtV25vLXRyaWdyYXBocyBcCiAJCSAgIC1mbm8tc3RyaWN0 LWFsaWFzaW5nIC1mbm8tY29tbW9uIFwKIAkJICAgLVdlcnJvci1pbXBsaWNpdC1mdW5jdGlvbi1k ZWNsYXJhdGlvbiBcCiAJCSAgIC1Xbm8tZm9ybWF0LXNlY3VyaXR5IFwKLQkJICAgLXN0ZD1nbnU4 OQorCQkgICAtc3RkPWdudTg5ICQoQ0xBTkdfRkxBR1MpCiAKIEtCVUlMRF9BRkxBR1NfS0VSTkVM IDo9CiBLQlVJTERfQ0ZMQUdTX0tFUk5FTCA6PQotS0JVSUxEX0FGTEFHUyAgIDo9IC1EX19BU1NF TUJMWV9fCitLQlVJTERfQUZMQUdTICAgOj0gLURfX0FTU0VNQkxZX18gJChDTEFOR19GTEFHUykK IEtCVUlMRF9BRkxBR1NfTU9EVUxFICA6PSAtRE1PRFVMRQogS0JVSUxEX0NGTEFHU19NT0RVTEUg IDo9IC1ETU9EVUxFCiBLQlVJTERfTERGTEFHU19NT0RVTEUgOj0gLVQgJChzcmN0cmVlKS9zY3Jp cHRzL21vZHVsZS1jb21tb24ubGRzCkBAIC02MDUsNyArNjIwLDkgQEAgQVJDSF9BRkxBR1MgOj0K IEFSQ0hfQ0ZMQUdTIDo9CiBpbmNsdWRlIGFyY2gvJChTUkNBUkNIKS9NYWtlZmlsZQogCitpZm5l cSAoJChjYy1uYW1lKSxjbGFuZykKIEtCVUlMRF9DRkxBR1MJKz0gJChjYWxsIGNjLW9wdGlvbiwt Zm5vLWRlbGV0ZS1udWxsLXBvaW50ZXItY2hlY2tzLCkKK2VuZGlmCiAKIGlmZGVmIENPTkZJR19D Q19PUFRJTUlaRV9GT1JfU0laRQogS0JVSUxEX0NGTEFHUwkrPSAtT3MgJChjYWxsIGNjLWRpc2Fi bGUtd2FybmluZyxtYXliZS11bmluaXRpYWxpemVkLCkKQEAgLTY3MywxMyArNjkwLDE4IEBAIEtC VUlMRF9DUFBGTEFHUyArPSAkKGNhbGwgY2Mtb3B0aW9uLC1Xbm8tdW5rbm93bi13YXJuaW5nLW9w dGlvbiwpCiBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1kaXNhYmxlLXdhcm5pbmcsIHVudXNl ZC12YXJpYWJsZSkKIEtCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNjLWRpc2FibGUtd2FybmluZywg Zm9ybWF0LWludmFsaWQtc3BlY2lmaWVyKQogS0JVSUxEX0NGTEFHUyArPSAkKGNhbGwgY2MtZGlz YWJsZS13YXJuaW5nLCBnbnUpCitLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1kaXNhYmxlLXdh cm5pbmcsIGFzbS1vcGVyYW5kLXdpZHRocykKK0tCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNjLWRp c2FibGUtd2FybmluZywgaW5pdGlhbGl6ZXItb3ZlcnJpZGVzKQorS0JVSUxEX0NGTEFHUyArPSAk KGNhbGwgY2Mtb3B0aW9uLCAtZm5vLWJ1aWx0aW4pCiAjIFF1aWV0IGNsYW5nIHdhcm5pbmc6IGNv bXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMgYWx3YXlzIGZhbHNlCiBLQlVJ TERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1kaXNhYmxlLXdhcm5pbmcsIHRhdXRvbG9naWNhbC1jb21w YXJlKQogIyBDTEFORyB1c2VzIGEgX01lcmdlZEdsb2JhbHMgYXMgb3B0aW1pemF0aW9uLCBidXQg dGhpcyBicmVha3MgbW9kcG9zdCwgYXMgdGhlCiAjIHNvdXJjZSBvZiBhIHJlZmVyZW5jZSB3aWxs IGJlIF9NZXJnZWRHbG9iYWxzIGFuZCBub3Qgb24gb2YgdGhlIHdoaXRlbGlzdGVkIG5hbWVzLgog IyBTZWUgbW9kcG9zdCBwYXR0ZXJuIDIKIEtCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNjLW9wdGlv biwgLW1uby1nbG9iYWwtbWVyZ2UsKQoraWZuZXEgKCQoY2MtbmFtZSksY2xhbmcpCiBLQlVJTERf Q0ZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sIC1mY2F0Y2gtdW5kZWZpbmVkLWJlaGF2aW9yKQor ZW5kaWYKIGVsc2UKIAogIyBUaGlzIHdhcm5pbmcgZ2VuZXJhdGVkIHRvbyBtdWNoIG5vaXNlIGlu IGEgcmVndWxhciBidWlsZC4KQEAgLTEyNjAsNiArMTI4Miw4IEBAIGhlbHA6CiAJQGVjaG8gICcg ICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiAkJChJTlNUQUxMX01PRF9QQVRIKS9saWIvZmly bXdhcmUpJwogCUBlY2hvICAnICBkaXIvICAgICAgICAgICAgLSBCdWlsZCBhbGwgZmlsZXMgaW4g ZGlyIGFuZCBiZWxvdycKIAlAZWNobyAgJyAgZGlyL2ZpbGUuW29pc1NdIC0gQnVpbGQgc3BlY2lm aWVkIHRhcmdldCBvbmx5JworCUBlY2hvICAnICBkaXIvZmlsZS5sbCAgICAgLSBCdWlsZCB0aGUg TExWTSBiaXRjb2RlIGZpbGUnCisJQGVjaG8gICcgICAgICAgICAgICAgICAgICAgIChyZXF1aXJl cyBjb21waWxlciBzdXBwb3J0IGZvciBMTFZNIGJpdGNvZGUgZ2VuZXJhdGlvbiknCiAJQGVjaG8g ICcgIGRpci9maWxlLmxzdCAgICAtIEJ1aWxkIHNwZWNpZmllZCBtaXhlZCBzb3VyY2UvYXNzZW1i bHkgdGFyZ2V0IG9ubHknCiAJQGVjaG8gICcgICAgICAgICAgICAgICAgICAgIChyZXF1aXJlcyBh IHJlY2VudCBiaW51dGlscyBhbmQgcmVjZW50IGJ1aWxkIChTeXN0ZW0ubWFwKSknCiAJQGVjaG8g ICcgIGRpci9maWxlLmtvICAgICAtIEJ1aWxkIG1vZHVsZSBpbmNsdWRpbmcgZmluYWwgbGluaycK QEAgLTE1MzgsNiArMTU2MiwxMCBAQCBlbmRpZgogCSQoUSkkKE1BS0UpICQoYnVpbGQpPSQoYnVp bGQtZGlyKSAkKHRhcmdldC1kaXIpJChub3RkaXIgJEApCiAlLnN5bXR5cGVzOiAlLmMgcHJlcGFy ZSBzY3JpcHRzIEZPUkNFCiAJJChRKSQoTUFLRSkgJChidWlsZCk9JChidWlsZC1kaXIpICQodGFy Z2V0LWRpcikkKG5vdGRpciAkQCkKKyUubGw6ICUuYyBwcmVwYXJlIHNjcmlwdHMgRk9SQ0UKKwkk KFEpJChNQUtFKSAkKGJ1aWxkKT0kKGJ1aWxkLWRpcikgJCh0YXJnZXQtZGlyKSQobm90ZGlyICRA KQorJS5sbDogJS5TIHByZXBhcmUgc2NyaXB0cyBGT1JDRQorCSQoUSkkKE1BS0UpICQoYnVpbGQp PSQoYnVpbGQtZGlyKSAkKHRhcmdldC1kaXIpJChub3RkaXIgJEApCiAKICMgTW9kdWxlcwogLzog cHJlcGFyZSBzY3JpcHRzIEZPUkNFCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9LY29uZmlnIGIvYXJj aC94ODYvS2NvbmZpZwppbmRleCBkYjM2MjJmMjJiNjEuLjljNzk0MThjYjc4MyAxMDA2NDQKLS0t IGEvYXJjaC94ODYvS2NvbmZpZworKysgYi9hcmNoL3g4Ni9LY29uZmlnCkBAIC0yODAsOCArMjgw LDggQEAgY29uZmlnIFg4Nl8zMl9MQVpZX0dTCiAKIGNvbmZpZyBBUkNIX0hXRUlHSFRfQ0ZMQUdT CiAJc3RyaW5nCi0JZGVmYXVsdCAiLWZjYWxsLXNhdmVkLWVjeCAtZmNhbGwtc2F2ZWQtZWR4IiBp ZiBYODZfMzIKLQlkZWZhdWx0ICItZmNhbGwtc2F2ZWQtcmRpIC1mY2FsbC1zYXZlZC1yc2kgLWZj YWxsLXNhdmVkLXJkeCAtZmNhbGwtc2F2ZWQtcmN4IC1mY2FsbC1zYXZlZC1yOCAtZmNhbGwtc2F2 ZWQtcjkgLWZjYWxsLXNhdmVkLXIxMCAtZmNhbGwtc2F2ZWQtcjExIiBpZiBYODZfNjQKKwkjIFdv cmthcm91bmQgTExWTSBCdWcgUFI5NDU3CisJZGVmYXVsdCAiIiBpZiAoWDg2XzMyIHx8IFg4Nl82 NCkKIAogY29uZmlnIEFSQ0hfU1VQUE9SVFNfVVBST0JFUwogCWRlZl9ib29sIHkKZGlmZiAtLWdp dCBhL2FyY2gveDg2L01ha2VmaWxlIGIvYXJjaC94ODYvTWFrZWZpbGUKaW5kZXggNDA4NmFiY2Ew YjMyLi41ZmE0MWZmZTE1ZTIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L01ha2VmaWxlCisrKyBiL2Fy Y2gveDg2L01ha2VmaWxlCkBAIC04NywxMSArODcsMTMgQEAgZWxzZQogICAgICAgICBLQlVJTERf QUZMQUdTICs9IC1tNjQKICAgICAgICAgS0JVSUxEX0NGTEFHUyArPSAtbTY0CiAKK2lmbmVxICgk KGNjLW5hbWUpLGNsYW5nKQogICAgICAgICAjIEFsaWduIGp1bXAgdGFyZ2V0cyB0byAxIGJ5dGUs IG5vdCB0aGUgZGVmYXVsdCAxNiBieXRlczoKLSAgICAgICAgS0JVSUxEX0NGTEFHUyArPSAtZmFs aWduLWp1bXBzPTEKKyAgICAgICAgS0JVSUxEX0NGTEFHUyArPSAkKGNhbGwgY2Mtb3B0aW9uLC1m YWxpZ24tanVtcHM9MSkKIAogICAgICAgICAjIFBhY2sgbG9vcHMgdGlnaHRseSBhcyB3ZWxsOgot ICAgICAgICBLQlVJTERfQ0ZMQUdTICs9IC1mYWxpZ24tbG9vcHM9MQorICAgICAgICBLQlVJTERf Q0ZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sLWZhbGlnbi1sb29wcz0xKQorZW5kaWYKIAogICAg ICAgICAjIERvbid0IGF1dG9nZW5lcmF0ZSB0cmFkaXRpb25hbCB4ODcgaW5zdHJ1Y3Rpb25zCiAg ICAgICAgIEtCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNjLW9wdGlvbiwtbW5vLTgwMzg3KQpkaWZm IC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9tZW1vcnkuYyBiL2FyY2gveDg2L2Jvb3QvbWVtb3J5LmMK aW5kZXggZGI3NWQwN2MzNjQ1Li5kNDkxMTVmODBmYmIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jv b3QvbWVtb3J5LmMKKysrIGIvYXJjaC94ODYvYm9vdC9tZW1vcnkuYwpAQCAtNjQsNyArNjQsMTMg QEAgc3RhdGljIGludCBkZXRlY3RfbWVtb3J5X2U4MjAodm9pZCkKIAkJCWJyZWFrOwogCQl9CiAK Ky8qIFdvcmthcm91bmQgTExWTSBCdWcgUFIzOTk3ICovCisjaWZkZWYgX19jbGFuZ19fCisJCW1l bWNweShkZXNjLCAmYnVmLCBzaXplb2YoKmRlc2MpKTsKKwkJZGVzYysrOworI2Vsc2UKIAkJKmRl c2MrKyA9IGJ1ZjsKKyNlbmRpZiAvKiBfX2NsYW5nX18gKi8KIAkJY291bnQrKzsKIAl9IHdoaWxl IChpcmVnLmVieCAmJiBjb3VudCA8IEFSUkFZX1NJWkUoYm9vdF9wYXJhbXMuZTgyMF9tYXApKTsK IApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9zdHJpbmcuaCBiL2FyY2gveDg2L2Jvb3Qvc3Ry aW5nLmgKaW5kZXggNzI1ZTgyMDYwMmIxLi4zMWE0MzFlOWQ0ZTIgMTAwNjQ0Ci0tLSBhL2FyY2gv eDg2L2Jvb3Qvc3RyaW5nLmgKKysrIGIvYXJjaC94ODYvYm9vdC9zdHJpbmcuaApAQCAtMTQsOCAr MTQsMTEgQEAgaW50IG1lbWNtcChjb25zdCB2b2lkICpzMSwgY29uc3Qgdm9pZCAqczIsIHNpemVf dCBsZW4pOwogICogQWNjZXNzIGJ1aWx0aW4gdmVyc2lvbiBieSBkZWZhdWx0LiBJZiBvbmUgbmVl ZHMgdG8gdXNlIG9wdGltaXplZCB2ZXJzaW9uLAogICogZG8gInVuZGVmIG1lbWNweSIgaW4gLmMg ZmlsZSBhbmQgbGluayBhZ2FpbnN0IHJpZ2h0IHN0cmluZy5jCiAgKi8KKy8qIFdvcmthcm91bmQg TExWTSBCdWcgUFIzOTk3ICovCisjaWZuZGVmIF9fY2xhbmdfXwogI2RlZmluZSBtZW1jcHkoZCxz LGwpIF9fYnVpbHRpbl9tZW1jcHkoZCxzLGwpCiAjZGVmaW5lIG1lbXNldChkLGMsbCkgX19idWls dGluX21lbXNldChkLGMsbCkKICNkZWZpbmUgbWVtY21wCV9fYnVpbHRpbl9tZW1jbXAKKyNlbmRp ZiAvKiBfX2NsYW5nX18gKi8KIAogI2VuZGlmIC8qIEJPT1RfU1RSSU5HX0ggKi8KZGlmZiAtLWdp dCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2FyY2hfaHdlaWdodC5oIGIvYXJjaC94ODYvaW5jbHVk ZS9hc20vYXJjaF9od2VpZ2h0LmgKaW5kZXggMjU5YTdjMWVmNzA5Li4zM2Y4MjhhNjU5YmMgMTAw NjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2FyY2hfaHdlaWdodC5oCisrKyBiL2FyY2gv eDg2L2luY2x1ZGUvYXNtL2FyY2hfaHdlaWdodC5oCkBAIC0yMywxMyArMjMsOCBAQAogICovCiBz dGF0aWMgX19hbHdheXNfaW5saW5lIHVuc2lnbmVkIGludCBfX2FyY2hfaHdlaWdodDMyKHVuc2ln bmVkIGludCB3KQogewotCXVuc2lnbmVkIGludCByZXMgPSAwOwotCi0JYXNtIChBTFRFUk5BVElW RSgiY2FsbCBfX3N3X2h3ZWlnaHQzMiIsIFBPUENOVDMyLCBYODZfRkVBVFVSRV9QT1BDTlQpCi0J CSAgICAgOiAiPSJSRUdfT1VUIChyZXMpCi0JCSAgICAgOiBSRUdfSU4gKHcpKTsKLQotCXJldHVy biByZXM7CisvKiBXb3JrYXJvdW5kIExMVk0gQnVnIFBSOTQ1NyAqLworCXJldHVybiBfX3N3X2h3 ZWlnaHQzMih3KTsKIH0KIAogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgX19hcmNoX2h3ZWln aHQxNih1bnNpZ25lZCBpbnQgdykKQEAgLTUxLDEzICs0Niw4IEBAIHN0YXRpYyBpbmxpbmUgdW5z aWduZWQgbG9uZyBfX2FyY2hfaHdlaWdodDY0KF9fdTY0IHcpCiAjZWxzZQogc3RhdGljIF9fYWx3 YXlzX2lubGluZSB1bnNpZ25lZCBsb25nIF9fYXJjaF9od2VpZ2h0NjQoX191NjQgdykKIHsKLQl1 bnNpZ25lZCBsb25nIHJlcyA9IDA7Ci0KLQlhc20gKEFMVEVSTkFUSVZFKCJjYWxsIF9fc3dfaHdl aWdodDY0IiwgUE9QQ05UNjQsIFg4Nl9GRUFUVVJFX1BPUENOVCkKLQkJICAgICA6ICI9IlJFR19P VVQgKHJlcykKLQkJICAgICA6IFJFR19JTiAodykpOwotCi0JcmV0dXJuIHJlczsKKy8qIFdvcmth cm91bmQgTExWTSBCdWcgUFI5NDU3ICovCisJcmV0dXJuIF9fc3dfaHdlaWdodDY0KHcpOwogfQog I2VuZGlmIC8qIENPTkZJR19YODZfMzIgKi8KIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYvdW0va3N5 bXMuYyBiL2FyY2gveDg2L3VtL2tzeW1zLmMKaW5kZXggMmU4ZjQzZWM2MjE0Li4wNGFlZGNlY2Q4 ODcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3VtL2tzeW1zLmMKKysrIGIvYXJjaC94ODYvdW0va3N5 bXMuYwpAQCAtNCw3ICs0LDcgQEAKIAogI2lmbmRlZiBDT05GSUdfWDg2XzMyCiAvKlhYWDogd2Ug bmVlZCB0aGVtIGJlY2F1c2UgdGhleSB3b3VsZCBiZSBleHBvcnRlZCBieSB4ODZfNjQgKi8KLSNp ZiAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA+PSAzKSB8fCBfX0dOVUNfXyA+IDQK KyNpZiAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA+PSAzKSB8fCBfX0dOVUNfXyA+ IDQgfHwgZGVmaW5lZChfX2NsYW5nX18pCiBFWFBPUlRfU1lNQk9MKG1lbWNweSk7CiAjZWxzZQog RVhQT1JUX1NZTUJPTChfX21lbWNweSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vbW11LmMg Yi9hcmNoL3g4Ni94ZW4vbW11LmMKaW5kZXggY2I1ZTI2NmE4YmY3Li4xNjc2MjBlYTc5YmEgMTAw NjQ0Ci0tLSBhL2FyY2gveDg2L3hlbi9tbXUuYworKysgYi9hcmNoL3g4Ni94ZW4vbW11LmMKQEAg LTEzNzQsMzYgKzEzNzQsMzcgQEAgc3RhdGljIHZvaWQgeGVuX2ZsdXNoX3RsYl9vdGhlcnMoY29u c3Qgc3RydWN0IGNwdW1hc2sgKmNwdXMsCiAJCQkJIHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNp Z25lZCBsb25nIHN0YXJ0LAogCQkJCSB1bnNpZ25lZCBsb25nIGVuZCkKIHsKLQlzdHJ1Y3Qgewot CQlzdHJ1Y3QgbW11ZXh0X29wIG9wOwotI2lmZGVmIENPTkZJR19TTVAKLQkJREVDTEFSRV9CSVRN QVAobWFzaywgbnVtX3Byb2Nlc3NvcnMpOwotI2Vsc2UKLQkJREVDTEFSRV9CSVRNQVAobWFzaywg TlJfQ1BVUyk7Ci0jZW5kaWYKLQl9ICphcmdzOwogCXN0cnVjdCBtdWx0aWNhbGxfc3BhY2UgbWNz OworCXN0cnVjdCBtbXVleHRfb3AgKm9wOworCXN0cnVjdCBjcHVtYXNrICptYXNrOwogCiAJdHJh Y2VfeGVuX21tdV9mbHVzaF90bGJfb3RoZXJzKGNwdXMsIG1tLCBzdGFydCwgZW5kKTsKIAogCWlm IChjcHVtYXNrX2VtcHR5KGNwdXMpKQogCQlyZXR1cm47CQkvKiBub3RoaW5nIHRvIGRvICovCiAK LQltY3MgPSB4ZW5fbWNfZW50cnkoc2l6ZW9mKCphcmdzKSk7Ci0JYXJncyA9IG1jcy5hcmdzOwot CWFyZ3MtPm9wLmFyZzIudmNwdW1hc2sgPSB0b19jcHVtYXNrKGFyZ3MtPm1hc2spOworI2lmZGVm IENPTkZJR19TTVAKKwltY3MgPSB4ZW5fbWNfZW50cnkoc2l6ZW9mKHN0cnVjdCBtbXVleHRfb3Ap ICsgQklUU19UT19MT05HUyhudW1fcHJvY2Vzc29ycykqc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKTsK KyNlbHNlCisJbWNzID0geGVuX21jX2VudHJ5KHNpemVvZihzdHJ1Y3QgbW11ZXh0X29wKSArIEJJ VFNfVE9fTE9OR1MoTlJfQ1BVUykqc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKTsKKyNlbmRpZgorCS8q IEV4dHJhY3QgZmllbGRzICovCisJb3AgPSBtY3MuYXJnczsKKwltYXNrID0gdG9fY3B1bWFzayht Y3MuYXJncyArIHNpemVvZihzdHJ1Y3QgbW11ZXh0X29wKSk7CisKKwlvcC0+YXJnMi52Y3B1bWFz ayA9IG1hc2s7CiAKIAkvKiBSZW1vdmUgdXMsIGFuZCBhbnkgb2ZmbGluZSBDUFVTLiAqLwotCWNw dW1hc2tfYW5kKHRvX2NwdW1hc2soYXJncy0+bWFzayksIGNwdXMsIGNwdV9vbmxpbmVfbWFzayk7 Ci0JY3B1bWFza19jbGVhcl9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpLCB0b19jcHVtYXNrKGFyZ3Mt Pm1hc2spKTsKKwljcHVtYXNrX2FuZChtYXNrLCBjcHVzLCBjcHVfb25saW5lX21hc2spOworCWNw dW1hc2tfY2xlYXJfY3B1KHNtcF9wcm9jZXNzb3JfaWQoKSwgbWFzayk7CiAKLQlhcmdzLT5vcC5j bWQgPSBNTVVFWFRfVExCX0ZMVVNIX01VTFRJOworCW9wLT5jbWQgPSBNTVVFWFRfVExCX0ZMVVNI X01VTFRJOwogCWlmIChlbmQgIT0gVExCX0ZMVVNIX0FMTCAmJiAoZW5kIC0gc3RhcnQpIDw9IFBB R0VfU0laRSkgewotCQlhcmdzLT5vcC5jbWQgPSBNTVVFWFRfSU5WTFBHX01VTFRJOwotCQlhcmdz LT5vcC5hcmcxLmxpbmVhcl9hZGRyID0gc3RhcnQ7CisJCW9wLT5jbWQgPSBNTVVFWFRfSU5WTFBH X01VTFRJOworCQlvcC0+YXJnMS5saW5lYXJfYWRkciA9IHN0YXJ0OwogCX0KIAotCU1VTFRJX21t dWV4dF9vcChtY3MubWMsICZhcmdzLT5vcCwgMSwgTlVMTCwgRE9NSURfU0VMRik7CisJTVVMVElf bW11ZXh0X29wKG1jcy5tYywgb3AsIDEsIE5VTEwsIERPTUlEX1NFTEYpOwogCiAJeGVuX21jX2lz c3VlKFBBUkFWSVJUX0xBWllfTU1VKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvYmNhY2hl L3N5c2ZzLmMgYi9kcml2ZXJzL21kL2JjYWNoZS9zeXNmcy5jCmluZGV4IGIzZmY1N2Q2MWRkZS4u NTNkOGJhYTc0MWZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL21kL2JjYWNoZS9zeXNmcy5jCisrKyBi L2RyaXZlcnMvbWQvYmNhY2hlL3N5c2ZzLmMKQEAgLTczMSw2ICs3MzEsMTEgQEAgc3RhdGljIHN0 cnVjdCBhdHRyaWJ1dGUgKmJjaF9jYWNoZV9zZXRfaW50ZXJuYWxfZmlsZXNbXSA9IHsKIH07CiBL VFlQRShiY2hfY2FjaGVfc2V0X2ludGVybmFsKTsKIAorc3RhdGljIGludCBfX2JjaF9jYWNoZV9j bXAoY29uc3Qgdm9pZCAqbCwgY29uc3Qgdm9pZCAqcikKK3sKKwlyZXR1cm4gKigodWludDE2X3Qg KikgcikgLSAqKCh1aW50MTZfdCAqKSBsKTsKK30KKwogU0hPVyhfX2JjaF9jYWNoZSkKIHsKIAlz dHJ1Y3QgY2FjaGUgKmNhID0gY29udGFpbmVyX29mKGtvYmosIHN0cnVjdCBjYWNoZSwga29iaik7 CkBAIC03NTUsOSArNzYwLDYgQEAgU0hPVyhfX2JjaF9jYWNoZSkKIAkJCQkJICAgICAgIENBQ0hF X1JFUExBQ0VNRU5UKCZjYS0+c2IpKTsKIAogCWlmIChhdHRyID09ICZzeXNmc19wcmlvcml0eV9z dGF0cykgewotCQlpbnQgY21wKGNvbnN0IHZvaWQgKmwsIGNvbnN0IHZvaWQgKnIpCi0JCXsJcmV0 dXJuICooKHVpbnQxNl90ICopIHIpIC0gKigodWludDE2X3QgKikgbCk7IH0KLQogCQlzdHJ1Y3Qg YnVja2V0ICpiOwogCQlzaXplX3QgbiA9IGNhLT5zYi5uYnVja2V0cywgaTsKIAkJc2l6ZV90IHVu dXNlZCA9IDAsIGF2YWlsYWJsZSA9IDAsIGRpcnR5ID0gMCwgbWV0YSA9IDA7CkBAIC03ODYsNyAr Nzg4LDcgQEAgU0hPVyhfX2JjaF9jYWNoZSkKIAkJCXBbaV0gPSBjYS0+YnVja2V0c1tpXS5wcmlv OwogCQltdXRleF91bmxvY2soJmNhLT5zZXQtPmJ1Y2tldF9sb2NrKTsKIAotCQlzb3J0KHAsIG4s IHNpemVvZih1aW50MTZfdCksIGNtcCwgTlVMTCk7CisJCXNvcnQocCwgbiwgc2l6ZW9mKHVpbnQx Nl90KSwgX19iY2hfY2FjaGVfY21wLCBOVUxMKTsKIAogCQl3aGlsZSAobiAmJgogCQkgICAgICAg IWNhY2hlZFtuIC0gMV0pCmRpZmYgLS1naXQgYS9kcml2ZXJzL21kL3JhaWQxMC5jIGIvZHJpdmVy cy9tZC9yYWlkMTAuYwppbmRleCBjZTk1OWI0YWU0ZGYuLmU1YjNhYmYxZWIwZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9tZC9yYWlkMTAuYworKysgYi9kcml2ZXJzL21kL3JhaWQxMC5jCkBAIC00NDgz LDExICs0NDgzLDkgQEAgc3RhdGljIGludCBoYW5kbGVfcmVzaGFwZV9yZWFkX2Vycm9yKHN0cnVj dCBtZGRldiAqbWRkZXYsCiAJLyogVXNlIHN5bmMgcmVhZHMgdG8gZ2V0IHRoZSBibG9ja3MgZnJv bSBzb21ld2hlcmUgZWxzZSAqLwogCWludCBzZWN0b3JzID0gcjEwX2Jpby0+c2VjdG9yczsKIAlz dHJ1Y3QgcjEwY29uZiAqY29uZiA9IG1kZGV2LT5wcml2YXRlOwotCXN0cnVjdCB7Ci0JCXN0cnVj dCByMTBiaW8gcjEwX2JpbzsKLQkJc3RydWN0IHIxMGRldiBkZXZzW2NvbmYtPmNvcGllc107Ci0J fSBvbl9zdGFjazsKLQlzdHJ1Y3QgcjEwYmlvICpyMTBiID0gJm9uX3N0YWNrLnIxMF9iaW87CisJ LyogQWxsb2NhdGUgc3BhY2UgZm9yIHIxMGJpbyBvbiBzdGFjayAqLworCXU4IHIxMGJpb19vbl9z dGFja1tzaXplb2Yoc3RydWN0IHIxMGJpbykgKyBjb25mLT5jb3BpZXMgKiBzaXplb2Yoc3RydWN0 IHIxMGRldildOworCXN0cnVjdCByMTBiaW8gKnIxMGIgPSAoc3RydWN0IHIxMGJpbyAqKSByMTBi aW9fb25fc3RhY2s7CiAJaW50IHNsb3QgPSAwOwogCWludCBpZHggPSAwOwogCXN0cnVjdCBiaW9f dmVjICpidmVjID0gcjEwX2Jpby0+bWFzdGVyX2Jpby0+YmlfaW9fdmVjOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhc19iYXNlLmMgYi9kcml2ZXJzL3Njc2kv bWVnYXJhaWQvbWVnYXJhaWRfc2FzX2Jhc2UuYwppbmRleCA5N2ExYzFjMzNiMDUuLmFiY2VjMzAy MGM4MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhc19iYXNl LmMKKysrIGIvZHJpdmVycy9zY3NpL21lZ2FyYWlkL21lZ2FyYWlkX3Nhc19iYXNlLmMKQEAgLTIz NCw3ICsyMzQsNyBAQCBzdHJ1Y3QgbWVnYXNhc19jbWQgKm1lZ2FzYXNfZ2V0X2NtZChzdHJ1Y3Qg bWVnYXNhc19pbnN0YW5jZQogICogQGluc3RhbmNlOgkJQWRhcHRlciBzb2Z0IHN0YXRlCiAgKiBA Y21kOgkJQ29tbWFuZCBwYWNrZXQgdG8gYmUgcmV0dXJuZWQgdG8gZnJlZSBjb21tYW5kIHBvb2wK ICAqLwotaW5saW5lIHZvaWQKK3ZvaWQKIG1lZ2FzYXNfcmV0dXJuX2NtZChzdHJ1Y3QgbWVnYXNh c19pbnN0YW5jZSAqaW5zdGFuY2UsIHN0cnVjdCBtZWdhc2FzX2NtZCAqY21kKQogewogCXVuc2ln bmVkIGxvbmcgZmxhZ3M7CmRpZmYgLS1naXQgYS9mcy9jb21wYXRfaW9jdGwuYyBiL2ZzL2NvbXBh dF9pb2N0bC5jCmluZGV4IGRjZjI2NTM3YzkzNS4uYTUyY2E1Y2JhMDE1IDEwMDY0NAotLS0gYS9m cy9jb21wYXRfaW9jdGwuYworKysgYi9mcy9jb21wYXRfaW9jdGwuYwpAQCAtODExLDcgKzgxMSw3 IEBAIHN0YXRpYyBpbnQgY29tcGF0X2lvY3RsX3ByZWFsbG9jYXRlKHN0cnVjdCBmaWxlICpmaWxl LAogICovCiAjZGVmaW5lIFhGT1JNKGkpICgoKGkpIF4gKChpKSA8PCAyNykgXiAoKGkpIDw8IDE3 KSkgJiAweGZmZmZmZmZmKQogCi0jZGVmaW5lIENPTVBBVElCTEVfSU9DVEwoY21kKSBYRk9STShj bWQpLAorI2RlZmluZSBDT01QQVRJQkxFX0lPQ1RMKGNtZCkgWEZPUk0oKHUzMiljbWQpLAogLyog aW9jdGwgc2hvdWxkIG5vdCBiZSB3YXJuZWQgYWJvdXQgZXZlbiBpZiBpdCdzIG5vdCBpbXBsZW1l bnRlZC4KICAgIFZhbGlkIHJlYXNvbnMgdG8gdXNlIHRoaXM6CiAgICAtIEl0IGlzIGltcGxlbWVu dGVkIHdpdGggLT5jb21wYXRfaW9jdGwgb24gc29tZSBkZXZpY2UsIGJ1dCBwcm9ncmFtcwpkaWZm IC0tZ2l0IGEvZnMvZGNhY2hlLmMgYi9mcy9kY2FjaGUuYwppbmRleCA1YzMzYWViMGY2OGYuLjg3 N2JjYmJkMDNmZiAxMDA2NDQKLS0tIGEvZnMvZGNhY2hlLmMKKysrIGIvZnMvZGNhY2hlLmMKQEAg LTI2OSw5ICsyNjksNiBAQCBzdGF0aWMgaW5saW5lIGludCBkbmFtZV9leHRlcm5hbChjb25zdCBz dHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiAJcmV0dXJuIGRlbnRyeS0+ZF9uYW1lLm5hbWUgIT0gZGVu dHJ5LT5kX2luYW1lOwogfQogCi0vKgotICogTWFrZSBzdXJlIG90aGVyIENQVXMgc2VlIHRoZSBp bm9kZSBhdHRhY2hlZCBiZWZvcmUgdGhlIHR5cGUgaXMgc2V0LgotICovCiBzdGF0aWMgaW5saW5l IHZvaWQgX19kX3NldF9pbm9kZV9hbmRfdHlwZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnksCiAJCQkJ CSAgc3RydWN0IGlub2RlICppbm9kZSwKIAkJCQkJICB1bnNpZ25lZCB0eXBlX2ZsYWdzKQpAQCAt Mjc5LDI4ICsyNzYsMTggQEAgc3RhdGljIGlubGluZSB2b2lkIF9fZF9zZXRfaW5vZGVfYW5kX3R5 cGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LAogCXVuc2lnbmVkIGZsYWdzOwogCiAJZGVudHJ5LT5k X2lub2RlID0gaW5vZGU7Ci0Jc21wX3dtYigpOwogCWZsYWdzID0gUkVBRF9PTkNFKGRlbnRyeS0+ ZF9mbGFncyk7CiAJZmxhZ3MgJj0gfihEQ0FDSEVfRU5UUllfVFlQRSB8IERDQUNIRV9GQUxMVEhS VSk7CiAJZmxhZ3MgfD0gdHlwZV9mbGFnczsKIAlXUklURV9PTkNFKGRlbnRyeS0+ZF9mbGFncywg ZmxhZ3MpOwogfQogCi0vKgotICogSWRlYWxseSwgd2Ugd2FudCB0byBtYWtlIHN1cmUgdGhhdCBv dGhlciBDUFVzIHNlZSB0aGUgZmxhZ3MgY2xlYXJlZCBiZWZvcmUKLSAqIHRoZSBpbm9kZSBpcyBk ZXRhY2hlZCwgYnV0IHRoaXMgaXMgcmVhbGx5IGEgdmlvbGF0aW9uIG9mIFJDVSBwcmluY2lwbGVz Ci0gKiBzaW5jZSB0aGUgb3JkZXJpbmcgc3VnZ2VzdHMgd2Ugc2hvdWxkIGFsd2F5cyBzZXQgaW5v ZGUgYmVmb3JlIGZsYWdzLgotICoKLSAqIFdlIHNob3VsZCBpbnN0ZWFkIHJlcGxhY2Ugb3IgZGlz Y2FyZCB0aGUgZW50aXJlIGRlbnRyeSAtIGJ1dCB0aGF0IHN1Y2tzCi0gKiBwZXJmb3JtYW5jZXdp c2Ugb24gbWFzcyBkZWxldGlvbi9yZW5hbWUuCi0gKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2Rf Y2xlYXJfdHlwZV9hbmRfaW5vZGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQogewogCXVuc2lnbmVk IGZsYWdzID0gUkVBRF9PTkNFKGRlbnRyeS0+ZF9mbGFncyk7CiAKIAlmbGFncyAmPSB+KERDQUNI RV9FTlRSWV9UWVBFIHwgRENBQ0hFX0ZBTExUSFJVKTsKIAlXUklURV9PTkNFKGRlbnRyeS0+ZF9m bGFncywgZmxhZ3MpOwotCXNtcF93bWIoKTsKIAlkZW50cnktPmRfaW5vZGUgPSBOVUxMOwogfQog CkBAIC0zNzAsOSArMzU3LDExIEBAIHN0YXRpYyB2b2lkIGRlbnRyeV91bmxpbmtfaW5vZGUoc3Ry dWN0IGRlbnRyeSAqIGRlbnRyeSkKIAlfX3JlbGVhc2VzKGRlbnRyeS0+ZF9pbm9kZS0+aV9sb2Nr KQogewogCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7CisKKwlyYXdfd3Jp dGVfc2VxY291bnRfYmVnaW4oJmRlbnRyeS0+ZF9zZXEpOwogCV9fZF9jbGVhcl90eXBlX2FuZF9p bm9kZShkZW50cnkpOwogCWhsaXN0X2RlbF9pbml0KCZkZW50cnktPmRfdS5kX2FsaWFzKTsKLQlk ZW50cnlfcmN1d2Fsa19pbnZhbGlkYXRlKGRlbnRyeSk7CisJcmF3X3dyaXRlX3NlcWNvdW50X2Vu ZCgmZGVudHJ5LT5kX3NlcSk7CiAJc3Bpbl91bmxvY2soJmRlbnRyeS0+ZF9sb2NrKTsKIAlzcGlu X3VubG9jaygmaW5vZGUtPmlfbG9jayk7CiAJaWYgKCFpbm9kZS0+aV9ubGluaykKQEAgLTE3NTcs OCArMTc0Niw5IEBAIHN0YXRpYyB2b2lkIF9fZF9pbnN0YW50aWF0ZShzdHJ1Y3QgZGVudHJ5ICpk ZW50cnksIHN0cnVjdCBpbm9kZSAqaW5vZGUpCiAJc3Bpbl9sb2NrKCZkZW50cnktPmRfbG9jayk7 CiAJaWYgKGlub2RlKQogCQlobGlzdF9hZGRfaGVhZCgmZGVudHJ5LT5kX3UuZF9hbGlhcywgJmlu b2RlLT5pX2RlbnRyeSk7CisJcmF3X3dyaXRlX3NlcWNvdW50X2JlZ2luKCZkZW50cnktPmRfc2Vx KTsKIAlfX2Rfc2V0X2lub2RlX2FuZF90eXBlKGRlbnRyeSwgaW5vZGUsIGFkZF9mbGFncyk7Ci0J ZGVudHJ5X3JjdXdhbGtfaW52YWxpZGF0ZShkZW50cnkpOworCXJhd193cml0ZV9zZXFjb3VudF9l bmQoJmRlbnRyeS0+ZF9zZXEpOwogCXNwaW5fdW5sb2NrKCZkZW50cnktPmRfbG9jayk7CiAJZnNu b3RpZnlfZF9pbnN0YW50aWF0ZShkZW50cnksIGlub2RlKTsKIH0KZGlmZiAtLWdpdCBhL2luY2x1 ZGUvbGludXgvY29tcGlsZXItZ2NjLmggYi9pbmNsdWRlL2xpbnV4L2NvbXBpbGVyLWdjYy5oCmlu ZGV4IDIyYWIyNDZmZWVkMy4uOGQ5Yjk2YjU2NDhjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4 L2NvbXBpbGVyLWdjYy5oCisrKyBiL2luY2x1ZGUvbGludXgvY29tcGlsZXItZ2NjLmgKQEAgLTcw LDE0ICs3MCwxNCBAQAogICovCiAjaWYgIWRlZmluZWQoQ09ORklHX0FSQ0hfU1VQUE9SVFNfT1BU SU1JWkVEX0lOTElOSU5HKSB8fAkJXAogICAgICFkZWZpbmVkKENPTkZJR19PUFRJTUlaRV9JTkxJ TklORykgfHwgKF9fR05VQ19fIDwgNCkKLSNkZWZpbmUgaW5saW5lCQlpbmxpbmUJCV9fYXR0cmli dXRlX18oKGFsd2F5c19pbmxpbmUpKSBub3RyYWNlCi0jZGVmaW5lIF9faW5saW5lX18JX19pbmxp bmVfXwlfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkgbm90cmFjZQotI2RlZmluZSBfX2lu bGluZQlfX2lubGluZQlfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkgbm90cmFjZQorI2Rl ZmluZSBpbmxpbmUJCWlubGluZQkJX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpIG5vdHJh Y2UgX19tYXliZV91bnVzZWQKKyNkZWZpbmUgX19pbmxpbmVfXwlfX2lubGluZV9fCV9fYXR0cmli dXRlX18oKGFsd2F5c19pbmxpbmUpKSBub3RyYWNlIF9fbWF5YmVfdW51c2VkCisjZGVmaW5lIF9f aW5saW5lCV9faW5saW5lCV9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKSBub3RyYWNlIF9f bWF5YmVfdW51c2VkCiAjZWxzZQogLyogQSBsb3Qgb2YgaW5saW5lIGZ1bmN0aW9ucyBjYW4gY2F1 c2UgaGF2b2Mgd2l0aCBmdW5jdGlvbiB0cmFjaW5nICovCi0jZGVmaW5lIGlubGluZQkJaW5saW5l CQlub3RyYWNlCi0jZGVmaW5lIF9faW5saW5lX18JX19pbmxpbmVfXwlub3RyYWNlCi0jZGVmaW5l IF9faW5saW5lCV9faW5saW5lCW5vdHJhY2UKKyNkZWZpbmUgaW5saW5lCQlpbmxpbmUJCW5vdHJh Y2UgX19tYXliZV91bnVzZWQKKyNkZWZpbmUgX19pbmxpbmVfXwlfX2lubGluZV9fCW5vdHJhY2Ug X19tYXliZV91bnVzZWQKKyNkZWZpbmUgX19pbmxpbmUJX19pbmxpbmUJbm90cmFjZSBfX21heWJl X3VudXNlZAogI2VuZGlmCiAKICNkZWZpbmUgX19hbHdheXNfaW5saW5lCWlubGluZSBfX2F0dHJp YnV0ZV9fKChhbHdheXNfaW5saW5lKSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvZGNhY2hl LmggYi9pbmNsdWRlL2xpbnV4L2RjYWNoZS5oCmluZGV4IGQ2N2FlMTE5Y2Y0ZS4uOGEyZTAwOWM4 YTVhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2RjYWNoZS5oCisrKyBiL2luY2x1ZGUvbGlu dXgvZGNhY2hlLmgKQEAgLTQwOSw5ICs0MDksNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgZF9tb3Vu dHBvaW50KGNvbnN0IHN0cnVjdCBkZW50cnkgKmRlbnRyeSkKICAqLwogc3RhdGljIGlubGluZSB1 bnNpZ25lZCBfX2RfZW50cnlfdHlwZShjb25zdCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCiB7Ci0J dW5zaWduZWQgdHlwZSA9IFJFQURfT05DRShkZW50cnktPmRfZmxhZ3MpOwotCXNtcF9ybWIoKTsK LQlyZXR1cm4gdHlwZSAmIERDQUNIRV9FTlRSWV9UWVBFOworCXJldHVybiBkZW50cnktPmRfZmxh Z3MgJiBEQ0FDSEVfRU5UUllfVFlQRTsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGRfaXNfbWlz cyhjb25zdCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4 L2tidWlsZC5oIGIvaW5jbHVkZS9saW51eC9rYnVpbGQuaAppbmRleCAyMmE3MjE5OGMxNGIuLjc1 ZmEyYzNlMGUxZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9rYnVpbGQuaAorKysgYi9pbmNs dWRlL2xpbnV4L2tidWlsZC5oCkBAIC0yLDE0ICsyLDE0IEBACiAjZGVmaW5lIF9fTElOVVhfS0JV SUxEX0gKIAogI2RlZmluZSBERUZJTkUoc3ltLCB2YWwpIFwKLSAgICAgICAgYXNtIHZvbGF0aWxl KCJcbi0+IiAjc3ltICIgJTAgIiAjdmFsIDogOiAiaSIgKHZhbCkpCisJYXNtIHZvbGF0aWxlKCJc bkAtPiIgI3N5bSAiICUwICIgI3ZhbCA6IDogImkiICh2YWwpKQogCi0jZGVmaW5lIEJMQU5LKCkg YXNtIHZvbGF0aWxlKCJcbi0+IiA6IDogKQorI2RlZmluZSBCTEFOSygpIGFzbSB2b2xhdGlsZSgi XG5ALT4iIDogOiApCiAKICNkZWZpbmUgT0ZGU0VUKHN5bSwgc3RyLCBtZW0pIFwKIAlERUZJTkUo c3ltLCBvZmZzZXRvZihzdHJ1Y3Qgc3RyLCBtZW0pKQogCiAjZGVmaW5lIENPTU1FTlQoeCkgXAot CWFzbSB2b2xhdGlsZSgiXG4tPiMiIHgpCisJYXNtIHZvbGF0aWxlKCJcbkAtPiMiIHgpCiAKICNl bmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zY3NpL29zZF90eXBlcy5oIGIvaW5jbHVkZS9zY3Np L29zZF90eXBlcy5oCmluZGV4IDQ4ZThhMTY1ZTEzNi4uYzdhZTcyMTFkMTVkIDEwMDY0NAotLS0g YS9pbmNsdWRlL3Njc2kvb3NkX3R5cGVzLmgKKysrIGIvaW5jbHVkZS9zY3NpL29zZF90eXBlcy5o CkBAIC0yOCw3ICsyOCw3IEBAIHN0cnVjdCBvc2Rfb2JqX2lkIHsKIAlvc2RfaWQgaWQ7CiB9Owog Ci1zdGF0aWMgY29uc3Qgc3RydWN0IF9fd2VhayBvc2Rfb2JqX2lkIG9zZF9yb290X29iamVjdCA9 IHswLCAwfTsKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb3NkX29ial9pZCBvc2Rfcm9vdF9vYmplY3Qg X19tYXliZV91bnVzZWQgPSB7MCwgMH07CiAKIHN0cnVjdCBvc2RfYXR0ciB7CiAJdTMyIGF0dHJf cGFnZTsKZGlmZiAtLWdpdCBhL2xpYi9tcGkvTWFrZWZpbGUgYi9saWIvbXBpL01ha2VmaWxlCmlu ZGV4IDAxOWE2OGM5MDE0NC4uZDU1NTNmNmI5ZjA5IDEwMDY0NAotLS0gYS9saWIvbXBpL01ha2Vm aWxlCisrKyBiL2xpYi9tcGkvTWFrZWZpbGUKQEAgLTQsNiArNCw4IEBACiAKIG9iai0kKENPTkZJ R19NUElMSUIpID0gbXBpLm8KIAorQ0ZMQUdTX0tFUk5FTCArPSAkKGNhbGwgY2Mtb3B0aW9uLC1m aGVpbm91cy1nbnUtZXh0ZW5zaW9ucykKKwogbXBpLXkgPSBcCiAJZ2VuZXJpY19tcGloLWxzaGlm dC5vCQlcCiAJZ2VuZXJpY19tcGloLW11bDEubwkJXApkaWZmIC0tZ2l0IGEvbGliL21waS9sb25n bG9uZy5oIGIvbGliL21waS9sb25nbG9uZy5oCmluZGV4IGI5MGUyNTVjMmE2OC4uODgxYTYyY2Ew NTc4IDEwMDY0NAotLS0gYS9saWIvbXBpL2xvbmdsb25nLmgKKysrIGIvbGliL21waS9sb25nbG9u Zy5oCkBAIC0xOTMsOCArMTkzLDcgQEAgZXh0ZXJuIFVESXR5cGUgX191ZGl2X3Fybm5kKFVESXR5 cGUgKiwgVURJdHlwZSwgVURJdHlwZSwgVURJdHlwZSk7CiAJCSJySSIgKChVU0l0eXBlKShibCkp KQogI2lmIGRlZmluZWQgX19BUk1fQVJDSF8yX18gfHwgZGVmaW5lZCBfX0FSTV9BUkNIXzNfXwog I2RlZmluZSB1bXVsX3BwbW0oeGgsIHhsLCBhLCBiKSBcCi0JX19hc21fXyAoIiVAIElubGluZWQg dW11bF9wcG1tXG4iIFwKLQkJIm1vdgklfHIwLCAlMiwgbHNyICMxNgkJQCBBQUFBXG4iIFwKKwlf X2FzbV9fICgibW92CSV8cjAsICUyLCBsc3IgIzE2CQlAIEFBQUFcbiIgXAogCQkibW92CSV8cjIs ICUzLCBsc3IgIzE2CQlAIEJCQkJcbiIgXAogCQkiYmljCSV8cjEsICUyLCAlfHIwLCBsc2wgIzE2 CQlAIGFhYWFcbiIgXAogCQkiYmljCSUwLCAlMywgJXxyMiwgbHNsICMxNgkJQCBiYmJiXG4iIFwK QEAgLTIxMywxMCArMjEyLDggQEAgZXh0ZXJuIFVESXR5cGUgX191ZGl2X3Fybm5kKFVESXR5cGUg KiwgVURJdHlwZSwgVURJdHlwZSwgVURJdHlwZSk7CiAJOiAicjAiLCAicjEiLCAicjIiKQogI2Vs c2UKICNkZWZpbmUgdW11bF9wcG1tKHhoLCB4bCwgYSwgYikgXAotCV9fYXNtX18gKCIlQCBJbmxp bmVkIHVtdWxfcHBtbVxuIiBcCi0JCSJ1bXVsbCAlcjEsICVyMCwgJXIyLCAlcjMiIFwKLQk6ICI9 JnIiICgoVVNJdHlwZSkoeGgpKSwgXAotCQkJIj1yIiAoKFVTSXR5cGUpKHhsKSkgXAorCV9fYXNt X18gKCJ1bXVsbCAlMSwgJTAsICUyLCAlMyIgXAorCTogIj0mciIgKCh4aCkpLCAiPXIiICgoeGwp KSBcCiAJOiAiciIgKChVU0l0eXBlKShhKSksIFwKIAkJCSJyIiAoKFVTSXR5cGUpKGIpKSBcCiAJ OiAicjAiLCAicjEiKQpkaWZmIC0tZ2l0IGEvbGliL21waS9tcGktaW5saW5lLmggYi9saWIvbXBp L21waS1pbmxpbmUuaAppbmRleCBlMmIzOTg1MmIzMGEuLmMyNDVlYTMxZjc4NSAxMDA2NDQKLS0t IGEvbGliL21waS9tcGktaW5saW5lLmgKKysrIGIvbGliL21waS9tcGktaW5saW5lLmgKQEAgLTMw LDcgKzMwLDcgQEAKICNkZWZpbmUgRzEwX01QSV9JTkxJTkVfSAogCiAjaWZuZGVmIEcxMF9NUElf SU5MSU5FX0RFQ0wKLSNkZWZpbmUgRzEwX01QSV9JTkxJTkVfREVDTCAgZXh0ZXJuIGlubGluZQor I2RlZmluZSBHMTBfTVBJX0lOTElORV9ERUNMICBzdGF0aWMgaW5saW5lCiAjZW5kaWYKIAogRzEw X01QSV9JTkxJTkVfREVDTCBtcGlfbGltYl90CmRpZmYgLS1naXQgYS9saWIvbXBpL21waS1pbnRl cm5hbC5oIGIvbGliL21waS9tcGktaW50ZXJuYWwuaAppbmRleCBjNjVkZDFiZmY0NWEuLjA5ZTlm MTNjNWJhMCAxMDA2NDQKLS0tIGEvbGliL21waS9tcGktaW50ZXJuYWwuaAorKysgYi9saWIvbXBp L21waS1pbnRlcm5hbC5oCkBAIC0xNjgsMjAgKzE2OCwxMiBAQCB2b2lkIG1waV9yc2hpZnRfbGlt YnMoTVBJIGEsIHVuc2lnbmVkIGludCBjb3VudCk7CiBpbnQgbXBpX2xzaGlmdF9saW1icyhNUEkg YSwgdW5zaWduZWQgaW50IGNvdW50KTsKIAogLyotLSBtcGloZWxwLWFkZC5jIC0tKi8KLW1waV9s aW1iX3QgbXBpaGVscF9hZGRfMShtcGlfcHRyX3QgcmVzX3B0ciwgbXBpX3B0cl90IHMxX3B0ciwK LQkJCSBtcGlfc2l6ZV90IHMxX3NpemUsIG1waV9saW1iX3QgczJfbGltYik7CiBtcGlfbGltYl90 IG1waWhlbHBfYWRkX24obXBpX3B0cl90IHJlc19wdHIsIG1waV9wdHJfdCBzMV9wdHIsCiAJCQkg bXBpX3B0cl90IHMyX3B0ciwgbXBpX3NpemVfdCBzaXplKTsKLW1waV9saW1iX3QgbXBpaGVscF9h ZGQobXBpX3B0cl90IHJlc19wdHIsIG1waV9wdHJfdCBzMV9wdHIsIG1waV9zaXplX3QgczFfc2l6 ZSwKLQkJICAgICAgIG1waV9wdHJfdCBzMl9wdHIsIG1waV9zaXplX3QgczJfc2l6ZSk7CiAKIC8q LS0gbXBpaGVscC1zdWIuYyAtLSovCi1tcGlfbGltYl90IG1waWhlbHBfc3ViXzEobXBpX3B0cl90 IHJlc19wdHIsIG1waV9wdHJfdCBzMV9wdHIsCi0JCQkgbXBpX3NpemVfdCBzMV9zaXplLCBtcGlf bGltYl90IHMyX2xpbWIpOwogbXBpX2xpbWJfdCBtcGloZWxwX3N1Yl9uKG1waV9wdHJfdCByZXNf cHRyLCBtcGlfcHRyX3QgczFfcHRyLAogCQkJIG1waV9wdHJfdCBzMl9wdHIsIG1waV9zaXplX3Qg c2l6ZSk7Ci1tcGlfbGltYl90IG1waWhlbHBfc3ViKG1waV9wdHJfdCByZXNfcHRyLCBtcGlfcHRy X3QgczFfcHRyLCBtcGlfc2l6ZV90IHMxX3NpemUsCi0JCSAgICAgICBtcGlfcHRyX3QgczJfcHRy LCBtcGlfc2l6ZV90IHMyX3NpemUpOwogCiAvKi0tIG1waWhlbHAtY21wLmMgLS0qLwogaW50IG1w aWhlbHBfY21wKG1waV9wdHJfdCBvcDFfcHRyLCBtcGlfcHRyX3Qgb3AyX3B0ciwgbXBpX3NpemVf dCBzaXplKTsKQEAgLTIzOCw3ICsyMzAsNyBAQCBtcGlfbGltYl90IG1waWhlbHBfcnNoaWZ0KG1w aV9wdHJfdCB3cCwgbXBpX3B0cl90IHVwLCBtcGlfc2l6ZV90IHVzaXplLAogI2RlZmluZSBXX1RZ UEVfU0laRSBCSVRTX1BFUl9NUElfTElNQgogdHlwZWRlZiBtcGlfbGltYl90IFVXdHlwZTsKIHR5 cGVkZWYgdW5zaWduZWQgaW50IFVIV3R5cGU7Ci0jaWYgZGVmaW5lZChfX0dOVUNfXykKKyNpZiBk ZWZpbmVkKF9fR05VQ19fKSAmJiAhZGVmaW5lZChfX2NsYW5nX18pCiB0eXBlZGVmIHVuc2lnbmVk IGludCBVUUl0eXBlIF9fYXR0cmlidXRlX18gKChtb2RlKFFJKSkpOwogdHlwZWRlZiBpbnQgU0l0 eXBlIF9fYXR0cmlidXRlX18gKChtb2RlKFNJKSkpOwogdHlwZWRlZiB1bnNpZ25lZCBpbnQgVVNJ dHlwZSBfX2F0dHJpYnV0ZV9fICgobW9kZShTSSkpKTsKZGlmZiAtLWdpdCBhL3NjcmlwdHMvS2J1 aWxkLmluY2x1ZGUgYi9zY3JpcHRzL0tidWlsZC5pbmNsdWRlCmluZGV4IDFkYjZkNzNjOGRkMi4u MzBkOTM0M2YwYzRiIDEwMDY0NAotLS0gYS9zY3JpcHRzL0tidWlsZC5pbmNsdWRlCisrKyBiL3Nj cmlwdHMvS2J1aWxkLmluY2x1ZGUKQEAgLTExMSwxMiArMTExLDEyIEBAIGFzLWluc3RyID0gJChj YWxsIHRyeS1ydW4sXAogIyBVc2FnZTogY2ZsYWdzLXkgKz0gJChjYWxsIGNjLW9wdGlvbiwtbWFy Y2g9d2luY2hpcC1jNiwtbWFyY2g9aTU4NikKIAogY2Mtb3B0aW9uID0gJChjYWxsIHRyeS1ydW4s XAotCSQoQ0MpICQoS0JVSUxEX0NQUEZMQUdTKSAkKEtCVUlMRF9DRkxBR1MpICQoMSkgLWMgLXgg YyAvZGV2L251bGwgLW8gIiQkVE1QIiwkKDEpLCQoMikpCisJJChDQykgLVdlcnJvciAkKEtCVUlM RF9DUFBGTEFHUykgJChLQlVJTERfQ0ZMQUdTKSAkKDEpIC1jIC14IGMgL2Rldi9udWxsIC1vICIk JFRNUCIsJCgxKSwkKDIpKQogCiAjIGNjLW9wdGlvbi15bgogIyBVc2FnZTogZmxhZyA6PSAkKGNh bGwgY2Mtb3B0aW9uLXluLC1tYXJjaD13aW5jaGlwLWM2KQogY2Mtb3B0aW9uLXluID0gJChjYWxs IHRyeS1ydW4sXAotCSQoQ0MpICQoS0JVSUxEX0NQUEZMQUdTKSAkKEtCVUlMRF9DRkxBR1MpICQo MSkgLWMgLXggYyAvZGV2L251bGwgLW8gIiQkVE1QIix5LG4pCisJJChDQykgLVdlcnJvciAkKEtC VUlMRF9DUFBGTEFHUykgJChLQlVJTERfQ0ZMQUdTKSAkKDEpIC1jIC14IGMgL2Rldi9udWxsIC1v ICIkJFRNUCIseSxuKQogCiAjIGNjLW9wdGlvbi1hbGlnbgogIyBQcmVmaXggYWxpZ24gd2l0aCBl aXRoZXIgLWZhbGlnbiBvciAtbWFsaWduCkBAIC0xMjYsNyArMTI2LDcgQEAgY2Mtb3B0aW9uLWFs aWduID0gJChzdWJzdCAtZnVuY3Rpb25zPTAsLFwKICMgY2MtZGlzYWJsZS13YXJuaW5nCiAjIFVz YWdlOiBjZmxhZ3MteSArPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLHVudXNlZC1idXQtc2V0 LXZhcmlhYmxlKQogY2MtZGlzYWJsZS13YXJuaW5nID0gJChjYWxsIHRyeS1ydW4sXAotCSQoQ0Mp ICQoS0JVSUxEX0NQUEZMQUdTKSAkKEtCVUlMRF9DRkxBR1MpIC1XJChzdHJpcCAkKDEpKSAtYyAt eCBjIC9kZXYvbnVsbCAtbyAiJCRUTVAiLC1Xbm8tJChzdHJpcCAkKDEpKSkKKwkkKENDKSAtV2Vy cm9yICQoS0JVSUxEX0NQUEZMQUdTKSAkKEtCVUlMRF9DRkxBR1MpIC1XJChzdHJpcCAkKDEpKSAt YyAteCBjIC9kZXYvbnVsbCAtbyAiJCRUTVAiLC1Xbm8tJChzdHJpcCAkKDEpKSkKIAogIyBjYy1u YW1lCiAjIEV4cGFuZHMgdG8gZWl0aGVyIGdjYyBvciBjbGFuZwpkaWZmIC0tZ2l0IGEvc2NyaXB0 cy9NYWtlZmlsZS5idWlsZCBiL3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQKaW5kZXggMDFkZjMwYWY0 ZDRhLi42ZmY1MjRkYWM4MmIgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQKKysr IGIvc2NyaXB0cy9NYWtlZmlsZS5idWlsZApAQCAtMTc0LDYgKzE3NCwyMCBAQCBjbWRfY2Nfc3lt dHlwZXNfYyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAogJChvYmopLyUuc3ltdHlwZXMgOiAkKHNyYykvJS5jIEZPUkNFCiAJJChjYWxs IGNtZCxjY19zeW10eXBlc19jKQogCisjIExMVk0gYml0Y29kZQorIyBHZW5lcmF0ZSAubGwgZmls ZXMgZnJvbSAucyBhbmQgLmMKK3F1aWV0X2NtZF9jY19sbF9jID0gQ0MgJChxdWlldF9tb2R0YWcp ICAkQAorICAgICAgY21kX2NjX2xsX2MgPSAkKENDKSAkKGNfZmxhZ3MpIC1lbWl0LWxsdm0gLVMg LW8gJEAgJDwKKworJChvYmopLyUubGw6ICQoc3JjKS8lLmMgRk9SQ0UKKwkkKGNhbGwgaWZfY2hh bmdlZF9kZXAsY2NfbGxfYykKKworcXVpZXRfY21kX2FzX2xsX1MgPSBDUFAgJChxdWlldF9tb2R0 YWcpICRACisgICAgICBjbWRfYXNfbGxfUyA9ICQoQ1BQKSAkKGFfZmxhZ3MpICAgLW8gJEAgJDwK KworJChvYmopLyUubGw6ICQoc3JjKS8lLlMgRk9SQ0UKKwkkKGNhbGwgaWZfY2hhbmdlZF9kZXAs YXNfbGxfUykKKwogIyBDICguYykgZmlsZXMKICMgVGhlIEMgZmlsZSBpcyBjb21waWxlZCBhbmQg dXBkYXRlZCBkZXBlbmRlbmN5IGluZm9ybWF0aW9uIGlzIGdlbmVyYXRlZC4KICMgKFNlZSBjbWRf Y2Nfb19jICsgcmVsZXZhbnQgcGFydCBvZiBydWxlX2NjX29fYykKZGlmZiAtLWdpdCBhL3Njcmlw dHMvbW9kL01ha2VmaWxlIGIvc2NyaXB0cy9tb2QvTWFrZWZpbGUKaW5kZXggYzExMjEyZmYzNTEw Li44NmY2Yjg1MmNkOTMgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvbW9kL01ha2VmaWxlCisrKyBiL3Nj cmlwdHMvbW9kL01ha2VmaWxlCkBAIC02LDEwICs2LDEwIEBAIG1vZHBvc3Qtb2Jqcwk6PSBtb2Rw b3N0Lm8gZmlsZTJhbGlhcy5vIHN1bXZlcnNpb24ubwogZGV2aWNldGFibGUtb2Zmc2V0cy1maWxl IDo9IGRldmljZXRhYmxlLW9mZnNldHMuaAogCiBkZWZpbmUgc2VkLXkKLQkiL14tPi97czotPiNc KC4qXCk6LyogXDEgKi86OyBcCi0JczpeLT5cKFteIF0qXCkgW1wkJCNdKlwoWy0wLTldKlwpIFwo LipcKTojZGVmaW5lIFwxIFwyIC8qIFwzICovOjsgXAotCXM6Xi0+XChbXiBdKlwpIFtcJCQjXSpc KFteIF0qXCkgXCguKlwpOiNkZWZpbmUgXDEgXDIgLyogXDMgKi86OyBcCi0JczotPjo6OyBwO30i CisJIi9eQC0+L3tzOkAtPiNcKC4qXCk6LyogXDEgKi86OyBcCisJczpeQC0+XChbXiBdKlwpIFtc JCQjXSpcKFstMC05XSpcKSBcKC4qXCk6I2RlZmluZSBcMSBcMiAvKiBcMyAqLzo7IFwKKwlzOl5A LT5cKFteIF0qXCkgW1wkJCNdKlwoW14gXSpcKSBcKC4qXCk6I2RlZmluZSBcMSBcMiAvKiBcMyAq Lzo7IFwKKwlzOkAtPjo6OyBwO30iCiBlbmRlZgogCiBxdWlldF9jbWRfb2Zmc2V0cyA9IEdFTiAg ICAgJEAKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2FwcGFybW9yL2NyeXB0by5jIGIvc2VjdXJpdHkv YXBwYXJtb3IvY3J5cHRvLmMKaW5kZXggNTMyNDcxZDBiM2EwLi5jOTQ4MjQ3ZTkwYzIgMTAwNjQ0 Ci0tLSBhL3NlY3VyaXR5L2FwcGFybW9yL2NyeXB0by5jCisrKyBiL3NlY3VyaXR5L2FwcGFybW9y L2NyeXB0by5jCkBAIC0zMiwxMCArMzIsNyBAQCB1bnNpZ25lZCBpbnQgYWFfaGFzaF9zaXplKHZv aWQpCiBpbnQgYWFfY2FsY19wcm9maWxlX2hhc2goc3RydWN0IGFhX3Byb2ZpbGUgKnByb2ZpbGUs IHUzMiB2ZXJzaW9uLCB2b2lkICpzdGFydCwKIAkJCSBzaXplX3QgbGVuKQogewotCXN0cnVjdCB7 Ci0JCXN0cnVjdCBzaGFzaF9kZXNjIHNoYXNoOwotCQljaGFyIGN0eFtjcnlwdG9fc2hhc2hfZGVz Y3NpemUoYXBwYXJtb3JfdGZtKV07Ci0JfSBkZXNjOworCVNIQVNIX0RFU0NfT05fU1RBQ0soc2hh c2gsIGFwcGFybW9yX3RmbSk7CiAJaW50IGVycm9yID0gLUVOT01FTTsKIAl1MzIgbGUzMl92ZXJz aW9uID0gY3B1X3RvX2xlMzIodmVyc2lvbik7CiAKQEAgLTQ2LDE5ICs0MywxOSBAQCBpbnQgYWFf Y2FsY19wcm9maWxlX2hhc2goc3RydWN0IGFhX3Byb2ZpbGUgKnByb2ZpbGUsIHUzMiB2ZXJzaW9u LCB2b2lkICpzdGFydCwKIAlpZiAoIXByb2ZpbGUtPmhhc2gpCiAJCWdvdG8gZmFpbDsKIAotCWRl c2Muc2hhc2gudGZtID0gYXBwYXJtb3JfdGZtOwotCWRlc2Muc2hhc2guZmxhZ3MgPSAwOworCXNo YXNoLT50Zm0gPSBhcHBhcm1vcl90Zm07CisJc2hhc2gtPmZsYWdzID0gMDsKIAotCWVycm9yID0g Y3J5cHRvX3NoYXNoX2luaXQoJmRlc2Muc2hhc2gpOworCWVycm9yID0gY3J5cHRvX3NoYXNoX2lu aXQoc2hhc2gpOwogCWlmIChlcnJvcikKIAkJZ290byBmYWlsOwotCWVycm9yID0gY3J5cHRvX3No YXNoX3VwZGF0ZSgmZGVzYy5zaGFzaCwgKHU4ICopICZsZTMyX3ZlcnNpb24sIDQpOworCWVycm9y ID0gY3J5cHRvX3NoYXNoX3VwZGF0ZShzaGFzaCwgKHU4ICopICZsZTMyX3ZlcnNpb24sIDQpOwog CWlmIChlcnJvcikKIAkJZ290byBmYWlsOwotCWVycm9yID0gY3J5cHRvX3NoYXNoX3VwZGF0ZSgm ZGVzYy5zaGFzaCwgKHU4ICopIHN0YXJ0LCBsZW4pOworCWVycm9yID0gY3J5cHRvX3NoYXNoX3Vw ZGF0ZShzaGFzaCwgKHU4ICopIHN0YXJ0LCBsZW4pOwogCWlmIChlcnJvcikKIAkJZ290byBmYWls OwotCWVycm9yID0gY3J5cHRvX3NoYXNoX2ZpbmFsKCZkZXNjLnNoYXNoLCBwcm9maWxlLT5oYXNo KTsKKwllcnJvciA9IGNyeXB0b19zaGFzaF9maW5hbChzaGFzaCwgcHJvZmlsZS0+aGFzaCk7CiAJ aWYgKGVycm9yKQogCQlnb3RvIGZhaWw7CiAK --001a114318c8c060fb052d1322e5--