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.7 required=3.0 tests=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 23A2AC3404D for ; Wed, 19 Feb 2020 08:12:21 +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 E81652176D for ; Wed, 19 Feb 2020 08:12:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E81652176D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.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 1j4KSn-0008Nn-7C; Wed, 19 Feb 2020 08:12:09 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1j4KSl-0008Mi-Ka for xen-devel@lists.xenproject.org; Wed, 19 Feb 2020 08:12:07 +0000 X-Inumbo-ID: 70adf9f0-52ef-11ea-ade5-bc764e2007e4 Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 70adf9f0-52ef-11ea-ade5-bc764e2007e4; Wed, 19 Feb 2020 08:11:33 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 25AB4B26E; Wed, 19 Feb 2020 08:11:31 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Wed, 19 Feb 2020 09:11:26 +0100 Message-Id: <20200219081126.29534-9-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200219081126.29534-1-jgross@suse.com> References: <20200219081126.29534-1-jgross@suse.com> Subject: [Xen-devel] [PATCH v5 8/8] xen: add runtime parameter access support to hypfs 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: Juergen Gross , Kevin Tian , Stefano Stabellini , Julien Grall , Jun Nakajima , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Jan Beulich , Volodymyr Babchuk , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" QWRkIHN1cHBvcnQgdG8gcmVhZCBhbmQgbW9kaWZ5IHZhbHVlcyBvZiBoeXBlcnZpc29yIHJ1bnRp bWUgcGFyYW1ldGVycwp2aWEgdGhlIGh5cGVydmlzb3IgZmlsZSBzeXN0ZW0uCgpBcyBydW50aW1l IHBhcmFtZXRlcnMgY2FuIGJlIG1vZGlmaWVkIHZpYSBhIHN5c2N0bCwgdG9vLCB0aGlzIHBhdGgg aGFzCnRvIHRha2UgdGhlIGh5cGZzIHJ3X2xvY2sgYXMgd3JpdGVyLgoKRm9yIGN1c3RvbSBydW50 aW1lIHBhcmFtZXRlcnMgdGhlIHJlc3VsdGluZyBwYXJhbWV0ZXIgdmFsdWUgbmVlZHMgdG8KYmUg c3RvcmVkIGluIGEgc3RyaW5nIGJ1ZmZlciBmb3IgYmVpbmcgY29uc3VtYWJsZSBieSB0aGUgZmls ZSBzeXN0ZW0uCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ Ci0tLQpWMzoKLSBjb21wbGV0ZSByZXdvcmsKLSBzdXBwb3J0IGN1c3RvbSBwYXJhbWV0ZXJzLCB0 b28KLSBzdXBwb3J0IHBhcmFtZXRlciB3cml0aW5nCi0tLQogZG9jcy9taXNjL2h5cGZzLXBhdGhz LnBhbmRvYyB8ICA5ICsrKysrKwogeGVuL2FyY2gvYXJtL3hlbi5sZHMuUyAgICAgICB8ICA1ICsr KwogeGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5jICB8IDE3ICsrKysrKysrKy0KIHhlbi9hcmNo L3g4Ni9wdi9kb21haW4uYyAgICAgfCAgNyArKysrLQogeGVuL2FyY2gveDg2L3hlbi5sZHMuUyAg ICAgICB8ICA1ICsrKwogeGVuL2NvbW1vbi9ncmFudF90YWJsZS5jICAgICB8IDE3ICsrKysrKyst LS0KIHhlbi9jb21tb24vaHlwZnMuYyAgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysr KysrKwogeGVuL2NvbW1vbi9rZXJuZWwuYyAgICAgICAgICB8IDIzICsrKysrKysrKysrKystCiB4 ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYyAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0KIHhlbi9pbmNsdWRlL3hlbi9oeXBmcy5oICAgICAgfCAgNCArKysKIHhlbi9pbmNsdWRl L3hlbi9wYXJhbS5oICAgICAgfCA3NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLQogMTEgZmlsZXMgY2hhbmdlZCwgMjI2IGluc2VydGlvbnMoKyksIDIyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy9oeXBmcy1wYXRocy5wYW5kb2MgYi9kb2Nz L21pc2MvaHlwZnMtcGF0aHMucGFuZG9jCmluZGV4IDFmYWViY2NjYmMuLjdkMDM4NTJjY2QgMTAw NjQ0Ci0tLSBhL2RvY3MvbWlzYy9oeXBmcy1wYXRocy5wYW5kb2MKKysrIGIvZG9jcy9taXNjL2h5 cGZzLXBhdGhzLnBhbmRvYwpAQCAtMTUyLDMgKzE1MiwxMiBAQCBUaGUgbWFqb3IgdmVyc2lvbiBv ZiBYZW4uCiAjIyMjIC9idWlsZGluZm8vdmVyc2lvbi9taW5vciA9IElOVEVHRVIKIAogVGhlIG1p bm9yIHZlcnNpb24gb2YgWGVuLgorCisjIyMjIC9wYXJhbXMvCisKK0EgZGlyZWN0b3J5IG9mIHJ1 bnRpbWUgcGFyYW1ldGVycy4KKworIyMjIyAvcGFyYW1zLyoKKworVGhlIHNpbmdsZSBwYXJhbWV0 ZXJzLiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGRpZmZlcmVudCBwYXJhbWV0ZXJzIGNhbiBiZQor Zm91bmQgaW4gYGRvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvY2AuCmRpZmYgLS1naXQg YS94ZW4vYXJjaC9hcm0veGVuLmxkcy5TIGIveGVuL2FyY2gvYXJtL3hlbi5sZHMuUwppbmRleCBh NDk3ZjZhNDhkLi4wMDYxYThkZmVhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0veGVuLmxkcy5T CisrKyBiL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMKQEAgLTg5LDYgKzg5LDExIEBAIFNFQ1RJT05T CiAgICAgICAgX19zdGFydF9zY2hlZHVsZXJzX2FycmF5ID0gLjsKICAgICAgICAqKC5kYXRhLnNj aGVkdWxlcnMpCiAgICAgICAgX19lbmRfc2NoZWR1bGVyc19hcnJheSA9IC47CisKKyAgICAgICAu ID0gQUxJR04oOCk7CisgICAgICAgX19wYXJhbWh5cGZzX3N0YXJ0ID0gLjsKKyAgICAgICAqKC5k YXRhLnBhcmFtaHlwZnMpCisgICAgICAgX19wYXJhbWh5cGZzX2VuZCA9IC47CiAgICAgICAgKigu ZGF0YS5yZWwpCiAgICAgICAgKiguZGF0YS5yZWwuKikKICAgICAgICBDT05TVFJVQ1RPUlMKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZtY3MuYyBiL3hlbi9hcmNoL3g4Ni9odm0v dm14L3ZtY3MuYwppbmRleCA2NTQ0NWFmZWIwLi4zNmRkY2NmYjczIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvaHZtL3ZteC92bWNzLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm1jcy5j CkBAIC03MCw2ICs3MCwxNyBAQCBpbnRlZ2VyX3BhcmFtKCJwbGVfd2luZG93IiwgcGxlX3dpbmRv dyk7CiBzdGF0aWMgYm9vbCBfX3JlYWRfbW9zdGx5IG9wdF9lcHRfcG1sID0gdHJ1ZTsKIHN0YXRp YyBzOCBfX3JlYWRfbW9zdGx5IG9wdF9lcHRfYWQgPSAtMTsKIGludDhfdCBfX3JlYWRfbW9zdGx5 IG9wdF9lcHRfZXhlY19zcCA9IC0xOworc3RhdGljIGNoYXIgb3B0X2VwdF9zZXR0aW5nWzE2XSA9 ICJwbWw9MSI7CisKKworc3RhdGljIHZvaWQgdXBkYXRlX2VwdF9wYXJhbSh2b2lkKQoreworICAg IHNucHJpbnRmKG9wdF9lcHRfc2V0dGluZywgc2l6ZW9mKG9wdF9lcHRfc2V0dGluZyksICJwbWw9 JWQiLCBvcHRfZXB0X3BtbCk7CisgICAgaWYgKCBvcHRfZXB0X2FkID49IDAgKQorICAgICAgICBw YXJhbV9hcHBlbmRfc3RyKG9wdF9lcHRfc2V0dGluZywgIixhZD0lZCIsIG9wdF9lcHRfYWQpOwor ICAgIGlmICggb3B0X2VwdF9leGVjX3NwID49IDAgKQorICAgICAgICBwYXJhbV9hcHBlbmRfc3Ry KG9wdF9lcHRfc2V0dGluZywgIixleGVjLXNwPSVkIiwgb3B0X2VwdF9leGVjX3NwKTsKK30KIAog c3RhdGljIGludCBfX2luaXQgcGFyc2VfZXB0X3BhcmFtKGNvbnN0IGNoYXIgKnMpCiB7CkBAIC05 Myw2ICsxMDQsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9lcHRfcGFyYW0oY29uc3QgY2hh ciAqcykKICAgICAgICAgcyA9IHNzICsgMTsKICAgICB9IHdoaWxlICggKnNzICk7CiAKKyAgICB1 cGRhdGVfZXB0X3BhcmFtKCk7CisKICAgICByZXR1cm4gcmM7CiB9CiBjdXN0b21fcGFyYW0oImVw dCIsIHBhcnNlX2VwdF9wYXJhbSk7CkBAIC0xMTUsNiArMTI4LDggQEAgc3RhdGljIGludCBwYXJz ZV9lcHRfcGFyYW1fcnVudGltZShjb25zdCBjaGFyICpzKQogCiAgICAgb3B0X2VwdF9leGVjX3Nw ID0gdmFsOwogCisgICAgdXBkYXRlX2VwdF9wYXJhbSgpOworCiAgICAgcmN1X3JlYWRfbG9jaygm ZG9tbGlzdF9yZWFkX2xvY2spOwogICAgIGZvcl9lYWNoX2RvbWFpbiAoIGQgKQogICAgIHsKQEAg LTE0NCw3ICsxNTksNyBAQCBzdGF0aWMgaW50IHBhcnNlX2VwdF9wYXJhbV9ydW50aW1lKGNvbnN0 IGNoYXIgKnMpCiAKICAgICByZXR1cm4gMDsKIH0KLWN1c3RvbV9ydW50aW1lX29ubHlfcGFyYW0o ImVwdCIsIHBhcnNlX2VwdF9wYXJhbV9ydW50aW1lKTsKK2N1c3RvbV9ydW50aW1lX29ubHlfcGFy YW0oImVwdCIsIHBhcnNlX2VwdF9wYXJhbV9ydW50aW1lLCBvcHRfZXB0X3NldHRpbmcpOwogCiAv KiBEeW5hbWljIChydW4tdGltZSBhZGp1c3RlZCkgZXhlY3V0aW9uIGNvbnRyb2wgZmxhZ3MuICov CiB1MzIgdm14X3Bpbl9iYXNlZF9leGVjX2NvbnRyb2wgX19yZWFkX21vc3RseTsKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYwpp bmRleCAwYjM3NjUzYjEyLi43MWUxZjY5ZmY4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYv ZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCkBAIC0yMiw2ICsyMiw3IEBA IHN0YXRpYyBfX3JlYWRfbW9zdGx5IGVudW0gewogICAgIFBDSURfWFBUSSwKICAgICBQQ0lEX05P WFBUSQogfSBvcHRfcGNpZCA9IFBDSURfWFBUSTsKK3N0YXRpYyBjaGFyIG9wdF9wY2lkX3ZhbFs3 XSA9ICJ4cHRpIjsKIAogc3RhdGljIGludCBwYXJzZV9wY2lkKGNvbnN0IGNoYXIgKnMpCiB7CkBA IC0zMSwxMCArMzIsMTIgQEAgc3RhdGljIGludCBwYXJzZV9wY2lkKGNvbnN0IGNoYXIgKnMpCiAg ICAgewogICAgIGNhc2UgMDoKICAgICAgICAgb3B0X3BjaWQgPSBQQ0lEX09GRjsKKyAgICAgICAg c25wcmludGYob3B0X3BjaWRfdmFsLCBzaXplb2Yob3B0X3BjaWRfdmFsKSwgIm9mZiIpOwogICAg ICAgICBicmVhazsKIAogICAgIGNhc2UgMToKICAgICAgICAgb3B0X3BjaWQgPSBQQ0lEX0FMTDsK KyAgICAgICAgc25wcmludGYob3B0X3BjaWRfdmFsLCBzaXplb2Yob3B0X3BjaWRfdmFsKSwgIm9u Iik7CiAgICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKQEAgLTQyLDEwICs0NSwxMiBAQCBz dGF0aWMgaW50IHBhcnNlX3BjaWQoY29uc3QgY2hhciAqcykKICAgICAgICAgewogICAgICAgICBj YXNlIDA6CiAgICAgICAgICAgICBvcHRfcGNpZCA9IFBDSURfTk9YUFRJOworICAgICAgICAgICAg c25wcmludGYob3B0X3BjaWRfdmFsLCBzaXplb2Yob3B0X3BjaWRfdmFsKSwgIm5veHB0aSIpOwog ICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgb3B0X3Bj aWQgPSBQQ0lEX1hQVEk7CisgICAgICAgICAgICBzbnByaW50ZihvcHRfcGNpZF92YWwsIHNpemVv ZihvcHRfcGNpZF92YWwpLCAieHB0aSIpOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAg ZGVmYXVsdDoKQEAgLTU3LDcgKzYyLDcgQEAgc3RhdGljIGludCBwYXJzZV9wY2lkKGNvbnN0IGNo YXIgKnMpCiAKICAgICByZXR1cm4gcmM7CiB9Ci1jdXN0b21fcnVudGltZV9wYXJhbSgicGNpZCIs IHBhcnNlX3BjaWQpOworY3VzdG9tX3J1bnRpbWVfcGFyYW0oInBjaWQiLCBwYXJzZV9wY2lkLCBv cHRfcGNpZF92YWwpOwogCiBzdGF0aWMgdm9pZCBub3JldHVybiBjb250aW51ZV9ub25pZGxlX2Rv bWFpbihzdHJ1Y3QgdmNwdSAqdikKIHsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRz LlMgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCmluZGV4IDdmOTQ1OWQ2ODMuLjIxYTM3ZjBmNTcg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKKysrIGIveGVuL2FyY2gveDg2L3hl bi5sZHMuUwpAQCAtMjc5LDYgKzI3OSwxMSBAQCBTRUNUSU9OUwogICAgICAgIF9fc3RhcnRfc2No ZWR1bGVyc19hcnJheSA9IC47CiAgICAgICAgKiguZGF0YS5zY2hlZHVsZXJzKQogICAgICAgIF9f ZW5kX3NjaGVkdWxlcnNfYXJyYXkgPSAuOworCisgICAgICAgLiA9IEFMSUdOKDgpOworICAgICAg IF9fcGFyYW1oeXBmc19zdGFydCA9IC47CisgICAgICAgKiguZGF0YS5wYXJhbWh5cGZzKQorICAg ICAgIF9fcGFyYW1oeXBmc19lbmQgPSAuOwogICB9IDp0ZXh0CiAKICAgREVDTF9TRUNUSU9OKC5k YXRhKSB7CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgYi94ZW4vY29tbW9u L2dyYW50X3RhYmxlLmMKaW5kZXggYmMzN2FjYWUwZS4uZThkY2M5ZTU2OCAxMDA2NDQKLS0tIGEv eGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCisrKyBiL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYwpA QCAtODUsOCArODUsMTAgQEAgc3RydWN0IGdyYW50X3RhYmxlIHsKICAgICBzdHJ1Y3QgZ3JhbnRf dGFibGVfYXJjaCBhcmNoOwogfTsKIAorI2RlZmluZSBQQVJfVkFMX1NaIDEyCisKIHN0YXRpYyBp bnQgcGFyc2VfZ250dGFiX2xpbWl0KGNvbnN0IGNoYXIgKnBhcmFtLCBjb25zdCBjaGFyICphcmcs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnZhbHApCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnZhbHAsIGNoYXIgKnBhcl92 YWwpCiB7CiAgICAgY29uc3QgY2hhciAqZTsKICAgICB1bnNpZ25lZCBsb25nIHZhbDsKQEAgLTk5 LDI4ICsxMDEsMzMgQEAgc3RhdGljIGludCBwYXJzZV9nbnR0YWJfbGltaXQoY29uc3QgY2hhciAq cGFyYW0sIGNvbnN0IGNoYXIgKmFyZywKICAgICAgICAgcmV0dXJuIC1FUkFOR0U7CiAKICAgICAq dmFscCA9IHZhbDsKKyAgICBzbnByaW50ZihwYXJfdmFsLCBQQVJfVkFMX1NaLCAiJWx1IiwgdmFs KTsKIAogICAgIHJldHVybiAwOwogfQogCiB1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSBvcHRf bWF4X2dyYW50X2ZyYW1lcyA9IDY0Oworc3RhdGljIGNoYXIgZ250dGFiX21heF9mcmFtZXNfdmFs W1BBUl9WQUxfU1pdID0gIjY0IjsKIAogc3RhdGljIGludCBwYXJzZV9nbnR0YWJfbWF4X2ZyYW1l cyhjb25zdCBjaGFyICphcmcpCiB7CiAgICAgcmV0dXJuIHBhcnNlX2dudHRhYl9saW1pdCgiZ250 dGFiX21heF9mcmFtZXMiLCBhcmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3B0 X21heF9ncmFudF9mcmFtZXMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wdF9t YXhfZ3JhbnRfZnJhbWVzLCBnbnR0YWJfbWF4X2ZyYW1lc192YWwpOwogfQotY3VzdG9tX3J1bnRp bWVfcGFyYW0oImdudHRhYl9tYXhfZnJhbWVzIiwgcGFyc2VfZ250dGFiX21heF9mcmFtZXMpOwor Y3VzdG9tX3J1bnRpbWVfcGFyYW0oImdudHRhYl9tYXhfZnJhbWVzIiwgcGFyc2VfZ250dGFiX21h eF9mcmFtZXMsCisgICAgICAgICAgICAgICAgICAgICBnbnR0YWJfbWF4X2ZyYW1lc192YWwpOwog CiBzdGF0aWMgdW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgb3B0X21heF9tYXB0cmFja19mcmFt ZXMgPSAxMDI0Oworc3RhdGljIGNoYXIgbWF4X21hcHRyYWNrX2ZyYW1lc192YWxbUEFSX1ZBTF9T Wl0gPSAiMTAyNCI7CiAKIHN0YXRpYyBpbnQgcGFyc2VfZ250dGFiX21heF9tYXB0cmFja19mcmFt ZXMoY29uc3QgY2hhciAqYXJnKQogewogICAgIHJldHVybiBwYXJzZV9nbnR0YWJfbGltaXQoImdu dHRhYl9tYXhfbWFwdHJhY2tfZnJhbWVzIiwgYXJnLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJm9wdF9tYXhfbWFwdHJhY2tfZnJhbWVzKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZvcHRfbWF4X21hcHRyYWNrX2ZyYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1heF9tYXB0cmFja19mcmFtZXNfdmFsKTsKIH0KIGN1c3RvbV9ydW50aW1lX3BhcmFt KCJnbnR0YWJfbWF4X21hcHRyYWNrX2ZyYW1lcyIsCi0gICAgICAgICAgICAgICAgICAgICBwYXJz ZV9nbnR0YWJfbWF4X21hcHRyYWNrX2ZyYW1lcyk7CisgICAgICAgICAgICAgICAgICAgICBwYXJz ZV9nbnR0YWJfbWF4X21hcHRyYWNrX2ZyYW1lcywgbWF4X21hcHRyYWNrX2ZyYW1lc192YWwpOwog CiAjaWZuZGVmIEdOVFRBQl9NQVhfVkVSU0lPTgogI2RlZmluZSBHTlRUQUJfTUFYX1ZFUlNJT04g MgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9oeXBmcy5jIGIveGVuL2NvbW1vbi9oeXBmcy5jCmlu ZGV4IDBhMzJkNDU5NzkuLmU1NjgzMzgwMDIgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vaHlwZnMu YworKysgYi94ZW4vY29tbW9uL2h5cGZzLmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlIDx4 ZW4vaHlwZXJjYWxsLmg+CiAjaW5jbHVkZSA8eGVuL2h5cGZzLmg+CiAjaW5jbHVkZSA8eGVuL2xp Yi5oPgorI2luY2x1ZGUgPHhlbi9wYXJhbS5oPgogI2luY2x1ZGUgPHhlbi9yd2xvY2suaD4KICNp bmNsdWRlIDxwdWJsaWMvaHlwZnMuaD4KIApAQCAtMjg5LDYgKzI5MCwzMyBAQCBpbnQgaHlwZnNf d3JpdGVfYm9vbChzdHJ1Y3QgaHlwZnNfZW50cnlfbGVhZiAqbGVhZiwKICAgICByZXR1cm4gMDsK IH0KIAoraW50IGh5cGZzX3dyaXRlX2N1c3RvbShzdHJ1Y3QgaHlwZnNfZW50cnlfbGVhZiAqbGVh ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1 YWRkciwgdW5zaWduZWQgbG9uZyB1bGVuKQoreworICAgIHN0cnVjdCBwYXJhbV9oeXBmcyAqcDsK KyAgICBjaGFyICpidWY7CisgICAgaW50IHJldDsKKworICAgIGJ1ZiA9IHh6YWxsb2NfYXJyYXko Y2hhciwgdWxlbik7CisgICAgaWYgKCAhYnVmICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisK KyAgICByZXQgPSAtRUZBVUxUOworICAgIGlmICggY29weV9mcm9tX2d1ZXN0KGJ1ZiwgdWFkZHIs IHVsZW4pICkKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICByZXQgPSAtRURPTTsKKyAgICBpZiAo IGJ1Zlt1bGVuIC0gMV0gKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHAgPSBjb250YWluZXJf b2YobGVhZiwgc3RydWN0IHBhcmFtX2h5cGZzLCBoeXBmcyk7CisgICAgcmV0ID0gcC0+cGFyYW0t PnBhci5mdW5jKGJ1Zik7CisKKyBvdXQ6CisgICAgeGZyZWUoYnVmKTsKKyAgICByZXR1cm4gcmV0 OworfQorCiBzdGF0aWMgaW50IGh5cGZzX3dyaXRlKHN0cnVjdCBoeXBmc19lbnRyeSAqZW50cnks CiAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgdWFk ZHIsIHVuc2lnbmVkIGxvbmcgdWxlbikKIHsKQEAgLTM1NSwzICszODMsMTMgQEAgbG9uZyBkb19o eXBmc19vcCh1bnNpZ25lZCBpbnQgY21kLAogCiAgICAgcmV0dXJuIHJldDsKIH0KKwordm9pZCBo eXBmc193cml0ZV9sb2NrKHZvaWQpCit7CisgICAgd3JpdGVfbG9jaygmaHlwZnNfbG9jayk7Cit9 CisKK3ZvaWQgaHlwZnNfd3JpdGVfdW5sb2NrKHZvaWQpCit7CisgICAgd3JpdGVfdW5sb2NrKCZo eXBmc19sb2NrKTsKK30KZGlmZiAtLWdpdCBhL3hlbi9jb21tb24va2VybmVsLmMgYi94ZW4vY29t bW9uL2tlcm5lbC5jCmluZGV4IDNkNDk2YmI5ZTYuLmU2MmExNjgwYzcgMTAwNjQ0Ci0tLSBhL3hl bi9jb21tb24va2VybmVsLmMKKysrIGIveGVuL2NvbW1vbi9rZXJuZWwuYwpAQCAtMTk4LDcgKzE5 OCwxMyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgX2NtZGxpbmVfcGFyc2UoY29uc3QgY2hhciAqY21k bGluZSkKIAogaW50IHJ1bnRpbWVfcGFyc2UoY29uc3QgY2hhciAqbGluZSkKIHsKLSAgICByZXR1 cm4gcGFyc2VfcGFyYW1zKGxpbmUsIF9fcGFyYW1fc3RhcnQsIF9fcGFyYW1fZW5kKTsKKyAgICBp bnQgcmV0OworCisgICAgaHlwZnNfd3JpdGVfbG9jaygpOworICAgIHJldCA9IHBhcnNlX3BhcmFt cyhsaW5lLCBfX3BhcmFtX3N0YXJ0LCBfX3BhcmFtX2VuZCk7CisgICAgaHlwZnNfd3JpdGVfdW5s b2NrKCk7CisKKyAgICByZXR1cm4gcmV0OwogfQogCiAvKioKQEAgLTQyOCw2ICs0MzQsMjEgQEAg c3RhdGljIGludCBfX2luaXQgYnVpbGRpbmZvX2luaXQodm9pZCkKIH0KIF9faW5pdGNhbGwoYnVp bGRpbmZvX2luaXQpOwogCitzdGF0aWMgSFlQRlNfRElSX0lOSVQocGFyYW1zLCAicGFyYW1zIik7 CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcmFtX2luaXQodm9pZCkKK3sKKyAgICBzdHJ1Y3QgcGFy YW1faHlwZnMgKnBhcmFtOworCisgICAgaHlwZnNfYWRkX2RpcigmaHlwZnNfcm9vdCwgJnBhcmFt cywgdHJ1ZSk7CisKKyAgICBmb3IgKCBwYXJhbSA9IF9fcGFyYW1oeXBmc19zdGFydDsgcGFyYW0g PCBfX3BhcmFtaHlwZnNfZW5kOyBwYXJhbSsrICkKKyAgICAgICAgaHlwZnNfYWRkX2xlYWYoJnBh cmFtcywgJnBhcmFtLT5oeXBmcywgdHJ1ZSk7CisKKyAgICByZXR1cm4gMDsKK30KK19faW5pdGNh bGwocGFyYW1faW5pdCk7CisKICMgZGVmaW5lIERPKGZuKSBsb25nIGRvXyMjZm4KIAogI2VuZGlm CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYyBiL3hlbi9kcml2ZXJzL2No YXIvY29uc29sZS5jCmluZGV4IDkxM2FlMWI2NmEuLjU0NDAxNDU1NDkgMTAwNjQ0Ci0tLSBhL3hl bi9kcml2ZXJzL2NoYXIvY29uc29sZS5jCisrKyBiL3hlbi9kcml2ZXJzL2NoYXIvY29uc29sZS5j CkBAIC03OCw5ICs3OCwxMSBAQCBlbnVtIGNvbl90aW1lc3RhbXBfbW9kZQogfTsKIAogc3RhdGlj IGVudW0gY29uX3RpbWVzdGFtcF9tb2RlIF9fcmVhZF9tb3N0bHkgb3B0X2Nvbl90aW1lc3RhbXBf bW9kZSA9IFRTTV9OT05FOworc3RhdGljIGNoYXIgY29uX3RpbWVzdGFtcF9tb2RlX3ZhbFs3XSA9 ICJub25lIjsKIAogc3RhdGljIGludCBwYXJzZV9jb25zb2xlX3RpbWVzdGFtcHMoY29uc3QgY2hh ciAqcyk7Ci1jdXN0b21fcnVudGltZV9wYXJhbSgiY29uc29sZV90aW1lc3RhbXBzIiwgcGFyc2Vf Y29uc29sZV90aW1lc3RhbXBzKTsKK2N1c3RvbV9ydW50aW1lX3BhcmFtKCJjb25zb2xlX3RpbWVz dGFtcHMiLCBwYXJzZV9jb25zb2xlX3RpbWVzdGFtcHMsCisgICAgICAgICAgICAgICAgICAgICBj b25fdGltZXN0YW1wX21vZGVfdmFsKTsKIAogLyogY29ucmluZ19zaXplOiBhbGxvd3MgYSBsYXJn ZSBjb25zb2xlIHJpbmcgdGhhbiBkZWZhdWx0ICgxNmtCKS4gKi8KIHN0YXRpYyB1aW50MzJfdCBf X2luaXRkYXRhIG9wdF9jb25yaW5nX3NpemU7CkBAIC0xMTgsMTMgKzEyMCwxNyBAQCBzdGF0aWMg REVGSU5FX1NQSU5MT0NLKGNvbnNvbGVfbG9jayk7CiAjaWZkZWYgTkRFQlVHCiAjZGVmaW5lIFhF TkxPR19VUFBFUl9USFJFU0hPTEQgICAgICAgMiAvKiBEbyBub3QgcHJpbnQgSU5GTyBhbmQgREVC VUcgICovCiAjZGVmaW5lIFhFTkxPR19MT1dFUl9USFJFU0hPTEQgICAgICAgMiAvKiBBbHdheXMg cHJpbnQgRVJSIGFuZCBXQVJOSU5HICovCisjZGVmaW5lIFhFTkxPR19ERUZBVUxUX1ZBTCAgICAg ICAgICAgIndhcm5pbmcvd2FybmluZyIKICNkZWZpbmUgWEVOTE9HX0dVRVNUX1VQUEVSX1RIUkVT SE9MRCAyIC8qIERvIG5vdCBwcmludCBJTkZPIGFuZCBERUJVRyAgKi8KICNkZWZpbmUgWEVOTE9H X0dVRVNUX0xPV0VSX1RIUkVTSE9MRCAwIC8qIFJhdGUtbGltaXQgRVJSIGFuZCBXQVJOSU5HICAg Ki8KKyNkZWZpbmUgWEVOTE9HX0dVRVNUX0RFRkFVTFRfVkFMICAgICAibm9uZS93YXJuaW5nIgog I2Vsc2UKICNkZWZpbmUgWEVOTE9HX1VQUEVSX1RIUkVTSE9MRCAgICAgICA0IC8qIERvIG5vdCBk aXNjYXJkIGFueXRoaW5nICAgICAgKi8KICNkZWZpbmUgWEVOTE9HX0xPV0VSX1RIUkVTSE9MRCAg ICAgICA0IC8qIFByaW50IGV2ZXJ5dGhpbmcgICAgICAgICAgICAgKi8KKyNkZWZpbmUgWEVOTE9H X0RFRkFVTFRfVkFMICAgICAgICAgICAiYWxsL2FsbCIKICNkZWZpbmUgWEVOTE9HX0dVRVNUX1VQ UEVSX1RIUkVTSE9MRCA0IC8qIERvIG5vdCBkaXNjYXJkIGFueXRoaW5nICAgICAgKi8KICNkZWZp bmUgWEVOTE9HX0dVRVNUX0xPV0VSX1RIUkVTSE9MRCA0IC8qIFByaW50IGV2ZXJ5dGhpbmcgICAg ICAgICAgICAgKi8KKyNkZWZpbmUgWEVOTE9HX0dVRVNUX0RFRkFVTFRfVkFMICAgICAiYWxsL2Fs bCIKICNlbmRpZgogLyoKICAqIFRoZSBYRU5MT0dfREVGQVVMVCBpcyB0aGUgZGVmYXVsdCBnaXZl biB0byBwcmludGtzIHRoYXQKQEAgLTEzMywxNiArMTM5LDIwIEBAIHN0YXRpYyBERUZJTkVfU1BJ TkxPQ0soY29uc29sZV9sb2NrKTsKICNkZWZpbmUgWEVOTE9HX0RFRkFVTFQgICAgICAgMSAvKiBY RU5MT0dfV0FSTklORyAqLwogI2RlZmluZSBYRU5MT0dfR1VFU1RfREVGQVVMVCAxIC8qIFhFTkxP R19XQVJOSU5HICovCiAKKyNkZWZpbmUgTE9HTFZMX1ZBTF9TWiAxNgogc3RhdGljIGludCBfX3Jl YWRfbW9zdGx5IHhlbmxvZ191cHBlcl90aHJlc2ggPSBYRU5MT0dfVVBQRVJfVEhSRVNIT0xEOwog c3RhdGljIGludCBfX3JlYWRfbW9zdGx5IHhlbmxvZ19sb3dlcl90aHJlc2ggPSBYRU5MT0dfTE9X RVJfVEhSRVNIT0xEOworc3RhdGljIGNoYXIgeGVubG9nX3ZhbFtMT0dMVkxfVkFMX1NaXSA9IFhF TkxPR19ERUZBVUxUX1ZBTDsKIHN0YXRpYyBpbnQgX19yZWFkX21vc3RseSB4ZW5sb2dfZ3Vlc3Rf dXBwZXJfdGhyZXNoID0KICAgICBYRU5MT0dfR1VFU1RfVVBQRVJfVEhSRVNIT0xEOwogc3RhdGlj IGludCBfX3JlYWRfbW9zdGx5IHhlbmxvZ19ndWVzdF9sb3dlcl90aHJlc2ggPQogICAgIFhFTkxP R19HVUVTVF9MT1dFUl9USFJFU0hPTEQ7CitzdGF0aWMgY2hhciB4ZW5sb2dfZ3Vlc3RfdmFsW0xP R0xWTF9WQUxfU1pdID0gWEVOTE9HX0dVRVNUX0RFRkFVTFRfVkFMOwogCiBzdGF0aWMgaW50IHBh cnNlX2xvZ2x2bChjb25zdCBjaGFyICpzKTsKIHN0YXRpYyBpbnQgcGFyc2VfZ3Vlc3RfbG9nbHZs KGNvbnN0IGNoYXIgKnMpOwogCitzdGF0aWMgY2hhciAqbHZsMm9wdFtdID0geyAibm9uZSIsICJl cnJvciIsICJ3YXJuaW5nIiwgImluZm8iLCAiYWxsIiB9OwogLyoKICAqIDxsdmw+IDo9IG5vbmV8 ZXJyb3J8d2FybmluZ3xpbmZvfGRlYnVnfGFsbAogICogbG9nbHZsPTxsdmxfcHJpbnRfYWx3YXlz PlsvPGx2bF9wcmludF9yYXRlbGltaXQ+XQpAQCAtMTUxLDggKzE2MSw4IEBAIHN0YXRpYyBpbnQg cGFyc2VfZ3Vlc3RfbG9nbHZsKGNvbnN0IGNoYXIgKnMpOwogICogU2ltaWxhciBkZWZpbml0aW9u cyBmb3IgZ3Vlc3RfbG9nbHZsLCBidXQgYXBwbGllcyB0byBndWVzdCB0cmFjaW5nLgogICogRGVm YXVsdHM6IGxvZ2x2bD13YXJuaW5nIDsgZ3Vlc3RfbG9nbHZsPW5vbmUvd2FybmluZwogICovCi1j dXN0b21fcnVudGltZV9wYXJhbSgibG9nbHZsIiwgcGFyc2VfbG9nbHZsKTsKLWN1c3RvbV9ydW50 aW1lX3BhcmFtKCJndWVzdF9sb2dsdmwiLCBwYXJzZV9ndWVzdF9sb2dsdmwpOworY3VzdG9tX3J1 bnRpbWVfcGFyYW0oImxvZ2x2bCIsIHBhcnNlX2xvZ2x2bCwgeGVubG9nX3ZhbCk7CitjdXN0b21f cnVudGltZV9wYXJhbSgiZ3Vlc3RfbG9nbHZsIiwgcGFyc2VfZ3Vlc3RfbG9nbHZsLCB4ZW5sb2df Z3Vlc3RfdmFsKTsKIAogc3RhdGljIGF0b21pY190IHByaW50X2V2ZXJ5dGhpbmcgPSBBVE9NSUNf SU5JVCgwKTsKIApAQCAtMTczLDcgKzE4Myw3IEBAIHN0YXRpYyBpbnQgX19wYXJzZV9sb2dsdmwo Y29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqKnBzKQogICAgIHJldHVybiAyOyAvKiBzYW5lIGZh bGxiYWNrICovCiB9CiAKLXN0YXRpYyBpbnQgX3BhcnNlX2xvZ2x2bChjb25zdCBjaGFyICpzLCBp bnQgKmxvd2VyLCBpbnQgKnVwcGVyKQorc3RhdGljIGludCBfcGFyc2VfbG9nbHZsKGNvbnN0IGNo YXIgKnMsIGludCAqbG93ZXIsIGludCAqdXBwZXIsIGNoYXIgKnZhbCkKIHsKICAgICAqbG93ZXIg PSAqdXBwZXIgPSBfX3BhcnNlX2xvZ2x2bChzLCAmcyk7CiAgICAgaWYgKCAqcyA9PSAnLycgKQpA QCAtMTgxLDE4ICsxOTEsMjEgQEAgc3RhdGljIGludCBfcGFyc2VfbG9nbHZsKGNvbnN0IGNoYXIg KnMsIGludCAqbG93ZXIsIGludCAqdXBwZXIpCiAgICAgaWYgKCAqdXBwZXIgPCAqbG93ZXIgKQog ICAgICAgICAqdXBwZXIgPSAqbG93ZXI7CiAKKyAgICBzbnByaW50Zih2YWwsIExPR0xWTF9WQUxf U1osICIlcy8lcyIsIGx2bDJvcHRbKmxvd2VyXSwgbHZsMm9wdFsqdXBwZXJdKTsKKwogICAgIHJl dHVybiAqcyA/IC1FSU5WQUwgOiAwOwogfQogCiBzdGF0aWMgaW50IHBhcnNlX2xvZ2x2bChjb25z dCBjaGFyICpzKQogewotICAgIHJldHVybiBfcGFyc2VfbG9nbHZsKHMsICZ4ZW5sb2dfbG93ZXJf dGhyZXNoLCAmeGVubG9nX3VwcGVyX3RocmVzaCk7CisgICAgcmV0dXJuIF9wYXJzZV9sb2dsdmwo cywgJnhlbmxvZ19sb3dlcl90aHJlc2gsICZ4ZW5sb2dfdXBwZXJfdGhyZXNoLAorICAgICAgICAg ICAgICAgICAgICAgICAgIHhlbmxvZ192YWwpOwogfQogCiBzdGF0aWMgaW50IHBhcnNlX2d1ZXN0 X2xvZ2x2bChjb25zdCBjaGFyICpzKQogewogICAgIHJldHVybiBfcGFyc2VfbG9nbHZsKHMsICZ4 ZW5sb2dfZ3Vlc3RfbG93ZXJfdGhyZXNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICZ4ZW5s b2dfZ3Vlc3RfdXBwZXJfdGhyZXNoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAmeGVubG9n X2d1ZXN0X3VwcGVyX3RocmVzaCwgeGVubG9nX2d1ZXN0X3ZhbCk7CiB9CiAKIHN0YXRpYyBjaGFy ICpsb2dsdmxfc3RyKGludCBsdmwpCkBAIC03MzEsMjIgKzc0NCw0NiBAQCBzdGF0aWMgaW50IHBh cnNlX2NvbnNvbGVfdGltZXN0YW1wcyhjb25zdCBjaGFyICpzKQogICAgIHsKICAgICBjYXNlIDA6 CiAgICAgICAgIG9wdF9jb25fdGltZXN0YW1wX21vZGUgPSBUU01fTk9ORTsKKyAgICAgICAgc25w cmludGYoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCwgc2l6ZW9mKGNvbl90aW1lc3RhbXBfbW9kZV92 YWwpLAorICAgICAgICAgICAgICAgICAibm9uZSIpOwogICAgICAgICByZXR1cm4gMDsKICAgICBj YXNlIDE6CiAgICAgICAgIG9wdF9jb25fdGltZXN0YW1wX21vZGUgPSBUU01fREFURTsKKyAgICAg ICAgc25wcmludGYoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCwgc2l6ZW9mKGNvbl90aW1lc3RhbXBf bW9kZV92YWwpLAorICAgICAgICAgICAgICAgICAiZGF0ZSIpOwogICAgICAgICByZXR1cm4gMDsK ICAgICB9CiAgICAgaWYgKCAqcyA9PSAnXDAnIHx8IC8qIENvbXBhdCBmb3Igb2xkIGJvb2xlYW5w YXJhbSgpICovCiAgICAgICAgICAhc3RyY21wKHMsICJkYXRlIikgKQorICAgIHsKICAgICAgICAg b3B0X2Nvbl90aW1lc3RhbXBfbW9kZSA9IFRTTV9EQVRFOworICAgICAgICBzbnByaW50Zihjb25f dGltZXN0YW1wX21vZGVfdmFsLCBzaXplb2YoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCksCisgICAg ICAgICAgICAgICAgICJkYXRlIik7CisgICAgfQogICAgIGVsc2UgaWYgKCAhc3RyY21wKHMsICJk YXRlbXMiKSApCisgICAgewogICAgICAgICBvcHRfY29uX3RpbWVzdGFtcF9tb2RlID0gVFNNX0RB VEVfTVM7CisgICAgICAgIHNucHJpbnRmKGNvbl90aW1lc3RhbXBfbW9kZV92YWwsIHNpemVvZihj b25fdGltZXN0YW1wX21vZGVfdmFsKSwKKyAgICAgICAgICAgICAgICAiZGF0ZW1zIik7CisgICAg fQogICAgIGVsc2UgaWYgKCAhc3RyY21wKHMsICJib290IikgKQorICAgIHsKICAgICAgICAgb3B0 X2Nvbl90aW1lc3RhbXBfbW9kZSA9IFRTTV9CT09UOworICAgICAgICBzbnByaW50Zihjb25fdGlt ZXN0YW1wX21vZGVfdmFsLCBzaXplb2YoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCksCisgICAgICAg ICAgICAgICAgICJib290Iik7CisgICAgfQogICAgIGVsc2UgaWYgKCAhc3RyY21wKHMsICJyYXci KSApCisgICAgewogICAgICAgICBvcHRfY29uX3RpbWVzdGFtcF9tb2RlID0gVFNNX1JBVzsKKyAg ICAgICAgc25wcmludGYoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCwgc2l6ZW9mKGNvbl90aW1lc3Rh bXBfbW9kZV92YWwpLAorICAgICAgICAgICAgICAgICAicmF3Iik7CisgICAgfQogICAgIGVsc2Ug aWYgKCAhc3RyY21wKHMsICJub25lIikgKQorICAgIHsKICAgICAgICAgb3B0X2Nvbl90aW1lc3Rh bXBfbW9kZSA9IFRTTV9OT05FOworICAgICAgICBzbnByaW50Zihjb25fdGltZXN0YW1wX21vZGVf dmFsLCBzaXplb2YoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCksCisgICAgICAgICAgICAgICAgICJu b25lIik7CisgICAgfQogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9oeXBmcy5oIGIveGVuL2luY2x1ZGUveGVuL2h5cGZzLmgK aW5kZXggNWIyNmIyZTYxMS4uMmI2ZWQ4YWUyMyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVu L2h5cGZzLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2h5cGZzLmgKQEAgLTEwNCw1ICsxMDQsOSBA QCBpbnQgaHlwZnNfd3JpdGVfbGVhZihzdHJ1Y3QgaHlwZnNfZW50cnlfbGVhZiAqbGVhZiwKICAg ICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgdWFkZHIsIHVu c2lnbmVkIGxvbmcgdWxlbik7CiBpbnQgaHlwZnNfd3JpdGVfYm9vbChzdHJ1Y3QgaHlwZnNfZW50 cnlfbGVhZiAqbGVhZiwKICAgICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFS QU0odm9pZCkgdWFkZHIsIHVuc2lnbmVkIGxvbmcgdWxlbik7CitpbnQgaHlwZnNfd3JpdGVfY3Vz dG9tKHN0cnVjdCBoeXBmc19lbnRyeV9sZWFmICpsZWFmLAorICAgICAgICAgICAgICAgICAgICAg ICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIHVhZGRyLCB1bnNpZ25lZCBsb25nIHVsZW4p Owordm9pZCBoeXBmc193cml0ZV9sb2NrKHZvaWQpOwordm9pZCBoeXBmc193cml0ZV91bmxvY2so dm9pZCk7CiAKICNlbmRpZiAvKiBfX1hFTl9IWVBGU19IX18gKi8KZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL3hlbi9wYXJhbS5oIGIveGVuL2luY2x1ZGUveGVuL3BhcmFtLmgKaW5kZXggNzU0NzFl YjRhZC4uYjRlZjNlN2EyMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3BhcmFtLmgKKysr IGIveGVuL2luY2x1ZGUveGVuL3BhcmFtLmgKQEAgLTEsNiArMSw3IEBACiAjaWZuZGVmIF9YRU5f UEFSQU1fSAogI2RlZmluZSBfWEVOX1BBUkFNX0gKIAorI2luY2x1ZGUgPHhlbi9oeXBmcy5oPgog I2luY2x1ZGUgPHhlbi9pbml0Lmg+CiAKIC8qCkBAIC0yMywxMCArMjQsMTcgQEAgc3RydWN0IGtl cm5lbF9wYXJhbSB7CiAgICAgfSBwYXI7CiB9OwogCitzdHJ1Y3QgcGFyYW1faHlwZnMgeworICAg IGNvbnN0IHN0cnVjdCBrZXJuZWxfcGFyYW0gKnBhcmFtOworICAgIHN0cnVjdCBoeXBmc19lbnRy eV9sZWFmIGh5cGZzOworfTsKKwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBrZXJuZWxfcGFyYW0gX19z ZXR1cF9zdGFydFtdLCBfX3NldHVwX2VuZFtdOwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBrZXJuZWxf cGFyYW0gX19wYXJhbV9zdGFydFtdLCBfX3BhcmFtX2VuZFtdOworZXh0ZXJuIHN0cnVjdCBwYXJh bV9oeXBmcyBfX3BhcmFtaHlwZnNfc3RhcnRbXSwgX19wYXJhbWh5cGZzX2VuZFtdOwogCiAjZGVm aW5lIF9fZGF0YXBhcmFtICAgICAgIF9fdXNlZF9zZWN0aW9uKCIuZGF0YS5wYXJhbSIpCisjZGVm aW5lIF9fcGFyYW1oeXBmcyAgICAgIF9fdXNlZF9zZWN0aW9uKCIuZGF0YS5wYXJhbWh5cGZzIikK IAogI2RlZmluZSBfX3BhcmFtKGF0dCkgICAgICBzdGF0aWMgY29uc3QgYXR0IFwKICAgICBfX2F0 dHJpYnV0ZV9fKChfX2FsaWduZWRfXyhzaXplb2Yodm9pZCAqKSkpKSBzdHJ1Y3Qga2VybmVsX3Bh cmFtCkBAIC03Niw0MCArODQsODcgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBrZXJuZWxfcGFyYW0g X19wYXJhbV9zdGFydFtdLCBfX3BhcmFtX2VuZFtdOwogICAgICAgICAgIC50eXBlID0gT1BUX0lH Tk9SRSB9CiAKICNkZWZpbmUgX19ydHBhcmFtICAgICAgICAgX19wYXJhbShfX2RhdGFwYXJhbSkK KyNkZWZpbmUgX19wYXJhbWZzICAgICAgICAgc3RhdGljIF9fcGFyYW1oeXBmcyBcCisgICAgX19h dHRyaWJ1dGVfXygoX19hbGlnbmVkX18oc2l6ZW9mKHZvaWQgKikpKSkgc3RydWN0IHBhcmFtX2h5 cGZzCiAKLSNkZWZpbmUgY3VzdG9tX3J1bnRpbWVfb25seV9wYXJhbShfbmFtZSwgX3ZhcikgXAor I2RlZmluZSBjdXN0b21fcnVudGltZV9vbmx5X3BhcmFtKF9uYW1lLCBfdmFyLCBjb250dmFyKSBc CiAgICAgX19ydHBhcmFtIF9fcnRwYXJfIyNfdmFyID0gXAogICAgICAgeyAubmFtZSA9IF9uYW1l LCBcCiAgICAgICAgICAgLnR5cGUgPSBPUFRfQ1VTVE9NLCBcCi0gICAgICAgICAgLnBhci5mdW5j ID0gX3ZhciB9CisgICAgICAgICAgLnBhci5mdW5jID0gX3ZhciB9OyBcCisgICAgX19wYXJhbWZz IF9fcGFyZnNfIyNfdmFyID0gXAorICAgICAgICB7IC5wYXJhbSA9ICZfX3J0cGFyXyMjX3Zhciwg XAorICAgICAgICAgIC5oeXBmcy5lLnR5cGUgPSBYRU5fSFlQRlNfVFlQRV9TVFJJTkcsIFwKKyAg ICAgICAgICAuaHlwZnMuZS5lbmNvZGluZyA9IFhFTl9IWVBGU19FTkNfUExBSU4sIFwKKyAgICAg ICAgICAuaHlwZnMuZS5uYW1lID0gX25hbWUsIFwKKyAgICAgICAgICAuaHlwZnMuZS5zaXplID0g c2l6ZW9mKGNvbnR2YXIpLCBcCisgICAgICAgICAgLmh5cGZzLmUucmVhZCA9IGh5cGZzX3JlYWRf bGVhZiwgXAorICAgICAgICAgIC5oeXBmcy5lLndyaXRlID0gaHlwZnNfd3JpdGVfY3VzdG9tLCBc CisgICAgICAgICAgLmh5cGZzLmNvbnRlbnQgPSAmY29udHZhciB9CiAjZGVmaW5lIGJvb2xlYW5f cnVudGltZV9vbmx5X3BhcmFtKF9uYW1lLCBfdmFyKSBcCiAgICAgX19ydHBhcmFtIF9fcnRwYXJf IyNfdmFyID0gXAogICAgICAgICB7IC5uYW1lID0gX25hbWUsIFwKICAgICAgICAgICAudHlwZSA9 IE9QVF9CT09MLCBcCiAgICAgICAgICAgLmxlbiA9IHNpemVvZihfdmFyKSwgXAotICAgICAgICAg IC5wYXIudmFyID0gJl92YXIgfQorICAgICAgICAgIC5wYXIudmFyID0gJl92YXIgfTsgXAorICAg IF9fcGFyYW1mcyBfX3BhcmZzXyMjX3ZhciA9IFwKKyAgICAgICAgeyAucGFyYW0gPSAmX19ydHBh cl8jI192YXIsIFwKKyAgICAgICAgICAuaHlwZnMuZS50eXBlID0gWEVOX0hZUEZTX1RZUEVfVUlO VCwgXAorICAgICAgICAgIC5oeXBmcy5lLmVuY29kaW5nID0gWEVOX0hZUEZTX0VOQ19QTEFJTiwg XAorICAgICAgICAgIC5oeXBmcy5lLm5hbWUgPSBfbmFtZSwgXAorICAgICAgICAgIC5oeXBmcy5l LnNpemUgPSBzaXplb2YoX3ZhciksIFwKKyAgICAgICAgICAuaHlwZnMuZS5yZWFkID0gaHlwZnNf cmVhZF9sZWFmLCBcCisgICAgICAgICAgLmh5cGZzLmUud3JpdGUgPSBoeXBmc193cml0ZV9ib29s LCBcCisgICAgICAgICAgLmh5cGZzLmNvbnRlbnQgPSAmX3ZhciB9CiAjZGVmaW5lIGludGVnZXJf cnVudGltZV9vbmx5X3BhcmFtKF9uYW1lLCBfdmFyKSBcCiAgICAgX19ydHBhcmFtIF9fcnRwYXJf IyNfdmFyID0gXAogICAgICAgICB7IC5uYW1lID0gX25hbWUsIFwKICAgICAgICAgICAudHlwZSA9 IE9QVF9VSU5ULCBcCiAgICAgICAgICAgLmxlbiA9IHNpemVvZihfdmFyKSwgXAotICAgICAgICAg IC5wYXIudmFyID0gJl92YXIgfQorICAgICAgICAgIC5wYXIudmFyID0gJl92YXIgfTsgXAorICAg IF9fcGFyYW1mcyBfX3BhcmZzXyMjX3ZhciA9IFwKKyAgICAgICAgeyAucGFyYW0gPSAmX19ydHBh cl8jI192YXIsIFwKKyAgICAgICAgICAuaHlwZnMuZS50eXBlID0gWEVOX0hZUEZTX1RZUEVfVUlO VCwgXAorICAgICAgICAgIC5oeXBmcy5lLmVuY29kaW5nID0gWEVOX0hZUEZTX0VOQ19QTEFJTiwg XAorICAgICAgICAgIC5oeXBmcy5lLm5hbWUgPSBfbmFtZSwgXAorICAgICAgICAgIC5oeXBmcy5l LnNpemUgPSBzaXplb2YoX3ZhciksIFwKKyAgICAgICAgICAuaHlwZnMuZS5yZWFkID0gaHlwZnNf cmVhZF9sZWFmLCBcCisgICAgICAgICAgLmh5cGZzLmUud3JpdGUgPSBoeXBmc193cml0ZV9sZWFm LCBcCisgICAgICAgICAgLmh5cGZzLmNvbnRlbnQgPSAmX3ZhciB9CiAjZGVmaW5lIHNpemVfcnVu dGltZV9vbmx5X3BhcmFtKF9uYW1lLCBfdmFyKSBcCiAgICAgX19ydHBhcmFtIF9fcnRwYXJfIyNf dmFyID0gXAogICAgICAgICB7IC5uYW1lID0gX25hbWUsIFwKICAgICAgICAgICAudHlwZSA9IE9Q VF9TSVpFLCBcCiAgICAgICAgICAgLmxlbiA9IHNpemVvZihfdmFyKSwgXAotICAgICAgICAgIC5w YXIudmFyID0gJl92YXIgfQorICAgICAgICAgIC5wYXIudmFyID0gJl92YXIgfTsgXAorICAgIF9f cGFyYW1mcyBfX3BhcmZzXyMjX3ZhciA9IFwKKyAgICAgICAgeyAucGFyYW0gPSAmX19ydHBhcl8j I192YXIsIFwKKyAgICAgICAgICAuaHlwZnMuZS50eXBlID0gWEVOX0hZUEZTX1RZUEVfVUlOVCwg XAorICAgICAgICAgIC5oeXBmcy5lLmVuY29kaW5nID0gWEVOX0hZUEZTX0VOQ19QTEFJTiwgXAor ICAgICAgICAgIC5oeXBmcy5lLm5hbWUgPSBfbmFtZSwgXAorICAgICAgICAgIC5oeXBmcy5lLnNp emUgPSBzaXplb2YoX3ZhciksIFwKKyAgICAgICAgICAuaHlwZnMuZS5yZWFkID0gaHlwZnNfcmVh ZF9sZWFmLCBcCisgICAgICAgICAgLmh5cGZzLmUud3JpdGUgPSBoeXBmc193cml0ZV9sZWFmLCBc CisgICAgICAgICAgLmh5cGZzLmNvbnRlbnQgPSAmX3ZhciB9CiAjZGVmaW5lIHN0cmluZ19ydW50 aW1lX29ubHlfcGFyYW0oX25hbWUsIF92YXIpIFwKICAgICBfX3J0cGFyYW0gX19ydHBhcl8jI192 YXIgPSBcCiAgICAgICAgIHsgLm5hbWUgPSBfbmFtZSwgXAogICAgICAgICAgIC50eXBlID0gT1BU X1NUUiwgXAogICAgICAgICAgIC5sZW4gPSBzaXplb2YoX3ZhciksIFwKLSAgICAgICAgICAucGFy LnZhciA9ICZfdmFyIH0KKyAgICAgICAgICAucGFyLnZhciA9ICZfdmFyIH07IFwKKyAgICBfX3Bh cmFtZnMgX19wYXJmc18jI192YXIgPSBcCisgICAgICAgIHsgLnBhcmFtID0gJl9fcnRwYXJfIyNf dmFyLCBcCisgICAgICAgICAgLmh5cGZzLmUudHlwZSA9IFhFTl9IWVBGU19UWVBFX1NUUklORywg XAorICAgICAgICAgIC5oeXBmcy5lLmVuY29kaW5nID0gWEVOX0hZUEZTX0VOQ19QTEFJTiwgXAor ICAgICAgICAgIC5oeXBmcy5lLm5hbWUgPSBfbmFtZSwgXAorICAgICAgICAgIC5oeXBmcy5lLnNp emUgPSBzaXplb2YoX3ZhciksIFwKKyAgICAgICAgICAuaHlwZnMuZS5yZWFkID0gaHlwZnNfcmVh ZF9sZWFmLCBcCisgICAgICAgICAgLmh5cGZzLmUud3JpdGUgPSBoeXBmc193cml0ZV9sZWFmLCBc CisgICAgICAgICAgLmh5cGZzLmNvbnRlbnQgPSAmX3ZhciB9CiAKLSNkZWZpbmUgY3VzdG9tX3J1 bnRpbWVfcGFyYW0oX25hbWUsIF92YXIpIFwKKyNkZWZpbmUgY3VzdG9tX3J1bnRpbWVfcGFyYW0o X25hbWUsIF92YXIsIGNvbnR2YXIpIFwKICAgICBjdXN0b21fcGFyYW0oX25hbWUsIF92YXIpOyBc Ci0gICAgY3VzdG9tX3J1bnRpbWVfb25seV9wYXJhbShfbmFtZSwgX3ZhcikKKyAgICBjdXN0b21f cnVudGltZV9vbmx5X3BhcmFtKF9uYW1lLCBfdmFyLCBjb250dmFyKQogI2RlZmluZSBib29sZWFu X3J1bnRpbWVfcGFyYW0oX25hbWUsIF92YXIpIFwKICAgICBib29sZWFuX3BhcmFtKF9uYW1lLCBf dmFyKTsgXAogICAgIGJvb2xlYW5fcnVudGltZV9vbmx5X3BhcmFtKF9uYW1lLCBfdmFyKQpAQCAt MTIzLDQgKzE3OCw3IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3Qga2VybmVsX3BhcmFtIF9fcGFyYW1f c3RhcnRbXSwgX19wYXJhbV9lbmRbXTsKICAgICBzdHJpbmdfcGFyYW0oX25hbWUsIF92YXIpOyBc CiAgICAgc3RyaW5nX3J1bnRpbWVfb25seV9wYXJhbShfbmFtZSwgX3ZhcikKIAorI2RlZmluZSBw YXJhbV9hcHBlbmRfc3RyKHZhciwgZm10LCB2YWwpIFwKKyAgICBzbnByaW50Zih2YXIgKyBzdHJs ZW4odmFyKSwgc2l6ZW9mKHZhcikgLSBzdHJsZW4odmFyKSwgZm10LCB2YWwpCisKICNlbmRpZiAv KiBfWEVOX1BBUkFNX0ggKi8KLS0gCjIuMTYuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s aXN0aW5mby94ZW4tZGV2ZWw=