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=-8.4 required=3.0 tests=DKIM_ADSP_ALL,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 784CBC33CAC for ; Mon, 3 Feb 2020 10:57:43 +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 3FA1820658 for ; Mon, 3 Feb 2020 10:57:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="AlqEPMwS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3FA1820658 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.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 1iyZPz-0007bw-W7; Mon, 03 Feb 2020 10:57:27 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iyZPy-0007ba-Jz for xen-devel@lists.xenproject.org; Mon, 03 Feb 2020 10:57:26 +0000 X-Inumbo-ID: f6bd524e-4673-11ea-ad98-bc764e2007e4 Received: from smtp-fw-2101.amazon.com (unknown [72.21.196.25]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id f6bd524e-4673-11ea-ad98-bc764e2007e4; Mon, 03 Feb 2020 10:57:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1580727446; x=1612263446; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5aa87AlTqLJVmd5I4PbnIUG10KpXmqBv0mV0eyFqvew=; b=AlqEPMwSHKUJIHn89PQd2SpFwR7BhoXBYpFKidDhzPa38AtimeN/asdw 4tbwSxkHwtpHlEyXDWyJG0LGlnjffQ5UXqRtMICmrJ0xqRvv3fPtRDQtV ikWmdEhDYOkRlbpUfY/rt066fLM03Q4xaMkWsV1mZ/DumerquVgKckaFp 0=; IronPort-SDR: sHZVa2M3KxZ/zS6to7XblzmX23e6zthD77cJoqBfqWjYdU6ou1Lv9kQVUDtzzfxkP3U2SdpRWq QFuqcS+iebhw== X-IronPort-AV: E=Sophos;i="5.70,397,1574121600"; d="scan'208";a="15395216" Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-1d-38ae4ad2.us-east-1.amazon.com) ([10.43.8.2]) by smtp-border-fw-out-2101.iad2.amazon.com with ESMTP; 03 Feb 2020 10:57:26 +0000 Received: from EX13MTAUEA002.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan3.iad.amazon.com [10.40.159.166]) by email-inbound-relay-1d-38ae4ad2.us-east-1.amazon.com (Postfix) with ESMTPS id DFD69A20DD; Mon, 3 Feb 2020 10:57:22 +0000 (UTC) Received: from EX13D32EUB002.ant.amazon.com (10.43.166.114) by EX13MTAUEA002.ant.amazon.com (10.43.61.77) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Mon, 3 Feb 2020 10:57:08 +0000 Received: from EX13MTAUWC001.ant.amazon.com (10.43.162.135) by EX13D32EUB002.ant.amazon.com (10.43.166.114) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Mon, 3 Feb 2020 10:57:07 +0000 Received: from u2f063a87eabd5f.cbg10.amazon.com (10.125.106.135) by mail-relay.amazon.com (10.43.162.232) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Mon, 3 Feb 2020 10:57:03 +0000 From: Paul Durrant To: Date: Mon, 3 Feb 2020 10:56:52 +0000 Message-ID: <20200203105654.22998-3-pdurrant@amazon.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200203105654.22998-1-pdurrant@amazon.com> References: <20200203105654.22998-1-pdurrant@amazon.com> MIME-Version: 1.0 Precedence: Bulk Subject: [Xen-devel] [PATCH v9 2/4] add a domain_tot_pages() helper function X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Julien Grall , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Paul Durrant , Ian Jackson , Tim Deegan , =?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" VGhpcyBwYXRjaCBhZGRzIGEgbmV3IGRvbWFpbl90b3RfcGFnZXMoKSBpbmxpbmUgaGVscGVyIGZ1 bmN0aW9uIGludG8Kc2NoZWQuaCwgd2hpY2ggd2lsbCBiZSBuZWVkZWQgYnkgYSBzdWJzZXF1ZW50 IHBhdGNoLgoKTm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpOT1RFOiBXaGlsZSBtb2RpZnlpbmcgdGhl IGNvbW1lbnQgZm9yICd0b3RfcGFnZXMnIGluIHNjaGVkLmggdGhpcyBwYXRjaAogICAgICBtYWtl cyBzb21lIGNvc21ldGljIGZpeGVzIHRvIHN1cnJvdW5kaW5nIGNvbW1lbnRzLgoKU3VnZ2VzdGVk LWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClNpZ25lZC1vZmYtYnk6IFBhdWwg RHVycmFudCA8cGR1cnJhbnRAYW1hem9uLmNvbT4KLS0tCkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogV2VpIExpdSA8d2xAeGVuLm9yZz4KQ2M6ICJSb2dl ciBQYXUgTW9ubsOpIiA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNjOiBHZW9yZ2UgRHVubGFwIDxH ZW9yZ2UuRHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25A ZXUuY2l0cml4LmNvbT4KQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+CkNjOiBLb25y YWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkNjOiBTdGVmYW5vIFN0 YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNjOiBHZW9yZ2UgRHVubGFwIDxnZW9y Z2UuZHVubGFwQGV1LmNpdHJpeC5jb20+CkNjOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KCnY5 OgogLSBGaXggbWlzc2luZyBjaGFuZ2VzIGluIFBWIHNoaW0KIC0gRHJvcHBlZCBzb21lIGNvbW1l bnQgY2hhbmdlcwoKdjg6CiAtIE5ldyBpbiB2OAotLS0KIHhlbi9hcmNoL2FybS9hcm02NC9kb21j dGwuYyAgICAgfCAgMiArLQogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICAgICAgICB8ICAyICst CiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgICAgICAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9t bS9wMm0tcG9kLmMgICAgICAgfCAxMCArKysrKy0tLS0tCiB4ZW4vYXJjaC94ODYvbW0vc2hhZG93 L2NvbW1vbi5jIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9tc2kuYyAgICAgICAgICAgICAgfCAgMiAr LQogeGVuL2FyY2gveDg2L251bWEuYyAgICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYv cHYvZG9tMF9idWlsZC5jICAgIHwgMjUgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2Fy Y2gveDg2L3B2L2RvbWFpbi5jICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvcHYvc2hpbS5j ICAgICAgICAgIHwgIDQgKystLQogeGVuL2NvbW1vbi9kb21jdGwuYyAgICAgICAgICAgICB8ICAy ICstCiB4ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgICAgICAgIHwgIDQgKystLQogeGVuL2NvbW1v bi9rZXloYW5kbGVyLmMgICAgICAgICB8ICAyICstCiB4ZW4vY29tbW9uL21lbW9yeS5jICAgICAg ICAgICAgIHwgIDIgKy0KIHhlbi9jb21tb24vcGFnZV9hbGxvYy5jICAgICAgICAgfCAxNSArKysr KysrKy0tLS0tLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaCAgICAgfCAgNCArKy0tCiB4 ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCAgICAgICAgIHwgMjQgKysrKysrKysrKysrKysrKysrLS0t LS0tCiAxNyBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtNjQvZG9tY3RsLmMgYi94ZW4vYXJjaC9hcm0v YXJtNjQvZG9tY3RsLmMKaW5kZXggYWI4NzgxZmI5MS4uMGRlODliNDJjNCAxMDA2NDQKLS0tIGEv eGVuL2FyY2gvYXJtL2FybTY0L2RvbWN0bC5jCisrKyBiL3hlbi9hcmNoL2FybS9hcm02NC9kb21j dGwuYwpAQCAtMTgsNyArMTgsNyBAQCBzdGF0aWMgbG9uZyBzd2l0Y2hfbW9kZShzdHJ1Y3QgZG9t YWluICpkLCBlbnVtIGRvbWFpbl90eXBlIHR5cGUpCiAKICAgICBpZiAoIGQgPT0gTlVMTCApCiAg ICAgICAgIHJldHVybiAtRUlOVkFMOwotICAgIGlmICggZC0+dG90X3BhZ2VzICE9IDAgKQorICAg IGlmICggZG9tYWluX3RvdF9wYWdlcyhkKSAhPSAwICkKICAgICAgICAgcmV0dXJuIC1FQlVTWTsK ICAgICBpZiAoIGQtPmFyY2gudHlwZSA9PSB0eXBlICkKICAgICAgICAgcmV0dXJuIDA7CmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKaW5k ZXggMjhmZWZhMWY4MS4uNjQzYzIzZmZiMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWFp bi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwpAQCAtMjE4LDcgKzIxOCw3IEBAIHZvaWQg ZHVtcF9wYWdlZnJhbWVfaW5mbyhzdHJ1Y3QgZG9tYWluICpkKQogCiAgICAgcHJpbnRrKCJNZW1v cnkgcGFnZXMgYmVsb25naW5nIHRvIGRvbWFpbiAldTpcbiIsIGQtPmRvbWFpbl9pZCk7CiAKLSAg ICBpZiAoIGQtPnRvdF9wYWdlcyA+PSAxMCAmJiBkLT5pc19keWluZyA8IERPTURZSU5HX2RlYWQg KQorICAgIGlmICggZG9tYWluX3RvdF9wYWdlcyhkKSA+PSAxMCAmJiBkLT5pc19keWluZyA8IERP TURZSU5HX2RlYWQgKQogICAgIHsKICAgICAgICAgcHJpbnRrKCIgICAgRG9tUGFnZSBsaXN0IHRv byBsb25nIHRvIGRpc3BsYXlcbiIpOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9t bS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5kZXggZjUwYzA2NWFmMy4uZTFiMDQxZTJkZiAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTQ4 NzAsNyArNDg3MCw3IEBAIGxvbmcgYXJjaF9tZW1vcnlfb3AodW5zaWduZWQgbG9uZyBjbWQsIFhF Tl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQogICAgICAgICBlbHNlIGlmICggcmMgPj0g MCApCiAgICAgICAgIHsKICAgICAgICAgICAgIHAybSA9IHAybV9nZXRfaG9zdHAybShkKTsKLSAg ICAgICAgICAgIHRhcmdldC50b3RfcGFnZXMgICAgICAgPSBkLT50b3RfcGFnZXM7CisgICAgICAg ICAgICB0YXJnZXQudG90X3BhZ2VzICAgICAgID0gZG9tYWluX3RvdF9wYWdlcyhkKTsKICAgICAg ICAgICAgIHRhcmdldC5wb2RfY2FjaGVfcGFnZXMgPSBwMm0tPnBvZC5jb3VudDsKICAgICAgICAg ICAgIHRhcmdldC5wb2RfZW50cmllcyAgICAgPSBwMm0tPnBvZC5lbnRyeV9jb3VudDsKIApkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1wb2QuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0t cG9kLmMKaW5kZXggMDk2ZTI3NzNmYi4uZjJjOTQwOTU2OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L21tL3AybS1wb2QuYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXBvZC5jCkBAIC0zMDIs NyArMzAyLDcgQEAgb3V0OgogICogVGhlIGZvbGxvd2luZyBlcXVhdGlvbnMgc2hvdWxkIGhvbGQ6 CiAgKiAgMCA8PSBQIDw9IFQgPD0gQiA8PSBNCiAgKiAgZC0+YXJjaC5wMm0tPnBvZC5lbnRyeV9j b3VudCA9PSBCIC0gUAotICogIGQtPnRvdF9wYWdlcyA9PSBQICsgZC0+YXJjaC5wMm0tPnBvZC5j b3VudAorICogIGRvbWFpbl90b3RfcGFnZXMoZCkgPT0gUCArIGQtPmFyY2gucDJtLT5wb2QuY291 bnQKICAqCiAgKiBOb3cgd2UgaGF2ZSB0aGUgZm9sbG93aW5nIHBvdGVudGlhbCBjYXNlcyB0byBj b3ZlcjoKICAqICAgICBCIDxUJzogU2V0IHRoZSBQb0QgY2FjaGUgc2l6ZSBlcXVhbCB0byB0aGUg bnVtYmVyIG9mIG91dHN0YW5kaW5nIFBvRApAQCAtMzM2LDcgKzMzNiw3IEBAIHAybV9wb2Rfc2V0 X21lbV90YXJnZXQoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyB0YXJnZXQpCiAgICAg cG9kX2xvY2socDJtKTsKIAogICAgIC8qIFAgPT0gQjogTm90aGluZyB0byBkbyAodW5sZXNzIHRo ZSBndWVzdCBpcyBiZWluZyBjcmVhdGVkKS4gKi8KLSAgICBwb3B1bGF0ZWQgPSBkLT50b3RfcGFn ZXMgLSBwMm0tPnBvZC5jb3VudDsKKyAgICBwb3B1bGF0ZWQgPSBkb21haW5fdG90X3BhZ2VzKGQp IC0gcDJtLT5wb2QuY291bnQ7CiAgICAgaWYgKCBwb3B1bGF0ZWQgPiAwICYmIHAybS0+cG9kLmVu dHJ5X2NvdW50ID09IDAgKQogICAgICAgICBnb3RvIG91dDsKIApAQCAtMzQ4LDcgKzM0OCw3IEBA IHAybV9wb2Rfc2V0X21lbV90YXJnZXQoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyB0 YXJnZXQpCiAgICAgICogVCcgPCBCOiBEb24ndCByZWR1Y2UgdGhlIGNhY2hlIHNpemU7IGxldCB0 aGUgYmFsbG9vbiBkcml2ZXIKICAgICAgKiB0YWtlIGNhcmUgb2YgaXQuCiAgICAgICovCi0gICAg aWYgKCB0YXJnZXQgPCBkLT50b3RfcGFnZXMgKQorICAgIGlmICggdGFyZ2V0IDwgZG9tYWluX3Rv dF9wYWdlcyhkKSApCiAgICAgICAgIGdvdG8gb3V0OwogCiAgICAgcG9kX3RhcmdldCA9IHRhcmdl dCAtIHBvcHVsYXRlZDsKQEAgLTEyMzEsOCArMTIzMSw4IEBAIG91dF9vZl9tZW1vcnk6CiAgICAg cG9kX3VubG9jayhwMm0pOwogCiAgICAgcHJpbnRrKCIlczogRG9tJWQgb3V0IG9mIFBvRCBtZW1v cnkhICh0b3Q9JSJQUkl1MzIiIGVudHM9JWxkIGRvbSVkKVxuIiwKLSAgICAgICAgICAgX19mdW5j X18sIGQtPmRvbWFpbl9pZCwgZC0+dG90X3BhZ2VzLCBwMm0tPnBvZC5lbnRyeV9jb3VudCwKLSAg ICAgICAgICAgY3VycmVudC0+ZG9tYWluLT5kb21haW5faWQpOworICAgICAgICAgICBfX2Z1bmNf XywgZC0+ZG9tYWluX2lkLCBkb21haW5fdG90X3BhZ2VzKGQpLAorICAgICAgICAgICBwMm0tPnBv ZC5lbnRyeV9jb3VudCwgY3VycmVudC0+ZG9tYWluLT5kb21haW5faWQpOwogICAgIGRvbWFpbl9j cmFzaChkKTsKICAgICByZXR1cm4gZmFsc2U7CiBvdXRfZmFpbDoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1v bi5jCmluZGV4IDYyMTJlYzJjNGEuLmNiYTNhYjFlYmEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9tbS9zaGFkb3cvY29tbW9uLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24u YwpAQCAtMTI1Niw3ICsxMjU2LDcgQEAgc3RhdGljIHVuc2lnbmVkIGludCBzaF9taW5fYWxsb2Nh dGlvbihjb25zdCBzdHJ1Y3QgZG9tYWluICpkKQogICAgICAqIHVwIG9mIHNsb3QgemVybyBhbmQg YW4gTEFQSUMgcGFnZSksIHBsdXMgb25lIGZvciBIVk0ncyAxLXRvLTEgcGFnZXRhYmxlLgogICAg ICAqLwogICAgIHJldHVybiBzaGFkb3dfbWluX2FjY2VwdGFibGVfcGFnZXMoZCkgKwotICAgICAg ICAgICBtYXgobWF4KGQtPnRvdF9wYWdlcyAvIDI1NiwKKyAgICAgICAgICAgbWF4KG1heChkb21h aW5fdG90X3BhZ2VzKGQpIC8gMjU2LAogICAgICAgICAgICAgICAgICAgIGlzX2h2bV9kb21haW4o ZCkgPyBDT05GSUdfUEFHSU5HX0xFVkVMUyArIDIgOiAwVSkgKwogICAgICAgICAgICAgICAgaXNf aHZtX2RvbWFpbihkKSwKICAgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnNoYWRvdy5wMm1f cGFnZXMpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21zaS5jIGIveGVuL2FyY2gveDg2L21z aS5jCmluZGV4IGRmOTdjZTBjNzIuLjJmYWJhYWExNTUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9tc2kuYworKysgYi94ZW4vYXJjaC94ODYvbXNpLmMKQEAgLTk5MSw3ICs5OTEsNyBAQCBzdGF0 aWMgaW50IG1zaXhfY2FwYWJpbGl0eV9pbml0KHN0cnVjdCBwY2lfZGV2ICpkZXYsCiAgICAgICAg ICAgICAgICAgICAgICAgIHNlZywgYnVzLCBzbG90LCBmdW5jLCBkLT5kb21haW5faWQpOwogICAg ICAgICAgICAgaWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGQpICYmCiAgICAgICAgICAgICAgICAg IC8qIEFzc3VtZSBhIGRvbWFpbiB3aXRob3V0IG1lbW9yeSBoYXMgbm8gbWFwcGluZ3MgeWV0LiAq LwotICAgICAgICAgICAgICAgICAoIWlzX2hhcmR3YXJlX2RvbWFpbihjdXJyZCkgfHwgZC0+dG90 X3BhZ2VzKSApCisgICAgICAgICAgICAgICAgICghaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJkKSB8 fCBkb21haW5fdG90X3BhZ2VzKGQpKSApCiAgICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQp OwogICAgICAgICAgICAgLyogWFhYIEhvdyB0byBkZWFsIHdpdGggZXhpc3RpbmcgbWFwcGluZ3M/ ICovCiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9udW1hLmMgYi94ZW4vYXJj aC94ODYvbnVtYS5jCmluZGV4IDdlMWY1NjMwMTIuLjdmMGQyN2MxNTMgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9udW1hLmMKKysrIGIveGVuL2FyY2gveDg2L251bWEuYwpAQCAtNDE5LDcgKzQx OSw3IEBAIHN0YXRpYyB2b2lkIGR1bXBfbnVtYSh1bnNpZ25lZCBjaGFyIGtleSkKICAgICB7CiAg ICAgICAgIHByb2Nlc3NfcGVuZGluZ19zb2Z0aXJxcygpOwogCi0gICAgICAgIHByaW50aygiRG9t YWluICV1ICh0b3RhbDogJXUpOlxuIiwgZC0+ZG9tYWluX2lkLCBkLT50b3RfcGFnZXMpOworICAg ICAgICBwcmludGsoIkRvbWFpbiAldSAodG90YWw6ICV1KTpcbiIsIGQtPmRvbWFpbl9pZCwgZG9t YWluX3RvdF9wYWdlcyhkKSk7CiAKICAgICAgICAgZm9yX2VhY2hfb25saW5lX25vZGUgKCBpICkK ICAgICAgICAgICAgIHBhZ2VfbnVtX25vZGVbaV0gPSAwOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L3B2L2RvbTBfYnVpbGQuYyBiL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKaW5kZXgg OWE5N2NmNGFiZi4uNTY3OGRhNzgyZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L2RvbTBf YnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jCkBAIC0xMTAsOCArMTEw LDkgQEAgc3RhdGljIF9faW5pdCB2b2lkIHNldHVwX3B2X3BoeXNtYXAoc3RydWN0IGRvbWFpbiAq ZCwgdW5zaWduZWQgbG9uZyBwZ3RibF9wZm4sCiAKICAgICB3aGlsZSAoIHZwaHlzbWFwX3N0YXJ0 IDwgdnBoeXNtYXBfZW5kICkKICAgICB7Ci0gICAgICAgIGlmICggZC0+dG90X3BhZ2VzICsgKChy b3VuZF9wZ3VwKHZwaHlzbWFwX2VuZCkgLSB2cGh5c21hcF9zdGFydCkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPj4gUEFHRV9TSElGVCkgKyAzID4gbnJfcGFnZXMgKQorICAgICAgICBp ZiAoIGRvbWFpbl90b3RfcGFnZXMoZCkgKworICAgICAgICAgICAgICgocm91bmRfcGd1cCh2cGh5 c21hcF9lbmQpIC0gdnBoeXNtYXBfc3RhcnQpID4+IFBBR0VfU0hJRlQpICsKKyAgICAgICAgICAg ICAzID4gbnJfcGFnZXMgKQogICAgICAgICAgICAgcGFuaWMoIkRvbTAgYWxsb2NhdGlvbiB0b28g c21hbGwgZm9yIGluaXRpYWwgUC0+TSB0YWJsZVxuIik7CiAKICAgICAgICAgaWYgKCBwbDFlICkK QEAgLTI2NCw3ICsyNjUsNyBAQCBzdGF0aWMgc3RydWN0IHBhZ2VfaW5mbyAqIF9faW5pdCBhbGxv Y19jaHVuayhzdHJ1Y3QgZG9tYWluICpkLAogICAgIHsKICAgICAgICAgc3RydWN0IHBhZ2VfaW5m byAqcGcyOwogCi0gICAgICAgIGlmICggZC0+dG90X3BhZ2VzICsgKDEgPDwgb3JkZXIpID4gZC0+ bWF4X3BhZ2VzICkKKyAgICAgICAgaWYgKCBkb21haW5fdG90X3BhZ2VzKGQpICsgKDEgPDwgb3Jk ZXIpID4gZC0+bWF4X3BhZ2VzICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBwZzIg PSBhbGxvY19kb21oZWFwX3BhZ2VzKGQsIG9yZGVyLCBNRU1GX2V4YWN0X25vZGUgfCBNRU1GX25v X3NjcnViKTsKICAgICAgICAgaWYgKCBwZzIgPiBwYWdlICkKQEAgLTUwMCwxMyArNTAxLDEzIEBA IGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwKICAgICBpZiAo IHBhZ2UgPT0gTlVMTCApCiAgICAgICAgIHBhbmljKCJOb3QgZW5vdWdoIFJBTSBmb3IgZG9tYWlu IDAgYWxsb2NhdGlvblxuIik7CiAgICAgYWxsb2Nfc3BmbiA9IG1mbl94KHBhZ2VfdG9fbWZuKHBh Z2UpKTsKLSAgICBhbGxvY19lcGZuID0gYWxsb2Nfc3BmbiArIGQtPnRvdF9wYWdlczsKKyAgICBh bGxvY19lcGZuID0gYWxsb2Nfc3BmbiArIGRvbWFpbl90b3RfcGFnZXMoZCk7CiAKICAgICBpZiAo IGluaXRyZF9sZW4gKQogICAgIHsKICAgICAgICAgaW5pdHJkX3BmbiA9IHZpbml0cmRfc3RhcnQg PwogICAgICAgICAgICAgICAgICAgICAgKHZpbml0cmRfc3RhcnQgLSB2X3N0YXJ0KSA+PiBQQUdF X1NISUZUIDoKLSAgICAgICAgICAgICAgICAgICAgIGQtPnRvdF9wYWdlczsKKyAgICAgICAgICAg ICAgICAgICAgIGRvbWFpbl90b3RfcGFnZXMoZCk7CiAgICAgICAgIGluaXRyZF9tZm4gPSBtZm4g PSBpbml0cmQtPm1vZF9zdGFydDsKICAgICAgICAgY291bnQgPSBQRk5fVVAoaW5pdHJkX2xlbik7 CiAgICAgICAgIGlmICggZC0+YXJjaC5waHlzYWRkcl9iaXRzaXplICYmCkBAIC01NDEsOSArNTQy LDkgQEAgaW50IF9faW5pdCBkb20wX2NvbnN0cnVjdF9wdihzdHJ1Y3QgZG9tYWluICpkLAogICAg IHByaW50aygiUEhZU0lDQUwgTUVNT1JZIEFSUkFOR0VNRU5UOlxuIgogICAgICAgICAgICAiIERv bTAgYWxsb2MuOiAgICUiUFJJcGFkZHIiLT4lIlBSSXBhZGRyLAogICAgICAgICAgICBwZm5fdG9f cGFkZHIoYWxsb2Nfc3BmbiksIHBmbl90b19wYWRkcihhbGxvY19lcGZuKSk7Ci0gICAgaWYgKCBk LT50b3RfcGFnZXMgPCBucl9wYWdlcyApCisgICAgaWYgKCBkb21haW5fdG90X3BhZ2VzKGQpIDwg bnJfcGFnZXMgKQogICAgICAgICBwcmludGsoIiAoJWx1IHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCki LAotICAgICAgICAgICAgICAgbnJfcGFnZXMgLSBkLT50b3RfcGFnZXMpOworICAgICAgICAgICAg ICAgbnJfcGFnZXMgLSBkb21haW5fdG90X3BhZ2VzKGQpKTsKICAgICBpZiAoIGluaXRyZCApCiAg ICAgewogICAgICAgICBtcHRfYWxsb2MgPSAocGFkZHJfdClpbml0cmQtPm1vZF9zdGFydCA8PCBQ QUdFX1NISUZUOwpAQCAtNzU1LDcgKzc1Niw3IEBAIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3Rf cHYoc3RydWN0IGRvbWFpbiAqZCwKICAgICBzbnByaW50ZihzaS0+bWFnaWMsIHNpemVvZihzaS0+ bWFnaWMpLCAieGVuLTMuMC14ODZfJWQlcyIsCiAgICAgICAgICAgICAgZWxmXzY0Yml0KCZlbGYp ID8gNjQgOiAzMiwgcGFybXMucGFlID8gInAiIDogIiIpOwogCi0gICAgY291bnQgPSBkLT50b3Rf cGFnZXM7CisgICAgY291bnQgPSBkb21haW5fdG90X3BhZ2VzKGQpOwogCiAgICAgLyogU2V0IHVw IHRoZSBwaHlzLT5tYWNoaW5lIHRhYmxlIGlmIG5vdCBwYXJ0IG9mIHRoZSBpbml0aWFsIG1hcHBp bmcuICovCiAgICAgaWYgKCBwYXJtcy5wMm1fYmFzZSAhPSBVTlNFVF9BRERSICkKQEAgLTc4Niw3 ICs3ODcsNyBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQs CiAgICAgICAgICAgICBwcm9jZXNzX3BlbmRpbmdfc29mdGlycXMoKTsKICAgICB9CiAgICAgc2kt PmZpcnN0X3AybV9wZm4gPSBwZm47Ci0gICAgc2ktPm5yX3AybV9mcmFtZXMgPSBkLT50b3RfcGFn ZXMgLSBjb3VudDsKKyAgICBzaS0+bnJfcDJtX2ZyYW1lcyA9IGRvbWFpbl90b3RfcGFnZXMoZCkg LSBjb3VudDsKICAgICBwYWdlX2xpc3RfZm9yX2VhY2ggKCBwYWdlLCAmZC0+cGFnZV9saXN0ICkK ICAgICB7CiAgICAgICAgIG1mbiA9IG1mbl94KHBhZ2VfdG9fbWZuKHBhZ2UpKTsKQEAgLTgwNCwx NSArODA1LDE1IEBAIGludCBfX2luaXQgZG9tMF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAq ZCwKICAgICAgICAgICAgICAgICBwcm9jZXNzX3BlbmRpbmdfc29mdGlycXMoKTsKICAgICAgICAg fQogICAgIH0KLSAgICBCVUdfT04ocGZuICE9IGQtPnRvdF9wYWdlcyk7CisgICAgQlVHX09OKHBm biAhPSBkb21haW5fdG90X3BhZ2VzKGQpKTsKICNpZm5kZWYgTkRFQlVHCiAgICAgYWxsb2NfZXBm biArPSBQRk5fVVAoaW5pdHJkX2xlbikgKyBzaS0+bnJfcDJtX2ZyYW1lczsKICNlbmRpZgogICAg IHdoaWxlICggcGZuIDwgbnJfcGFnZXMgKQogICAgIHsKLSAgICAgICAgaWYgKCAocGFnZSA9IGFs bG9jX2NodW5rKGQsIG5yX3BhZ2VzIC0gZC0+dG90X3BhZ2VzKSkgPT0gTlVMTCApCisgICAgICAg IGlmICggKHBhZ2UgPSBhbGxvY19jaHVuayhkLCBucl9wYWdlcyAtIGRvbWFpbl90b3RfcGFnZXMo ZCkpKSA9PSBOVUxMICkKICAgICAgICAgICAgIHBhbmljKCJOb3QgZW5vdWdoIFJBTSBmb3IgRE9N MCByZXNlcnZhdGlvblxuIik7Ci0gICAgICAgIHdoaWxlICggcGZuIDwgZC0+dG90X3BhZ2VzICkK KyAgICAgICAgd2hpbGUgKCBwZm4gPCBkb21haW5fdG90X3BhZ2VzKGQpICkKICAgICAgICAgewog ICAgICAgICAgICAgbWZuID0gbWZuX3gocGFnZV90b19tZm4ocGFnZSkpOwogI2lmbmRlZiBOREVC VUcKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9w di9kb21haW4uYwppbmRleCA0ZGEwYjJhZmZmLi5jOTU2NTJkMWI4IDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvcHYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCkBAIC0x NzMsNyArMTczLDcgQEAgaW50IHN3aXRjaF9jb21wYXQoc3RydWN0IGRvbWFpbiAqZCkKIAogICAg IEJVSUxEX0JVR19PTihvZmZzZXRvZihzdHJ1Y3Qgc2hhcmVkX2luZm8sIHZjcHVfaW5mbykgIT0g MCk7CiAKLSAgICBpZiAoIGlzX2h2bV9kb21haW4oZCkgfHwgZC0+dG90X3BhZ2VzICE9IDAgKQor ICAgIGlmICggaXNfaHZtX2RvbWFpbihkKSB8fCBkb21haW5fdG90X3BhZ2VzKGQpICE9IDAgKQog ICAgICAgICByZXR1cm4gLUVBQ0NFUzsKICAgICBpZiAoIGlzX3B2XzMyYml0X2RvbWFpbihkKSAp CiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L3NoaW0uYyBi L3hlbi9hcmNoL3g4Ni9wdi9zaGltLmMKaW5kZXggN2E4OThmZGJlNS4uZjZkODc5NGM2MiAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L3NoaW0uYworKysgYi94ZW4vYXJjaC94ODYvcHYvc2hp bS5jCkBAIC0yNjgsNyArMjY4LDcgQEAgdm9pZCBfX2luaXQgcHZfc2hpbV9zZXR1cF9kb20oc3Ry dWN0IGRvbWFpbiAqZCwgbDRfcGdlbnRyeV90ICpsNHN0YXJ0LAogICAgICAqIFNldCB0aGUgbWF4 IHBhZ2VzIHRvIHRoZSBjdXJyZW50IG51bWJlciBvZiBwYWdlcyB0byBwcmV2ZW50IHRoZQogICAg ICAqIGd1ZXN0IGZyb20gZGVwbGV0aW5nIHRoZSBzaGltIG1lbW9yeSBwb29sLgogICAgICAqLwot ICAgIGQtPm1heF9wYWdlcyA9IGQtPnRvdF9wYWdlczsKKyAgICBkLT5tYXhfcGFnZXMgPSBkb21h aW5fdG90X3BhZ2VzKGQpOwogfQogCiBzdGF0aWMgdm9pZCB3cml0ZV9zdGFydF9pbmZvKHN0cnVj dCBkb21haW4gKmQpCkBAIC0yODAsNyArMjgwLDcgQEAgc3RhdGljIHZvaWQgd3JpdGVfc3RhcnRf aW5mbyhzdHJ1Y3QgZG9tYWluICpkKQogCiAgICAgc25wcmludGYoc2ktPm1hZ2ljLCBzaXplb2Yo c2ktPm1hZ2ljKSwgInhlbi0zLjAteDg2XyVzIiwKICAgICAgICAgICAgICBpc19wdl8zMmJpdF9k b21haW4oZCkgPyAiMzJwIiA6ICI2NCIpOwotICAgIHNpLT5ucl9wYWdlcyA9IGQtPnRvdF9wYWdl czsKKyAgICBzaS0+bnJfcGFnZXMgPSBkb21haW5fdG90X3BhZ2VzKGQpOwogICAgIHNpLT5zaGFy ZWRfaW5mbyA9IHZpcnRfdG9fbWFkZHIoZC0+c2hhcmVkX2luZm8pOwogICAgIHNpLT5mbGFncyA9 IDA7CiAgICAgQlVHX09OKHhlbl9oeXBlcmNhbGxfaHZtX2dldF9wYXJhbShIVk1fUEFSQU1fU1RP UkVfUEZOLCAmc2ktPnN0b3JlX21mbikpOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kb21jdGwu YyBiL3hlbi9jb21tb24vZG9tY3RsLmMKaW5kZXggOGI4MTlmNTZlNS4uYmRjMjRiYmQ3YyAxMDA2 NDQKLS0tIGEveGVuL2NvbW1vbi9kb21jdGwuYworKysgYi94ZW4vY29tbW9uL2RvbWN0bC5jCkBA IC0xOTEsNyArMTkxLDcgQEAgdm9pZCBnZXRkb21haW5pbmZvKHN0cnVjdCBkb21haW4gKmQsIHN0 cnVjdCB4ZW5fZG9tY3RsX2dldGRvbWFpbmluZm8gKmluZm8pCiAKICAgICB4c21fc2VjdXJpdHlf ZG9tYWluaW5mbyhkLCBpbmZvKTsKIAotICAgIGluZm8tPnRvdF9wYWdlcyAgICAgICAgID0gZC0+ dG90X3BhZ2VzOworICAgIGluZm8tPnRvdF9wYWdlcyAgICAgICAgID0gZG9tYWluX3RvdF9wYWdl cyhkKTsKICAgICBpbmZvLT5tYXhfcGFnZXMgICAgICAgICA9IGQtPm1heF9wYWdlczsKICAgICBp bmZvLT5vdXRzdGFuZGluZ19wYWdlcyA9IGQtPm91dHN0YW5kaW5nX3BhZ2VzOwogICAgIGluZm8t PnNocl9wYWdlcyAgICAgICAgID0gYXRvbWljX3JlYWQoJmQtPnNocl9wYWdlcyk7CmRpZmYgLS1n aXQgYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMK aW5kZXggNTUzNmQyODJiOS4uOGJlZTZiM2I2NiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9ncmFu dF90YWJsZS5jCisrKyBiL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYwpAQCAtMjI2MSw3ICsyMjYx LDcgQEAgZ250dGFiX3RyYW5zZmVyKAogICAgICAgICAgKiBwYWdlcyB3aGVuIGl0IGlzIGR5aW5n LgogICAgICAgICAgKi8KICAgICAgICAgaWYgKCB1bmxpa2VseShlLT5pc19keWluZykgfHwKLSAg ICAgICAgICAgICB1bmxpa2VseShlLT50b3RfcGFnZXMgPj0gZS0+bWF4X3BhZ2VzKSApCisgICAg ICAgICAgICAgdW5saWtlbHkoZG9tYWluX3RvdF9wYWdlcyhlKSA+PSBlLT5tYXhfcGFnZXMpICkK ICAgICAgICAgewogICAgICAgICAgICAgc3Bpbl91bmxvY2soJmUtPnBhZ2VfYWxsb2NfbG9jayk7 CiAKQEAgLTIyNzEsNyArMjI3MSw3IEBAIGdudHRhYl90cmFuc2ZlcigKICAgICAgICAgICAgIGVs c2UKICAgICAgICAgICAgICAgICBnZHByaW50ayhYRU5MT0dfSU5GTywKICAgICAgICAgICAgICAg ICAgICAgICAgICAiVHJhbnNmZXJlZSBkJWQgaGFzIG5vIGhlYWRyb29tICh0b3QgJXUsIG1heCAl dSlcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZS0+ZG9tYWluX2lkLCBlLT50b3RfcGFn ZXMsIGUtPm1heF9wYWdlcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgZS0+ZG9tYWluX2lk LCBkb21haW5fdG90X3BhZ2VzKGUpLCBlLT5tYXhfcGFnZXMpOwogCiAgICAgICAgICAgICBnb3Au c3RhdHVzID0gR05UU1RfZ2VuZXJhbF9lcnJvcjsKICAgICAgICAgICAgIGdvdG8gdW5sb2NrX2Fu ZF9jb3B5YmFjazsKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24va2V5aGFuZGxlci5jIGIveGVuL2Nv bW1vbi9rZXloYW5kbGVyLmMKaW5kZXggZjUwNDkwZDBmMy4uODdiZDE0NTM3NCAxMDA2NDQKLS0t IGEveGVuL2NvbW1vbi9rZXloYW5kbGVyLmMKKysrIGIveGVuL2NvbW1vbi9rZXloYW5kbGVyLmMK QEAgLTI3MSw3ICsyNzEsNyBAQCBzdGF0aWMgdm9pZCBkdW1wX2RvbWFpbnModW5zaWduZWQgY2hh ciBrZXkpCiAgICAgICAgICAgICAgICBhdG9taWNfcmVhZCgmZC0+cGF1c2VfY291bnQpKTsKICAg ICAgICAgcHJpbnRrKCIgICAgbnJfcGFnZXM9JWQgeGVuaGVhcF9wYWdlcz0lZCBzaGFyZWRfcGFn ZXM9JXUgcGFnZWRfcGFnZXM9JXUgIgogICAgICAgICAgICAgICAgImRpcnR5X2NwdXM9eyUqcGJs fSBtYXhfcGFnZXM9JXVcbiIsCi0gICAgICAgICAgICAgICBkLT50b3RfcGFnZXMsIGQtPnhlbmhl YXBfcGFnZXMsIGF0b21pY19yZWFkKCZkLT5zaHJfcGFnZXMpLAorICAgICAgICAgICAgICAgZG9t YWluX3RvdF9wYWdlcyhkKSwgZC0+eGVuaGVhcF9wYWdlcywgYXRvbWljX3JlYWQoJmQtPnNocl9w YWdlcyksCiAgICAgICAgICAgICAgICBhdG9taWNfcmVhZCgmZC0+cGFnZWRfcGFnZXMpLCBDUFVN QVNLX1BSKGQtPmRpcnR5X2NwdW1hc2spLAogICAgICAgICAgICAgICAgZC0+bWF4X3BhZ2VzKTsK ICAgICAgICAgcHJpbnRrKCIgICAgaGFuZGxlPSUwMnglMDJ4JTAyeCUwMngtJTAyeCUwMngtJTAy eCUwMngtIgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24vbWVt b3J5LmMKaW5kZXggYzdkMmJhYzQ1Mi4uMzhjYjVkMGJiNCAxMDA2NDQKLS0tIGEveGVuL2NvbW1v bi9tZW1vcnkuYworKysgYi94ZW4vY29tbW9uL21lbW9yeS5jCkBAIC0xMjY3LDcgKzEyNjcsNyBA QCBsb25nIGRvX21lbW9yeV9vcCh1bnNpZ25lZCBsb25nIGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9Q QVJBTSh2b2lkKSBhcmcpCiAgICAgICAgIHN3aXRjaCAoIG9wICkKICAgICAgICAgewogICAgICAg ICBjYXNlIFhFTk1FTV9jdXJyZW50X3Jlc2VydmF0aW9uOgotICAgICAgICAgICAgcmMgPSBkLT50 b3RfcGFnZXM7CisgICAgICAgICAgICByYyA9IGRvbWFpbl90b3RfcGFnZXMoZCk7CiAgICAgICAg ICAgICBicmVhazsKICAgICAgICAgY2FzZSBYRU5NRU1fbWF4aW11bV9yZXNlcnZhdGlvbjoKICAg ICAgICAgICAgIHJjID0gZC0+bWF4X3BhZ2VzOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9wYWdl X2FsbG9jLmMgYi94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYwppbmRleCA5MTlhMjcwNTg3Li5iYmQz MTYzOTA5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYworKysgYi94ZW4vY29t bW9uL3BhZ2VfYWxsb2MuYwpAQCAtNTE4LDggKzUxOCw4IEBAIGludCBkb21haW5fc2V0X291dHN0 YW5kaW5nX3BhZ2VzKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgcGFnZXMpCiAgICAg ICAgIGdvdG8gb3V0OwogICAgIH0KIAotICAgIC8qIGRpc2FsbG93IGEgY2xhaW0gbm90IGV4Y2Vl ZGluZyBjdXJyZW50IHRvdF9wYWdlcyBvciBhYm92ZSBtYXhfcGFnZXMgKi8KLSAgICBpZiAoIChw YWdlcyA8PSBkLT50b3RfcGFnZXMpIHx8IChwYWdlcyA+IGQtPm1heF9wYWdlcykgKQorICAgIC8q IGRpc2FsbG93IGEgY2xhaW0gbm90IGV4Y2VlZGluZyBkb21haW5fdG90X3BhZ2VzKCkgb3IgYWJv dmUgbWF4X3BhZ2VzICovCisgICAgaWYgKCAocGFnZXMgPD0gZG9tYWluX3RvdF9wYWdlcyhkKSkg fHwgKHBhZ2VzID4gZC0+bWF4X3BhZ2VzKSApCiAgICAgewogICAgICAgICByZXQgPSAtRUlOVkFM OwogICAgICAgICBnb3RvIG91dDsKQEAgLTUzMiw5ICs1MzIsOSBAQCBpbnQgZG9tYWluX3NldF9v dXRzdGFuZGluZ19wYWdlcyhzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHBhZ2VzKQog CiAgICAgLyoKICAgICAgKiBOb3RlLCBpZiBkb21haW4gaGFzIGFscmVhZHkgYWxsb2NhdGVkIG1l bW9yeSBiZWZvcmUgbWFraW5nIGEgY2xhaW0KLSAgICAgKiB0aGVuIHRoZSBjbGFpbSBtdXN0IHRh a2UgdG90X3BhZ2VzIGludG8gYWNjb3VudAorICAgICAqIHRoZW4gdGhlIGNsYWltIG11c3QgdGFr ZSBkb21haW5fdG90X3BhZ2VzKCkgaW50byBhY2NvdW50CiAgICAgICovCi0gICAgY2xhaW0gPSBw YWdlcyAtIGQtPnRvdF9wYWdlczsKKyAgICBjbGFpbSA9IHBhZ2VzIC0gZG9tYWluX3RvdF9wYWdl cyhkKTsKICAgICBpZiAoIGNsYWltID4gYXZhaWxfcGFnZXMgKQogICAgICAgICBnb3RvIG91dDsK IApAQCAtMjI2OSwxMSArMjI2OSwxMiBAQCBpbnQgYXNzaWduX3BhZ2VzKAogCiAgICAgaWYgKCAh KG1lbWZsYWdzICYgTUVNRl9ub19yZWZjb3VudCkgKQogICAgIHsKLSAgICAgICAgaWYgKCB1bmxp a2VseSgoZC0+dG90X3BhZ2VzICsgKDEgPDwgb3JkZXIpKSA+IGQtPm1heF9wYWdlcykgKQorICAg ICAgICB1bnNpZ25lZCBpbnQgdG90X3BhZ2VzID0gZG9tYWluX3RvdF9wYWdlcyhkKSArICgxIDw8 IG9yZGVyKTsKKworICAgICAgICBpZiAoIHVubGlrZWx5KHRvdF9wYWdlcyA+IGQtPm1heF9wYWdl cykgKQogICAgICAgICB7CiAgICAgICAgICAgICBncHJpbnRrKFhFTkxPR19JTkZPLCAiT3Zlci1h bGxvY2F0aW9uIGZvciBkb21haW4gJXU6ICIKLSAgICAgICAgICAgICAgICAgICAgIiV1ID4gJXVc biIsIGQtPmRvbWFpbl9pZCwKLSAgICAgICAgICAgICAgICAgICAgZC0+dG90X3BhZ2VzICsgKDEg PDwgb3JkZXIpLCBkLT5tYXhfcGFnZXMpOworICAgICAgICAgICAgICAgICAgICAiJXUgPiAldVxu IiwgZC0+ZG9tYWluX2lkLCB0b3RfcGFnZXMsIGQtPm1heF9wYWdlcyk7CiAgICAgICAgICAgICBy YyA9IC1FMkJJRzsKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICB9CmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvbWVtb3J5 LmgKaW5kZXggY2ZkZGE2ZTJhOC4uMTI2ZDBmZjA2ZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv cHVibGljL21lbW9yeS5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9tZW1vcnkuaApAQCAtNTUz LDggKzU1Myw4IEBAIERFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9tZW1fc2hhcmluZ19vcF90 KTsKICAqCiAgKiBOb3RlIHRoYXQgYSB2YWxpZCBjbGFpbSBtYXkgYmUgc3Rha2VkIGV2ZW4gYWZ0 ZXIgbWVtb3J5IGhhcyBiZWVuCiAgKiBhbGxvY2F0ZWQgZm9yIGEgZG9tYWluLiAgSW4gdGhpcyBj YXNlLCB0aGUgY2xhaW0gaXMgbm90IGluY3JlbWVudGFsLAotICogaS5lLiBpZiB0aGUgZG9tYWlu J3MgdG90X3BhZ2VzIGlzIDMsIGFuZCBhIGNsYWltIGlzIHN0YWtlZCBmb3IgMTAsCi0gKiBvbmx5 IDcgYWRkaXRpb25hbCBwYWdlcyBhcmUgY2xhaW1lZC4KKyAqIGkuZS4gaWYgdGhlIGRvbWFpbidz IHRvdGFsIHBhZ2UgY291bnQgaXMgMywgYW5kIGEgY2xhaW0gaXMgc3Rha2VkCisgKiBmb3IgMTAs IG9ubHkgNyBhZGRpdGlvbmFsIHBhZ2VzIGFyZSBjbGFpbWVkLgogICoKICAqIENhbGxlciBtdXN0 IGJlIHByaXZpbGVnZWQgb3IgdGhlIGh5cGVyY2FsbCBmYWlscy4KICAqLwpkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUveGVuL3NjaGVkLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaAppbmRleCA3 YzVjNDM3MjQ3Li4xYjZkN2I5NDFmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQu aAorKysgYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaApAQCAtMzY0LDEyICszNjQsMTggQEAgc3Ry dWN0IGRvbWFpbgogICAgIHNwaW5sb2NrX3QgICAgICAgcGFnZV9hbGxvY19sb2NrOyAvKiBwcm90 ZWN0cyBhbGwgdGhlIGZvbGxvd2luZyBmaWVsZHMgICovCiAgICAgc3RydWN0IHBhZ2VfbGlzdF9o ZWFkIHBhZ2VfbGlzdDsgIC8qIGxpbmtlZCBsaXN0ICovCiAgICAgc3RydWN0IHBhZ2VfbGlzdF9o ZWFkIHhlbnBhZ2VfbGlzdDsgLyogbGlua2VkIGxpc3QgKHNpemUgeGVuaGVhcF9wYWdlcykgKi8K LSAgICB1bnNpZ25lZCBpbnQgICAgIHRvdF9wYWdlczsgICAgICAgLyogbnVtYmVyIG9mIHBhZ2Vz IGN1cnJlbnRseSBwb3NzZXNlZCAqLwotICAgIHVuc2lnbmVkIGludCAgICAgeGVuaGVhcF9wYWdl czsgICAvKiAjIHBhZ2VzIGFsbG9jYXRlZCBmcm9tIFhlbiBoZWFwICAgICovCi0gICAgdW5zaWdu ZWQgaW50ICAgICBvdXRzdGFuZGluZ19wYWdlczsgLyogcGFnZXMgY2xhaW1lZCBidXQgbm90IHBv c3Nlc3NlZCAgKi8KLSAgICB1bnNpZ25lZCBpbnQgICAgIG1heF9wYWdlczsgICAgICAgLyogbWF4 aW11bSB2YWx1ZSBmb3IgdG90X3BhZ2VzICAgICAgICAqLwotICAgIGF0b21pY190ICAgICAgICAg c2hyX3BhZ2VzOyAgICAgICAvKiBudW1iZXIgb2Ygc2hhcmVkIHBhZ2VzICAgICAgICAgICAgICov Ci0gICAgYXRvbWljX3QgICAgICAgICBwYWdlZF9wYWdlczsgICAgIC8qIG51bWJlciBvZiBwYWdl ZC1vdXQgcGFnZXMgICAgICAgICAgKi8KKworICAgIC8qCisgICAgICogVGhpcyBmaWVsZCBzaG91 bGQgb25seSBiZSBkaXJlY3RseSBhY2Nlc3NlZCBieSBkb21haW5fYWRqdXN0X3RvdF9wYWdlcygp CisgICAgICogYW5kIHRoZSBkb21haW5fdG90X3BhZ2VzKCkgaGVscGVyIGZ1bmN0aW9uIGRlZmlu ZWQgYmVsb3cuCisgICAgICovCisgICAgdW5zaWduZWQgaW50ICAgICB0b3RfcGFnZXM7CisKKyAg ICB1bnNpZ25lZCBpbnQgICAgIHhlbmhlYXBfcGFnZXM7ICAgICAvKiBwYWdlcyBhbGxvY2F0ZWQg ZnJvbSBYZW4gaGVhcCAqLworICAgIHVuc2lnbmVkIGludCAgICAgb3V0c3RhbmRpbmdfcGFnZXM7 IC8qIHBhZ2VzIGNsYWltZWQgYnV0IG5vdCBwb3NzZXNzZWQgKi8KKyAgICB1bnNpZ25lZCBpbnQg ICAgIG1heF9wYWdlczsgICAgICAgICAvKiBtYXhpbXVtIHZhbHVlIGZvciBkb21haW5fdG90X3Bh Z2VzKCkgKi8KKyAgICBhdG9taWNfdCAgICAgICAgIHNocl9wYWdlczsgICAgICAgICAvKiBzaGFy ZWQgcGFnZXMgKi8KKyAgICBhdG9taWNfdCAgICAgICAgIHBhZ2VkX3BhZ2VzOyAgICAgICAvKiBw YWdlZC1vdXQgcGFnZXMgKi8KIAogICAgIC8qIFNjaGVkdWxpbmcuICovCiAgICAgdm9pZCAgICAg ICAgICAgICpzY2hlZF9wcml2OyAgICAvKiBzY2hlZHVsZXItc3BlY2lmaWMgZGF0YSAqLwpAQCAt NTM5LDYgKzU0NSwxMiBAQCBzdHJ1Y3QgZG9tYWluCiAjZW5kaWYKIH07CiAKKy8qIFJldHVybiBu dW1iZXIgb2YgcGFnZXMgY3VycmVudGx5IHBvc2Vzc2VkIGJ5IHRoZSBkb21haW4gKi8KK3N0YXRp YyBpbmxpbmUgdW5zaWduZWQgaW50IGRvbWFpbl90b3RfcGFnZXMoY29uc3Qgc3RydWN0IGRvbWFp biAqZCkKK3sKKyAgICByZXR1cm4gZC0+dG90X3BhZ2VzOworfQorCiAvKiBQcm90ZWN0IHVwZGF0 ZXMvcmVhZHMgKHJlc3AuKSBvZiBkb21haW5fbGlzdCBhbmQgZG9tYWluX2hhc2guICovCiBleHRl cm4gc3BpbmxvY2tfdCBkb21saXN0X3VwZGF0ZV9sb2NrOwogZXh0ZXJuIHJjdV9yZWFkX2xvY2tf dCBkb21saXN0X3JlYWRfbG9jazsKLS0gCjIuMjAuMQoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h bi9saXN0aW5mby94ZW4tZGV2ZWw=