From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 56DA5CCA47B for ; Tue, 28 Jun 2022 01:00:50 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-219-dEf_M-AKOu2XJu8vDIWlEA-1; Mon, 27 Jun 2022 21:00:46 -0400 X-MC-Unique: dEf_M-AKOu2XJu8vDIWlEA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 724158032EE; Tue, 28 Jun 2022 01:00:44 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 510A618EA8; Tue, 28 Jun 2022 01:00:44 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 07577194704A; Tue, 28 Jun 2022 01:00:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com [10.11.54.7]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id AEB1819466DF for ; Tue, 28 Jun 2022 01:00:42 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 9A213141510C; Tue, 28 Jun 2022 01:00:42 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 952CF1415108 for ; Tue, 28 Jun 2022 01:00:42 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 74FF08001EA for ; Tue, 28 Jun 2022 01:00:42 +0000 (UTC) Received: from sonic302-26.consmr.mail.ne1.yahoo.com (sonic302-26.consmr.mail.ne1.yahoo.com [66.163.186.152]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-100-glZ4pfTGOXurEKTKFtnfgg-1; Mon, 27 Jun 2022 21:00:40 -0400 X-MC-Unique: glZ4pfTGOXurEKTKFtnfgg-1 X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1656378039; bh=KbCoXZSb+gV301yVODsCJiJMuZf9oXXJ5W6xVpu+xNS=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=Gph9MGJ2jFVqda9Xblc5/GZ9AAch9o4NNe/6nQFVU+N7xPJv+hBmdmoPhN97rkjC4Do52vB9jKCTx5qVvvP1yQfsCNOr6f5VB0STdqQRIt0VObijwSBKBAS83fo+QyHapHZSdUh7KReyhc7E5zAX9xkv7WcdwnUZdX4ieRtlbr9acvamlQNJoHi21Tti/DM9cSdgM16buINXL+4qP0xzKIUsxM382HgaKEv2OcWEPc0HaFeUPygoFdhs7tkC0fSiPuqcaeCgqty7dhecm9ZU1hZLAlsSvBjHI0SWlR3I1y8gQWRKFBrVSoGz9VBVHoSp1ORwaH16O64atnJw3yyMUQ== X-YMail-OSG: .yktNjQVM1l8_2GGjhRgTWo6xV38yYJYrtMNfKwoV4Adl1PxCZidR.a88GvbOyT MJkvDCRO9rPvUK6OV_6BJd1NSkkOU4r7pKiMIga87156tSuErOucx8aP62O0p3gE.sdgMwrhlsyw eSrUsF8lv3mVIbvQO81n3TJMK0ZamjhX6QG1baH4UYFDzqJkg3VggxTvBXM4Kqg1ksi6MT8PTjLi 06VH_zE1GMfzpo3ZPaXGP4Gt0kq0435KOug7luSOyxZUslpRD5rCCgkRiNB8jGkxu...KfE2BA0T X4NCfyIx.8Lsy.bLdyfUJ9p6L6Uwna2Vy0Ywe0vX4m3Dwi7cGGOejN2ms9EZrsuZ1.6vMFkHHiBK 8tok5OIKk_r2r0dEARIXtmab0m3o7.Fe900jqZjT4hbltOQROW2RS_dmjZEVF0MsLazR4.YdNS6H tPbPFv28v0KukXb0b77VfgkFKAZXAm5TO1hmBn.Dz2QFrF2U1rc3DFtyL5gCsD95Mid9L4NDHSN6 QMDm6Hz0Nxw.4WfZSHxCtg8BEA0E5DhsOE6UIIEqJ1tjm4m8bkIOLg_PaEOcyqtn0wvOM9fkQ0bA 9LNA5NpjYld4UMXvIcgjZ5JreYhxcj18ZyE0SqUrosb4MFBQgFd58tzV2qImq_b7G3qPlkTcxnrU L3sbgmRnTnf7foZMmMqOhUp1n2dz0QcZx2YntONiI.8IzdfoXcWPbYwnBE6xgi4kiEMsUnr_j601 mHQ2njlqkgy92vc.Sy1Jlbgms2ZN1_Gsknwcfp_HgqMuCQp6HROi8VTc1ypTM5BDd2jAY57R0h2N GznwBbjmdQPZGK3Gp0bJfB8mPF7oHWzdRr_JtpUdF.9Nh0UDAYk.MAnlQFrUGGDe84DwsB0LZAQv rhr7rcTHoVMZZRUm9.fiHgw4wfWuySyFLbg9w2S.52VsAsADpEc4VCb15pj2iu40G3h0fr3EZq2_ hwRVcatvaM5FMWSaK.ZhOatvZEzomcagTrJliBiLPTwM.n6z6lmEMDdXmZR7M48ifFQHtEfnydpf 6U5PinDE9f3s6CfOqeaOF_aVSoKI2wO0vNu7ez9SnovqWtXCW4X7L801UgkoVEv4SSwt_RHYBM5h JDUEJOgty3VC6jDSP8bLsSfbHbI.GfG3YMLYz0Q4jOZUMqjiExozx7nYZBwRlbIZCamSRs0lzoZ4 fivZAr_A3gNN3L8GWxQTd81tKHD1.wgnkxWIl7UFL3u5Ba.cenTVirwkp5.kItTAtgt27o.X85d8 qFZSBI5H4eWX51CQtcu_JEORIeLgvvRTrMh_jRrUQqBS.QxjbdPI_7hHhuXbMhJvUfefG0CiQzwD 82SSS3RbfITrvL8stXsiLby6v6ty._BzxlQeSsIgUDppvsDlrsYL_o7tehccZgNWT3UO73Huf4bj vGPY6FZcaVTizUUmwM4y5nwm2c5MzuUR8oOI2yIzgmcq.wmzq8Pz.6lU.Ck8yWM.MmXPVyk4WB1H P5e84lXyOTEZCJJNhaviKqJVZgC8FmD0EvPfmUb5DS1j9SI9yHJUOpaDi9F5aXx5UH223o.8XT_b lK13G_GGJuttsW99JAw0jqAEks7pjlSMS7Y9y2MTbeNldv2RKJwUWzmNK4D27vn78KaDiDWb3HF3 AURrG8CyoDTx0RzoNctvhaUn1buPJpP7Rwn0HZ0G2A9TNqxx2UJefzYa5yISOMtUy4IriJdNP.Ix Qgy8jCXJbd5kfa8YctpBB9gg_0TIPrPSjxT99MW45GMCo7Ge.7yBVi2l5gAsiQQ37FhYlTRhwv8X PYEaOmN1MVJ5h2hN9ohvrbAmjaZA9HbdVMEuTzMJq79zenlEYiexBBvsqYaJ0XBiKICZzAqm9059 jQ9_GkrytLwSlEYKc2dNt0hpbFKPhNYbfJfMOO3.eKJHMG4bcEKyPR0p685Azhv84kkz5o_T9M7y QCv_cyNkf._nZekcV0GTelIGTyhlN5jHcKPMbGp3M98VEtwWSCsjJxuMAsmCVXAV2WUn95dPtzlb yfdgmLnziPVik8ZhZ5mNqpOfWRYUGkGgI.42w0DjL3iLjlkG5e9SdZMWG5QWayYnlR.C8Gf51Bva YHhFUnsYZBDQLf_7VSasD7aZ3.gaGcwG7jlL01TruxaNkvsyzY.GhiB0mmMmWFpZx.hMxFf1gvZo 0CSekg1GcqN1FoFDUR2W30h3k8eOIGPtYsm5AYZKup9gk.Ulam6GRpTsiOtWX59zq4whEj7m5.X_ GQuuQtmQdcjwLeMuoILZSAwSBPy0joQSzrEeEF2pG0CyPIuwHk_UPyyR7_CMLuCEBryynxSdzaMy .V.jPFYBS.Jfn99oFZjuaou_OMblLaukGyU4- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic302.consmr.mail.ne1.yahoo.com with HTTP; Tue, 28 Jun 2022 01:00:39 +0000 Received: by hermes--production-bf1-7f5f59bd5b-wjb4g (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 2eb209f35c81771290ca3d956ba58232; Tue, 28 Jun 2022 01:00:37 +0000 (UTC) From: Casey Schaufler To: casey.schaufler@intel.com, jmorris@namei.org, linux-security-module@vger.kernel.org, selinux@vger.kernel.org Subject: [PATCH v37 03/33] LSM: Add the lsmblob data structure. Date: Mon, 27 Jun 2022 17:55:41 -0700 Message-Id: <20220628005611.13106-4-casey@schaufler-ca.com> In-Reply-To: <20220628005611.13106-1-casey@schaufler-ca.com> References: <20220628005611.13106-1-casey@schaufler-ca.com> MIME-Version: 1.0 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.85 on 10.11.54.7 X-BeenThere: linux-audit@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Audit Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: john.johansen@canonical.com, linux-kernel@vger.kernel.org, =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= , linux-audit@redhat.com Errors-To: linux-audit-bounces@redhat.com Sender: "Linux-audit" X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=linux-audit-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 V2hlbiBtb3JlIHRoYW4gb25lIHNlY3VyaXR5IG1vZHVsZSBpcyBleHBvcnRpbmcgZGF0YSB0bwph dWRpdCBhbmQgbmV0d29ya2luZyBzdWItc3lzdGVtcyBhIHNpbmdsZSAzMiBiaXQgaW50ZWdlcgpp cyBubyBsb25nZXIgc3VmZmljaWVudCB0byByZXByZXNlbnQgdGhlIGRhdGEuIEFkZCBhCnN0cnVj dHVyZSB0byBiZSB1c2VkIGluc3RlYWQuCgpUaGUgbHNtYmxvYiBzdHJ1Y3R1cmUgaXMgY3VycmVu dGx5IGFuIGFycmF5IG9mCnUzMiAic2VjaWRzIi4gVGhlcmUgaXMgYW4gZW50cnkgZm9yIGVhY2gg b2YgdGhlCnNlY3VyaXR5IG1vZHVsZXMgYnVpbHQgaW50byB0aGUgc3lzdGVtIHRoYXQgd291bGQK dXNlIHNlY2lkcyBpZiBhY3RpdmUuIFRoZSBzeXN0ZW0gYXNzaWducyB0aGUgbW9kdWxlCmEgInNs b3QiIHdoZW4gaXQgcmVnaXN0ZXJzIGhvb2tzLiBJZiBtb2R1bGVzIGFyZQpjb21waWxlZCBpbiBi dXQgbm90IHJlZ2lzdGVyZWQgdGhlcmUgd2lsbCBiZSB1bnVzZWQKc2xvdHMuCgpBIG5ldyBsc21f aWQgc3RydWN0dXJlLCB3aGljaCBjb250YWlucyB0aGUgbmFtZQpvZiB0aGUgTFNNIGFuZCBpdHMg c2xvdCBudW1iZXIsIGlzIGNyZWF0ZWQuIFRoZXJlCmlzIGFuIGluc3RhbmNlIGZvciBlYWNoIExT TSwgd2hpY2ggYXNzaWducyB0aGUgbmFtZQphbmQgcGFzc2VzIGl0IHRvIHRoZSBpbmZyYXN0cnVj dHVyZSB0byBzZXQgdGhlIHNsb3QuCgpUaGUgYXVkaXQgcnVsZXMgZGF0YSBpcyBleHBhbmRlZCB0 byB1c2UgYW4gYXJyYXkgb2YKc2VjdXJpdHkgbW9kdWxlIGRhdGEgcmF0aGVyIHRoYW4gYSBzaW5n bGUgaW5zdGFuY2UuCkEgbmV3IHN0cnVjdHVyZSBhdWRpdF9sc21fcnVsZXMgaXMgZGVmaW5lZCB0 byBhdm9pZCB0aGUKY29uZnVzaW9uIHdoaWNoIGNvbW1vbmx5IGFjY29tcGFuaWVzIHRoZSB1c2Ug b2YKdm9pZCAqKiBwYXJhbWV0ZXJzLgoKU2lnbmVkLW9mZi1ieTogQ2FzZXkgU2NoYXVmbGVyIDxj YXNleUBzY2hhdWZsZXItY2EuY29tPgpSZXZpZXdlZC1ieTogTWlja2HDq2wgU2FsYcO8biA8bWlj QGxpbnV4Lm1pY3Jvc29mdC5jb20+ClJldmlld2VkLWJ5OiBKb2huIEpvaGFuc2VuIDxqb2huLmpv aGFuc2VuQGNhbm9uaWNhbC5jb20+Ci0tLQogaW5jbHVkZS9saW51eC9hdWRpdC5oICAgICAgICB8 ICA5ICsrKy0KIGluY2x1ZGUvbGludXgvbHNtX2hvb2tzLmggICAgfCAxMiArKysrKy0KIGluY2x1 ZGUvbGludXgvc2VjdXJpdHkuaCAgICAgfCA3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0KIGtlcm5lbC9hdWRpdGZpbHRlci5jICAgICAgICAgfCAyMyArKysrKy0tLS0tCiBrZXJu ZWwvYXVkaXRzYy5jICAgICAgICAgICAgIHwgMTcgKysrLS0tLS0KIHNlY3VyaXR5L2FwcGFybW9y L2xzbS5jICAgICAgfCAgNyArKy0KIHNlY3VyaXR5L2JwZi9ob29rcy5jICAgICAgICAgfCAxMiAr KysrKy0KIHNlY3VyaXR5L2NvbW1vbmNhcC5jICAgICAgICAgfCAgNyArKy0KIHNlY3VyaXR5L2xh bmRsb2NrL2NyZWQuYyAgICAgfCAgMiArLQogc2VjdXJpdHkvbGFuZGxvY2svZnMuYyAgICAgICB8 ICAyICstCiBzZWN1cml0eS9sYW5kbG9jay9wdHJhY2UuYyAgIHwgIDIgKy0KIHNlY3VyaXR5L2xh bmRsb2NrL3NldHVwLmMgICAgfCAgNSArKysKIHNlY3VyaXR5L2xhbmRsb2NrL3NldHVwLmggICAg fCAgMSArCiBzZWN1cml0eS9sb2FkcGluL2xvYWRwaW4uYyAgIHwgIDggKysrLQogc2VjdXJpdHkv bG9ja2Rvd24vbG9ja2Rvd24uYyB8ICA3ICsrLQogc2VjdXJpdHkvc2FmZXNldGlkL2xzbS5jICAg ICB8ICA4ICsrKy0KIHNlY3VyaXR5L3NlY3VyaXR5LmMgICAgICAgICAgfCA4MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0KIHNlY3VyaXR5L3NlbGludXgvaG9va3MuYyAgICAg fCAgOCArKystCiBzZWN1cml0eS9zbWFjay9zbWFja19sc20uYyAgIHwgIDcgKystCiBzZWN1cml0 eS90b21veW8vdG9tb3lvLmMgICAgIHwgIDggKysrLQogc2VjdXJpdHkveWFtYS95YW1hX2xzbS5j ICAgICB8ICA3ICsrLQogMjEgZmlsZXMgY2hhbmdlZCwgMjUzIGluc2VydGlvbnMoKyksIDU2IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvYXVkaXQuaCBiL2luY2x1ZGUv bGludXgvYXVkaXQuaAppbmRleCBjZWNlNzAyMzExMzguLmE3MjI2OTg5ZDc3ZSAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9hdWRpdC5oCisrKyBiL2luY2x1ZGUvbGludXgvYXVkaXQuaApAQCAt MTEsNiArMTEsNyBAQAogCiAjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4KICNpbmNsdWRlIDxsaW51 eC9wdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5oPgogI2luY2x1ZGUgPGxpbnV4 L2F1ZGl0X2FyY2guaD4KICNpbmNsdWRlIDx1YXBpL2xpbnV4L2F1ZGl0Lmg+CiAjaW5jbHVkZSA8 dWFwaS9saW51eC9uZXRmaWx0ZXIvbmZfdGFibGVzLmg+CkBAIC01OSw2ICs2MCwxMCBAQCBzdHJ1 Y3QgYXVkaXRfa3J1bGUgewogLyogRmxhZyB0byBpbmRpY2F0ZSBsZWdhY3kgQVVESVRfTE9HSU5V SUQgdW5zZXQgdXNhZ2UgKi8KICNkZWZpbmUgQVVESVRfTE9HSU5VSURfTEVHQUNZCQkweDEKIAor c3RydWN0IGF1ZGl0X2xzbV9ydWxlcyB7CisJdm9pZAkqcnVsZVtMU01CTE9CX0VOVFJJRVNdOwor fTsKKwogc3RydWN0IGF1ZGl0X2ZpZWxkIHsKIAl1MzIJCQkJdHlwZTsKIAl1bmlvbiB7CkBAIC02 Niw4ICs3MSw4IEBAIHN0cnVjdCBhdWRpdF9maWVsZCB7CiAJCWt1aWRfdAkJCXVpZDsKIAkJa2dp ZF90CQkJZ2lkOwogCQlzdHJ1Y3QgewotCQkJY2hhcgkJKmxzbV9zdHI7Ci0JCQl2b2lkCQkqbHNt X3J1bGU7CisJCQljaGFyCQkJKmxzbV9zdHI7CisJCQlzdHJ1Y3QgYXVkaXRfbHNtX3J1bGVzCWxz bV9ydWxlczsKIAkJfTsKIAl9OwogCXUzMgkJCQlvcDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvbHNtX2hvb2tzLmggYi9pbmNsdWRlL2xpbnV4L2xzbV9ob29rcy5oCmluZGV4IDVkNDgwNzk3 Y2Y1My4uMDQ5NmE4ZDc3Y2E1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2xzbV9ob29rcy5o CisrKyBiL2luY2x1ZGUvbGludXgvbHNtX2hvb2tzLmgKQEAgLTE1ODgsNiArMTU4OCwxNCBAQCBz dHJ1Y3Qgc2VjdXJpdHlfaG9va19oZWFkcyB7CiAJI3VuZGVmIExTTV9IT09LCiB9IF9fcmFuZG9t aXplX2xheW91dDsKIAorLyoKKyAqIEluZm9ybWF0aW9uIHRoYXQgaWRlbnRpZmllcyBhIHNlY3Vy aXR5IG1vZHVsZS4KKyAqLworc3RydWN0IGxzbV9pZCB7CisJY29uc3QgY2hhcgkqbHNtOwkvKiBO YW1lIG9mIHRoZSBMU00gKi8KKwlpbnQJCXNsb3Q7CS8qIFNsb3QgaW4gbHNtYmxvYiBpZiBvbmUg aXMgYWxsb2NhdGVkICovCit9OworCiAvKgogICogU2VjdXJpdHkgbW9kdWxlIGhvb2sgbGlzdCBz dHJ1Y3R1cmUuCiAgKiBGb3IgdXNlIHdpdGggZ2VuZXJpYyBsaXN0IG1hY3JvcyBmb3IgY29tbW9u IG9wZXJhdGlvbnMuCkBAIC0xNTk2LDcgKzE2MDQsNyBAQCBzdHJ1Y3Qgc2VjdXJpdHlfaG9va19s aXN0IHsKIAlzdHJ1Y3QgaGxpc3Rfbm9kZQkJbGlzdDsKIAlzdHJ1Y3QgaGxpc3RfaGVhZAkJKmhl YWQ7CiAJdW5pb24gc2VjdXJpdHlfbGlzdF9vcHRpb25zCWhvb2s7Ci0JY29uc3QgY2hhcgkJCSps c207CisJc3RydWN0IGxzbV9pZAkJCSpsc21pZDsKIH0gX19yYW5kb21pemVfbGF5b3V0OwogCiAv KgpAQCAtMTYzMiw3ICsxNjQwLDcgQEAgZXh0ZXJuIHN0cnVjdCBzZWN1cml0eV9ob29rX2hlYWRz IHNlY3VyaXR5X2hvb2tfaGVhZHM7CiBleHRlcm4gY2hhciAqbHNtX25hbWVzOwogCiBleHRlcm4g dm9pZCBzZWN1cml0eV9hZGRfaG9va3Moc3RydWN0IHNlY3VyaXR5X2hvb2tfbGlzdCAqaG9va3Ms IGludCBjb3VudCwKLQkJCQljb25zdCBjaGFyICpsc20pOworCQkJICAgICAgIHN0cnVjdCBsc21f aWQgKmxzbWlkKTsKIAogI2RlZmluZSBMU01fRkxBR19MRUdBQ1lfTUFKT1IJQklUKDApCiAjZGVm aW5lIExTTV9GTEFHX0VYQ0xVU0lWRQlCSVQoMSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgv c2VjdXJpdHkuaCBiL2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaAppbmRleCA1MjYwZGJlOWVmMGQu LjgzNWZiYjg2YTJiYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9zZWN1cml0eS5oCisrKyBi L2luY2x1ZGUvbGludXgvc2VjdXJpdHkuaApAQCAtMzksNiArMzksNyBAQCBzdHJ1Y3Qga2VybmVs X3NpZ2luZm87CiBzdHJ1Y3Qgc2VtYnVmOwogc3RydWN0IGtlcm5faXBjX3Blcm07CiBzdHJ1Y3Qg YXVkaXRfY29udGV4dDsKK3N0cnVjdCBhdWRpdF9sc21fcnVsZXM7CiBzdHJ1Y3Qgc3VwZXJfYmxv Y2s7CiBzdHJ1Y3QgaW5vZGU7CiBzdHJ1Y3QgZGVudHJ5OwpAQCAtMTM2LDYgKzEzNyw2NiBAQCBl bnVtIGxvY2tkb3duX3JlYXNvbiB7CiAKIGV4dGVybiBjb25zdCBjaGFyICpjb25zdCBsb2NrZG93 bl9yZWFzb25zW0xPQ0tET1dOX0NPTkZJREVOVElBTElUWV9NQVgrMV07CiAKKy8qCisgKiBEYXRh IGV4cG9ydGVkIGJ5IHRoZSBzZWN1cml0eSBtb2R1bGVzCisgKgorICogQW55IExTTSB0aGF0IHBy b3ZpZGVzIHNlY2lkIG9yIHNlY2N0eCBiYXNlZCBob29rcyBtdXN0IGJlIGluY2x1ZGVkLgorICov CisjZGVmaW5lIExTTUJMT0JfRU5UUklFUyAoIFwKKwkoSVNfRU5BQkxFRChDT05GSUdfU0VDVVJJ VFlfU0VMSU5VWCkgPyAxIDogMCkgKyBcCisJKElTX0VOQUJMRUQoQ09ORklHX1NFQ1VSSVRZX1NN QUNLKSA/IDEgOiAwKSArIFwKKwkoSVNfRU5BQkxFRChDT05GSUdfU0VDVVJJVFlfQVBQQVJNT1Ip ID8gMSA6IDApICsgXAorCShJU19FTkFCTEVEKENPTkZJR19CUEZfTFNNKSA/IDEgOiAwKSkKKwor c3RydWN0IGxzbWJsb2IgeworCXUzMiAgICAgc2VjaWRbTFNNQkxPQl9FTlRSSUVTXTsKK307CisK KyNkZWZpbmUgTFNNQkxPQl9JTlZBTElECQktMQkvKiBOb3QgYSB2YWxpZCBMU00gc2xvdCBudW1i ZXIgKi8KKyNkZWZpbmUgTFNNQkxPQl9ORUVERUQJCS0yCS8qIFNsb3QgcmVxdWVzdGVkIG9uIGlu aXRpYWxpemF0aW9uICovCisjZGVmaW5lIExTTUJMT0JfTk9UX05FRURFRAktMwkvKiBTbG90IG5v dCByZXF1ZXN0ZWQgKi8KKworLyoqCisgKiBsc21ibG9iX2luaXQgLSBpbml0aWFsaXplIGEgbHNt YmxvYiBzdHJ1Y3R1cmUKKyAqIEBibG9iOiBQb2ludGVyIHRvIHRoZSBkYXRhIHRvIGluaXRpYWxp emUKKyAqIEBzZWNpZDogVGhlIGluaXRpYWwgc2VjaWQgdmFsdWUKKyAqCisgKiBTZXQgYWxsIHNl Y2lkIGZvciBhbGwgbW9kdWxlcyB0byB0aGUgc3BlY2lmaWVkIHZhbHVlLgorICovCitzdGF0aWMg aW5saW5lIHZvaWQgbHNtYmxvYl9pbml0KHN0cnVjdCBsc21ibG9iICpibG9iLCB1MzIgc2VjaWQp Cit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTFNNQkxPQl9FTlRSSUVTOyBpKyspCisJ CWJsb2ItPnNlY2lkW2ldID0gc2VjaWQ7Cit9CisKKy8qKgorICogbHNtYmxvYl9pc19zZXQgLSBy ZXBvcnQgaWYgdGhlcmUgaXMgYSB2YWx1ZSBpbiB0aGUgbHNtYmxvYgorICogQGJsb2I6IFBvaW50 ZXIgdG8gdGhlIGV4cG9ydGVkIExTTSBkYXRhCisgKgorICogUmV0dXJucyB0cnVlIGlmIHRoZXJl IGlzIGEgc2VjaWQgc2V0LCBmYWxzZSBvdGhlcndpc2UKKyAqLworc3RhdGljIGlubGluZSBib29s IGxzbWJsb2JfaXNfc2V0KHN0cnVjdCBsc21ibG9iICpibG9iKQoreworCWNvbnN0IHN0cnVjdCBs c21ibG9iIGVtcHR5ID0ge307CisKKwlyZXR1cm4gISFtZW1jbXAoYmxvYiwgJmVtcHR5LCBzaXpl b2YoKmJsb2IpKTsKK30KKworLyoqCisgKiBsc21ibG9iX2VxdWFsIC0gcmVwb3J0IGlmIHRoZSB0 d28gbHNtYmxvYidzIGFyZSBlcXVhbAorICogQGJsb2JhOiBQb2ludGVyIHRvIG9uZSBMU00gZGF0 YQorICogQGJsb2JiOiBQb2ludGVyIHRvIHRoZSBvdGhlciBMU00gZGF0YQorICoKKyAqIFJldHVy bnMgdHJ1ZSBpZiBhbGwgZW50cmllcyBpbiB0aGUgdHdvIGFyZSBlcXVhbCwgZmFsc2Ugb3RoZXJ3 aXNlCisgKi8KK3N0YXRpYyBpbmxpbmUgYm9vbCBsc21ibG9iX2VxdWFsKGNvbnN0IHN0cnVjdCBs c21ibG9iICpibG9iYSwKKwkJCQkgY29uc3Qgc3RydWN0IGxzbWJsb2IgKmJsb2JiKQoreworCXJl dHVybiAhbWVtY21wKGJsb2JhLCBibG9iYiwgc2l6ZW9mKCpibG9iYSkpOworfQorCiAvKiBUaGVz ZSBmdW5jdGlvbnMgYXJlIGluIHNlY3VyaXR5L2NvbW1vbmNhcC5jICovCiBleHRlcm4gaW50IGNh cF9jYXBhYmxlKGNvbnN0IHN0cnVjdCBjcmVkICpjcmVkLCBzdHJ1Y3QgdXNlcl9uYW1lc3BhY2Ug Km5zLAogCQkgICAgICAgaW50IGNhcCwgdW5zaWduZWQgaW50IG9wdHMpOwpAQCAtMTg4OSwxNSAr MTk1MCwxNyBAQCBzdGF0aWMgaW5saW5lIGludCBzZWN1cml0eV9rZXlfZ2V0c2VjdXJpdHkoc3Ry dWN0IGtleSAqa2V5LCBjaGFyICoqX2J1ZmZlcikKIAogI2lmZGVmIENPTkZJR19BVURJVAogI2lm ZGVmIENPTkZJR19TRUNVUklUWQotaW50IHNlY3VyaXR5X2F1ZGl0X3J1bGVfaW5pdCh1MzIgZmll bGQsIHUzMiBvcCwgY2hhciAqcnVsZXN0ciwgdm9pZCAqKmxzbXJ1bGUpOworaW50IHNlY3VyaXR5 X2F1ZGl0X3J1bGVfaW5pdCh1MzIgZmllbGQsIHUzMiBvcCwgY2hhciAqcnVsZXN0ciwKKwkJCSAg ICAgc3RydWN0IGF1ZGl0X2xzbV9ydWxlcyAqbHNtcnVsZXMpOwogaW50IHNlY3VyaXR5X2F1ZGl0 X3J1bGVfa25vd24oc3RydWN0IGF1ZGl0X2tydWxlICprcnVsZSk7Ci1pbnQgc2VjdXJpdHlfYXVk aXRfcnVsZV9tYXRjaCh1MzIgc2VjaWQsIHUzMiBmaWVsZCwgdTMyIG9wLCB2b2lkICpsc21ydWxl KTsKLXZvaWQgc2VjdXJpdHlfYXVkaXRfcnVsZV9mcmVlKHZvaWQgKmxzbXJ1bGUpOworaW50IHNl Y3VyaXR5X2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNlY2lkLCB1MzIgZmllbGQsIHUzMiBvcCwKKwkJ CSAgICAgIHN0cnVjdCBhdWRpdF9sc21fcnVsZXMgKmxzbXJ1bGVzKTsKK3ZvaWQgc2VjdXJpdHlf YXVkaXRfcnVsZV9mcmVlKHN0cnVjdCBhdWRpdF9sc21fcnVsZXMgKmxzbXJ1bGVzKTsKIAogI2Vs c2UKIAogc3RhdGljIGlubGluZSBpbnQgc2VjdXJpdHlfYXVkaXRfcnVsZV9pbml0KHUzMiBmaWVs ZCwgdTMyIG9wLCBjaGFyICpydWxlc3RyLAotCQkJCQkgICB2b2lkICoqbHNtcnVsZSkKKwkJCQkJ ICAgc3RydWN0IGF1ZGl0X2xzbV9ydWxlcyAqbHNtcnVsZXMpCiB7CiAJcmV0dXJuIDA7CiB9CkBA IC0xOTA4LDEyICsxOTcxLDEyIEBAIHN0YXRpYyBpbmxpbmUgaW50IHNlY3VyaXR5X2F1ZGl0X3J1 bGVfa25vd24oc3RydWN0IGF1ZGl0X2tydWxlICprcnVsZSkKIH0KIAogc3RhdGljIGlubGluZSBp bnQgc2VjdXJpdHlfYXVkaXRfcnVsZV9tYXRjaCh1MzIgc2VjaWQsIHUzMiBmaWVsZCwgdTMyIG9w LAotCQkJCQkgICAgdm9pZCAqbHNtcnVsZSkKKwkJCQkJICAgIHN0cnVjdCBhdWRpdF9sc21fcnVs ZXMgKmxzbXJ1bGVzKQogewogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2Vj dXJpdHlfYXVkaXRfcnVsZV9mcmVlKHZvaWQgKmxzbXJ1bGUpCitzdGF0aWMgaW5saW5lIHZvaWQg c2VjdXJpdHlfYXVkaXRfcnVsZV9mcmVlKHN0cnVjdCBhdWRpdF9sc21fcnVsZXMgKmxzbXJ1bGVz KQogeyB9CiAKICNlbmRpZiAvKiBDT05GSUdfU0VDVVJJVFkgKi8KZGlmZiAtLWdpdCBhL2tlcm5l bC9hdWRpdGZpbHRlci5jIGIva2VybmVsL2F1ZGl0ZmlsdGVyLmMKaW5kZXggNDJkOTk4OTZlN2E2 Li5kZTc1YmQ2YWQ4NjYgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9hdWRpdGZpbHRlci5jCisrKyBiL2tl cm5lbC9hdWRpdGZpbHRlci5jCkBAIC03Niw3ICs3Niw3IEBAIHN0YXRpYyB2b2lkIGF1ZGl0X2Zy ZWVfbHNtX2ZpZWxkKHN0cnVjdCBhdWRpdF9maWVsZCAqZikKIAljYXNlIEFVRElUX09CSl9MRVZf TE9XOgogCWNhc2UgQVVESVRfT0JKX0xFVl9ISUdIOgogCQlrZnJlZShmLT5sc21fc3RyKTsKLQkJ c2VjdXJpdHlfYXVkaXRfcnVsZV9mcmVlKGYtPmxzbV9ydWxlKTsKKwkJc2VjdXJpdHlfYXVkaXRf cnVsZV9mcmVlKCZmLT5sc21fcnVsZXMpOwogCX0KIH0KIApAQCAtNTI5LDcgKzUyOSw3IEBAIHN0 YXRpYyBzdHJ1Y3QgYXVkaXRfZW50cnkgKmF1ZGl0X2RhdGFfdG9fZW50cnkoc3RydWN0IGF1ZGl0 X3J1bGVfZGF0YSAqZGF0YSwKIAkJCWVudHJ5LT5ydWxlLmJ1ZmxlbiArPSBmX3ZhbDsKIAkJCWYt PmxzbV9zdHIgPSBzdHI7CiAJCQllcnIgPSBzZWN1cml0eV9hdWRpdF9ydWxlX2luaXQoZi0+dHlw ZSwgZi0+b3AsIHN0ciwKLQkJCQkJCSAgICAgICAodm9pZCAqKikmZi0+bHNtX3J1bGUpOworCQkJ CQkJICAgICAgICZmLT5sc21fcnVsZXMpOwogCQkJLyogS2VlcCBjdXJyZW50bHkgaW52YWxpZCBm aWVsZHMgYXJvdW5kIGluIGNhc2UgdGhleQogCQkJICogYmVjb21lIHZhbGlkIGFmdGVyIGEgcG9s aWN5IHJlbG9hZC4gKi8KIAkJCWlmIChlcnIgPT0gLUVJTlZBTCkgewpAQCAtNzgyLDcgKzc4Miw3 IEBAIHN0YXRpYyBpbnQgYXVkaXRfY29tcGFyZV9ydWxlKHN0cnVjdCBhdWRpdF9rcnVsZSAqYSwg c3RydWN0IGF1ZGl0X2tydWxlICpiKQogCXJldHVybiAwOwogfQogCi0vKiBEdXBsaWNhdGUgTFNN IGZpZWxkIGluZm9ybWF0aW9uLiAgVGhlIGxzbV9ydWxlIGlzIG9wYXF1ZSwgc28gbXVzdCBiZQor LyogRHVwbGljYXRlIExTTSBmaWVsZCBpbmZvcm1hdGlvbi4gIFRoZSBsc21fcnVsZXMgaXMgb3Bh cXVlLCBzbyBtdXN0IGJlCiAgKiByZS1pbml0aWFsaXplZC4gKi8KIHN0YXRpYyBpbmxpbmUgaW50 IGF1ZGl0X2R1cGVfbHNtX2ZpZWxkKHN0cnVjdCBhdWRpdF9maWVsZCAqZGYsCiAJCQkJCSAgIHN0 cnVjdCBhdWRpdF9maWVsZCAqc2YpCkBAIC03OTYsOSArNzk2LDkgQEAgc3RhdGljIGlubGluZSBp bnQgYXVkaXRfZHVwZV9sc21fZmllbGQoc3RydWN0IGF1ZGl0X2ZpZWxkICpkZiwKIAkJcmV0dXJu IC1FTk9NRU07CiAJZGYtPmxzbV9zdHIgPSBsc21fc3RyOwogCi0JLyogb3VyIG93biAocmVmcmVz aGVkKSBjb3B5IG9mIGxzbV9ydWxlICovCisJLyogb3VyIG93biAocmVmcmVzaGVkKSBjb3B5IG9m IGxzbV9ydWxlcyAqLwogCXJldCA9IHNlY3VyaXR5X2F1ZGl0X3J1bGVfaW5pdChkZi0+dHlwZSwg ZGYtPm9wLCBkZi0+bHNtX3N0ciwKLQkJCQkgICAgICAgKHZvaWQgKiopJmRmLT5sc21fcnVsZSk7 CisJCQkJICAgICAgICZkZi0+bHNtX3J1bGVzKTsKIAkvKiBLZWVwIGN1cnJlbnRseSBpbnZhbGlk IGZpZWxkcyBhcm91bmQgaW4gY2FzZSB0aGV5CiAJICogYmVjb21lIHZhbGlkIGFmdGVyIGEgcG9s aWN5IHJlbG9hZC4gKi8KIAlpZiAocmV0ID09IC1FSU5WQUwpIHsKQEAgLTg1MCw3ICs4NTAsNyBA QCBzdHJ1Y3QgYXVkaXRfZW50cnkgKmF1ZGl0X2R1cGVfcnVsZShzdHJ1Y3QgYXVkaXRfa3J1bGUg Km9sZCkKIAluZXctPnRyZWUgPSBvbGQtPnRyZWU7CiAJbWVtY3B5KG5ldy0+ZmllbGRzLCBvbGQt PmZpZWxkcywgc2l6ZW9mKHN0cnVjdCBhdWRpdF9maWVsZCkgKiBmY291bnQpOwogCi0JLyogZGVl cCBjb3B5IHRoaXMgaW5mb3JtYXRpb24sIHVwZGF0aW5nIHRoZSBsc21fcnVsZSBmaWVsZHMsIGJl Y2F1c2UKKwkvKiBkZWVwIGNvcHkgdGhpcyBpbmZvcm1hdGlvbiwgdXBkYXRpbmcgdGhlIGxzbV9y dWxlcyBmaWVsZHMsIGJlY2F1c2UKIAkgKiB0aGUgb3JpZ2luYWxzIHdpbGwgYWxsIGJlIGZyZWVk IHdoZW4gdGhlIG9sZCBydWxlIGlzIGZyZWVkLiAqLwogCWZvciAoaSA9IDA7IGkgPCBmY291bnQ7 IGkrKykgewogCQlzd2l0Y2ggKG5ldy0+ZmllbGRzW2ldLnR5cGUpIHsKQEAgLTEzNjcsMTAgKzEz NjcsMTEgQEAgaW50IGF1ZGl0X2ZpbHRlcihpbnQgbXNndHlwZSwgdW5zaWduZWQgaW50IGxpc3R0 eXBlKQogCQkJY2FzZSBBVURJVF9TVUJKX1RZUEU6CiAJCQljYXNlIEFVRElUX1NVQkpfU0VOOgog CQkJY2FzZSBBVURJVF9TVUJKX0NMUjoKLQkJCQlpZiAoZi0+bHNtX3J1bGUpIHsKKwkJCQlpZiAo Zi0+bHNtX3N0cikgewogCQkJCQlzZWN1cml0eV9jdXJyZW50X2dldHNlY2lkX3N1YmooJnNpZCk7 CiAJCQkJCXJlc3VsdCA9IHNlY3VyaXR5X2F1ZGl0X3J1bGVfbWF0Y2goc2lkLAotCQkJCQkJICAg Zi0+dHlwZSwgZi0+b3AsIGYtPmxzbV9ydWxlKTsKKwkJCQkJCSAgIGYtPnR5cGUsIGYtPm9wLAor CQkJCQkJICAgJmYtPmxzbV9ydWxlcyk7CiAJCQkJfQogCQkJCWJyZWFrOwogCQkJY2FzZSBBVURJ VF9FWEU6CkBAIC0xMzk3LDcgKzEzOTgsNyBAQCBpbnQgYXVkaXRfZmlsdGVyKGludCBtc2d0eXBl LCB1bnNpZ25lZCBpbnQgbGlzdHR5cGUpCiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCB1 cGRhdGVfbHNtX3J1bGUoc3RydWN0IGF1ZGl0X2tydWxlICpyKQorc3RhdGljIGludCB1cGRhdGVf bHNtX3J1bGVzKHN0cnVjdCBhdWRpdF9rcnVsZSAqcikKIHsKIAlzdHJ1Y3QgYXVkaXRfZW50cnkg KmVudHJ5ID0gY29udGFpbmVyX29mKHIsIHN0cnVjdCBhdWRpdF9lbnRyeSwgcnVsZSk7CiAJc3Ry dWN0IGF1ZGl0X2VudHJ5ICpuZW50cnk7CkBAIC0xNDI5LDcgKzE0MzAsNyBAQCBzdGF0aWMgaW50 IHVwZGF0ZV9sc21fcnVsZShzdHJ1Y3QgYXVkaXRfa3J1bGUgKnIpCiAJcmV0dXJuIGVycjsKIH0K IAotLyogVGhpcyBmdW5jdGlvbiB3aWxsIHJlLWluaXRpYWxpemUgdGhlIGxzbV9ydWxlIGZpZWxk IG9mIGFsbCBhcHBsaWNhYmxlIHJ1bGVzLgorLyogVGhpcyBmdW5jdGlvbiB3aWxsIHJlLWluaXRp YWxpemUgdGhlIGxzbV9ydWxlcyBmaWVsZCBvZiBhbGwgYXBwbGljYWJsZSBydWxlcy4KICAqIEl0 IHdpbGwgdHJhdmVyc2UgdGhlIGZpbHRlciBsaXN0cyBzZXJhcmNoaW5nIGZvciBydWxlcyB0aGF0 IGNvbnRhaW4gTFNNCiAgKiBzcGVjaWZpYyBmaWx0ZXIgZmllbGRzLiAgV2hlbiBzdWNoIGEgcnVs ZSBpcyBmb3VuZCwgaXQgaXMgY29waWVkLCB0aGUKICAqIExTTSBmaWVsZCBpcyByZS1pbml0aWFs aXplZCwgYW5kIHRoZSBvbGQgcnVsZSBpcyByZXBsYWNlZCB3aXRoIHRoZQpAQCAtMTQ0NCw3ICsx NDQ1LDcgQEAgaW50IGF1ZGl0X3VwZGF0ZV9sc21fcnVsZXModm9pZCkKIAogCWZvciAoaSA9IDA7 IGkgPCBBVURJVF9OUl9GSUxURVJTOyBpKyspIHsKIAkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZl KHIsIG4sICZhdWRpdF9ydWxlc19saXN0W2ldLCBsaXN0KSB7Ci0JCQlpbnQgcmVzID0gdXBkYXRl X2xzbV9ydWxlKHIpOworCQkJaW50IHJlcyA9IHVwZGF0ZV9sc21fcnVsZXMocik7CiAJCQlpZiAo IWVycikKIAkJCQllcnIgPSByZXM7CiAJCX0KZGlmZiAtLWdpdCBhL2tlcm5lbC9hdWRpdHNjLmMg Yi9rZXJuZWwvYXVkaXRzYy5jCmluZGV4IDNhOGM5ZDc0NDgwMC4uOTgyMGYwOGZjNDdjIDEwMDY0 NAotLS0gYS9rZXJuZWwvYXVkaXRzYy5jCisrKyBiL2tlcm5lbC9hdWRpdHNjLmMKQEAgLTY2NCw3 ICs2NjQsNyBAQCBzdGF0aWMgaW50IGF1ZGl0X2ZpbHRlcl9ydWxlcyhzdHJ1Y3QgdGFza19zdHJ1 Y3QgKnRzaywKIAkJCSAgIG1hdGNoIGZvciBub3cgdG8gYXZvaWQgbG9zaW5nIGluZm9ybWF0aW9u IHRoYXQKIAkJCSAgIG1heSBiZSB3YW50ZWQuICAgQW4gZXJyb3IgbWVzc2FnZSB3aWxsIGFsc28g YmUKIAkJCSAgIGxvZ2dlZCB1cG9uIGVycm9yICovCi0JCQlpZiAoZi0+bHNtX3J1bGUpIHsKKwkJ CWlmIChmLT5sc21fc3RyKSB7CiAJCQkJaWYgKG5lZWRfc2lkKSB7CiAJCQkJCS8qIEB0c2sgc2hv dWxkIGFsd2F5cyBiZSBlcXVhbCB0bwogCQkJCQkgKiBAY3VycmVudCB3aXRoIHRoZSBleGNlcHRp b24gb2YKQEAgLTY3OSw4ICs2NzksNyBAQCBzdGF0aWMgaW50IGF1ZGl0X2ZpbHRlcl9ydWxlcyhz dHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywKIAkJCQkJbmVlZF9zaWQgPSAwOwogCQkJCX0KIAkJCQly ZXN1bHQgPSBzZWN1cml0eV9hdWRpdF9ydWxlX21hdGNoKHNpZCwgZi0+dHlwZSwKLQkJCQkJCQkJ ICAgZi0+b3AsCi0JCQkJCQkJCSAgIGYtPmxzbV9ydWxlKTsKKwkJCQkJCQlmLT5vcCwgJmYtPmxz bV9ydWxlcyk7CiAJCQl9CiAJCQlicmVhazsKIAkJY2FzZSBBVURJVF9PQkpfVVNFUjoKQEAgLTY5 MCwyMSArNjg5LDE5IEBAIHN0YXRpYyBpbnQgYXVkaXRfZmlsdGVyX3J1bGVzKHN0cnVjdCB0YXNr X3N0cnVjdCAqdHNrLAogCQljYXNlIEFVRElUX09CSl9MRVZfSElHSDoKIAkJCS8qIFRoZSBhYm92 ZSBub3RlIGZvciBBVURJVF9TVUJKX1VTRVIuLi5BVURJVF9TVUJKX0NMUgogCQkJICAgYWxzbyBh cHBsaWVzIGhlcmUgKi8KLQkJCWlmIChmLT5sc21fcnVsZSkgeworCQkJaWYgKGYtPmxzbV9zdHIp IHsKIAkJCQkvKiBGaW5kIGZpbGVzIHRoYXQgbWF0Y2ggKi8KIAkJCQlpZiAobmFtZSkgewogCQkJ CQlyZXN1bHQgPSBzZWN1cml0eV9hdWRpdF9ydWxlX21hdGNoKAogCQkJCQkJCQluYW1lLT5vc2lk LAogCQkJCQkJCQlmLT50eXBlLAogCQkJCQkJCQlmLT5vcCwKLQkJCQkJCQkJZi0+bHNtX3J1bGUp OworCQkJCQkJCQkmZi0+bHNtX3J1bGVzKTsKIAkJCQl9IGVsc2UgaWYgKGN0eCkgewogCQkJCQls aXN0X2Zvcl9lYWNoX2VudHJ5KG4sICZjdHgtPm5hbWVzX2xpc3QsIGxpc3QpIHsKIAkJCQkJCWlm IChzZWN1cml0eV9hdWRpdF9ydWxlX21hdGNoKAotCQkJCQkJCQluLT5vc2lkLAotCQkJCQkJCQlm LT50eXBlLAotCQkJCQkJCQlmLT5vcCwKLQkJCQkJCQkJZi0+bHNtX3J1bGUpKSB7CisJCQkJCQkJ bi0+b3NpZCwgZi0+dHlwZSwgZi0+b3AsCisJCQkJCQkJJmYtPmxzbV9ydWxlcykpIHsKIAkJCQkJ CQkrK3Jlc3VsdDsKIAkJCQkJCQlicmVhazsKIAkJCQkJCX0KQEAgLTcxNSw3ICs3MTIsNyBAQCBz dGF0aWMgaW50IGF1ZGl0X2ZpbHRlcl9ydWxlcyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaywKIAkJ CQkJYnJlYWs7CiAJCQkJaWYgKHNlY3VyaXR5X2F1ZGl0X3J1bGVfbWF0Y2goY3R4LT5pcGMub3Np ZCwKIAkJCQkJCQkgICAgICBmLT50eXBlLCBmLT5vcCwKLQkJCQkJCQkgICAgICBmLT5sc21fcnVs ZSkpCisJCQkJCQkJICAgICAgJmYtPmxzbV9ydWxlcykpCiAJCQkJCSsrcmVzdWx0OwogCQkJfQog CQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zZWN1cml0eS9hcHBhcm1vci9sc20uYyBiL3NlY3VyaXR5 L2FwcGFybW9yL2xzbS5jCmluZGV4IGVmOTA0Njg2NmIxNy4uMWFhNmM1NmQ3OWRlIDEwMDY0NAot LS0gYS9zZWN1cml0eS9hcHBhcm1vci9sc20uYworKysgYi9zZWN1cml0eS9hcHBhcm1vci9sc20u YwpAQCAtMTE4OCw2ICsxMTg4LDExIEBAIHN0cnVjdCBsc21fYmxvYl9zaXplcyBhcHBhcm1vcl9i bG9iX3NpemVzIF9fbHNtX3JvX2FmdGVyX2luaXQgPSB7CiAJLmxic19zb2NrID0gc2l6ZW9mKHN0 cnVjdCBhYV9za19jdHgpLAogfTsKIAorc3RhdGljIHN0cnVjdCBsc21faWQgYXBwYXJtb3JfbHNt aWQgX19sc21fcm9fYWZ0ZXJfaW5pdCA9IHsKKwkubHNtICA9ICJhcHBhcm1vciIsCisJLnNsb3Qg PSBMU01CTE9CX05FRURFRAorfTsKKwogc3RhdGljIHN0cnVjdCBzZWN1cml0eV9ob29rX2xpc3Qg YXBwYXJtb3JfaG9va3NbXSBfX2xzbV9yb19hZnRlcl9pbml0ID0gewogCUxTTV9IT09LX0lOSVQo cHRyYWNlX2FjY2Vzc19jaGVjaywgYXBwYXJtb3JfcHRyYWNlX2FjY2Vzc19jaGVjayksCiAJTFNN X0hPT0tfSU5JVChwdHJhY2VfdHJhY2VtZSwgYXBwYXJtb3JfcHRyYWNlX3RyYWNlbWUpLApAQCAt MTg3Myw3ICsxODc4LDcgQEAgc3RhdGljIGludCBfX2luaXQgYXBwYXJtb3JfaW5pdCh2b2lkKQog CQlnb3RvIGJ1ZmZlcnNfb3V0OwogCX0KIAlzZWN1cml0eV9hZGRfaG9va3MoYXBwYXJtb3JfaG9v a3MsIEFSUkFZX1NJWkUoYXBwYXJtb3JfaG9va3MpLAotCQkJCSJhcHBhcm1vciIpOworCQkJCSZh cHBhcm1vcl9sc21pZCk7CiAKIAkvKiBSZXBvcnQgdGhhdCBBcHBBcm1vciBzdWNjZXNzZnVsbHkg aW5pdGlhbGl6ZWQgKi8KIAlhcHBhcm1vcl9pbml0aWFsaXplZCA9IDE7CmRpZmYgLS1naXQgYS9z ZWN1cml0eS9icGYvaG9va3MuYyBiL3NlY3VyaXR5L2JwZi9ob29rcy5jCmluZGV4IGU1OTcxZmE3 NGZkNy4uN2E1OGZlOWFiOGM0IDEwMDY0NAotLS0gYS9zZWN1cml0eS9icGYvaG9va3MuYworKysg Yi9zZWN1cml0eS9icGYvaG9va3MuYwpAQCAtMTUsOSArMTUsMTkgQEAgc3RhdGljIHN0cnVjdCBz ZWN1cml0eV9ob29rX2xpc3QgYnBmX2xzbV9ob29rc1tdIF9fbHNtX3JvX2FmdGVyX2luaXQgPSB7 CiAJTFNNX0hPT0tfSU5JVCh0YXNrX2ZyZWUsIGJwZl90YXNrX3N0b3JhZ2VfZnJlZSksCiB9Owog CisvKgorICogc2xvdCBoYXMgdG8gYmUgTFNNQkxPQl9ORUVERUQgYmVjYXVzZSBzb21lIG9mIHRo ZSBob29rcworICogc3VwcGxpZWQgYnkgdGhpcyBtb2R1bGUgcmVxdWlyZSBhIHNsb3QuCisgKi8K K3N0cnVjdCBsc21faWQgYnBmX2xzbWlkIF9fbHNtX3JvX2FmdGVyX2luaXQgPSB7CisJLmxzbSA9 ICJicGYiLAorCS5zbG90ID0gTFNNQkxPQl9ORUVERUQKK307CisKIHN0YXRpYyBpbnQgX19pbml0 IGJwZl9sc21faW5pdCh2b2lkKQogewotCXNlY3VyaXR5X2FkZF9ob29rcyhicGZfbHNtX2hvb2tz LCBBUlJBWV9TSVpFKGJwZl9sc21faG9va3MpLCAiYnBmIik7CisJc2VjdXJpdHlfYWRkX2hvb2tz KGJwZl9sc21faG9va3MsIEFSUkFZX1NJWkUoYnBmX2xzbV9ob29rcyksCisJCQkgICAmYnBmX2xz bWlkKTsKIAlwcl9pbmZvKCJMU00gc3VwcG9ydCBmb3IgZUJQRiBhY3RpdmVcbiIpOwogCXJldHVy biAwOwogfQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvY29tbW9uY2FwLmMgYi9zZWN1cml0eS9jb21t b25jYXAuYwppbmRleCA1ZmM4OTg2YzNjNzcuLmM5NGVjNDZlMDdhYyAxMDA2NDQKLS0tIGEvc2Vj dXJpdHkvY29tbW9uY2FwLmMKKysrIGIvc2VjdXJpdHkvY29tbW9uY2FwLmMKQEAgLTE0NDYsNiAr MTQ0NiwxMSBAQCBpbnQgY2FwX21tYXBfZmlsZShzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQg bG9uZyByZXFwcm90LAogCiAjaWZkZWYgQ09ORklHX1NFQ1VSSVRZCiAKK3N0YXRpYyBzdHJ1Y3Qg bHNtX2lkIGNhcGFiaWxpdHlfbHNtaWQgX19sc21fcm9fYWZ0ZXJfaW5pdCA9IHsKKwkubHNtICA9 ICJjYXBhYmlsaXR5IiwKKwkuc2xvdCA9IExTTUJMT0JfTk9UX05FRURFRAorfTsKKwogc3RhdGlj IHN0cnVjdCBzZWN1cml0eV9ob29rX2xpc3QgY2FwYWJpbGl0eV9ob29rc1tdIF9fbHNtX3JvX2Fm dGVyX2luaXQgPSB7CiAJTFNNX0hPT0tfSU5JVChjYXBhYmxlLCBjYXBfY2FwYWJsZSksCiAJTFNN X0hPT0tfSU5JVChzZXR0aW1lLCBjYXBfc2V0dGltZSksCkBAIC0xNDcwLDcgKzE0NzUsNyBAQCBz dGF0aWMgc3RydWN0IHNlY3VyaXR5X2hvb2tfbGlzdCBjYXBhYmlsaXR5X2hvb2tzW10gX19sc21f cm9fYWZ0ZXJfaW5pdCA9IHsKIHN0YXRpYyBpbnQgX19pbml0IGNhcGFiaWxpdHlfaW5pdCh2b2lk KQogewogCXNlY3VyaXR5X2FkZF9ob29rcyhjYXBhYmlsaXR5X2hvb2tzLCBBUlJBWV9TSVpFKGNh cGFiaWxpdHlfaG9va3MpLAotCQkJCSJjYXBhYmlsaXR5Iik7CisJCQkgICAmY2FwYWJpbGl0eV9s c21pZCk7CiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2xhbmRsb2NrL2Ny ZWQuYyBiL3NlY3VyaXR5L2xhbmRsb2NrL2NyZWQuYwppbmRleCBlYzZjMzdmMDRhMTkuLjJlYjFk NjVmMTBkNiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvbGFuZGxvY2svY3JlZC5jCisrKyBiL3NlY3Vy aXR5L2xhbmRsb2NrL2NyZWQuYwpAQCAtNDIsNSArNDIsNSBAQCBzdGF0aWMgc3RydWN0IHNlY3Vy aXR5X2hvb2tfbGlzdCBsYW5kbG9ja19ob29rc1tdIF9fbHNtX3JvX2FmdGVyX2luaXQgPSB7CiBf X2luaXQgdm9pZCBsYW5kbG9ja19hZGRfY3JlZF9ob29rcyh2b2lkKQogewogCXNlY3VyaXR5X2Fk ZF9ob29rcyhsYW5kbG9ja19ob29rcywgQVJSQVlfU0laRShsYW5kbG9ja19ob29rcyksCi0JCQkg ICBMQU5ETE9DS19OQU1FKTsKKwkJCSAgICZsYW5kbG9ja19sc21pZCk7CiB9CmRpZmYgLS1naXQg YS9zZWN1cml0eS9sYW5kbG9jay9mcy5jIGIvc2VjdXJpdHkvbGFuZGxvY2svZnMuYwppbmRleCBl YzVhNjI0N2NkM2UuLjUxMTQ5OTk3Y2Q5ZiAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvbGFuZGxvY2sv ZnMuYworKysgYi9zZWN1cml0eS9sYW5kbG9jay9mcy5jCkBAIC0xMTk5LDUgKzExOTksNSBAQCBz dGF0aWMgc3RydWN0IHNlY3VyaXR5X2hvb2tfbGlzdCBsYW5kbG9ja19ob29rc1tdIF9fbHNtX3Jv X2FmdGVyX2luaXQgPSB7CiBfX2luaXQgdm9pZCBsYW5kbG9ja19hZGRfZnNfaG9va3Modm9pZCkK IHsKIAlzZWN1cml0eV9hZGRfaG9va3MobGFuZGxvY2tfaG9va3MsIEFSUkFZX1NJWkUobGFuZGxv Y2tfaG9va3MpLAotCQkJICAgTEFORExPQ0tfTkFNRSk7CisJCQkgICAmbGFuZGxvY2tfbHNtaWQp OwogfQpkaWZmIC0tZ2l0IGEvc2VjdXJpdHkvbGFuZGxvY2svcHRyYWNlLmMgYi9zZWN1cml0eS9s YW5kbG9jay9wdHJhY2UuYwppbmRleCA0YzViOWNkNzEyODYuLmVhYjM1ODA4ZjM5NSAxMDA2NDQK LS0tIGEvc2VjdXJpdHkvbGFuZGxvY2svcHRyYWNlLmMKKysrIGIvc2VjdXJpdHkvbGFuZGxvY2sv cHRyYWNlLmMKQEAgLTExNiw1ICsxMTYsNSBAQCBzdGF0aWMgc3RydWN0IHNlY3VyaXR5X2hvb2tf bGlzdCBsYW5kbG9ja19ob29rc1tdIF9fbHNtX3JvX2FmdGVyX2luaXQgPSB7CiBfX2luaXQgdm9p ZCBsYW5kbG9ja19hZGRfcHRyYWNlX2hvb2tzKHZvaWQpCiB7CiAJc2VjdXJpdHlfYWRkX2hvb2tz KGxhbmRsb2NrX2hvb2tzLCBBUlJBWV9TSVpFKGxhbmRsb2NrX2hvb2tzKSwKLQkJCSAgIExBTkRM T0NLX05BTUUpOworCQkJICAgJmxhbmRsb2NrX2xzbWlkKTsKIH0KZGlmZiAtLWdpdCBhL3NlY3Vy aXR5L2xhbmRsb2NrL3NldHVwLmMgYi9zZWN1cml0eS9sYW5kbG9jay9zZXR1cC5jCmluZGV4IGY4 ZThlOTgwNDU0Yy4uNzU5ZTAwYjk0MzZjIDEwMDY0NAotLS0gYS9zZWN1cml0eS9sYW5kbG9jay9z ZXR1cC5jCisrKyBiL3NlY3VyaXR5L2xhbmRsb2NrL3NldHVwLmMKQEAgLTIzLDYgKzIzLDExIEBA IHN0cnVjdCBsc21fYmxvYl9zaXplcyBsYW5kbG9ja19ibG9iX3NpemVzIF9fbHNtX3JvX2FmdGVy X2luaXQgPSB7CiAJLmxic19zdXBlcmJsb2NrID0gc2l6ZW9mKHN0cnVjdCBsYW5kbG9ja19zdXBl cmJsb2NrX3NlY3VyaXR5KSwKIH07CiAKK3N0cnVjdCBsc21faWQgbGFuZGxvY2tfbHNtaWQgX19s c21fcm9fYWZ0ZXJfaW5pdCA9IHsKKwkubHNtID0gTEFORExPQ0tfTkFNRSwKKwkuc2xvdCA9IExT TUJMT0JfTk9UX05FRURFRCwKK307CisKIHN0YXRpYyBpbnQgX19pbml0IGxhbmRsb2NrX2luaXQo dm9pZCkKIHsKIAlsYW5kbG9ja19hZGRfY3JlZF9ob29rcygpOwpkaWZmIC0tZ2l0IGEvc2VjdXJp dHkvbGFuZGxvY2svc2V0dXAuaCBiL3NlY3VyaXR5L2xhbmRsb2NrL3NldHVwLmgKaW5kZXggMWRh ZmZhYjFhYjRiLi4zOGJjZTViMTcyZGMgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L2xhbmRsb2NrL3Nl dHVwLmgKKysrIGIvc2VjdXJpdHkvbGFuZGxvY2svc2V0dXAuaApAQCAtMTQsNSArMTQsNiBAQAog ZXh0ZXJuIGJvb2wgbGFuZGxvY2tfaW5pdGlhbGl6ZWQ7CiAKIGV4dGVybiBzdHJ1Y3QgbHNtX2Js b2Jfc2l6ZXMgbGFuZGxvY2tfYmxvYl9zaXplczsKK2V4dGVybiBzdHJ1Y3QgbHNtX2lkIGxhbmRs b2NrX2xzbWlkOwogCiAjZW5kaWYgLyogX1NFQ1VSSVRZX0xBTkRMT0NLX1NFVFVQX0ggKi8KZGlm ZiAtLWdpdCBhL3NlY3VyaXR5L2xvYWRwaW4vbG9hZHBpbi5jIGIvc2VjdXJpdHkvbG9hZHBpbi9s b2FkcGluLmMKaW5kZXggYWQ0ZTY3NTZjMDM4Li4yY2NlM2EyY2ZjZDQgMTAwNjQ0Ci0tLSBhL3Nl Y3VyaXR5L2xvYWRwaW4vbG9hZHBpbi5jCisrKyBiL3NlY3VyaXR5L2xvYWRwaW4vbG9hZHBpbi5j CkBAIC0xODksNiArMTg5LDExIEBAIHN0YXRpYyBpbnQgbG9hZHBpbl9sb2FkX2RhdGEoZW51bSBr ZXJuZWxfbG9hZF9kYXRhX2lkIGlkLCBib29sIGNvbnRlbnRzKQogCXJldHVybiBsb2FkcGluX3Jl YWRfZmlsZShOVUxMLCAoZW51bSBrZXJuZWxfcmVhZF9maWxlX2lkKSBpZCwgY29udGVudHMpOwog fQogCitzdGF0aWMgc3RydWN0IGxzbV9pZCBsb2FkcGluX2xzbWlkIF9fbHNtX3JvX2FmdGVyX2lu aXQgPSB7CisJLmxzbSAgPSAibG9hZHBpbiIsCisJLnNsb3QgPSBMU01CTE9CX05PVF9ORUVERUQK K307CisKIHN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfaG9va19saXN0IGxvYWRwaW5faG9va3NbXSBf X2xzbV9yb19hZnRlcl9pbml0ID0gewogCUxTTV9IT09LX0lOSVQoc2JfZnJlZV9zZWN1cml0eSwg bG9hZHBpbl9zYl9mcmVlX3NlY3VyaXR5KSwKIAlMU01fSE9PS19JTklUKGtlcm5lbF9yZWFkX2Zp bGUsIGxvYWRwaW5fcmVhZF9maWxlKSwKQEAgLTIzNiw3ICsyNDEsOCBAQCBzdGF0aWMgaW50IF9f aW5pdCBsb2FkcGluX2luaXQodm9pZCkKIAlwcl9pbmZvKCJyZWFkeSB0byBwaW4gKGN1cnJlbnRs eSAlc2VuZm9yY2luZylcbiIsCiAJCWVuZm9yY2UgPyAiIiA6ICJub3QgIik7CiAJcGFyc2VfZXhj bHVkZSgpOwotCXNlY3VyaXR5X2FkZF9ob29rcyhsb2FkcGluX2hvb2tzLCBBUlJBWV9TSVpFKGxv YWRwaW5faG9va3MpLCAibG9hZHBpbiIpOworCXNlY3VyaXR5X2FkZF9ob29rcyhsb2FkcGluX2hv b2tzLCBBUlJBWV9TSVpFKGxvYWRwaW5faG9va3MpLAorCQkJICAgJmxvYWRwaW5fbHNtaWQpOwog CXJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9zZWN1cml0eS9sb2NrZG93bi9sb2NrZG93bi5j IGIvc2VjdXJpdHkvbG9ja2Rvd24vbG9ja2Rvd24uYwppbmRleCA4N2NiZGM2NGQyNzIuLjRlMjRl YTNmN2I3ZSAxMDA2NDQKLS0tIGEvc2VjdXJpdHkvbG9ja2Rvd24vbG9ja2Rvd24uYworKysgYi9z ZWN1cml0eS9sb2NrZG93bi9sb2NrZG93bi5jCkBAIC03NSw2ICs3NSwxMSBAQCBzdGF0aWMgc3Ry dWN0IHNlY3VyaXR5X2hvb2tfbGlzdCBsb2NrZG93bl9ob29rc1tdIF9fbHNtX3JvX2FmdGVyX2lu aXQgPSB7CiAJTFNNX0hPT0tfSU5JVChsb2NrZWRfZG93biwgbG9ja2Rvd25faXNfbG9ja2VkX2Rv d24pLAogfTsKIAorc3RhdGljIHN0cnVjdCBsc21faWQgbG9ja2Rvd25fbHNtaWQgX19sc21fcm9f YWZ0ZXJfaW5pdCA9IHsKKwkubHNtID0gImxvY2tkb3duIiwKKwkuc2xvdCA9IExTTUJMT0JfTk9U X05FRURFRAorfTsKKwogc3RhdGljIGludCBfX2luaXQgbG9ja2Rvd25fbHNtX2luaXQodm9pZCkK IHsKICNpZiBkZWZpbmVkKENPTkZJR19MT0NLX0RPV05fS0VSTkVMX0ZPUkNFX0lOVEVHUklUWSkK QEAgLTgzLDcgKzg4LDcgQEAgc3RhdGljIGludCBfX2luaXQgbG9ja2Rvd25fbHNtX2luaXQodm9p ZCkKIAlsb2NrX2tlcm5lbF9kb3duKCJLZXJuZWwgY29uZmlndXJhdGlvbiIsIExPQ0tET1dOX0NP TkZJREVOVElBTElUWV9NQVgpOwogI2VuZGlmCiAJc2VjdXJpdHlfYWRkX2hvb2tzKGxvY2tkb3du X2hvb2tzLCBBUlJBWV9TSVpFKGxvY2tkb3duX2hvb2tzKSwKLQkJCSAgICJsb2NrZG93biIpOwor CQkJICAgJmxvY2tkb3duX2xzbWlkKTsKIAlyZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvc2Vj dXJpdHkvc2FmZXNldGlkL2xzbS5jIGIvc2VjdXJpdHkvc2FmZXNldGlkL2xzbS5jCmluZGV4IDk2 M2Y0YWQ5Y2I2Ni4uMGMzNjg5NTBkYzE0IDEwMDY0NAotLS0gYS9zZWN1cml0eS9zYWZlc2V0aWQv bHNtLmMKKysrIGIvc2VjdXJpdHkvc2FmZXNldGlkL2xzbS5jCkBAIC0yNDEsNiArMjQxLDExIEBA IHN0YXRpYyBpbnQgc2FmZXNldGlkX3Rhc2tfZml4X3NldGdpZChzdHJ1Y3QgY3JlZCAqbmV3LAog CXJldHVybiAtRUFDQ0VTOwogfQogCitzdGF0aWMgc3RydWN0IGxzbV9pZCBzYWZlc2V0aWRfbHNt aWQgX19sc21fcm9fYWZ0ZXJfaW5pdCA9IHsKKwkubHNtICA9ICJzYWZlc2V0aWQiLAorCS5zbG90 ID0gTFNNQkxPQl9OT1RfTkVFREVECit9OworCiBzdGF0aWMgc3RydWN0IHNlY3VyaXR5X2hvb2tf bGlzdCBzYWZlc2V0aWRfc2VjdXJpdHlfaG9va3NbXSA9IHsKIAlMU01fSE9PS19JTklUKHRhc2tf Zml4X3NldHVpZCwgc2FmZXNldGlkX3Rhc2tfZml4X3NldHVpZCksCiAJTFNNX0hPT0tfSU5JVCh0 YXNrX2ZpeF9zZXRnaWQsIHNhZmVzZXRpZF90YXNrX2ZpeF9zZXRnaWQpLApAQCAtMjUwLDcgKzI1 NSw4IEBAIHN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfaG9va19saXN0IHNhZmVzZXRpZF9zZWN1cml0 eV9ob29rc1tdID0gewogc3RhdGljIGludCBfX2luaXQgc2FmZXNldGlkX3NlY3VyaXR5X2luaXQo dm9pZCkKIHsKIAlzZWN1cml0eV9hZGRfaG9va3Moc2FmZXNldGlkX3NlY3VyaXR5X2hvb2tzLAot CQkJICAgQVJSQVlfU0laRShzYWZlc2V0aWRfc2VjdXJpdHlfaG9va3MpLCAic2FmZXNldGlkIik7 CisJCQkgICBBUlJBWV9TSVpFKHNhZmVzZXRpZF9zZWN1cml0eV9ob29rcyksCisJCQkgICAmc2Fm ZXNldGlkX2xzbWlkKTsKIAogCS8qIFJlcG9ydCB0aGF0IFNhZmVTZXRJRCBzdWNjZXNzZnVsbHkg aW5pdGlhbGl6ZWQgKi8KIAlzYWZlc2V0aWRfaW5pdGlhbGl6ZWQgPSAxOwpkaWZmIC0tZ2l0IGEv c2VjdXJpdHkvc2VjdXJpdHkuYyBiL3NlY3VyaXR5L3NlY3VyaXR5LmMKaW5kZXggNmNlMTY4NDc1 MTgxLi44ZmRmMDQ2ZmM3NDkgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5L3NlY3VyaXR5LmMKKysrIGIv c2VjdXJpdHkvc2VjdXJpdHkuYwpAQCAtMzQ3LDYgKzM0Nyw3IEBAIHN0YXRpYyB2b2lkIF9faW5p dCBvcmRlcmVkX2xzbV9pbml0KHZvaWQpCiAJaW5pdF9kZWJ1Zygic29jayBibG9iIHNpemUgICAg ICAgPSAlZFxuIiwgYmxvYl9zaXplcy5sYnNfc29jayk7CiAJaW5pdF9kZWJ1Zygic3VwZXJibG9j ayBibG9iIHNpemUgPSAlZFxuIiwgYmxvYl9zaXplcy5sYnNfc3VwZXJibG9jayk7CiAJaW5pdF9k ZWJ1ZygidGFzayBibG9iIHNpemUgICAgICAgPSAlZFxuIiwgYmxvYl9zaXplcy5sYnNfdGFzayk7 CisJaW5pdF9kZWJ1ZygibHNtYmxvYiBzaXplICAgICAgICAgPSAlenVcbiIsIHNpemVvZihzdHJ1 Y3QgbHNtYmxvYikpOwogCiAJLyoKIAkgKiBDcmVhdGUgYW55IGttZW1fY2FjaGVzIG5lZWRlZCBm b3IgYmxvYnMKQEAgLTQ3MywyMSArNDc0LDM4IEBAIHN0YXRpYyBpbnQgbHNtX2FwcGVuZChjb25z dCBjaGFyICpuZXcsIGNoYXIgKipyZXN1bHQpCiAJcmV0dXJuIDA7CiB9CiAKKy8qCisgKiBDdXJy ZW50IGluZGV4IHRvIHVzZSB3aGlsZSBpbml0aWFsaXppbmcgdGhlIGxzbWJsb2Igc2VjaWQgbGlz dC4KKyAqLworc3RhdGljIGludCBsc21fc2xvdCBfX2xzbV9yb19hZnRlcl9pbml0OworCiAvKioK ICAqIHNlY3VyaXR5X2FkZF9ob29rcyAtIEFkZCBhIG1vZHVsZXMgaG9va3MgdG8gdGhlIGhvb2sg bGlzdHMuCiAgKiBAaG9va3M6IHRoZSBob29rcyB0byBhZGQKICAqIEBjb3VudDogdGhlIG51bWJl ciBvZiBob29rcyB0byBhZGQKLSAqIEBsc206IHRoZSBuYW1lIG9mIHRoZSBzZWN1cml0eSBtb2R1 bGUKKyAqIEBsc21pZDogdGhlIGlkZW50aWZpY2F0aW9uIGluZm9ybWF0aW9uIGZvciB0aGUgc2Vj dXJpdHkgbW9kdWxlCiAgKgogICogRWFjaCBMU00gaGFzIHRvIHJlZ2lzdGVyIGl0cyBob29rcyB3 aXRoIHRoZSBpbmZyYXN0cnVjdHVyZS4KKyAqIElmIHRoZSBMU00gaXMgdXNpbmcgaG9va3MgdGhh dCBleHBvcnQgc2VjaWRzIGFsbG9jYXRlIGEgc2xvdAorICogZm9yIGl0IGluIHRoZSBsc21ibG9i LgogICovCiB2b2lkIF9faW5pdCBzZWN1cml0eV9hZGRfaG9va3Moc3RydWN0IHNlY3VyaXR5X2hv b2tfbGlzdCAqaG9va3MsIGludCBjb3VudCwKLQkJCQljb25zdCBjaGFyICpsc20pCisJCQkgICAg ICAgc3RydWN0IGxzbV9pZCAqbHNtaWQpCiB7CiAJaW50IGk7CiAKKwlXQVJOX09OKCFsc21pZC0+ c2xvdCB8fCAhbHNtaWQtPmxzbSk7CisKKwlpZiAobHNtaWQtPnNsb3QgPT0gTFNNQkxPQl9ORUVE RUQpIHsKKwkJaWYgKGxzbV9zbG90ID49IExTTUJMT0JfRU5UUklFUykKKwkJCXBhbmljKCIlcyBU b28gbWFueSBMU01zIHJlZ2lzdGVyZWQuXG4iLCBfX2Z1bmNfXyk7CisJCWxzbWlkLT5zbG90ID0g bHNtX3Nsb3QrKzsKKwkJaW5pdF9kZWJ1ZygiJXMgYXNzaWduZWQgbHNtYmxvYiBzbG90ICVkXG4i LCBsc21pZC0+bHNtLAorCQkJICAgbHNtaWQtPnNsb3QpOworCX0KKwogCWZvciAoaSA9IDA7IGkg PCBjb3VudDsgaSsrKSB7Ci0JCWhvb2tzW2ldLmxzbSA9IGxzbTsKKwkJaG9va3NbaV0ubHNtaWQg PSBsc21pZDsKIAkJaGxpc3RfYWRkX3RhaWxfcmN1KCZob29rc1tpXS5saXN0LCBob29rc1tpXS5o ZWFkKTsKIAl9CiAKQEAgLTQ5Niw3ICs1MTQsNyBAQCB2b2lkIF9faW5pdCBzZWN1cml0eV9hZGRf aG9va3Moc3RydWN0IHNlY3VyaXR5X2hvb2tfbGlzdCAqaG9va3MsIGludCBjb3VudCwKIAkgKiBh bmQgZml4IHRoaXMgdXAgYWZ0ZXJ3YXJkcy4KIAkgKi8KIAlpZiAoc2xhYl9pc19hdmFpbGFibGUo KSkgewotCQlpZiAobHNtX2FwcGVuZChsc20sICZsc21fbmFtZXMpIDwgMCkKKwkJaWYgKGxzbV9h cHBlbmQobHNtaWQtPmxzbSwgJmxzbV9uYW1lcykgPCAwKQogCQkJcGFuaWMoIiVzIC0gQ2Fubm90 IGdldCBlYXJseSBtZW1vcnkuXG4iLCBfX2Z1bmNfXyk7CiAJfQogfQpAQCAtMjA4Miw3ICsyMTAw LDcgQEAgaW50IHNlY3VyaXR5X2dldHByb2NhdHRyKHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgY29u c3QgY2hhciAqbHNtLCBjaGFyICpuYW1lLAogCXN0cnVjdCBzZWN1cml0eV9ob29rX2xpc3QgKmhw OwogCiAJaGxpc3RfZm9yX2VhY2hfZW50cnkoaHAsICZzZWN1cml0eV9ob29rX2hlYWRzLmdldHBy b2NhdHRyLCBsaXN0KSB7Ci0JCWlmIChsc20gIT0gTlVMTCAmJiBzdHJjbXAobHNtLCBocC0+bHNt KSkKKwkJaWYgKGxzbSAhPSBOVUxMICYmIHN0cmNtcChsc20sIGhwLT5sc21pZC0+bHNtKSkKIAkJ CWNvbnRpbnVlOwogCQlyZXR1cm4gaHAtPmhvb2suZ2V0cHJvY2F0dHIocCwgbmFtZSwgdmFsdWUp OwogCX0KQEAgLTIwOTUsNyArMjExMyw3IEBAIGludCBzZWN1cml0eV9zZXRwcm9jYXR0cihjb25z dCBjaGFyICpsc20sIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKnZhbHVlLAogCXN0cnVjdCBzZWN1 cml0eV9ob29rX2xpc3QgKmhwOwogCiAJaGxpc3RfZm9yX2VhY2hfZW50cnkoaHAsICZzZWN1cml0 eV9ob29rX2hlYWRzLnNldHByb2NhdHRyLCBsaXN0KSB7Ci0JCWlmIChsc20gIT0gTlVMTCAmJiBz dHJjbXAobHNtLCBocC0+bHNtKSkKKwkJaWYgKGxzbSAhPSBOVUxMICYmIHN0cmNtcChsc20sIGhw LT5sc21pZC0+bHNtKSkKIAkJCWNvbnRpbnVlOwogCQlyZXR1cm4gaHAtPmhvb2suc2V0cHJvY2F0 dHIobmFtZSwgdmFsdWUsIHNpemUpOwogCX0KQEAgLTI1OTMsOSArMjYxMSwyNyBAQCBpbnQgc2Vj dXJpdHlfa2V5X2dldHNlY3VyaXR5KHN0cnVjdCBrZXkgKmtleSwgY2hhciAqKl9idWZmZXIpCiAK ICNpZmRlZiBDT05GSUdfQVVESVQKIAotaW50IHNlY3VyaXR5X2F1ZGl0X3J1bGVfaW5pdCh1MzIg ZmllbGQsIHUzMiBvcCwgY2hhciAqcnVsZXN0ciwgdm9pZCAqKmxzbXJ1bGUpCitpbnQgc2VjdXJp dHlfYXVkaXRfcnVsZV9pbml0KHUzMiBmaWVsZCwgdTMyIG9wLCBjaGFyICpydWxlc3RyLAorCQkJ ICAgICBzdHJ1Y3QgYXVkaXRfbHNtX3J1bGVzICpsc21ydWxlcykKIHsKLQlyZXR1cm4gY2FsbF9p bnRfaG9vayhhdWRpdF9ydWxlX2luaXQsIDAsIGZpZWxkLCBvcCwgcnVsZXN0ciwgbHNtcnVsZSk7 CisJc3RydWN0IHNlY3VyaXR5X2hvb2tfbGlzdCAqaHA7CisJYm9vbCBvbmVfaXNfZ29vZCA9IGZh bHNlOworCWludCByYyA9IDA7CisJaW50IHRyYzsKKworCWhsaXN0X2Zvcl9lYWNoX2VudHJ5KGhw LCAmc2VjdXJpdHlfaG9va19oZWFkcy5hdWRpdF9ydWxlX2luaXQsIGxpc3QpIHsKKwkJaWYgKFdB Uk5fT04oaHAtPmxzbWlkLT5zbG90IDwgMCB8fCBocC0+bHNtaWQtPnNsb3QgPj0gbHNtX3Nsb3Qp KQorCQkJY29udGludWU7CisJCXRyYyA9IGhwLT5ob29rLmF1ZGl0X3J1bGVfaW5pdChmaWVsZCwg b3AsIHJ1bGVzdHIsCisJCQkJCSZsc21ydWxlcy0+cnVsZVtocC0+bHNtaWQtPnNsb3RdKTsKKwkJ aWYgKHRyYyA9PSAwKQorCQkJb25lX2lzX2dvb2QgPSB0cnVlOworCQllbHNlCisJCQlyYyA9IHRy YzsKKwl9CisJaWYgKG9uZV9pc19nb29kKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gcmM7CiB9CiAK IGludCBzZWN1cml0eV9hdWRpdF9ydWxlX2tub3duKHN0cnVjdCBhdWRpdF9rcnVsZSAqa3J1bGUp CkBAIC0yNjAzLDE0ICsyNjM5LDM2IEBAIGludCBzZWN1cml0eV9hdWRpdF9ydWxlX2tub3duKHN0 cnVjdCBhdWRpdF9rcnVsZSAqa3J1bGUpCiAJcmV0dXJuIGNhbGxfaW50X2hvb2soYXVkaXRfcnVs ZV9rbm93biwgMCwga3J1bGUpOwogfQogCi12b2lkIHNlY3VyaXR5X2F1ZGl0X3J1bGVfZnJlZSh2 b2lkICpsc21ydWxlKQordm9pZCBzZWN1cml0eV9hdWRpdF9ydWxlX2ZyZWUoc3RydWN0IGF1ZGl0 X2xzbV9ydWxlcyAqbHNtcnVsZXMpCiB7Ci0JY2FsbF92b2lkX2hvb2soYXVkaXRfcnVsZV9mcmVl LCBsc21ydWxlKTsKKwlzdHJ1Y3Qgc2VjdXJpdHlfaG9va19saXN0ICpocDsKKworCWhsaXN0X2Zv cl9lYWNoX2VudHJ5KGhwLCAmc2VjdXJpdHlfaG9va19oZWFkcy5hdWRpdF9ydWxlX2ZyZWUsIGxp c3QpIHsKKwkJaWYgKFdBUk5fT04oaHAtPmxzbWlkLT5zbG90IDwgMCB8fCBocC0+bHNtaWQtPnNs b3QgPj0gbHNtX3Nsb3QpKQorCQkJY29udGludWU7CisJCWlmIChsc21ydWxlcy0+cnVsZVtocC0+ bHNtaWQtPnNsb3RdID09IE5VTEwpCisJCQljb250aW51ZTsKKwkJaHAtPmhvb2suYXVkaXRfcnVs ZV9mcmVlKGxzbXJ1bGVzLT5ydWxlW2hwLT5sc21pZC0+c2xvdF0pOworCX0KIH0KIAotaW50IHNl Y3VyaXR5X2F1ZGl0X3J1bGVfbWF0Y2godTMyIHNlY2lkLCB1MzIgZmllbGQsIHUzMiBvcCwgdm9p ZCAqbHNtcnVsZSkKK2ludCBzZWN1cml0eV9hdWRpdF9ydWxlX21hdGNoKHUzMiBzZWNpZCwgdTMy IGZpZWxkLCB1MzIgb3AsCisJCQkgICAgICBzdHJ1Y3QgYXVkaXRfbHNtX3J1bGVzICpsc21ydWxl cykKIHsKLQlyZXR1cm4gY2FsbF9pbnRfaG9vayhhdWRpdF9ydWxlX21hdGNoLCAwLCBzZWNpZCwg ZmllbGQsIG9wLCBsc21ydWxlKTsKKwlzdHJ1Y3Qgc2VjdXJpdHlfaG9va19saXN0ICpocDsKKwlp bnQgcmM7CisKKwlobGlzdF9mb3JfZWFjaF9lbnRyeShocCwgJnNlY3VyaXR5X2hvb2tfaGVhZHMu YXVkaXRfcnVsZV9tYXRjaCwgbGlzdCkgeworCQlpZiAoV0FSTl9PTihocC0+bHNtaWQtPnNsb3Qg PCAwIHx8IGhwLT5sc21pZC0+c2xvdCA+PSBsc21fc2xvdCkpCisJCQljb250aW51ZTsKKwkJaWYg KGxzbXJ1bGVzLT5ydWxlW2hwLT5sc21pZC0+c2xvdF0gPT0gTlVMTCkKKwkJCWNvbnRpbnVlOwor CQlyYyA9IGhwLT5ob29rLmF1ZGl0X3J1bGVfbWF0Y2goc2VjaWQsIGZpZWxkLCBvcCwKKwkJCQkJ JmxzbXJ1bGVzLT5ydWxlW2hwLT5sc21pZC0+c2xvdF0pOworCQlpZiAocmMpCisJCQlyZXR1cm4g cmM7CisJfQorCXJldHVybiAwOwogfQogI2VuZGlmIC8qIENPTkZJR19BVURJVCAqLwogCmRpZmYg LS1naXQgYS9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMgYi9zZWN1cml0eS9zZWxpbnV4L2hvb2tz LmMKaW5kZXggNTZjYWRhNTM5OTNiLi42OGRjZGM1MmY5YWEgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5 L3NlbGludXgvaG9va3MuYworKysgYi9zZWN1cml0eS9zZWxpbnV4L2hvb2tzLmMKQEAgLTY5ODgs NiArNjk4OCwxMSBAQCBzdGF0aWMgaW50IHNlbGludXhfdXJpbmdfc3Fwb2xsKHZvaWQpCiB9CiAj ZW5kaWYgLyogQ09ORklHX0lPX1VSSU5HICovCiAKK3N0YXRpYyBzdHJ1Y3QgbHNtX2lkIHNlbGlu dXhfbHNtaWQgX19sc21fcm9fYWZ0ZXJfaW5pdCA9IHsKKwkubHNtICA9ICJzZWxpbnV4IiwKKwku c2xvdCA9IExTTUJMT0JfTkVFREVECit9OworCiAvKgogICogSU1QT1JUQU5UIE5PVEU6IFdoZW4g YWRkaW5nIG5ldyBob29rcywgcGxlYXNlIGJlIGNhcmVmdWwgdG8ga2VlcCB0aGlzIG9yZGVyOgog ICogMS4gYW55IGhvb2tzIHRoYXQgZG9uJ3QgYmVsb25nIHRvICgyLikgb3IgKDMuKSBiZWxvdywK QEAgLTczMDYsNyArNzMxMSw4IEBAIHN0YXRpYyBfX2luaXQgaW50IHNlbGludXhfaW5pdCh2b2lk KQogCiAJaGFzaHRhYl9jYWNoZV9pbml0KCk7CiAKLQlzZWN1cml0eV9hZGRfaG9va3Moc2VsaW51 eF9ob29rcywgQVJSQVlfU0laRShzZWxpbnV4X2hvb2tzKSwgInNlbGludXgiKTsKKwlzZWN1cml0 eV9hZGRfaG9va3Moc2VsaW51eF9ob29rcywgQVJSQVlfU0laRShzZWxpbnV4X2hvb2tzKSwKKwkJ CSAgICZzZWxpbnV4X2xzbWlkKTsKIAogCWlmIChhdmNfYWRkX2NhbGxiYWNrKHNlbGludXhfbmV0 Y2FjaGVfYXZjX2NhbGxiYWNrLCBBVkNfQ0FMTEJBQ0tfUkVTRVQpKQogCQlwYW5pYygiU0VMaW51 eDogVW5hYmxlIHRvIHJlZ2lzdGVyIEFWQyBuZXRjYWNoZSBjYWxsYmFja1xuIik7CmRpZmYgLS1n aXQgYS9zZWN1cml0eS9zbWFjay9zbWFja19sc20uYyBiL3NlY3VyaXR5L3NtYWNrL3NtYWNrX2xz bS5jCmluZGV4IDI2ODk0ODYxNjBhMi4uNmUwZWFlY2Q4MjU2IDEwMDY0NAotLS0gYS9zZWN1cml0 eS9zbWFjay9zbWFja19sc20uYworKysgYi9zZWN1cml0eS9zbWFjay9zbWFja19sc20uYwpAQCAt NDc0NCw2ICs0NzQ0LDExIEBAIHN0cnVjdCBsc21fYmxvYl9zaXplcyBzbWFja19ibG9iX3NpemVz IF9fbHNtX3JvX2FmdGVyX2luaXQgPSB7CiAJLmxic19zdXBlcmJsb2NrID0gc2l6ZW9mKHN0cnVj dCBzdXBlcmJsb2NrX3NtYWNrKSwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgbHNtX2lkIHNtYWNrX2xz bWlkIF9fbHNtX3JvX2FmdGVyX2luaXQgPSB7CisJLmxzbSAgPSAic21hY2siLAorCS5zbG90ID0g TFNNQkxPQl9ORUVERUQKK307CisKIHN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfaG9va19saXN0IHNt YWNrX2hvb2tzW10gX19sc21fcm9fYWZ0ZXJfaW5pdCA9IHsKIAlMU01fSE9PS19JTklUKHB0cmFj ZV9hY2Nlc3NfY2hlY2ssIHNtYWNrX3B0cmFjZV9hY2Nlc3NfY2hlY2spLAogCUxTTV9IT09LX0lO SVQocHRyYWNlX3RyYWNlbWUsIHNtYWNrX3B0cmFjZV90cmFjZW1lKSwKQEAgLTQ5NDcsNyArNDk1 Miw3IEBAIHN0YXRpYyBfX2luaXQgaW50IHNtYWNrX2luaXQodm9pZCkKIAkvKgogCSAqIFJlZ2lz dGVyIHdpdGggTFNNCiAJICovCi0Jc2VjdXJpdHlfYWRkX2hvb2tzKHNtYWNrX2hvb2tzLCBBUlJB WV9TSVpFKHNtYWNrX2hvb2tzKSwgInNtYWNrIik7CisJc2VjdXJpdHlfYWRkX2hvb2tzKHNtYWNr X2hvb2tzLCBBUlJBWV9TSVpFKHNtYWNrX2hvb2tzKSwgJnNtYWNrX2xzbWlkKTsKIAlzbWFja19l bmFibGVkID0gMTsKIAogCXByX2luZm8oIlNtYWNrOiAgSW5pdGlhbGl6aW5nLlxuIik7CmRpZmYg LS1naXQgYS9zZWN1cml0eS90b21veW8vdG9tb3lvLmMgYi9zZWN1cml0eS90b21veW8vdG9tb3lv LmMKaW5kZXggNzFlODJkODU1ZWJmLi4zOGYyYzg3YTY0ZGQgMTAwNjQ0Ci0tLSBhL3NlY3VyaXR5 L3RvbW95by90b21veW8uYworKysgYi9zZWN1cml0eS90b21veW8vdG9tb3lvLmMKQEAgLTUzMCw2 ICs1MzAsMTEgQEAgc3RhdGljIHZvaWQgdG9tb3lvX3Rhc2tfZnJlZShzdHJ1Y3QgdGFza19zdHJ1 Y3QgKnRhc2spCiAJfQogfQogCitzdGF0aWMgc3RydWN0IGxzbV9pZCB0b21veW9fbHNtaWQgX19s c21fcm9fYWZ0ZXJfaW5pdCA9IHsKKwkubHNtICA9ICJ0b21veW8iLAorCS5zbG90ID0gTFNNQkxP Ql9OT1RfTkVFREVECit9OworCiAvKgogICogdG9tb3lvX3NlY3VyaXR5X29wcyBpcyBhICJzdHJ1 Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyIgd2hpY2ggaXMgdXNlZCBmb3IKICAqIHJlZ2lzdGVyaW5n IFRPTU9ZTy4KQEAgLTU4Miw3ICs1ODcsOCBAQCBzdGF0aWMgaW50IF9faW5pdCB0b21veW9faW5p dCh2b2lkKQogCXN0cnVjdCB0b21veW9fdGFzayAqcyA9IHRvbW95b190YXNrKGN1cnJlbnQpOwog CiAJLyogcmVnaXN0ZXIgb3Vyc2VsdmVzIHdpdGggdGhlIHNlY3VyaXR5IGZyYW1ld29yayAqLwot CXNlY3VyaXR5X2FkZF9ob29rcyh0b21veW9faG9va3MsIEFSUkFZX1NJWkUodG9tb3lvX2hvb2tz KSwgInRvbW95byIpOworCXNlY3VyaXR5X2FkZF9ob29rcyh0b21veW9faG9va3MsIEFSUkFZX1NJ WkUodG9tb3lvX2hvb2tzKSwKKwkJCSAgICZ0b21veW9fbHNtaWQpOwogCXByX2luZm8oIlRPTU9Z TyBMaW51eCBpbml0aWFsaXplZFxuIik7CiAJcy0+ZG9tYWluX2luZm8gPSAmdG9tb3lvX2tlcm5l bF9kb21haW47CiAJYXRvbWljX2luYygmdG9tb3lvX2tlcm5lbF9kb21haW4udXNlcnMpOwpkaWZm IC0tZ2l0IGEvc2VjdXJpdHkveWFtYS95YW1hX2xzbS5jIGIvc2VjdXJpdHkveWFtYS95YW1hX2xz bS5jCmluZGV4IDA2ZTIyNjE2NmFhYi4uYTk2MzllYTU0MWY3IDEwMDY0NAotLS0gYS9zZWN1cml0 eS95YW1hL3lhbWFfbHNtLmMKKysrIGIvc2VjdXJpdHkveWFtYS95YW1hX2xzbS5jCkBAIC00MjEs NiArNDIxLDExIEBAIHN0YXRpYyBpbnQgeWFtYV9wdHJhY2VfdHJhY2VtZShzdHJ1Y3QgdGFza19z dHJ1Y3QgKnBhcmVudCkKIAlyZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBzdHJ1Y3QgbHNtX2lkIHlh bWFfbHNtaWQgX19sc21fcm9fYWZ0ZXJfaW5pdCA9IHsKKwkubHNtICA9ICJ5YW1hIiwKKwkuc2xv dCA9IExTTUJMT0JfTk9UX05FRURFRAorfTsKKwogc3RhdGljIHN0cnVjdCBzZWN1cml0eV9ob29r X2xpc3QgeWFtYV9ob29rc1tdIF9fbHNtX3JvX2FmdGVyX2luaXQgPSB7CiAJTFNNX0hPT0tfSU5J VChwdHJhY2VfYWNjZXNzX2NoZWNrLCB5YW1hX3B0cmFjZV9hY2Nlc3NfY2hlY2spLAogCUxTTV9I T09LX0lOSVQocHRyYWNlX3RyYWNlbWUsIHlhbWFfcHRyYWNlX3RyYWNlbWUpLApAQCAtNDc3LDcg KzQ4Miw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCB5YW1hX2luaXRfc3lzY3RsKHZvaWQpIHsgfQog c3RhdGljIGludCBfX2luaXQgeWFtYV9pbml0KHZvaWQpCiB7CiAJcHJfaW5mbygiWWFtYTogYmVj b21pbmcgbWluZGZ1bC5cbiIpOwotCXNlY3VyaXR5X2FkZF9ob29rcyh5YW1hX2hvb2tzLCBBUlJB WV9TSVpFKHlhbWFfaG9va3MpLCAieWFtYSIpOworCXNlY3VyaXR5X2FkZF9ob29rcyh5YW1hX2hv b2tzLCBBUlJBWV9TSVpFKHlhbWFfaG9va3MpLCAmeWFtYV9sc21pZCk7CiAJeWFtYV9pbml0X3N5 c2N0bCgpOwogCXJldHVybiAwOwogfQotLSAKMi4zNi4xCgotLQpMaW51eC1hdWRpdCBtYWlsaW5n IGxpc3QKTGludXgtYXVkaXRAcmVkaGF0LmNvbQpodHRwczovL2xpc3RtYW4ucmVkaGF0LmNvbS9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWF1ZGl0Cg==