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=-6.6 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 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 D7E7CECE587 for ; Mon, 14 Oct 2019 16:51:27 +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 9742B2067B for ; Mon, 14 Oct 2019 16:51:27 +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="IvaGFhac" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9742B2067B Authentication-Results: mail.kernel.org; dmarc=fail (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 1iK3Yu-0006o2-Us; Mon, 14 Oct 2019 16:51:12 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iK3Yt-0006nv-3a for xen-devel@lists.xenproject.org; Mon, 14 Oct 2019 16:51:11 +0000 X-Inumbo-ID: d11b9c9b-eea2-11e9-9383-12813bfff9fa Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id d11b9c9b-eea2-11e9-9383-12813bfff9fa; Mon, 14 Oct 2019 16:51:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1571071869; h=from:mime-version:content-transfer-encoding:message-id: date:to:subject:in-reply-to:references; bh=5OFhLxvNyYkBkvvTMxbuO0FyZGRT3BW5gbpDbimC5Wk=; b=IvaGFhac29alGN7/oyAaDnuqnbyUi31I+NnwWezcfpcpaW7c+pi3j/rU 0tSMCfC1CTcW+SJ3fAgEGPYxqZIaOho5qPlfbOdLOdY3iExH3eVLSnHjj HJ7VOgEaS7vkPwBg3VlF+sItxwSUo+K5WqIqVrRsc0AZhaxasYPOwFFZU I=; Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=ian.jackson@citrix.com; spf=Pass smtp.mailfrom=Ian.Jackson@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender authenticity information available from domain of ian.jackson@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="Ian.Jackson@citrix.com"; x-sender="ian.jackson@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa1.hc3370-68.iphmx.com: domain of Ian.Jackson@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="Ian.Jackson@citrix.com"; x-sender="Ian.Jackson@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 ip4:168.245.78.127 ~all" Received-SPF: None (esa1.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=esa1.hc3370-68.iphmx.com; envelope-from="Ian.Jackson@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: cviQdfQ9dNBlCUNhtN7yXe5jdbp/2vZYsmuWKBD/aNxplqmCVJK9VwK9MvW0qQTuNGoI4PkhHe MZzFRa3MObigypoFpKm6ByjTXgy3I1kOv7OTpXQCzZW5NQ3FMjPxtUK5hSnsXRXmDr58JOxaoS EFL5hpctSNYPflE1JBf3ZPRJ9Cudzu9fofLP5heuJb7yNccSemRo8rFmXCuZAE/DIMhBKuHZYd rSm8vh2LsAj9jatAEYSmSvPGYwQfqK2Va5ZD5rZJK6OGirRRo9VRRSkL8P3xNcRNUsnLYnNn5A +aA= X-SBRS: 2.7 X-MesageID: 6941076 X-Ironport-Server: esa1.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.67,296,1566878400"; d="scan'208";a="6941076" From: Ian Jackson MIME-Version: 1.0 Message-ID: <23972.42872.768049.55036@mariner.uk.xensource.com> Date: Mon, 14 Oct 2019 17:51:04 +0100 To: Wei Liu , Paul Durrant , =?iso-8859-1?Q?J=FCrgen_Gro=DF?= , George Dunlap , Andrew Cooper , Jan Beulich , Anthony Perard , xen-devel In-Reply-To: <23972.42710.205681.915082@mariner.uk.xensource.com> References: <20191010151111.22125-1-ian.jackson@eu.citrix.com> <20191010151111.22125-10-ian.jackson@eu.citrix.com> <23968.33869.906302.573866@mariner.uk.xensource.com> <33aee478-52b9-df46-67d7-f81702e5e0f9@suse.com> <23968.44828.940652.851219@mariner.uk.xensource.com> <23972.40372.377662.700932@mariner.uk.xensource.com> <20191014164429.ltk64qeoo2ckzwet@debian> <23972.42710.205681.915082@mariner.uk.xensource.com> X-Mailer: VM 8.2.0b under 24.5.1 (i686-pc-linux-gnu) Subject: [Xen-devel] [XEN PATCH v4 for-4.13 10/10] libxl/xl: Overhaul passthrough setting logic passthrough setting logic 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: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SGVyZSdzIHdoYXQgSSBob3BlIGlzIHRoZSBmaW5hbCB2ZXJzaW9uLi4uCgpGcm9tIGI2MDE5NWU4 NTdkMzY5OWVhYTU1ZDkxNzRhNjliZjkxOTAyY2RkYjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpEYXRlOiBNb24s IDcgT2N0IDIwMTkgMTc6NTk6MTUgKzAxMDAKU3ViamVjdDogW1hFTiBQQVRDSCB2NCBmb3ItNC4x MyAxMC8xMF0gbGlieGwveGw6IE92ZXJoYXVsIHBhc3N0aHJvdWdoIHNldHRpbmcKIGxvZ2ljCgpM SUJYTF9QQVNTVEhST1VHSF9VTktOT1dOIChha2EgIkVOQUJMRUQiIGluIGFuIGVhcmxpZXIgdW5j b21taXR0ZWQKdmVyc2lvbiBvZiB0aGlzIGNvZGUpIGlzIGRvaW5nIGRvdWJsZSBkdXR5LiAgV2Ug YWN0dWFsbHkgbmVlZCBhbGwgb2YKdGhlIGZvbGxvd2luZyB0byBiZSBzcGVjaWZpY2FibGU6CiAg KiBkZWZhdWx0ICgidW5rbm93biIpOiBlbmFibGUgUFQgaWZmIHdlIGhhdmUgZGV2aWNlcyB0bwog ICAgcGFzcyB0aHJvdWdoIHNwZWNpZmllZCBpbiB0aGUgaW5pdGlhbCBjb25maWcgZmlsZS4KICAq ICJlbmFibGVkIiAoYW5kIGZhaWwgaWYgdGhlIHBsYXRmb3JtIGRvZXNuJ3Qgc3VwcG9ydCBpdCku CiAgKiAiZGlzYWJsZWQiIChhbmQgcmVqZWN0IGZ1dHVyZSBQVCBob3RwbHVnKS4KICAqICJzaGFy ZV9wdCIvInN5bmNfcHQiOiBlbmFibGUgUFQgYW5kIHNldCBhIHNwZWNpZmljIFBUIG1vZGUuCgpE ZWZhdWx0aW5nIGFuZCBlcnJvciBjaGVja2luZyBzaG91bGQgYmUgZG9uZSBpbiBsaWJ4bC4gIFNv LCB3ZSBtYWtlCnNldmVyYWwgY2hhbmdlcyBoZXJlLgoKV2UgaW50cm9kdWNlICJlbmFibGVkIi4g IChBbmQgd2UgZG9jdW1lbnQgInVua25vd24iLikKCldlIG1vdmUgYWxsIG9mIHRoZSBlcnJvciBj aGVja2luZyBhbmQgZGVmYXVsdGluZyBjb2RlIGZyb20geGwgaW50bwpsaWJ4bC4gIE5vdywgbGli eGxfX2RvbWFpbl9jb25maWdfc2V0ZGVmYXVsdCBoYXMgYWxsIG9mIHRoZSBuZWNlc3NhcnkKaW5m b3JtYXRpb24gdG8gZ2V0IHRoaXMgcmlnaHQuICBTbyB3ZSBjYW4gZG8gaXQgYWxsIHRoZXJlLiAg Q2hvb3NpbmcKdGhlIHNwZWNpZmljIG1vZGUgaXMgYXJjaC1zcGVjaWZpYy4KCldlIGNhbiBhbHNv IGFycmFuZ2UgdG8gaGF2ZSBvbmx5IG9uZSBwbGFjZSBlYWNoIHdoaWNoIGNhbGN1bGF0ZXMKKGkp IHdoZXRoZXIgcGFzc3Rocm91Z2ggbmVlZHMgdG8gYmUgZW5hYmxlZCBiZWNhdXNlIHB0IGRldmlj ZXMgd2VyZQpzcGVjaWZpZWQgKGlpKSB3aGV0aGVyIHB0X3NoYXJlIGNhbiBiZSB1c2VkIChmb3Ig ZWFjaCBhcmNoKS4KCnhsIG5vdyBvbmx5IGhhcyB0byBwYXJzZSB0aGUgZW51bSBpbiB0aGUgc2Ft ZSB3YXkgYXMgaXQgcGFyc2VzIGFsbApvdGhlciBlbnVtcy4KClRoaXMgY2hhbmdlIGZpeGVzIGEg cmVncmVzc2lvbiBmcm9tIGVhcmxpZXIgNC4xMy1wcmU6IHVudGlsIHJlY2VudApjaGFuZ2VzLCBw YXNzdGhyb3VnaCB3YXMgb25seSBlbmFibGVkIGJ5IGRlZmF1bHQgaWYgcGFzc3Rocm91Z2gKZGV2 aWNlcyB3ZXJlIHNwZWNpZmllZC4gIFdlIHJlc3RvcmUgdGhpcyBiZWhhdmlvdXIuCgpTaWduZWQt b2ZmLWJ5OiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ0M6IFN0ZWZh bm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBHcmFsbCA8 anVsaWVuQHhlbi5vcmc+CkNDOiBWb2xvZHlteXIgQmFiY2h1ayA8Vm9sb2R5bXlyX0JhYmNodWtA ZXBhbS5jb20+CkNDOiBBbmRyZXcgQ29vcGVyIDxBbmRyZXcuQ29vcGVyM0BjaXRyaXguY29tPgpD QzogUGF1bCBEdXJyYW50IDxwZHVycmFudEBnbWFpbC5jb20+CkNDOiBKYW4gQmV1bGljaCA8amJl dWxpY2hAc3VzZS5jb20+CgotLS0KdjQ6IEZpeCB0cmFpbGluZyB3aGl0ZXNwYWNlCiAgICBObyBs b25nZXIgY2hhbmdlICJ1bmtub3duIiB0byAidW5zcGVjaWZpZWQiLgoKdjM6IERyb3AgcGFyYWdy YXBoIGFib3V0IG1hc2tpbmcgYW5vdGhlciBvc3N0ZXN0IHJlZ3Jlc3Npb24sCiAgICAgYXMgdGhh dCdzIG5vdyBmaXhlZC4KICAgIERyb3AgcmVkdW5kYW50ICJFUlJPUjoiIGluIHR3byBsb2cgbWVz c2FnZXMuCiAgICBBZGQgYSBjb21tZW50IGFib3V0IHRoZSB3YXkgImVuYWJsZWQiIGdldHMgY2hh bmdlZCB0byBhIHNwZWNpZmljIHZhbHVlLgogICAgU3BsaXQgcGFzc3Rocm91Z2ggbW9kZSBkZWZh dWx0aW5nIGludG8gYXJjaCBzcGVjaWZpYyBmdW5jdGlvbnMuCiAgICBPbiBBUk0sIGFsd2F5cyBj aG9vc2UgKGFuZCBpbnNpc3Qgb24pIHNoYXJlX3B0LgogICAgUmVqZWN0IHNoYXJlX3B0IGZvciBu b24tSEFQIGd1ZXN0cy4KICAgIFJlamVjdCBwYXNzdGhyb3VnaCBmb3IgUFZIIGd1ZXN0cy4KICAg IEFjdHVhbGx5IGRvY3VtZW50ICJ1bnNwZWNpZmllZCIgb3B0aW9uIGluIHhsLmNmZyg1KQogICAg UmVuYW1lICJ1bmtub3duIiB0byAidW5zcGVjaWZpZWQiCgp2MjogTmV3IHBhdGNoIGluIHRoaXMg dmVyc2lvbiBvZiB0aGUgc2VyaWVzLgotLS0KIGRvY3MvbWFuL3hsLmNmZy41LnBvZC5pbiAgICB8 ICA2ICsrKysKIHRvb2xzL2xpYnhsL2xpYnhsX2FyY2guaCAgICB8ICA2ICsrKysKIHRvb2xzL2xp YnhsL2xpYnhsX2FybS5jICAgICB8IDI0ICsrKysrKysrKysrKysrKysKIHRvb2xzL2xpYnhsL2xp YnhsX2NyZWF0ZS5jICB8IDQxICsrKysrKysrKysrKysrKysrKystLS0tLS0tLQogdG9vbHMvbGli eGwvbGlieGxfdHlwZXMuaWRsIHwgIDUgKystLQogdG9vbHMvbGlieGwvbGlieGxfeDg2LmMgICAg IHwgNDEgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0b29scy94bC94bF9wYXJzZS5jICAg ICAgICAgfCA2NyArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDcgZmlsZXMgY2hhbmdlZCwgMTE0IGluc2VydGlvbnMoKyksIDc2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RvY3MvbWFuL3hsLmNmZy41LnBvZC5pbiBiL2RvY3MvbWFuL3hsLmNmZy41LnBv ZC5pbgppbmRleCA2NGJlZDMwYmNlLi43ZTIyMGQwYzIwIDEwMDY0NAotLS0gYS9kb2NzL21hbi94 bC5jZmcuNS5wb2QuaW4KKysrIGIvZG9jcy9tYW4veGwuY2ZnLjUucG9kLmluCkBAIC02NjAsNiAr NjYwLDEyIEBAIGluIHByZWZlcmVuY2UuIEhvd2V2ZXIsIHRoZSBhdmFpbGFiaWxpdHkgb2YgdGhp cyBvcHRpb24gaXMgaGFyZHdhcmUKIHNwZWNpZmljLiBJZiBCPHhsIGluZm8+IHJlcG9ydHMgQjx2 aXJ0X2NhcHM+IGNvbnRhaW5pbmcKIEI8aW9tbXVfaGFwX3B0X3NoYXJlPiB0aGVuIHRoaXMgb3B0 aW9uIG1heSBiZSB1c2VkLgogCis9aXRlbSBCPHVuc3BlY2lmaWVkPgorCitUaGUgZGVmYXVsdCwg d2hpY2ggY2hvb3NlcyBiZXR3ZWVuIEI8ZGlzYWJsZWQ+IGFuZCBCPGVuYWJsZWQ+CithY2NvcmRp bmcgdG8gd2hldGhlciBwYXNzdGhyb3VnaCBkZXZpY2VzIGFyZSBlbmFibGVkIGluIHRoZSBjb25m aWcKK2ZpbGUuCisKID1iYWNrCiAKID1iYWNrCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4 bF9hcmNoLmggYi90b29scy9saWJ4bC9saWJ4bF9hcmNoLmgKaW5kZXggZDYyNDE1OWU1My4uZWU2 NjQxYjNlNiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfYXJjaC5oCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX2FyY2guaApAQCAtNzMsNiArNzMsMTIgQEAgdm9pZCBsaWJ4bF9fYXJjaF9k b21haW5fYnVpbGRfaW5mb19zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8g KmJfaW5mbyk7CiAKIF9oaWRkZW4KK2ludCBsaWJ4bF9fYXJjaF9wYXNzdGhyb3VnaF9tb2RlX3Nl dGRlZmF1bHQobGlieGxfX2djICpnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9waHlzaW5mbyAq cGh5c2luZm8pOworCitfaGlkZGVuCiBpbnQgbGlieGxfX2FyY2hfZXh0cmFfbWVtb3J5KGxpYnhs X19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2RvbWFp bl9idWlsZF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRf dCAqb3V0KTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2FybS5jIGIvdG9vbHMvbGli eGwvbGlieGxfYXJtLmMKaW5kZXggYmYzMWI5YjNjYS4uMmYxY2E2OTQzMSAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGwvbGlieGxfYXJtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfYXJtLmMKQEAg LTExOTEsNiArMTE5MSwzMCBAQCB2b2lkIGxpYnhsX19hcmNoX2RvbWFpbl9idWlsZF9pbmZvX3Nl dGRlZmF1bHQobGlieGxfX2djICpnYywKICAgICBsaWJ4bF9kb21haW5fYnVpbGRfaW5mb19pbml0 X3R5cGUoYl9pbmZvLCBMSUJYTF9ET01BSU5fVFlQRV9QVkgpOwogfQogCitpbnQgbGlieGxfX2Fy Y2hfcGFzc3Rocm91Z2hfbW9kZV9zZXRkZWZhdWx0KGxpYnhsX19nYyAqZ2MsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kb21haW5fY29uZmln ICpkX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgbGlieGxfcGh5c2luZm8gKnBoeXNpbmZvKQoreworICAgIGludCByYzsKKyAgICBsaWJ4 bF9kb21haW5fY3JlYXRlX2luZm8gKmNvbnN0IGNfaW5mbyA9ICZkX2NvbmZpZy0+Y19pbmZvOwor CisgICAgaWYgKGNfaW5mby0+cGFzc3Rocm91Z2ggPT0gTElCWExfUEFTU1RIUk9VR0hfRU5BQkxF RCkgeworICAgICAgICBjX2luZm8tPnBhc3N0aHJvdWdoID0gTElCWExfUEFTU1RIUk9VR0hfU0hB UkVfUFQ7CisgICAgfQorCisgICAgaWYgKGNfaW5mby0+cGFzc3Rocm91Z2ggPT0gTElCWExfUEFT U1RIUk9VR0hfU1lOQ19QVCkgeworICAgICAgICBMT0dEKEVSUk9SLCBkb21pZCwKKyAgICAgICAg ICAgICAicGFzc3Rocm91Z2g9XCJzeW5jX3B0XCIgbm90IHN1cHBvcnRlZCBvbiBBUk1cbiIpOwor ICAgICAgICByYyA9IEVSUk9SX0lOVkFMOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAg ICByYyA9IDA7Cisgb3V0OgorICAgIHJldHVybiByYzsKK30KKwogLyoKICAqIExvY2FsIHZhcmlh YmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5j IGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggM2QyY2I1MmJmNy4uNzQyM2JlZGY3 ZCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysrIGIvdG9vbHMvbGli eGwvbGlieGxfY3JlYXRlLmMKQEAgLTU3LDE4ICs1Nyw2IEBAIGludCBsaWJ4bF9fZG9tYWluX2Ny ZWF0ZV9pbmZvX3NldGRlZmF1bHQobGlieGxfX2djICpnYywKICAgICBpZiAoIWNfaW5mby0+c3Np ZHJlZikKICAgICAgICAgY19pbmZvLT5zc2lkcmVmID0gU0VDSU5JVFNJRF9ET01VOwogCi0gICAg aWYgKGluZm8tPmNhcF9odm1fZGlyZWN0aW8gJiYKLSAgICAgICAgKGNfaW5mby0+cGFzc3Rocm91 Z2ggPT0gTElCWExfUEFTU1RIUk9VR0hfVU5LTk9XTikpIHsKLSAgICAgICAgY19pbmZvLT5wYXNz dGhyb3VnaCA9ICgoY19pbmZvLT50eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX1BWKSB8fAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpbmZvLT5jYXBfaW9tbXVfaGFwX3B0X3NoYXJl KSA/Ci0gICAgICAgICAgICBMSUJYTF9QQVNTVEhST1VHSF9TWU5DX1BUIDogTElCWExfUEFTU1RI Uk9VR0hfU0hBUkVfUFQ7Ci0gICAgfSBlbHNlIGlmICghaW5mby0+Y2FwX2h2bV9kaXJlY3Rpbykg ewotICAgICAgICBjX2luZm8tPnBhc3N0aHJvdWdoID0gTElCWExfUEFTU1RIUk9VR0hfRElTQUJM RUQ7Ci0gICAgfQotCi0gICAgLyogQW4gZXhwbGljaXQgc2V0dGluZyBzaG91bGQgbm93IGhhdmUg YmVlbiBjaG9zZW4gKi8KLSAgICBhc3NlcnQoY19pbmZvLT5wYXNzdGhyb3VnaCAhPSBMSUJYTF9Q QVNTVEhST1VHSF9VTktOT1dOKTsKLQogICAgIHJldHVybiAwOwogfQogCkBAIC05MDQsNiArODky LDcgQEAgaW50IGxpYnhsX19kb21haW5fY29uZmlnX3NldGRlZmF1bHQobGlieGxfX2djICpnYywK ICAgICBsaWJ4bF9jdHggKmN0eCA9IGxpYnhsX19nY19vd25lcihnYyk7CiAgICAgaW50IHJldDsK ICAgICBib29sIHBvZF9lbmFibGVkID0gZmFsc2U7CisgICAgbGlieGxfZG9tYWluX2NyZWF0ZV9p bmZvICpjX2luZm8gPSAmZF9jb25maWctPmNfaW5mbzsKIAogICAgIGxpYnhsX3BoeXNpbmZvIHBo eXNpbmZvOwogICAgIHJldCA9IGxpYnhsX2dldF9waHlzaW5mbyhDVFgsICZwaHlzaW5mbyk7CkBA IC05NzUsNiArOTY0LDM0IEBAIGludCBsaWJ4bF9fZG9tYWluX2NvbmZpZ19zZXRkZWZhdWx0KGxp YnhsX19nYyAqZ2MsCiAgICAgICAgIGdvdG8gZXJyb3Jfb3V0OwogICAgIH0KIAorICAgIGJvb2wg bmVlZF9wdCA9IGRfY29uZmlnLT5udW1fcGNpZGV2cyB8fCBkX2NvbmZpZy0+bnVtX2R0ZGV2czsK KyAgICBpZiAoY19pbmZvLT5wYXNzdGhyb3VnaCA9PSBMSUJYTF9QQVNTVEhST1VHSF9VTktOT1dO KSB7CisgICAgICAgIGNfaW5mby0+cGFzc3Rocm91Z2ggPSBuZWVkX3B0CisgICAgICAgICAgICA/ IExJQlhMX1BBU1NUSFJPVUdIX0VOQUJMRUQgOiBMSUJYTF9QQVNTVEhST1VHSF9ESVNBQkxFRDsK KyAgICB9CisKKyAgICBib29sIGlvbW11X2VuYWJsZWQgPSBwaHlzaW5mby5jYXBfaHZtX2RpcmVj dGlvOworICAgIGlmIChjX2luZm8tPnBhc3N0aHJvdWdoICE9IExJQlhMX1BBU1NUSFJPVUdIX0RJ U0FCTEVEICYmICFpb21tdV9lbmFibGVkKSB7CisgICAgICAgIExPR0QoRVJST1IsIGRvbWlkLAor ICAgICAgICAgICAgICJwYXNzdGhyb3VnaCBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm1c biIpOworICAgICAgICByZXQgPSBFUlJPUl9JTlZBTDsKKyAgICAgICAgZ290byBlcnJvcl9vdXQ7 CisgICAgfQorCisgICAgaWYgKGNfaW5mby0+cGFzc3Rocm91Z2ggPT0gTElCWExfUEFTU1RIUk9V R0hfRElTQUJMRUQgJiYgbmVlZF9wdCkgeworICAgICAgICBMT0dEKEVSUk9SLCBkb21pZCwKKyAg ICAgICAgICAgICAicGFzc3Rocm91Z2ggZGlzYWJsZWQgYnV0IGRldmljZXMgYXJlIHNwZWNpZmll ZCIpOworICAgICAgICByZXQgPSBFUlJPUl9JTlZBTDsKKyAgICAgICAgZ290byBlcnJvcl9vdXQ7 CisgICAgfQorCisgICAgcmV0ID0gbGlieGxfX2FyY2hfcGFzc3Rocm91Z2hfbW9kZV9zZXRkZWZh dWx0KGdjLGRvbWlkLGRfY29uZmlnLCZwaHlzaW5mbyk7CisgICAgaWYgKHJldCkgZ290byBlcnJv cl9vdXQ7CisKKyAgICAvKiBBbiBleHBsaWNpdCBzZXR0aW5nIHNob3VsZCBub3cgaGF2ZSBiZWVu IGNob3NlbiAqLworICAgIGFzc2VydChjX2luZm8tPnBhc3N0aHJvdWdoICE9IExJQlhMX1BBU1NU SFJPVUdIX1VOS05PV04pOworICAgIGFzc2VydChjX2luZm8tPnBhc3N0aHJvdWdoICE9IExJQlhM X1BBU1NUSFJPVUdIX0VOQUJMRUQpOworCiAgICAgLyogSWYgdGFyZ2V0X21lbWtiIGlzIHNtYWxs ZXIgdGhhbiBtYXhfbWVta2IsIHRoZSBzdWJzZXF1ZW50IGNhbGwKICAgICAgKiB0byBsaWJ4YyB3 aGVuIGJ1aWxkaW5nIEhWTSBkb21haW4gd2lsbCBlbmFibGUgUG9EIG1vZGUuCiAgICAgICovCmRp ZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4 bF90eXBlcy5pZGwKaW5kZXggM2FjOTQ5NGI4MC4uY2E0N2RiMjk2MSAxMDA2NDQKLS0tIGEvdG9v bHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlk bApAQCAtMjY2LDggKzI2Niw5IEBAIGxpYnhsX3ZrYl9iYWNrZW5kID0gRW51bWVyYXRpb24oInZr Yl9iYWNrZW5kIiwgWwogbGlieGxfcGFzc3Rocm91Z2ggPSBFbnVtZXJhdGlvbigicGFzc3Rocm91 Z2giLCBbCiAgICAgKDAsICJ1bmtub3duIiksCiAgICAgKDEsICJkaXNhYmxlZCIpLAotICAgICgy LCAic3luY19wdCIpLAotICAgICgzLCAic2hhcmVfcHQiKSwKKyAgICAoMiwgImVuYWJsZWQiKSwg IyBiZWNvbWVzIHtzeW5jLHNoYXJlfV9wdCBvbmNlIGRlZmF1bHRzIGFyZSBldmFsdWF0ZWQKKyAg ICAoMywgInN5bmNfcHQiKSwKKyAgICAoNCwgInNoYXJlX3B0IiksCiAgICAgXSkKIAogIwpkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMgYi90b29scy9saWJ4bC9saWJ4bF94ODYu YwppbmRleCBjMGY4OGE3ZWFhLi44YjgwNDUzN2JhIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF94ODYuYworKysgYi90b29scy9saWJ4bC9saWJ4bF94ODYuYwpAQCAtNjMxLDYgKzYzMSw0 NyBAQCB2b2lkIGxpYnhsX19hcmNoX2RvbWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGlieGxf X2djICpnYywKICAgICBsaWJ4bF9kZWZib29sX3NldGRlZmF1bHQoJmJfaW5mby0+YWNwaSwgdHJ1 ZSk7CiB9CiAKK2ludCBsaWJ4bF9fYXJjaF9wYXNzdGhyb3VnaF9tb2RlX3NldGRlZmF1bHQobGli eGxfX2djICpnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9waHlzaW5mbyAqcGh5c2luZm8pCit7 CisgICAgaW50IHJjOworICAgIGxpYnhsX2RvbWFpbl9jcmVhdGVfaW5mbyAqY29uc3QgY19pbmZv ID0gJmRfY29uZmlnLT5jX2luZm87CisKKyAgICBpZiAoY19pbmZvLT5wYXNzdGhyb3VnaCAhPSBM SUJYTF9QQVNTVEhST1VHSF9ESVNBQkxFRCAmJgorICAgICAgICBjX2luZm8tPnR5cGUgPT0gTElC WExfRE9NQUlOX1RZUEVfUFZIKSB7CisgICAgICAgIExPR0QoRVJST1IsIGRvbWlkLAorICAgICAg ICAgICAgICJwYXNzdGhyb3VnaCBub3QgeWV0IHN1cHBvcnRlZCBmb3IgeDg2IFBWSCBndWVzdHNc biIpOworICAgICAgICByYyA9IEVSUk9SX0lOVkFMOworICAgICAgICBnb3RvIG91dDsKKyAgICB9 CisKKyAgICBjb25zdCBjaGFyICp3aHlub3RfcHRfc2hhcmUgPQorICAgICAgICBjX2luZm8tPnR5 cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfUFYgPyAibm90IHZhbGlkIGZvciBQViBkb21haW4iIDoK KyAgICAgICAgIXBoeXNpbmZvLT5jYXBfaW9tbXVfaGFwX3B0X3NoYXJlID8gIm5vdCBzdXBwb3J0 ZWQgb24gdGhpcyBwbGF0Zm9ybSIgOgorICAgICAgICAhbGlieGxfZGVmYm9vbF92YWwoZF9jb25m aWctPmNfaW5mby5oYXApID8ib25seSB2YWxpZCBmb3IgSEFQIGd1ZXN0cyI6CisgICAgICAgIE5V TEw7CisKKyAgICBpZiAoY19pbmZvLT5wYXNzdGhyb3VnaCA9PSBMSUJYTF9QQVNTVEhST1VHSF9F TkFCTEVEKSB7CisgICAgICAgIGNfaW5mby0+cGFzc3Rocm91Z2ggPSB3aHlub3RfcHRfc2hhcmUK KyAgICAgICAgICAgID8gTElCWExfUEFTU1RIUk9VR0hfU1lOQ19QVCA6IExJQlhMX1BBU1NUSFJP VUdIX1NIQVJFX1BUOworICAgIH0KKworICAgIGlmIChjX2luZm8tPnBhc3N0aHJvdWdoID09IExJ QlhMX1BBU1NUSFJPVUdIX1NIQVJFX1BUICYmIHdoeW5vdF9wdF9zaGFyZSkgeworICAgICAgICBM T0dEKEVSUk9SLCBkb21pZCwKKyAgICAgICAgICAgICAicGFzc3Rocm91Z2g9XCJzaGFyZV9wdFwi ICVzXG4iLAorICAgICAgICAgICAgIHdoeW5vdF9wdF9zaGFyZSk7CisgICAgICAgIHJjID0gRVJS T1JfSU5WQUw7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgIHJjID0gMDsKKyBvdXQ6 CisgICAgcmV0dXJuIHJjOworfQorCisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2Rl OiBDCmRpZmYgLS1naXQgYS90b29scy94bC94bF9wYXJzZS5jIGIvdG9vbHMveGwveGxfcGFyc2Uu YwppbmRleCA3OTg3MWMyMmQwLi4xMTJmOGVlMDI2IDEwMDY0NAotLS0gYS90b29scy94bC94bF9w YXJzZS5jCisrKyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmMKQEAgLTEyMjIsNyArMTIyMiw2IEBAIHZv aWQgcGFyc2VfY29uZmlnX2RhdGEoY29uc3QgY2hhciAqY29uZmlnX3NvdXJjZSwKICAgICBpbnQg cGNpX3NlaXplID0gMDsKICAgICBpbnQgaSwgZTsKICAgICBjaGFyICprZXJuZWxfYmFzZW5hbWU7 Ci0gICAgYm9vbCBpb21tdV9lbmFibGVkLCBpb21tdV9oYXBfcHRfc2hhcmU7CiAKICAgICBsaWJ4 bF9kb21haW5fY3JlYXRlX2luZm8gKmNfaW5mbyA9ICZkX2NvbmZpZy0+Y19pbmZvOwogICAgIGxp YnhsX2RvbWFpbl9idWlsZF9pbmZvICpiX2luZm8gPSAmZF9jb25maWctPmJfaW5mbzsKQEAgLTEy MzQsOCArMTIzMyw2IEBAIHZvaWQgcGFyc2VfY29uZmlnX2RhdGEoY29uc3QgY2hhciAqY29uZmln X3NvdXJjZSwKICAgICAgICAgZXhpdChFWElUX0ZBSUxVUkUpOwogICAgIH0KIAotICAgIGlvbW11 X2VuYWJsZWQgPSBwaHlzaW5mby5jYXBfaHZtX2RpcmVjdGlvOwotICAgIGlvbW11X2hhcF9wdF9z aGFyZSA9IHBoeXNpbmZvLmNhcF9pb21tdV9oYXBfcHRfc2hhcmU7CiAgICAgbGlieGxfcGh5c2lu Zm9fZGlzcG9zZSgmcGh5c2luZm8pOwogCiAgICAgY29uZmlnPSB4bHVfY2ZnX2luaXQoc3RkZXJy LCBjb25maWdfc291cmNlKTsKQEAgLTE1MDksNjcgKzE1MDYsMTMgQEAgdm9pZCBwYXJzZV9jb25m aWdfZGF0YShjb25zdCBjaGFyICpjb25maWdfc291cmNlLAogICAgICAgICB9CiAgICAgfQogCi0g ICAgaWYgKHhsdV9jZmdfZ2V0X3N0cmluZyhjb25maWcsICJwYXNzdGhyb3VnaCIsICZidWYsIDAp KSB7Ci0gICAgICAgIGNfaW5mby0+cGFzc3Rocm91Z2ggPQotICAgICAgICAgICAgKGRfY29uZmln LT5udW1fcGNpZGV2cyB8fCBkX2NvbmZpZy0+bnVtX2R0ZGV2cykKLSAgICAgICAgICAgID8gTElC WExfUEFTU1RIUk9VR0hfVU5LTk9XTiA6IExJQlhMX1BBU1NUSFJPVUdIX0RJU0FCTEVEOwotICAg IH0gZWxzZSB7Ci0gICAgICAgIGlmICghc3RyY2FzZWNtcCgiZW5hYmxlZCIsIGJ1ZikpCi0gICAg ICAgICAgICBjX2luZm8tPnBhc3N0aHJvdWdoID0gTElCWExfUEFTU1RIUk9VR0hfVU5LTk9XTjsK LSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBsaWJ4bF9wYXNzdGhyb3VnaCBvOwotCi0gICAg ICAgICAgICBlID0gbGlieGxfcGFzc3Rocm91Z2hfZnJvbV9zdHJpbmcoYnVmLCAmbyk7Ci0gICAg ICAgICAgICBpZiAoZSB8fCAhc3RyY2FzZWNtcCgidW5rbm93biIsIGJ1ZikpIHsKLSAgICAgICAg ICAgICAgICBmcHJpbnRmKHN0ZGVyciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJFUlJPUjog dW5rbm93biBwYXNzdGhyb3VnaCBvcHRpb24gJyVzJ1xuIiwKLSAgICAgICAgICAgICAgICAgICAg ICAgIGJ1Zik7Ci0gICAgICAgICAgICAgICAgZXhpdCgtRVJST1JfRkFJTCk7Ci0gICAgICAgICAg ICB9Ci0KLSAgICAgICAgICAgIGNfaW5mby0+cGFzc3Rocm91Z2ggPSBvOwotICAgICAgICB9Ci0g ICAgfQotCi0gICAgc3dpdGNoIChjX2luZm8tPnBhc3N0aHJvdWdoKSB7Ci0gICAgY2FzZSBMSUJY TF9QQVNTVEhST1VHSF9VTktOT1dOOgotICAgICAgICAvKgotICAgICAgICAgKiBDaG9vc2UgYSBz dWl0YWJsZSBkZWZhdWx0LiBsaWJ4bCB3b3VsZCBhbHNvIGRvIHRoaXMgYnV0Ci0gICAgICAgICAq IGNob29zaW5nIGhlcmUgYWxsb3dzIHRoZSBjb2RlIGNhbGN1bGF0aW5nICdpb21tdV9tZW1rYicK LSAgICAgICAgICogYmVsb3cgbWFrZSBhbiBpbmZvcm1lZCBkZWNpc2lvbi4KLSAgICAgICAgICov Ci0gICAgICAgIGNfaW5mby0+cGFzc3Rocm91Z2ggPQotICAgICAgICAgICAgKGNfaW5mby0+dHlw ZSA9PSBMSUJYTF9ET01BSU5fVFlQRV9QVikgfHwgIWlvbW11X2hhcF9wdF9zaGFyZQotICAgICAg ICAgICAgPyBMSUJYTF9QQVNTVEhST1VHSF9TWU5DX1BUIDogTElCWExfUEFTU1RIUk9VR0hfU0hB UkVfUFQ7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBMSUJYTF9QQVNTVEhST1VHSF9ESVNB QkxFRDoKLSAgICAgICAgaWYgKGRfY29uZmlnLT5udW1fcGNpZGV2cyB8fCBkX2NvbmZpZy0+bnVt X2R0ZGV2cykgeworICAgIGlmICgheGx1X2NmZ19nZXRfc3RyaW5nKGNvbmZpZywgInBhc3N0aHJv dWdoIiwgJmJ1ZiwgMCkpIHsKKyAgICAgICAgaWYgKGxpYnhsX3Bhc3N0aHJvdWdoX2Zyb21fc3Ry aW5nKGJ1ZiwgJmNfaW5mby0+cGFzc3Rocm91Z2gpKSB7CiAgICAgICAgICAgICBmcHJpbnRmKHN0 ZGVyciwKLSAgICAgICAgICAgICAgICAgICAgIkVSUk9SOiBwYXNzdGhyb3VnaCBkaXNhYmxlZCBi dXQgZGV2aWNlcyBhcmUgc3BlY2lmaWVkXG4iKTsKLSAgICAgICAgICAgIGV4aXQoLUVSUk9SX0ZB SUwpOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTElCWExfUEFTU1RIUk9V R0hfU0hBUkVfUFQ6Ci0gICAgICAgIGlmIChjX2luZm8tPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZ UEVfUFYpIHsKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLAotICAgICAgICAgICAgICAgICAg ICAiRVJST1I6IHBhc3N0aHJvdWdoPVwic2hhcmVfcHRcIiBub3QgdmFsaWQgZm9yIFBWIGRvbWFp blxuIik7Ci0gICAgICAgICAgICBleGl0KC1FUlJPUl9GQUlMKTsKLSAgICAgICAgfSBlbHNlIGlm ICghaW9tbXVfaGFwX3B0X3NoYXJlKSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwKLSAg ICAgICAgICAgICAgICAgICAgIkVSUk9SOiBwYXNzdGhyb3VnaD1cInNoYXJlX3B0XCIgbm90IHN1 cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtXG4iKTsKLSAgICAgICAgICAgIGV4aXQoLUVSUk9SX0ZB SUwpOworICAgICAgICAgICAgICAgICAgICAiRVJST1I6IHVua25vd24gcGFzc3Rocm91Z2ggb3B0 aW9uICclcydcbiIsCisgICAgICAgICAgICAgICAgICAgIGJ1Zik7CisgICAgICAgICAgICBleGl0 KDEpOwogICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTElCWExfUEFTU1RIUk9V R0hfU1lOQ19QVDoKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgaWYgKChjX2luZm8tPnBh c3N0aHJvdWdoICE9IExJQlhMX1BBU1NUSFJPVUdIX0RJU0FCTEVEKSAmJgotICAgICAgICAhaW9t bXVfZW5hYmxlZCkgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwKLSAgICAgICAgICAgICAgICAi RVJST1I6IHBhc3N0aHJvdWdoIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybVxuIik7Ci0g ICAgICAgIGV4aXQoLUVSUk9SX0ZBSUwpOwogICAgIH0KIAogICAgIGlmICgheGx1X2NmZ19nZXRf bG9uZyhjb25maWcsICJzaGFkb3dfbWVtb3J5IiwgJmwsIDApKQotLSAKMi4xMS4wCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==