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 X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 57772C3A59E for ; Mon, 2 Sep 2019 14:51:00 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2088F2087E for ; Mon, 2 Sep 2019 14:51:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="Oo706if/" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2088F2087E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i4nfC-0006SY-3J; Mon, 02 Sep 2019 14:50:38 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i4nfA-0006Rv-BS for xen-devel@lists.xenproject.org; Mon, 02 Sep 2019 14:50:36 +0000 X-Inumbo-ID: 000173fa-cd91-11e9-b95f-bc764e2007e4 Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 000173fa-cd91-11e9-b95f-bc764e2007e4; Mon, 02 Sep 2019 14:50:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1567435826; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=P40/OrtQytr3MXGXC1AjgVp69f4/JvKtSns4dhmc0Yo=; b=Oo706if/elz/E4V8b8UiqA3mgTYX6Gothv8c4u46MptIWMdS660fXPht yLN0Vn5xuY41nAFxdXx7Q5tUZ+8Z3MgI88PG3e+gRacYf0o22YScMzBOR ghy0kdWPur1g3yYLBB3F0Kt+/j3VzhEkXQG/2jFN9yrcG/UrqUUTJjses 0=; Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=paul.durrant@citrix.com; spf=Pass smtp.mailfrom=Paul.Durrant@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa6.hc3370-68.iphmx.com: no sender authenticity information available from domain of paul.durrant@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa6.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="paul.durrant@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa6.hc3370-68.iphmx.com: domain of Paul.Durrant@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa6.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="Paul.Durrant@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa6.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa6.hc3370-68.iphmx.com; envelope-from="Paul.Durrant@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: FGqnZjkzNxw5PtHRuN90GiE/pP+lkn7SKN5Y7/R7CR0OvAS/EeZeR7+Gsmqs0LPa0ARs1+Ik13 dGsTatw5F/Y7fk5KZZ2zgryfjAFtkIxNZRNLVKF+8w4Z5dekIu5QIDKsAt5Y1kefRe0BRJjUG8 hj97QB01T/4avZnsDs/LmjFMtrVkEyxnfxu2w8AEFyZz1l5FtCflpOyC0ewnKTXOfApFVPX545 FtZLNQKRwCZP+mbZTj1fQ9IQSC50/dLIz82iiFvdcpz9xRFAV7d6zLuEmT6VJ4RwbMB+vOJVLl zPo= X-SBRS: 2.7 X-MesageID: 5242803 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,459,1559534400"; d="scan'208";a="5242803" From: Paul Durrant To: Date: Mon, 2 Sep 2019 15:50:14 +0100 Message-ID: <20190902145014.36442-7-paul.durrant@citrix.com> X-Mailer: git-send-email 2.20.1.2.gb21ebb671 In-Reply-To: <20190902145014.36442-1-paul.durrant@citrix.com> References: <20190902145014.36442-1-paul.durrant@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v8 6/6] introduce a 'passthrough' configuration option to xl.cfg... X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Paul Durrant , Christian Lindig , Jan Beulich , David Scott , Anthony PERARD , Volodymyr Babchuk , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Li4uYW5kIGhlbmNlIHRoZSBhYmlsaXR5IHRvIGRpc2FibGUgSU9NTVUgbWFwcGluZ3MsIGFuZCBj b250cm9sIEVQVApzaGFyaW5nLgoKVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3ICdsaWJ4bF9w YXNzdGhyb3VnaCcgZW51bWVyYXRpb24gaW50bwpsaWJ4bF9kb21haW5fY3JlYXRlX2luZm8uIFRo ZSB2YWx1ZSB3aWxsIGJlIHNldCBieSB4bCBlaXRoZXIgd2hlbiBpdCBwYXJzZXMKYSBuZXcgJ3Bh c3N0aHJvdWdoJyBvcHRpb24gaW4geGwuY2ZnLCBvciBpbXBsaWNpdGx5IGlmIHRoZXJlIGlzIHBh c3N0aHJvdWdoCmhhcmR3YXJlIHNwZWNpZmllZCBmb3IgdGhlIGRvbWFpbi4KCklmIHRoZSB2YWx1 ZSBvZiB0aGUgcGFzc3Rocm91Z2ggY29uZmlndXJhdGlvbiBvcHRpb24gaXMgJ2Rpc2FibGVkJyB0 aGVuCnRoZSBYRU5fRE9NQ1RMX0NERl9pb21tdSBmbGFnIHdpbGwgYmUgY2xlYXIgaW4gdGhlIHhl bl9kb21jdGxfY3JlYXRlZG9tYWluCmZsYWdzLCB0aHVzIGFsbG93aW5nIHRoZSB0b29sc3RhY2sg dG8gY29udHJvbCB3aGV0aGVyIHRoZSBkb21haW4gZ2V0cwpJT01NVSBtYXBwaW5ncyBvciBub3Qg KHdoZXJlIHByZXZpb3VzbHkgdGhleSB3ZXJlIGdsb2JhbGx5IHNldCkuCgpJZiB0aGUgdmFsdWUg b2YgdGhlIHBhc3N0aHJvdWdoIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGlzICdzeW5jX3B0JyB0aGVu CmEgbmV3ICdpb21tdV9vcHRzJyBmaWVsZCBpbiB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiB3aWxs IGJlIHNldCB3aXRoIHRoZQp2YWx1ZSBYRU5fRE9NQ1RMX0lPTU1VX25vX3NoYXJlcHQuIFRoaXMg d2lsbCBvdmVycmlkZSB0aGUgZ2xvYmFsIGRlZmF1bHQKc2V0IGluIGlvbW11X2hhcF9wdF9zaGFy ZSwgdGh1cyBhbGxvd2luZyB0aGUgdG9vbHN0YWNrIHRvIGNvbnRyb2wgd2hldGhlcgpFUFQgc2hh cmluZyBpcyB1c2VkIGZvciB0aGUgZG9tYWluLgoKTk9URTogVGhlICdpb21tdV9tZW1rYicgb3Zl cmhlYWQgaW4gbGlieGxfZG9tYWluX2J1aWxkX2luZm8gd2lsbCBvbmx5IGJlCiAgICAgIHNldCB0 byB6ZXJvIGlmIHBhc3N0aHJvdWdoIGlzICdkaXNhYmxlZCcuIEl0IGlzIG5vdCBzYWZlIHRvIHNl dCB0aGUKICAgICAgb3ZlcmhlYWQgdG8gemVybyBpbiB0aGUgJ3NoYXJlX3B0JyBjYXNlIGJlY2F1 c2UgdGhlIHRvb2xzdGFjayBoYXMgbm8KICAgICAgbWVhbnMgb2Yga25vd2luZyB3aGV0aGVyIHRo ZSBoYXJkd2FyZSBhY3R1YWxseSBzdXBwb3J0cyBJT01NVSBwYWdlCiAgICAgIHRhYmxlIHNoYXJp bmcuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29t PgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KQ2M6IElh biBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDYzogV2VpIExpdSA8d2xAeGVu Lm9yZz4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBH ZW9yZ2UgRHVubGFwIDxHZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBKdWxpZW4gR3Jh bGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25y YWQud2lsa0BvcmFjbGUuY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBr ZXJuZWwub3JnPgpDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNjOiBBbnRob255IFBFUkFS RCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KQ2M6IENocmlzdGlhbiBMaW5kaWcgPGNocmlz dGlhbi5saW5kaWdAY2l0cml4LmNvbT4KQ2M6IERhdmlkIFNjb3R0IDxkYXZlQHJlY29pbC5vcmc+ CkNjOiBWb2xvZHlteXIgQmFiY2h1ayA8Vm9sb2R5bXlyX0JhYmNodWtAZXBhbS5jb20+CkNjOiAi Um9nZXIgUGF1IE1vbm7DqSIgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKUHJldmlvdXNseSBwYXJ0 IG9mIHNlcmllcyBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVu LWRldmVsLzIwMTktMDcvbXNnMDIyNjcuaHRtbAoKdjc6CiAtIEFkZGVkIG1pc3NpbmcgYnJlYWtz CiAtIEFkZGVkIG1pc3Npbmcgb2NhbWwgYmluZGluZyBjaGFuZ2VzCgp2NjoKIC0gUmVtb3ZlIHRo ZSBsaWJ4bF9waHlzaW5mbygpIGNhbGwgc2luY2UgaXQncyB1c2VmdWxuZXNzIGlzIGxpbWl0ZWQg dG8geDg2Cgp2NToKIC0gRXhwYW5kIHhlbl9kb21jdGxfY3JlYXRlZG9tYWluIGZsYWdzIGZpZWxk IGFuZCBoZW5jZSBidW1wIGludGVyZmFjZQogICB2ZXJzaW9uCiAtIEZpeCBzcGVsbGluZyBtaXN0 YWtlcyBpbiBjb250ZXh0IGxpbmUKLS0tCiBkb2NzL21hbi94bC5jZmcuNS5wb2QuaW4gICAgICAg ICAgICB8ICA1MiArKysrKysrKysrKwogdG9vbHMvbGlieGwvbGlieGwuaCAgICAgICAgICAgICAg ICAgfCAgIDUgKwogdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgICAgICAgICAgfCAgIDkgKysK IHRvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCAgICAgICAgIHwgICA3ICsrCiB0b29scy9vY2Ft bC9saWJzL3hjL3hlbmN0cmwubWwgICAgICB8ICAgNCArCiB0b29scy9vY2FtbC9saWJzL3hjL3hl bmN0cmwubWxpICAgICB8ICAgNCArCiB0b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmxfc3R1YnMu YyB8ICAxNSArKy0KIHRvb2xzL3hsL3hsX3BhcnNlLmMgICAgICAgICAgICAgICAgIHwgMTQwICsr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIHhlbi9hcmNoL2FybS9kb21haW4uYyAgICAgICAg ICAgICAgIHwgIDEwICstCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgICAgICAgICB8ICAg MiArLQogeGVuL2NvbW1vbi9kb21haW4uYyAgICAgICAgICAgICAgICAgfCAgIDcgKysKIHhlbi9j b21tb24vZG9tY3RsLmMgICAgICAgICAgICAgICAgIHwgIDEzIC0tLQogeGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvaW9tbXUuYyAgICAgfCAgMTMgKystCiB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3Rs LmggICAgICAgICB8ICAgNiArLQogeGVuL2luY2x1ZGUveGVuL2lvbW11LmggICAgICAgICAgICAg fCAgMTkgKystLQogMTUgZmlsZXMgY2hhbmdlZCwgMjI5IGluc2VydGlvbnMoKyksIDc3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvY3MvbWFuL3hsLmNmZy41LnBvZC5pbiBiL2RvY3MvbWFu L3hsLmNmZy41LnBvZC5pbgppbmRleCBjOTlkNDAzMDdlLi5mZDM1Njg1ZTllIDEwMDY0NAotLS0g YS9kb2NzL21hbi94bC5jZmcuNS5wb2QuaW4KKysrIGIvZG9jcy9tYW4veGwuY2ZnLjUucG9kLmlu CkBAIC02MDUsNiArNjA1LDU4IEBAIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggYSB0 cnVzdGVkIGRldmljZSB0cmVlLgogTm90ZSB0aGF0IHRoZSBwYXJ0aWFsIGRldmljZSB0cmVlIHNo b3VsZCBhdm9pZCB1c2luZyB0aGUgcGhhbmRsZSA2NTAwMAogd2hpY2ggaXMgcmVzZXJ2ZWQgYnkg dGhlIHRvb2xzdGFjay4KIAorPWl0ZW0gQjxwYXNzdGhyb3VnaD0iU1RSSU5HIj4KKworU3BlY2lm eSB3aGV0aGVyIElPTU1VIG1hcHBpbmdzIGFyZSBlbmFibGVkIGZvciB0aGUgZG9tYWluIGFuZCBo ZW5jZSB3aGV0aGVyCitpdCB3aWxsIGJlIGVuYWJsZWQgZm9yIHBhc3N0aHJvdWdoIGhhcmR3YXJl LiBWYWxpZCB2YWx1ZXMgZm9yIHRoaXMgb3B0aW9uCithcmU6CisKKz1vdmVyIDQKKworPWl0ZW0g QjxkaXNhYmxlZD4KKworSU9NTVUgbWFwcGluZ3MgYXJlIGRpc2FibGVkIGZvciB0aGUgZG9tYWlu IGFuZCBzbyBoYXJkd2FyZSBtYXkgbm90IGJlCitwYXNzZWQgdGhyb3VnaC4KKworVGhpcyBvcHRp b24gaXMgdGhlIGRlZmF1bHQgaWYgbm8gcGFzc3Rocm91Z2ggaGFyZHdhcmUgaXMgc3BlY2lmaWVk CitpbiB0aGUgZG9tYWluJ3MgY29uZmlndXJhdGlvbi4KKworPWl0ZW0gQjxzeW5jX3B0PgorCitU aGlzIG9wdGlvbiBtZWFucyB0aGF0IElPTU1VIG1hcHBpbmdzIHdpbGwgYmUgc3luY2hyb25pemVk IHdpdGggdGhlCitkb21haW4ncyBQMk0gdGFibGUgYXMgZm9sbG93czoKKworRm9yIGEgUFYgZG9t YWluLCBhbGwgd3JpdGFibGUgcGFnZXMgYXNzaWduZWQgdG8gdGhlIGRvbWFpbiBhcmUgaWRlbnRp dHkKK21hcHBlZCBieSBNRk4gaW4gdGhlIElPTU1VIHBhZ2UgdGFibGUuIFRodXMgYSBkZXZpY2Ug ZHJpdmVyIHJ1bm5pbmcgaW4gdGhlCitkb21haW4gbWF5IHByb2dyYW0gcGFzc3Rocm91Z2ggaGFy ZHdhcmUgZm9yIERNQSB1c2luZyBNRk4gdmFsdWVzCisoaS5lLiBob3N0L21hY2hpbmUgZnJhbWUg bnVtYmVycykgbG9va2VkIHVwIGluIGl0cyBQMk0uCisKK0ZvciBhbiBIVk0gZG9tYWluLCBhbGwg bm9uLWZvcmVpZ24gUkFNIHBhZ2VzIHByZXNlbnQgaW4gaXRzIFAyTSB3aWxsIGJlCittYXBwZWQg YnkgR0ZOIGluIHRoZSBJT01NVSBwYWdlIHRhYmxlLiBUaHVzIGEgZGV2aWNlIGRyaXZlciBydW5u aW5nIGluIHRoZQorZG9tYWluIG1heSBwcm9ncmFtIHBhc3N0aHJvdWdoIGhhcmR3YXJlIHVzaW5n IEdGTiB2YWx1ZXMgKGkuZS4gZ3Vlc3QKK3BoeXNpY2FsIGZyYW1lIG51bWJlcnMpIHdpdGhvdXQg YW55IGZ1cnRoZXIgdHJhbnNsYXRpb24uCisKK1RoaXMgb3B0aW9uIGlzIHRoZSBkZWZhdWx0IGlm IHRoZSBkb21haW4gaXMgUFYgYW5kIHBhc3N0aHJvdWdoIGhhcmR3YXJlCitpcyBzcGVjaWZpZWQg aW4gdGhlIGNvbmZpZ3VyYXRpb24uCisKK1RoaXMgb3B0aW9uIGlzIG5vdCBhdmFpbGFibGUgb24g QXJtLgorCis9aXRlbSBCPHNoYXJlX3B0PgorCitUaGlzIG9wdGlvbiBpcyB1bmF2YWlsYWJsZSBm b3IgYSBQViBkb21haW4uIEZvciBhbiBIVk0gZG9tYWluLCB0aGlzIG9wdGlvbgorbWVhbnMgdGhh dCB0aGUgSU9NTVUgd2lsbCBiZSBwcm9ncmFtbWVkIHRvIGRpcmVjdGx5IHJlZmVyZW5jZSB0aGUg ZG9tYWluJ3MKK1AyTSB0YWJsZSBhcyBpdHMgcGFnZSB0YWJsZS4gRnJvbSB0aGUgcG9pbnQgb2Yg dmlldyBvZiBhIGRldmljZSBkcml2ZXIKK3J1bm5pbmcgaW4gdGhlIGRvbWFpbiB0aGlzIGlzIGZ1 bmN0aW9uYWxseSBlcXVpdmFsZW50IHRvIEI8c3luY19wdD4gYnV0CitwbGFjZXMgbGVzcyBsb2Fk IG9uIHRoZSBoeXBlcnZpc29yIGFuZCBzbyBzaG91bGQgZ2VuZXJhbGx5IGJlIHNlbGVjdGVkIGlu CitwcmVmZXJlbmNlLiBIb3dldmVyLCB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoaXMgb3B0aW9uIGlz IGhhcmR3YXJlIHNwZWNpZmljCithbmQgdGh1cywgaWYgaXQgaXMgc3BlY2lmaWVkIGZvciBhIGRv bWFpbiBydW5uaW5nIG9uIGhhcmR3YXJlIHRoYXQgZG9lcworbm90IGFsbG93IGl0IChlLmcuIEFN RCksIEI8c3luY19wdD4gd2lsbCBiZSB1c2VkIGluc3RlYWQuCisKK1RoaXMgb3B0aW9uIGlzIHRo ZSBkZWZhdWx0IGlmIHRoZSBkb21haW4gaXMgSFZNIGFuZCBwYXNzdGhyb3VnaCBoYXJkd2FyZQor aXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWd1cmF0aW9uLgorCis9YmFjaworCiA9YmFjawogCiA9 aGVhZDIgRGV2aWNlcwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xp YnhsL2xpYnhsLmgKaW5kZXggOWJhY2ZiOTdmMC4uNWRlN2MwN2E0MSAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0zOTQsNiArMzk0 LDExIEBACiAgKi8KICNkZWZpbmUgTElCWExfSEFWRV9FWFRFTkRFRF9WS0IgMQogCisvKgorICog bGlieGxfZG9tYWluX2NyZWF0ZV9pbmZvIGhhcyBsaWJ4bF9wYXNzdGhyb3VnaCBlbnVtZXJhdGlv bi4KKyAqLworI2RlZmluZSBMSUJYTF9IQVZFX0NSRUFURUlORk9fUEFTU1RIUk9VR0ggMQorCiAv KgogICogbGlieGwgQUJJIGNvbXBhdGliaWxpdHkKICAqCmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCmluZGV4IDAzY2Ux NjZmNGYuLmYyODhlMTNkYzEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5j CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBAIC01NjQsNiArNTY0LDE1IEBAIGlu dCBsaWJ4bF9fZG9tYWluX21ha2UobGlieGxfX2djICpnYywgbGlieGxfZG9tYWluX2NvbmZpZyAq ZF9jb25maWcsCiAgICAgICAgICAgICAgICAgbGlieGxfZGVmYm9vbF92YWwoaW5mby0+b29zKSA/ IDAgOiBYRU5fRE9NQ1RMX0NERl9vb3Nfb2ZmOwogICAgICAgICB9CiAKKyAgICAgICAgTE9HKERF VEFJTCwgInBhc3N0aHJvdWdoOiAlcyIsCisgICAgICAgICAgICBsaWJ4bF9wYXNzdGhyb3VnaF90 b19zdHJpbmcoaW5mby0+cGFzc3Rocm91Z2gpKTsKKworICAgICAgICBpZiAoaW5mby0+cGFzc3Ro cm91Z2ggIT0gTElCWExfUEFTU1RIUk9VR0hfRElTQUJMRUQpCisgICAgICAgICAgICBjcmVhdGUu ZmxhZ3MgfD0gWEVOX0RPTUNUTF9DREZfaW9tbXU7CisKKyAgICAgICAgaWYgKGluZm8tPnBhc3N0 aHJvdWdoID09IExJQlhMX1BBU1NUSFJPVUdIX1NZTkNfUFQpCisgICAgICAgICAgICBjcmVhdGUu aW9tbXVfb3B0cyB8PSBYRU5fRE9NQ1RMX0lPTU1VX25vX3NoYXJlcHQ7CisKICAgICAgICAgLyog VWx0aW1hdGVseSwgaGFuZGxlIGlzIGFuIGFycmF5IG9mIDE2IHVpbnQ4X3QsIHNhbWUgYXMgdXVp ZCAqLwogICAgICAgICBsaWJ4bF91dWlkX2NvcHkoY3R4LCAobGlieGxfdXVpZCAqKSZjcmVhdGUu aGFuZGxlLCAmaW5mby0+dXVpZCk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5 cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAppbmRleCBkOTRiNzQ1M2NiLi40 ZWU0ZmMzZGFkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIv dG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCkBAIC0yNjMsNiArMjYzLDEyIEBAIGxpYnhsX3Zr Yl9iYWNrZW5kID0gRW51bWVyYXRpb24oInZrYl9iYWNrZW5kIiwgWwogICAgICgyLCAiTElOVVgi KQogICAgIF0pCiAKK2xpYnhsX3Bhc3N0aHJvdWdoID0gRW51bWVyYXRpb24oInBhc3N0aHJvdWdo IiwgWworICAgICgwLCAiZGlzYWJsZWQiKSwKKyAgICAoMSwgInN5bmNfcHQiKSwKKyAgICAoMiwg InNoYXJlX3B0IiksCisgICAgXSkKKwogIwogIyBDb21wbGV4IGxpYnhsIHR5cGVzCiAjCkBAIC00 MDgsNiArNDE0LDcgQEAgbGlieGxfZG9tYWluX2NyZWF0ZV9pbmZvID0gU3RydWN0KCJkb21haW5f Y3JlYXRlX2luZm8iLFsKICAgICAoInBvb2xfbmFtZSIsICAgIHN0cmluZyksCiAgICAgKCJydW5f aG90cGx1Z19zY3JpcHRzIixsaWJ4bF9kZWZib29sKSwKICAgICAoImRyaXZlcl9kb21haW4iLGxp YnhsX2RlZmJvb2wpLAorICAgICgicGFzc3Rocm91Z2giLCAgbGlieGxfcGFzc3Rocm91Z2gpLAog ICAgIF0sIGRpcj1ESVJfSU4pCiAKIGxpYnhsX2RvbWFpbl9yZXN0b3JlX3BhcmFtcyA9IFN0cnVj dCgiZG9tYWluX3Jlc3RvcmVfcGFyYW1zIiwgWwpkaWZmIC0tZ2l0IGEvdG9vbHMvb2NhbWwvbGli cy94Yy94ZW5jdHJsLm1sIGIvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1sCmluZGV4IGJk ZjNmMmUzOTUuLjQ4MzRhMzkxZmQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL29jYW1sL2xpYnMveGMveGVu Y3RybC5tbAorKysgYi90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmwubWwKQEAgLTY0LDExICs2 NCwxNSBAQCB0eXBlIGRvbWFpbl9jcmVhdGVfZmxhZyA9CiAJfCBDREZfWFNfRE9NQUlOCiAJfCBD REZfSU9NTVUKIAordHlwZSBkb21haW5fY3JlYXRlX2lvbW11X29wdHMgPQorCXwgSU9NTVVfTk9f U0hBUkVQVAorCiB0eXBlIGRvbWN0bF9jcmVhdGVfY29uZmlnID0KIHsKIAlzc2lkcmVmOiBpbnQz MjsKIAloYW5kbGU6IHN0cmluZzsKIAlmbGFnczogZG9tYWluX2NyZWF0ZV9mbGFnIGxpc3Q7CisJ aW9tbXVfb3B0czogZG9tYWluX2NyZWF0ZV9pb21tdV9vcHRzIGxpc3Q7CiAJbWF4X3ZjcHVzOiBp bnQ7CiAJbWF4X2V2dGNobl9wb3J0OiBpbnQ7CiAJbWF4X2dyYW50X2ZyYW1lczogaW50OwpkaWZm IC0tZ2l0IGEvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1saSBiL3Rvb2xzL29jYW1sL2xp YnMveGMveGVuY3RybC5tbGkKaW5kZXggZmM0MDg4NTY3MS4uNWQ5NTQ4Y2MwZCAxMDA2NDQKLS0t IGEvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1saQorKysgYi90b29scy9vY2FtbC9saWJz L3hjL3hlbmN0cmwubWxpCkBAIC01NywxMCArNTcsMTQgQEAgdHlwZSBkb21haW5fY3JlYXRlX2Zs YWcgPQogICB8IENERl9YU19ET01BSU4KICAgfCBDREZfSU9NTVUKIAordHlwZSBkb21haW5fY3Jl YXRlX2lvbW11X29wdHMgPQorICB8IElPTU1VX05PX1NIQVJFUFQKKwogdHlwZSBkb21jdGxfY3Jl YXRlX2NvbmZpZyA9IHsKICAgc3NpZHJlZjogaW50MzI7CiAgIGhhbmRsZTogc3RyaW5nOwogICBm bGFnczogZG9tYWluX2NyZWF0ZV9mbGFnIGxpc3Q7CisgIGlvbW11X29wdHM6IGRvbWFpbl9jcmVh dGVfaW9tbXVfb3B0cyBsaXN0OwogICBtYXhfdmNwdXM6IGludDsKICAgbWF4X2V2dGNobl9wb3J0 OiBpbnQ7CiAgIG1heF9ncmFudF9mcmFtZXM6IGludDsKZGlmZiAtLWdpdCBhL3Rvb2xzL29jYW1s L2xpYnMveGMveGVuY3RybF9zdHVicy5jIGIvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsX3N0 dWJzLmMKaW5kZXggMmUxYjI5Y2UzMy4uMzFiMDNlOTQ5NCAxMDA2NDQKLS0tIGEvdG9vbHMvb2Nh bWwvbGlicy94Yy94ZW5jdHJsX3N0dWJzLmMKKysrIGIvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5j dHJsX3N0dWJzLmMKQEAgLTEyOCwxMSArMTI4LDEyIEBAIENBTUxwcmltIHZhbHVlIHN0dWJfeGNf ZG9tYWluX2NyZWF0ZSh2YWx1ZSB4Y2gsIHZhbHVlIGNvbmZpZykKICNkZWZpbmUgVkFMX1NTSURS RUYgICAgICAgICAgICAgRmllbGQoY29uZmlnLCAwKQogI2RlZmluZSBWQUxfSEFORExFICAgICAg ICAgICAgICBGaWVsZChjb25maWcsIDEpCiAjZGVmaW5lIFZBTF9GTEFHUyAgICAgICAgICAgICAg IEZpZWxkKGNvbmZpZywgMikKLSNkZWZpbmUgVkFMX01BWF9WQ1BVUyAgICAgICAgICAgRmllbGQo Y29uZmlnLCAzKQotI2RlZmluZSBWQUxfTUFYX0VWVENITl9QT1JUICAgICBGaWVsZChjb25maWcs IDQpCi0jZGVmaW5lIFZBTF9NQVhfR1JBTlRfRlJBTUVTICAgIEZpZWxkKGNvbmZpZywgNSkKLSNk ZWZpbmUgVkFMX01BWF9NQVBUUkFDS19GUkFNRVMgRmllbGQoY29uZmlnLCA2KQotI2RlZmluZSBW QUxfQVJDSCAgICAgICAgICAgICAgICBGaWVsZChjb25maWcsIDcpCisjZGVmaW5lIFZBTF9JT01N VV9PUFRTICAgICAgICAgIEZpZWxkKGNvbmZpZywgMykKKyNkZWZpbmUgVkFMX01BWF9WQ1BVUyAg ICAgICAgICAgRmllbGQoY29uZmlnLCA0KQorI2RlZmluZSBWQUxfTUFYX0VWVENITl9QT1JUICAg ICBGaWVsZChjb25maWcsIDUpCisjZGVmaW5lIFZBTF9NQVhfR1JBTlRfRlJBTUVTICAgIEZpZWxk KGNvbmZpZywgNikKKyNkZWZpbmUgVkFMX01BWF9NQVBUUkFDS19GUkFNRVMgRmllbGQoY29uZmln LCA3KQorI2RlZmluZSBWQUxfQVJDSCAgICAgICAgICAgICAgICBGaWVsZChjb25maWcsIDgpCiAK IAl1aW50MzJfdCBkb21pZCA9IDA7CiAJaW50IHJlc3VsdDsKQEAgLTE0OSw2ICsxNTAsOSBAQCBD QU1McHJpbSB2YWx1ZSBzdHViX3hjX2RvbWFpbl9jcmVhdGUodmFsdWUgeGNoLCB2YWx1ZSBjb25m aWcpCiAJZm9yICggbCA9IFZBTF9GTEFHUzsgbCAhPSBWYWxfbm9uZTsgbCA9IEZpZWxkKGwsIDEp ICkKIAkJY2ZnLmZsYWdzIHw9IDF1IDw8IEludF92YWwoRmllbGQobCwgMCkpOwogCisJZm9yICgg bCA9IFZBTF9JT01NVV9PUFRTOyBsICE9IFZhbF9ub25lOyBsID0gRmllbGQobCwgMSkgKQorCQlj ZmcuaW9tbXVfb3B0cyB8PSAxdSA8PCBJbnRfdmFsKEZpZWxkKGwsIDApKTsKKwogCWFyY2hfZG9t Y29uZmlnID0gRmllbGQoVkFMX0FSQ0gsIDApOwogCXN3aXRjaCAoIFRhZ192YWwoVkFMX0FSQ0gp ICkKIAl7CkBAIC0xODEsNiArMTg1LDcgQEAgQ0FNTHByaW0gdmFsdWUgc3R1Yl94Y19kb21haW5f Y3JlYXRlKHZhbHVlIHhjaCwgdmFsdWUgY29uZmlnKQogI3VuZGVmIFZBTF9NQVhfR1JBTlRfRlJB TUVTCiAjdW5kZWYgVkFMX01BWF9FVlRDSE5fUE9SVAogI3VuZGVmIFZBTF9NQVhfVkNQVVMKKyN1 bmRlZiBWQUxfSU9NTVVfT1BUUwogI3VuZGVmIFZBTF9GTEFHUwogI3VuZGVmIFZBTF9IQU5ETEUK ICN1bmRlZiBWQUxfU1NJRFJFRgpkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfcGFyc2UuYyBiL3Rv b2xzL3hsL3hsX3BhcnNlLmMKaW5kZXggYzE5M2ZlOWJhNC4uZTlhZmZhZjdlNiAxMDA2NDQKLS0t IGEvdG9vbHMveGwveGxfcGFyc2UuYworKysgYi90b29scy94bC94bF9wYXJzZS5jCkBAIC0xNDQ4 LDYgKzE0NDgsOTQgQEAgdm9pZCBwYXJzZV9jb25maWdfZGF0YShjb25zdCBjaGFyICpjb25maWdf c291cmNlLAogICAgICAgICBleGl0KDEpOwogICAgIH0KIAorICAgIGlmICgheGx1X2NmZ19nZXRf bGlzdCAoY29uZmlnLCAicGNpIiwgJnBjaXMsIDAsIDApKSB7CisgICAgICAgIGRfY29uZmlnLT5u dW1fcGNpZGV2cyA9IDA7CisgICAgICAgIGRfY29uZmlnLT5wY2lkZXZzID0gTlVMTDsKKyAgICAg ICAgZm9yKGkgPSAwOyAoYnVmID0geGx1X2NmZ19nZXRfbGlzdGl0ZW0gKHBjaXMsIGkpKSAhPSBO VUxMOyBpKyspIHsKKyAgICAgICAgICAgIGxpYnhsX2RldmljZV9wY2kgKnBjaWRldjsKKworICAg ICAgICAgICAgcGNpZGV2ID0gQVJSQVlfRVhURU5EX0lOSVRfTk9ERVZJRChkX2NvbmZpZy0+cGNp ZGV2cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZF9j b25maWctPm51bV9wY2lkZXZzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaWJ4bF9kZXZpY2VfcGNpX2luaXQpOworICAgICAgICAgICAgcGNpZGV2LT5t c2l0cmFuc2xhdGUgPSBwY2lfbXNpdHJhbnNsYXRlOworICAgICAgICAgICAgcGNpZGV2LT5wb3dl cl9tZ210ID0gcGNpX3Bvd2VyX21nbXQ7CisgICAgICAgICAgICBwY2lkZXYtPnBlcm1pc3NpdmUg PSBwY2lfcGVybWlzc2l2ZTsKKyAgICAgICAgICAgIHBjaWRldi0+c2VpemUgPSBwY2lfc2VpemU7 CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogTGlrZSBvdGhlciBwY2kgb3B0aW9uLCB0 aGUgcGVyLWRldmljZSBwb2xpY3kgYWx3YXlzIGZvbGxvd3MKKyAgICAgICAgICAgICAqIHRoZSBn bG9iYWwgcG9saWN5IGJ5IGRlZmF1bHQuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHBj aWRldi0+cmRtX3BvbGljeSA9IGJfaW5mby0+dS5odm0ucmRtLnBvbGljeTsKKyAgICAgICAgICAg IGUgPSB4bHVfcGNpX3BhcnNlX2JkZihjb25maWcsIHBjaWRldiwgYnVmKTsKKyAgICAgICAgICAg IGlmIChlKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAg ICAgICAgICAgICAidW5hYmxlIHRvIHBhcnNlIFBDSSBCREYgYCVzJyBmb3IgcGFzc3Rocm91Z2hc biIsCisgICAgICAgICAgICAgICAgICAgICAgICBidWYpOworICAgICAgICAgICAgICAgIGV4aXQo LWUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChkX2NvbmZpZy0+bnVt X3BjaWRldnMgJiYgY19pbmZvLT50eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX1BWKQorICAgICAg ICAgICAgbGlieGxfZGVmYm9vbF9zZXQoJmJfaW5mby0+dS5wdi5lODIwX2hvc3QsIHRydWUpOwor ICAgIH0KKworICAgIGlmICgheGx1X2NmZ19nZXRfbGlzdCAoY29uZmlnLCAiZHRkZXYiLCAmZHRk ZXZzLCAwLCAwKSkgeworICAgICAgICBkX2NvbmZpZy0+bnVtX2R0ZGV2cyA9IDA7CisgICAgICAg IGRfY29uZmlnLT5kdGRldnMgPSBOVUxMOworICAgICAgICBmb3IgKGkgPSAwOyAoYnVmID0geGx1 X2NmZ19nZXRfbGlzdGl0ZW0oZHRkZXZzLCBpKSkgIT0gTlVMTDsgaSsrKSB7CisgICAgICAgICAg ICBsaWJ4bF9kZXZpY2VfZHRkZXYgKmR0ZGV2OworCisgICAgICAgICAgICBkdGRldiA9IEFSUkFZ X0VYVEVORF9JTklUX05PREVWSUQoZF9jb25maWctPmR0ZGV2cywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkX2NvbmZpZy0+bnVtX2R0ZGV2cywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZHRk ZXZfaW5pdCk7CisKKyAgICAgICAgICAgIGR0ZGV2LT5wYXRoID0gc3RyZHVwKGJ1Zik7CisgICAg ICAgICAgICBpZiAoZHRkZXYtPnBhdGggPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGZwcmlu dGYoc3RkZXJyLCAidW5hYmxlIHRvIGR1cGxpY2F0ZSBzdHJpbmcgZm9yIGR0ZGV2c1xuIik7Cisg ICAgICAgICAgICAgICAgZXhpdCgtMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9 CisKKyAgICBpZiAoIXhsdV9jZmdfZ2V0X3N0cmluZyhjb25maWcsICJwYXNzdGhyb3VnaCIsICZi dWYsIDApKSB7CisgICAgICAgIGxpYnhsX3Bhc3N0aHJvdWdoIG87CisKKyAgICAgICAgZSA9IGxp YnhsX3Bhc3N0aHJvdWdoX2Zyb21fc3RyaW5nKGJ1ZiwgJm8pOworICAgICAgICBpZiAoZSkgewor ICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAgICAgICAgICJFUlJPUjog dW5rbm93biBwYXNzdGhyb3VnaCBvcHRpb24gJyVzJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAg YnVmKTsKKyAgICAgICAgICAgIGV4aXQoLUVSUk9SX0ZBSUwpOworICAgICAgICB9CisKKyAgICAg ICAgc3dpdGNoIChvKSB7CisgICAgICAgIGNhc2UgTElCWExfUEFTU1RIUk9VR0hfRElTQUJMRUQ6 CisgICAgICAgICAgICBpZiAoZF9jb25maWctPm51bV9wY2lkZXZzIHx8IGRfY29uZmlnLT5udW1f ZHRkZXZzKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAgICAg ICAgICAgICAgICAiRVJST1I6IHBhc3N0aHJvdWdoIGRpc2FibGVkIGJ1dCBkZXZpY2VzIGFyZSBz cGVjaWZpZWRcbiIpOworICAgICAgICAgICAgICAgIGV4aXQoLUVSUk9SX0ZBSUwpOworICAgICAg ICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTElCWExfUEFTU1RIUk9V R0hfU0hBUkVfUFQ6CisgICAgICAgICAgICBpZiAoY19pbmZvLT50eXBlID09IExJQlhMX0RPTUFJ Tl9UWVBFX1BWKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCisgICAgICAgICAg ICAgICAgICAgICAgICAiRVJST1I6IHBhc3N0aHJvdWdoPVwic2hhcmVfcHRcIiBub3QgdmFsaWQg Zm9yIFBWIGRvbWFpblxuIik7CisgICAgICAgICAgICAgICAgZXhpdCgtRVJST1JfRkFJTCk7Cisg ICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAg ICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY19pbmZvLT5wYXNzdGhyb3VnaCA9 IG87CisgICAgfSBlbHNlIGlmIChkX2NvbmZpZy0+bnVtX3BjaWRldnMgfHwgZF9jb25maWctPm51 bV9kdGRldnMpIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogUGFzc3Rocm91Z2ggZGV2aWNlcyBh cmUgc3BlY2lmaWVkIHNvIHNldCBhbiBhcHByb3ByaWF0ZQorICAgICAgICAgKiBkZWZhdWx0IHZh bHVlLgorICAgICAgICAgKi8KKyAgICAgICAgY19pbmZvLT5wYXNzdGhyb3VnaCA9IChjX2luZm8t PnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfUFYpID8KKyAgICAgICAgICAgIExJQlhMX1BBU1NU SFJPVUdIX1NZTkNfUFQgOiBMSUJYTF9QQVNTVEhST1VHSF9TSEFSRV9QVDsKKyAgICB9CisKICAg ICAvKiBsaWJ4bF9nZXRfcmVxdWlyZWRfc2hhZG93X21lbW9yeSgpIGFuZAogICAgICAqIGxpYnhs X2dldF9yZXF1aXJlZF9pb21tdV9tZW1vcnkoKSBtdXN0IGJlIGNhbGxlZCBhZnRlciBmaW5hbCB2 YWx1ZXMKICAgICAgKiAoZGVmYXVsdCBvciBzcGVjaWZpZWQpIGZvciB2Y3B1cyBhbmQgbWVtb3J5 IGFyZSBzZXQsIGJlY2F1c2UgdGhlCkBAIC0xNDU3LDcgKzE1NDUsOSBAQCB2b2lkIHBhcnNlX2Nv bmZpZ19kYXRhKGNvbnN0IGNoYXIgKmNvbmZpZ19zb3VyY2UsCiAgICAgICAgIDogbGlieGxfZ2V0 X3JlcXVpcmVkX3NoYWRvd19tZW1vcnkoYl9pbmZvLT5tYXhfbWVta2IsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYl9pbmZvLT5tYXhfdmNwdXMpOwogCi0gICAg Yl9pbmZvLT5pb21tdV9tZW1rYiA9IGxpYnhsX2dldF9yZXF1aXJlZF9pb21tdV9tZW1vcnkoYl9p bmZvLT5tYXhfbWVta2IpOworICAgIGJfaW5mby0+aW9tbXVfbWVta2IgPQorICAgICAgICAoY19p bmZvLT5wYXNzdGhyb3VnaCA9PSBMSUJYTF9QQVNTVEhST1VHSF9ESVNBQkxFRCkgPyAwIDoKKyAg ICAgICAgbGlieGxfZ2V0X3JlcXVpcmVkX2lvbW11X21lbW9yeShiX2luZm8tPm1heF9tZW1rYik7 CiAKICAgICB4bHVfY2ZnX2dldF9kZWZib29sKGNvbmZpZywgIm5vbWlncmF0ZSIsICZiX2luZm8t PmRpc2FibGVfbWlncmF0ZSwgMCk7CiAKQEAgLTIyODEsNTQgKzIzNzEsNiBAQCBza2lwX3ZmYjoK ICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICgheGx1X2NmZ19nZXRfbGlzdCAoY29uZmlnLCAi cGNpIiwgJnBjaXMsIDAsIDApKSB7Ci0gICAgICAgIGRfY29uZmlnLT5udW1fcGNpZGV2cyA9IDA7 Ci0gICAgICAgIGRfY29uZmlnLT5wY2lkZXZzID0gTlVMTDsKLSAgICAgICAgZm9yKGkgPSAwOyAo YnVmID0geGx1X2NmZ19nZXRfbGlzdGl0ZW0gKHBjaXMsIGkpKSAhPSBOVUxMOyBpKyspIHsKLSAg ICAgICAgICAgIGxpYnhsX2RldmljZV9wY2kgKnBjaWRldjsKLQotICAgICAgICAgICAgcGNpZGV2 ID0gQVJSQVlfRVhURU5EX0lOSVRfTk9ERVZJRChkX2NvbmZpZy0+cGNpZGV2cywKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZF9jb25maWctPm51bV9wY2lk ZXZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9kZXZpY2VfcGNpX2luaXQpOwotICAgICAgICAgICAgcGNpZGV2LT5tc2l0cmFuc2xhdGUgPSBw Y2lfbXNpdHJhbnNsYXRlOwotICAgICAgICAgICAgcGNpZGV2LT5wb3dlcl9tZ210ID0gcGNpX3Bv d2VyX21nbXQ7Ci0gICAgICAgICAgICBwY2lkZXYtPnBlcm1pc3NpdmUgPSBwY2lfcGVybWlzc2l2 ZTsKLSAgICAgICAgICAgIHBjaWRldi0+c2VpemUgPSBwY2lfc2VpemU7Ci0gICAgICAgICAgICAv KgotICAgICAgICAgICAgICogTGlrZSBvdGhlciBwY2kgb3B0aW9uLCB0aGUgcGVyLWRldmljZSBw b2xpY3kgYWx3YXlzIGZvbGxvd3MKLSAgICAgICAgICAgICAqIHRoZSBnbG9iYWwgcG9saWN5IGJ5 IGRlZmF1bHQuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIHBjaWRldi0+cmRtX3BvbGlj eSA9IGJfaW5mby0+dS5odm0ucmRtLnBvbGljeTsKLSAgICAgICAgICAgIGUgPSB4bHVfcGNpX3Bh cnNlX2JkZihjb25maWcsIHBjaWRldiwgYnVmKTsKLSAgICAgICAgICAgIGlmIChlKSB7Ci0gICAg ICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAidW5h YmxlIHRvIHBhcnNlIFBDSSBCREYgYCVzJyBmb3IgcGFzc3Rocm91Z2hcbiIsCi0gICAgICAgICAg ICAgICAgICAgICAgICBidWYpOwotICAgICAgICAgICAgICAgIGV4aXQoLWUpOwotICAgICAgICAg ICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmIChkX2NvbmZpZy0+bnVtX3BjaWRldnMgJiYgY19p bmZvLT50eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX1BWKQotICAgICAgICAgICAgbGlieGxfZGVm Ym9vbF9zZXQoJmJfaW5mby0+dS5wdi5lODIwX2hvc3QsIHRydWUpOwotICAgIH0KLQotICAgIGlm ICgheGx1X2NmZ19nZXRfbGlzdCAoY29uZmlnLCAiZHRkZXYiLCAmZHRkZXZzLCAwLCAwKSkgewot ICAgICAgICBkX2NvbmZpZy0+bnVtX2R0ZGV2cyA9IDA7Ci0gICAgICAgIGRfY29uZmlnLT5kdGRl dnMgPSBOVUxMOwotICAgICAgICBmb3IgKGkgPSAwOyAoYnVmID0geGx1X2NmZ19nZXRfbGlzdGl0 ZW0oZHRkZXZzLCBpKSkgIT0gTlVMTDsgaSsrKSB7Ci0gICAgICAgICAgICBsaWJ4bF9kZXZpY2Vf ZHRkZXYgKmR0ZGV2OwotCi0gICAgICAgICAgICBkdGRldiA9IEFSUkFZX0VYVEVORF9JTklUX05P REVWSUQoZF9jb25maWctPmR0ZGV2cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkX2NvbmZpZy0+bnVtX2R0ZGV2cywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfZHRkZXZfaW5pdCk7Ci0KLSAg ICAgICAgICAgIGR0ZGV2LT5wYXRoID0gc3RyZHVwKGJ1Zik7Ci0gICAgICAgICAgICBpZiAoZHRk ZXYtPnBhdGggPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAidW5h YmxlIHRvIGR1cGxpY2F0ZSBzdHJpbmcgZm9yIGR0ZGV2c1xuIik7Ci0gICAgICAgICAgICAgICAg ZXhpdCgtMSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0KICAgICBpZiAoIXhs dV9jZmdfZ2V0X2xpc3QoY29uZmlnLCAidXNiY3RybCIsICZ1c2JjdHJscywgMCwgMCkpIHsKICAg ICAgICAgZF9jb25maWctPm51bV91c2JjdHJscyA9IDA7CiAgICAgICAgIGRfY29uZmlnLT51c2Jj dHJscyA9IE5VTEw7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMgYi94ZW4vYXJj aC9hcm0vZG9tYWluLmMKaW5kZXggOTQxYmJmZjRmZS4uYjEyZGU2ZmYzZCAxMDA2NDQKLS0tIGEv eGVuL2FyY2gvYXJtL2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwpAQCAtNjE0 LDYgKzYxNCwxNCBAQCBpbnQgYXJjaF9zYW5pdGlzZV9kb21haW5fY29uZmlnKHN0cnVjdCB4ZW5f ZG9tY3RsX2NyZWF0ZWRvbWFpbiAqY29uZmlnKQogICAgICAgICByZXR1cm4gLUVJTlZBTDsKICAg ICB9CiAKKyAgICAvKiBBbHdheXMgc2hhcmUgUDJNIFRhYmxlIGJldHdlZW4gdGhlIENQVSBhbmQg dGhlIElPTU1VICovCisgICAgaWYgKCBjb25maWctPmlvbW11X29wdHMgJiBYRU5fRE9NQ1RMX0lP TU1VX25vX3NoYXJlcHQgKQorICAgIHsKKyAgICAgICAgZHByaW50ayhYRU5MT0dfSU5GTywKKyAg ICAgICAgICAgICAgICAiVW5zdXBwb3J0ZWQgaW9tbXUgb3B0aW9uOiBYRU5fRE9NQ1RMX0lPTU1V X25vX3NoYXJlcHRcbiIpOworICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisKICAgICAv KiBGaWxsIGluIHRoZSBuYXRpdmUgR0lDIHZlcnNpb24sIHBhc3NlZCBiYWNrIHRvIHRoZSB0b29s c3RhY2suICovCiAgICAgaWYgKCBjb25maWctPmFyY2guZ2ljX3ZlcnNpb24gPT0gWEVOX0RPTUNU TF9DT05GSUdfR0lDX05BVElWRSApCiAgICAgewpAQCAtNjc0LDcgKzY4Miw3IEBAIGludCBhcmNo X2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwKICAgICBBU1NFUlQoY29uZmlnICE9IE5V TEwpOwogCiAgICAgLyogcDJtX2luaXQgcmVsaWVzIG9uIHNvbWUgdmFsdWUgaW5pdGlhbGl6ZWQg YnkgdGhlIElPTU1VIHN1YnN5c3RlbSAqLwotICAgIGlmICggKHJjID0gaW9tbXVfZG9tYWluX2lu aXQoZCkpICE9IDAgKQorICAgIGlmICggKHJjID0gaW9tbXVfZG9tYWluX2luaXQoZCwgY29uZmln LT5pb21tdV9vcHRzKSkgIT0gMCApCiAgICAgICAgIGdvdG8gZmFpbDsKIAogICAgIGlmICggKHJj ID0gcDJtX2luaXQoZCkpICE9IDAgKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5j IGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCmluZGV4IGQ1YTE5NDA0YTYuLjUwZDUzZWU4NzggMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvZG9tYWlu LmMKQEAgLTYxMSw3ICs2MTEsNyBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21h aW4gKmQsCiAgICAgaWYgKCAocmMgPSBpbml0X2RvbWFpbl9pcnFfbWFwcGluZyhkKSkgIT0gMCAp CiAgICAgICAgIGdvdG8gZmFpbDsKIAotICAgIGlmICggKHJjID0gaW9tbXVfZG9tYWluX2luaXQo ZCkpICE9IDAgKQorICAgIGlmICggKHJjID0gaW9tbXVfZG9tYWluX2luaXQoZCwgY29uZmlnLT5p b21tdV9vcHRzKSkgIT0gMCApCiAgICAgICAgIGdvdG8gZmFpbDsKIAogICAgIHBzcl9kb21haW5f aW5pdChkKTsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tYWluLmMgYi94ZW4vY29tbW9uL2Rv bWFpbi5jCmluZGV4IDdkZmIyNTdjNTAuLjkzYmIwZDRiNTEgMTAwNjQ0Ci0tLSBhL3hlbi9jb21t b24vZG9tYWluLmMKKysrIGIveGVuL2NvbW1vbi9kb21haW4uYwpAQCAtMzA4LDYgKzMwOCwxMyBA QCBzdGF0aWMgaW50IHNhbml0aXNlX2RvbWFpbl9jb25maWcoc3RydWN0IHhlbl9kb21jdGxfY3Jl YXRlZG9tYWluICpjb25maWcpCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIAorICAg IGlmICggIShjb25maWctPmZsYWdzICYgWEVOX0RPTUNUTF9DREZfaW9tbXUpICYmIGNvbmZpZy0+ aW9tbXVfb3B0cyApCisgICAgeworICAgICAgICBkcHJpbnRrKFhFTkxPR19JTkZPLAorICAgICAg ICAgICAgICAgICJJT01NVSBvcHRpb25zIHNwZWNpZmllZCBidXQgSU9NTVUgbm90IGVuYWJsZWRc biIpOworICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICB9CisKICAgICBpZiAoIGNvbmZpZy0+ bWF4X3ZjcHVzIDwgMSApCiAgICAgewogICAgICAgICBkcHJpbnRrKFhFTkxPR19JTkZPLCAiTm8g dkNQVVNcbiIpOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kb21jdGwuYyBiL3hlbi9jb21tb24v ZG9tY3RsLmMKaW5kZXggNWRjZmUzYzhmNi4uNmU2ZTliOTg2NiAxMDA2NDQKLS0tIGEveGVuL2Nv bW1vbi9kb21jdGwuYworKysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBAIC01MTUsMTkgKzUxNSw2 IEBAIGxvbmcgZG9fZG9tY3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1 X2RvbWN0bCkKICAgICAgICAgICAgIHJvdmVyID0gZG9tOwogICAgICAgICB9CiAKLSAgICAgICAg LyoKLSAgICAgICAgICogRm9yIG5vdywgbWFrZSBzdXJlIHRoZSBjcmVhdGVkb21haW4gSU9NTVUg ZmxhZyBpcyBzZXQgaWYgdGhlCi0gICAgICAgICAqIElPTU1VIGlzIGVuYWJsZWQuIFdoZW4gdGhl IGZsYWcgY29tZXMgdW5kZXIgdG9vbHN0YWNrIGNvbnRyb2wKLSAgICAgICAgICogdGhpcyBjYW4g Z28gYXdheS4KLSAgICAgICAgICovCi0gICAgICAgIGlmICggb3AtPnUuY3JlYXRlZG9tYWluLmZs YWdzICYgWEVOX0RPTUNUTF9DREZfaW9tbXUgKQotICAgICAgICB7Ci0gICAgICAgICAgICBBU1NF UlRfVU5SRUFDSEFCTEUoKTsKLSAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwotICAgICAgICB9 Ci0gICAgICAgIGlmICggaW9tbXVfZW5hYmxlZCApCi0gICAgICAgICAgICBvcC0+dS5jcmVhdGVk b21haW4uZmxhZ3MgfD0gWEVOX0RPTUNUTF9DREZfaW9tbXU7Ci0KICAgICAgICAgZCA9IGRvbWFp bl9jcmVhdGUoZG9tLCAmb3AtPnUuY3JlYXRlZG9tYWluLCBmYWxzZSk7CiAgICAgICAgIGlmICgg SVNfRVJSKGQpICkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggYWFmM2I5 ZmFjMC4uY2VhNzcwZDJiNiAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9t bXUuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC0xNjMsNyArMTYz LDcgQEAgc3RhdGljIHZvaWQgX19od2RvbV9pbml0IGNoZWNrX2h3ZG9tX3JlcXMoc3RydWN0IGRv bWFpbiAqZCkKICAgICBpb21tdV9od2RvbV9zdHJpY3QgPSB0cnVlOwogfQogCi1pbnQgaW9tbXVf ZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKK2ludCBpb21tdV9kb21haW5faW5pdChzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgb3B0cykKIHsKICAgICBzdHJ1Y3QgZG9tYWluX2lv bW11ICpoZCA9IGRvbV9pb21tdShkKTsKICAgICBpbnQgcmV0ID0gMDsKQEAgLTE4Myw2ICsxODMs MTUgQEAgaW50IGlvbW11X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpCiAgICAgaWYgKCBp c19oYXJkd2FyZV9kb21haW4oZCkgKQogICAgICAgICBjaGVja19od2RvbV9yZXFzKGQpOyAvKiBt YXkgbW9kaWZ5IGlvbW11X2h3ZG9tX3N0cmljdCAqLwogCisgICAgLyoKKyAgICAgKiBVc2Ugc2hh cmVkIHBhZ2UgdGFibGVzIGZvciBIQVAgYW5kIElPTU1VIGlmIHRoZSBnbG9iYWwgb3B0aW9uCisg ICAgICogaXMgZW5hYmxlZCAoZnJvbSB3aGljaCB3ZSBjYW4gaW5mZXIgdGhlIGgvdyBpcyBjYXBh YmxlKSBhbmQKKyAgICAgKiB0aGUgZG9tYWluIG9wdGlvbnMgZG8gbm90IGRpc2FsbG93IGl0LiBI QVAgbXVzdCwgb2YgY291cnNlLCBhbHNvCisgICAgICogYmUgZW5hYmxlZC4KKyAgICAgKi8KKyAg ICBoZC0+aGFwX3B0X3NoYXJlID0gaGFwX2VuYWJsZWQoZCkgJiYgaW9tbXVfaGFwX3B0X3NoYXJl ICYmCisgICAgICAgICEob3B0cyAmIFhFTl9ET01DVExfSU9NTVVfbm9fc2hhcmVwdCk7CisKICAg ICAvKgogICAgICAqIE5COiAncmVsYXhlZCcgaC93IGRvbWFpbnMgZG9uJ3QgbmVlZCB0aGUgSU9N TVUgbWFwcGluZ3MgdG8gYmUga2VwdAogICAgICAqICAgICBpbi1zeW5jIHdpdGggdGhlaXIgYXNz aWduZWQgcGFnZXMgYmVjYXVzZSBhbGwgaG9zdCBSQU0gd2lsbCBiZQpAQCAtMTkxLDYgKzIwMCw4 IEBAIGludCBpb21tdV9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQogICAgIGlmICggIWlz X2hhcmR3YXJlX2RvbWFpbihkKSB8fCBpb21tdV9od2RvbV9zdHJpY3QgKQogICAgICAgICBoZC0+ bmVlZF9zeW5jID0gIWlvbW11X3VzZV9oYXBfcHQoZCk7CiAKKyAgICBBU1NFUlQoIShoZC0+bmVl ZF9zeW5jICYmIGhkLT5oYXBfcHRfc2hhcmUpKTsKKwogICAgIHJldHVybiAwOwogfQogCmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMv ZG9tY3RsLmgKaW5kZXggNWY1NWEyZjZlMS4uMDAzOGZhNjYxNyAxMDA2NDQKLS0tIGEveGVuL2lu Y2x1ZGUvcHVibGljL2RvbWN0bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaApA QCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgImh2bS9zYXZlLmgiCiAjaW5jbHVkZSAibWVtb3J5 LmgiCiAKLSNkZWZpbmUgWEVOX0RPTUNUTF9JTlRFUkZBQ0VfVkVSU0lPTiAweDAwMDAwMDExCisj ZGVmaW5lIFhFTl9ET01DVExfSU5URVJGQUNFX1ZFUlNJT04gMHgwMDAwMDAxMgogCiAvKgogICog TkIuIHhlbl9kb21jdGwuZG9tYWluIGlzIGFuIElOL09VVCBwYXJhbWV0ZXIgZm9yIHRoaXMgb3Bl cmF0aW9uLgpAQCAtNzAsNiArNzAsMTAgQEAgc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWlu IHsKIAogICAgIHVpbnQzMl90IGZsYWdzOwogCisjZGVmaW5lIF9YRU5fRE9NQ1RMX0lPTU1VX25v X3NoYXJlcHQgIDAKKyNkZWZpbmUgWEVOX0RPTUNUTF9JT01NVV9ub19zaGFyZXB0ICAgKDFVIDw8 IF9YRU5fRE9NQ1RMX0lPTU1VX25vX3NoYXJlcHQpCisgICAgdWludDMyX3QgaW9tbXVfb3B0czsK KwogICAgIC8qCiAgICAgICogVmFyaW91cyBkb21haW4gbGltaXRzLCB3aGljaCBpbXBhY3QgdGhl IHF1YW50aXR5IG9mIHJlc291cmNlcyAoZ2xvYmFsCiAgICAgICogbWFwcGluZyBzcGFjZSwgeGVu aGVhcCwgZXRjKSBhIGd1ZXN0IG1heSBjb25zdW1lLgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv eGVuL2lvbW11LmggYi94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAppbmRleCA4N2Y5MTI5Yjk5Li4x MWM0N2YyMTUxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vaW9tbXUuaAorKysgYi94ZW4v aW5jbHVkZS94ZW4vaW9tbXUuaApAQCAtNzMsNyArNzMsNyBAQCBleHRlcm4gdW5zaWduZWQgaW50 IGlvbW11X2Rldl9pb3RsYl90aW1lb3V0OwogaW50IGlvbW11X3NldHVwKHZvaWQpOwogaW50IGlv bW11X2hhcmR3YXJlX3NldHVwKHZvaWQpOwogCi1pbnQgaW9tbXVfZG9tYWluX2luaXQoc3RydWN0 IGRvbWFpbiAqZCk7CitpbnQgaW9tbXVfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IG9wdHMpOwogdm9pZCBpb21tdV9od2RvbV9pbml0KHN0cnVjdCBkb21haW4gKmQp Owogdm9pZCBpb21tdV9kb21haW5fZGVzdHJveShzdHJ1Y3QgZG9tYWluICpkKTsKIApAQCAtMjYz LDkgKzI2MywxNyBAQCBzdHJ1Y3QgZG9tYWluX2lvbW11IHsKICAgICBERUNMQVJFX0JJVE1BUChm ZWF0dXJlcywgSU9NTVVfRkVBVF9jb3VudCk7CiAKICAgICAvKgotICAgICAqIERvZXMgdGhlIGd1 ZXN0IHJlcWlyZSBtYXBwaW5ncyB0byBiZSBzeW5jaG9uaXplZCwgdG8gbWFpbnRhaW4KLSAgICAg KiB0aGUgZGVmYXVsdCBkZm4gPT0gcGZuIG1hcC4gKFNlZSBjb21tZW50IG9uIGRmbiBhdCB0aGUg dG9wIG9mCi0gICAgICogaW5jbHVkZS94ZW4vbW0uaCkuCisgICAgICogRG9lcyB0aGUgZ3Vlc3Qg c2hhcmUgSEFQIG1hcHBpbmcgd2l0aCB0aGUgSU9NTVU/IFRoaXMgaXMgYWx3YXlzCisgICAgICog dHJ1ZSBmb3IgQVJNIHN5c3RlbXMgYW5kIG1heSBiZSB0cnVlIGZvciB4ODYgc3lzdGVtcyB3aGVy ZSB0aGUKKyAgICAgKiB0aGUgaGFyZHdhcmUgaXMgY2FwYWJsZS4KKyAgICAgKi8KKyAgICBib29s IGhhcF9wdF9zaGFyZTsKKworICAgIC8qCisgICAgICogRG9lcyB0aGUgZ3Vlc3QgcmVxdWlyZSBt YXBwaW5ncyB0byBiZSBzeW5jaHJvbml6ZWQsIHRvIG1haW50YWluCisgICAgICogdGhlIGRlZmF1 bHQgZGZuID09IHBmbiBtYXA/IChTZWUgY29tbWVudCBvbiBkZm4gYXQgdGhlIHRvcCBvZgorICAg ICAqIGluY2x1ZGUveGVuL21tLmgpLiBOb3RlIHRoYXQgaGFwX3B0X3NoYXJlID09IGZhbHNlIGRv ZXMgbm90CisgICAgICogbmVjZXNzYXJpbHkgaW1wbHkgdGhpcyBpcyB0cnVlLgogICAgICAqLwog ICAgIGJvb2wgbmVlZF9zeW5jOwogfTsKQEAgLTI3NSw4ICsyODMsNyBAQCBzdHJ1Y3QgZG9tYWlu X2lvbW11IHsKICNkZWZpbmUgaW9tbXVfY2xlYXJfZmVhdHVyZShkLCBmKSBjbGVhcl9iaXQoZiwg ZG9tX2lvbW11KGQpLT5mZWF0dXJlcykKIAogLyogQXJlIHdlIHVzaW5nIHRoZSBkb21haW4gUDJN IHRhYmxlIGFzIGl0cyBJT01NVSBwYWdldGFibGU/ICovCi0jZGVmaW5lIGlvbW11X3VzZV9oYXBf cHQoZCkgXAotICAgIChoYXBfZW5hYmxlZChkKSAmJiBpc19pb21tdV9lbmFibGVkKGQpICYmIGlv bW11X2hhcF9wdF9zaGFyZSkKKyNkZWZpbmUgaW9tbXVfdXNlX2hhcF9wdChkKSAgICAgICAoZG9t X2lvbW11KGQpLT5oYXBfcHRfc2hhcmUpCiAKIC8qIERvZXMgdGhlIElPTU1VIHBhZ2V0YWJsZSBu ZWVkIHRvIGJlIGtlcHQgc3luY2hyb25pemVkIHdpdGggdGhlIFAyTSAqLwogI2lmZGVmIENPTkZJ R19IQVNfUEFTU1RIUk9VR0gKLS0gCjIuMjAuMS4yLmdiMjFlYmI2NzEKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs