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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, 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 8C253C2D0CE for ; Tue, 21 Jan 2020 08:44:26 +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 5D30522522 for ; Tue, 21 Jan 2020 08:44:26 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5D30522522 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 1itp8s-0004iS-C7; Tue, 21 Jan 2020 08:44:10 +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 1itp8r-0004h7-62 for xen-devel@lists.xenproject.org; Tue, 21 Jan 2020 08:44:09 +0000 X-Inumbo-ID: 1f750802-3c2a-11ea-ba47-12813bfff9fa Received: from mx2.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 1f750802-3c2a-11ea-ba47-12813bfff9fa; Tue, 21 Jan 2020 08:43:40 +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 9D128B2CB; Tue, 21 Jan 2020 08:43:35 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Tue, 21 Jan 2020 09:43:30 +0100 Message-Id: <20200121084330.18309-10-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20200121084330.18309-1-jgross@suse.com> References: <20200121084330.18309-1-jgross@suse.com> Subject: [Xen-devel] [PATCH v3 9/9] 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 L21pc2MvaHlwZnMtcGF0aHMucGFuZG9jCmluZGV4IGU4YWU1MmVhNDUuLjE1NTQwMzllNDYgMTAw NjQ0Ci0tLSBhL2RvY3MvbWlzYy9oeXBmcy1wYXRocy5wYW5kb2MKKysrIGIvZG9jcy9taXNjL2h5 cGZzLXBhdGhzLnBhbmRvYwpAQCAtMTQyLDMgKzE0MiwxMiBAQCBUaGUgbWFqb3IgdmVyc2lvbiBv 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 bmRleCBjMzQ3M2I5YTQ3Li45ZTBkMjRjZTgxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYv ZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCkBAIC0yMiw2ICsyMiw3IEBA IHN0YXRpYyBfX3JlYWRfbW9zdGx5IGVudW0gewogICAgIFBDSURfWFBUSSwKICAgICBQQ0lEX05P WFBUSQogfSBvcHRfcGNpZCA9IFBDSURfWFBUSTsKK3N0YXRpYyBjaGFyIG9wdF9wY2lkX3ZhbFs3 XSA9ICJ4cHRpIjsKIAogc3RhdGljIGludCBwYXJzZV9wY2lkKGNvbnN0IGNoYXIgKnMpCiB7CkBA IC0zMSwxMCArMzIsMTIgQEAgc3RhdGljIGludCBwYXJzZV9wY2lkKGNvbnN0IGNoYXIgKnMpCiAg ICAgewogICAgIGNhc2UgMDoKICAgICAgICAgb3B0X3BjaWQgPSBQQ0lEX09GRjsKKyAgICAgICAg c25wcmludGYob3B0X3BjaWRfdmFsLCBzaXplb2Yob3B0X3BjaWRfdmFsKSwgIm9mZiIpOwogICAg ICAgICBicmVhazsKIAogICAgIGNhc2UgMToKICAgICAgICAgb3B0X3BjaWQgPSBQQ0lEX0FMTDsK KyAgICAgICAgc25wcmludGYob3B0X3BjaWRfdmFsLCBzaXplb2Yob3B0X3BjaWRfdmFsKSwgIm9u Iik7CiAgICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKQEAgLTQyLDEwICs0NSwxMiBAQCBz dGF0aWMgaW50IHBhcnNlX3BjaWQoY29uc3QgY2hhciAqcykKICAgICAgICAgewogICAgICAgICBj YXNlIDA6CiAgICAgICAgICAgICBvcHRfcGNpZCA9IFBDSURfTk9YUFRJOworICAgICAgICAgICAg c25wcmludGYob3B0X3BjaWRfdmFsLCBzaXplb2Yob3B0X3BjaWRfdmFsKSwgIm5veHB0aSIpOwog ICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSAxOgogICAgICAgICAgICAgb3B0X3Bj aWQgPSBQQ0lEX1hQVEk7CisgICAgICAgICAgICBzbnByaW50ZihvcHRfcGNpZF92YWwsIHNpemVv ZihvcHRfcGNpZF92YWwpLCAieHB0aSIpOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAg ZGVmYXVsdDoKQEAgLTU3LDcgKzYyLDcgQEAgc3RhdGljIGludCBwYXJzZV9wY2lkKGNvbnN0IGNo YXIgKnMpCiAKICAgICByZXR1cm4gcmM7CiB9Ci1jdXN0b21fcnVudGltZV9wYXJhbSgicGNpZCIs IHBhcnNlX3BjaWQpOworY3VzdG9tX3J1bnRpbWVfcGFyYW0oInBjaWQiLCBwYXJzZV9wY2lkLCBv cHRfcGNpZF92YWwpOwogCiBzdGF0aWMgdm9pZCBub3JldHVybiBjb250aW51ZV9ub25pZGxlX2Rv bWFpbihzdHJ1Y3QgdmNwdSAqdikKIHsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRz LlMgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCmluZGV4IDI5ZWY1MDc0MzIuLjliNzE3NjAyZGIg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKKysrIGIveGVuL2FyY2gveDg2L3hl bi5sZHMuUwpAQCAtMjgwLDYgKzI4MCwxMSBAQCBTRUNUSU9OUwogICAgICAgIF9fc3RhcnRfc2No ZWR1bGVyc19hcnJheSA9IC47CiAgICAgICAgKiguZGF0YS5zY2hlZHVsZXJzKQogICAgICAgIF9f ZW5kX3NjaGVkdWxlcnNfYXJyYXkgPSAuOworCisgICAgICAgLiA9IEFMSUdOKDgpOworICAgICAg IF9fcGFyYW1oeXBmc19zdGFydCA9IC47CisgICAgICAgKiguZGF0YS5wYXJhbWh5cGZzKQorICAg ICAgIF9fcGFyYW1oeXBmc19lbmQgPSAuOwogICB9IDp0ZXh0CiAKICAgREVDTF9TRUNUSU9OKC5k YXRhKSB7CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMgYi94ZW4vY29tbW9u L2dyYW50X3RhYmxlLmMKaW5kZXggMmVjZjM4ZGZiZS4uMmRlMmM3ZTM3MyAxMDA2NDQKLS0tIGEv 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 ZGV4IDY3NjJkMjBkZmQuLjY2NzYzNmQ2M2UgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vaHlwZnMu YworKysgYi94ZW4vY29tbW9uL2h5cGZzLmMKQEAgLTEwLDYgKzEwLDcgQEAKICNpbmNsdWRlIDx4 ZW4vZ3Vlc3RfYWNjZXNzLmg+CiAjaW5jbHVkZSA8eGVuL2h5cGVyY2FsbC5oPgogI2luY2x1ZGUg PHhlbi9oeXBmcy5oPgorI2luY2x1ZGUgPHhlbi9wYXJhbS5oPgogI2luY2x1ZGUgPHhlbi9yd2xv Y2suaD4KICNpbmNsdWRlIDxwdWJsaWMvaHlwZnMuaD4KIApAQCAtMjk2LDYgKzI5NywzMyBAQCBp bnQgaHlwZnNfd3JpdGVfYm9vbChzdHJ1Y3QgaHlwZnNfZW50cnlfbGVhZiAqbGVhZiwKICAgICBy ZXR1cm4gMDsKIH0KIAoraW50IGh5cGZzX3dyaXRlX2N1c3RvbShzdHJ1Y3QgaHlwZnNfZW50cnlf bGVhZiAqbGVhZiwKKyAgICAgICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJB TSh2b2lkKSB1YWRkciwgdW5zaWduZWQgbG9uZyB1bGVuKQoreworICAgIHN0cnVjdCBwYXJhbV9o eXBmcyAqcDsKKyAgICBjaGFyICpidWY7CisgICAgaW50IHJldDsKKworICAgIGJ1ZiA9IHh6YWxs b2NfYXJyYXkoY2hhciwgdWxlbik7CisgICAgaWYgKCAhYnVmICkKKyAgICAgICAgcmV0dXJuIC1F Tk9NRU07CisKKyAgICByZXQgPSAtRUZBVUxUOworICAgIGlmICggY29weV9mcm9tX2d1ZXN0KGJ1 ZiwgdWFkZHIsIHVsZW4pICkKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICByZXQgPSAtRURPTTsK KyAgICBpZiAoIGJ1Zlt1bGVuIC0gMV0gKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHAgPSBj b250YWluZXJfb2YobGVhZiwgc3RydWN0IHBhcmFtX2h5cGZzLCBoeXBmcyk7CisgICAgcmV0ID0g cC0+cGFyYW0tPnBhci5mdW5jKGJ1Zik7CisKKyBvdXQ6CisgICAgeGZyZWUoYnVmKTsKKyAgICBy ZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW50IGh5cGZzX3dyaXRlKHN0cnVjdCBoeXBmc19lbnRy eSAqZW50cnksCiAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0o dm9pZCkgdWFkZHIsIHVuc2lnbmVkIGxvbmcgdWxlbikKIHsKQEAgLTM2MywzICszOTEsMTMgQEAg bG9uZyBkb19oeXBmc19vcCh1bnNpZ25lZCBpbnQgY21kLAogCiAgICAgcmV0dXJuIHJldDsKIH0K Kwordm9pZCBoeXBmc193cml0ZV9sb2NrKHZvaWQpCit7CisgICAgd3JpdGVfbG9jaygmaHlwZnNf bG9jayk7Cit9CisKK3ZvaWQgaHlwZnNfd3JpdGVfdW5sb2NrKHZvaWQpCit7CisgICAgd3JpdGVf dW5sb2NrKCZoeXBmc19sb2NrKTsKK30KZGlmZiAtLWdpdCBhL3hlbi9jb21tb24va2VybmVsLmMg Yi94ZW4vY29tbW9uL2tlcm5lbC5jCmluZGV4IGI1ZWUzMDExZjUuLmU5YTUwMWUwZTEgMTAwNjQ0 Ci0tLSBhL3hlbi9jb21tb24va2VybmVsLmMKKysrIGIveGVuL2NvbW1vbi9rZXJuZWwuYwpAQCAt MTk4LDcgKzE5OCwxMyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgX2NtZGxpbmVfcGFyc2UoY29uc3Qg Y2hhciAqY21kbGluZSkKIAogaW50IHJ1bnRpbWVfcGFyc2UoY29uc3QgY2hhciAqbGluZSkKIHsK LSAgICByZXR1cm4gcGFyc2VfcGFyYW1zKGxpbmUsIF9fcGFyYW1fc3RhcnQsIF9fcGFyYW1fZW5k KTsKKyAgICBpbnQgcmV0OworCisgICAgaHlwZnNfd3JpdGVfbG9jaygpOworICAgIHJldCA9IHBh cnNlX3BhcmFtcyhsaW5lLCBfX3BhcmFtX3N0YXJ0LCBfX3BhcmFtX2VuZCk7CisgICAgaHlwZnNf d3JpdGVfdW5sb2NrKCk7CisKKyAgICByZXR1cm4gcmV0OwogfQogCiAvKioKQEAgLTQyOCw2ICs0 MzQsMjEgQEAgc3RhdGljIGludCBfX2luaXQgYnVpbGRpbmZvX2luaXQodm9pZCkKIH0KIF9faW5p dGNhbGwoYnVpbGRpbmZvX2luaXQpOwogCitzdGF0aWMgSFlQRlNfRElSX0lOSVQocGFyYW1zLCAi cGFyYW1zIik7CisKK3N0YXRpYyBpbnQgX19pbml0IHBhcmFtX2luaXQodm9pZCkKK3sKKyAgICBz dHJ1Y3QgcGFyYW1faHlwZnMgKnBhcmFtOworCisgICAgaHlwZnNfYWRkX2RpcigmaHlwZnNfcm9v dCwgJnBhcmFtcywgdHJ1ZSk7CisKKyAgICBmb3IgKCBwYXJhbSA9IF9fcGFyYW1oeXBmc19zdGFy dDsgcGFyYW0gPCBfX3BhcmFtaHlwZnNfZW5kOyBwYXJhbSsrICkKKyAgICAgICAgaHlwZnNfYWRk X2xlYWYoJnBhcmFtcywgJnBhcmFtLT5oeXBmcywgdHJ1ZSk7CisKKyAgICByZXR1cm4gMDsKK30K K19faW5pdGNhbGwocGFyYW1faW5pdCk7CisKICMgZGVmaW5lIERPKGZuKSBsb25nIGRvXyMjZm4K IAogI2VuZGlmCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYyBiL3hlbi9k cml2ZXJzL2NoYXIvY29uc29sZS5jCmluZGV4IDkxM2FlMWI2NmEuLjU0NDAxNDU1NDkgMTAwNjQ0 Ci0tLSBhL3hlbi9kcml2ZXJzL2NoYXIvY29uc29sZS5jCisrKyBiL3hlbi9kcml2ZXJzL2NoYXIv Y29uc29sZS5jCkBAIC03OCw5ICs3OCwxMSBAQCBlbnVtIGNvbl90aW1lc3RhbXBfbW9kZQogfTsK IAogc3RhdGljIGVudW0gY29uX3RpbWVzdGFtcF9tb2RlIF9fcmVhZF9tb3N0bHkgb3B0X2Nvbl90 aW1lc3RhbXBfbW9kZSA9IFRTTV9OT05FOworc3RhdGljIGNoYXIgY29uX3RpbWVzdGFtcF9tb2Rl X3ZhbFs3XSA9ICJub25lIjsKIAogc3RhdGljIGludCBwYXJzZV9jb25zb2xlX3RpbWVzdGFtcHMo Y29uc3QgY2hhciAqcyk7Ci1jdXN0b21fcnVudGltZV9wYXJhbSgiY29uc29sZV90aW1lc3RhbXBz IiwgcGFyc2VfY29uc29sZV90aW1lc3RhbXBzKTsKK2N1c3RvbV9ydW50aW1lX3BhcmFtKCJjb25z b2xlX3RpbWVzdGFtcHMiLCBwYXJzZV9jb25zb2xlX3RpbWVzdGFtcHMsCisgICAgICAgICAgICAg ICAgICAgICBjb25fdGltZXN0YW1wX21vZGVfdmFsKTsKIAogLyogY29ucmluZ19zaXplOiBhbGxv d3MgYSBsYXJnZSBjb25zb2xlIHJpbmcgdGhhbiBkZWZhdWx0ICgxNmtCKS4gKi8KIHN0YXRpYyB1 aW50MzJfdCBfX2luaXRkYXRhIG9wdF9jb25yaW5nX3NpemU7CkBAIC0xMTgsMTMgKzEyMCwxNyBA QCBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGNvbnNvbGVfbG9jayk7CiAjaWZkZWYgTkRFQlVHCiAj ZGVmaW5lIFhFTkxPR19VUFBFUl9USFJFU0hPTEQgICAgICAgMiAvKiBEbyBub3QgcHJpbnQgSU5G TyBhbmQgREVCVUcgICovCiAjZGVmaW5lIFhFTkxPR19MT1dFUl9USFJFU0hPTEQgICAgICAgMiAv KiBBbHdheXMgcHJpbnQgRVJSIGFuZCBXQVJOSU5HICovCisjZGVmaW5lIFhFTkxPR19ERUZBVUxU X1ZBTCAgICAgICAgICAgIndhcm5pbmcvd2FybmluZyIKICNkZWZpbmUgWEVOTE9HX0dVRVNUX1VQ UEVSX1RIUkVTSE9MRCAyIC8qIERvIG5vdCBwcmludCBJTkZPIGFuZCBERUJVRyAgKi8KICNkZWZp bmUgWEVOTE9HX0dVRVNUX0xPV0VSX1RIUkVTSE9MRCAwIC8qIFJhdGUtbGltaXQgRVJSIGFuZCBX QVJOSU5HICAgKi8KKyNkZWZpbmUgWEVOTE9HX0dVRVNUX0RFRkFVTFRfVkFMICAgICAibm9uZS93 YXJuaW5nIgogI2Vsc2UKICNkZWZpbmUgWEVOTE9HX1VQUEVSX1RIUkVTSE9MRCAgICAgICA0IC8q IERvIG5vdCBkaXNjYXJkIGFueXRoaW5nICAgICAgKi8KICNkZWZpbmUgWEVOTE9HX0xPV0VSX1RI UkVTSE9MRCAgICAgICA0IC8qIFByaW50IGV2ZXJ5dGhpbmcgICAgICAgICAgICAgKi8KKyNkZWZp bmUgWEVOTE9HX0RFRkFVTFRfVkFMICAgICAgICAgICAiYWxsL2FsbCIKICNkZWZpbmUgWEVOTE9H X0dVRVNUX1VQUEVSX1RIUkVTSE9MRCA0IC8qIERvIG5vdCBkaXNjYXJkIGFueXRoaW5nICAgICAg Ki8KICNkZWZpbmUgWEVOTE9HX0dVRVNUX0xPV0VSX1RIUkVTSE9MRCA0IC8qIFByaW50IGV2ZXJ5 dGhpbmcgICAgICAgICAgICAgKi8KKyNkZWZpbmUgWEVOTE9HX0dVRVNUX0RFRkFVTFRfVkFMICAg ICAiYWxsL2FsbCIKICNlbmRpZgogLyoKICAqIFRoZSBYRU5MT0dfREVGQVVMVCBpcyB0aGUgZGVm YXVsdCBnaXZlbiB0byBwcmludGtzIHRoYXQKQEAgLTEzMywxNiArMTM5LDIwIEBAIHN0YXRpYyBE RUZJTkVfU1BJTkxPQ0soY29uc29sZV9sb2NrKTsKICNkZWZpbmUgWEVOTE9HX0RFRkFVTFQgICAg ICAgMSAvKiBYRU5MT0dfV0FSTklORyAqLwogI2RlZmluZSBYRU5MT0dfR1VFU1RfREVGQVVMVCAx IC8qIFhFTkxPR19XQVJOSU5HICovCiAKKyNkZWZpbmUgTE9HTFZMX1ZBTF9TWiAxNgogc3RhdGlj IGludCBfX3JlYWRfbW9zdGx5IHhlbmxvZ191cHBlcl90aHJlc2ggPSBYRU5MT0dfVVBQRVJfVEhS RVNIT0xEOwogc3RhdGljIGludCBfX3JlYWRfbW9zdGx5IHhlbmxvZ19sb3dlcl90aHJlc2ggPSBY RU5MT0dfTE9XRVJfVEhSRVNIT0xEOworc3RhdGljIGNoYXIgeGVubG9nX3ZhbFtMT0dMVkxfVkFM X1NaXSA9IFhFTkxPR19ERUZBVUxUX1ZBTDsKIHN0YXRpYyBpbnQgX19yZWFkX21vc3RseSB4ZW5s b2dfZ3Vlc3RfdXBwZXJfdGhyZXNoID0KICAgICBYRU5MT0dfR1VFU1RfVVBQRVJfVEhSRVNIT0xE Owogc3RhdGljIGludCBfX3JlYWRfbW9zdGx5IHhlbmxvZ19ndWVzdF9sb3dlcl90aHJlc2ggPQog ICAgIFhFTkxPR19HVUVTVF9MT1dFUl9USFJFU0hPTEQ7CitzdGF0aWMgY2hhciB4ZW5sb2dfZ3Vl c3RfdmFsW0xPR0xWTF9WQUxfU1pdID0gWEVOTE9HX0dVRVNUX0RFRkFVTFRfVkFMOwogCiBzdGF0 aWMgaW50IHBhcnNlX2xvZ2x2bChjb25zdCBjaGFyICpzKTsKIHN0YXRpYyBpbnQgcGFyc2VfZ3Vl c3RfbG9nbHZsKGNvbnN0IGNoYXIgKnMpOwogCitzdGF0aWMgY2hhciAqbHZsMm9wdFtdID0geyAi bm9uZSIsICJlcnJvciIsICJ3YXJuaW5nIiwgImluZm8iLCAiYWxsIiB9OwogLyoKICAqIDxsdmw+ IDo9IG5vbmV8ZXJyb3J8d2FybmluZ3xpbmZvfGRlYnVnfGFsbAogICogbG9nbHZsPTxsdmxfcHJp bnRfYWx3YXlzPlsvPGx2bF9wcmludF9yYXRlbGltaXQ+XQpAQCAtMTUxLDggKzE2MSw4IEBAIHN0 YXRpYyBpbnQgcGFyc2VfZ3Vlc3RfbG9nbHZsKGNvbnN0IGNoYXIgKnMpOwogICogU2ltaWxhciBk ZWZpbml0aW9ucyBmb3IgZ3Vlc3RfbG9nbHZsLCBidXQgYXBwbGllcyB0byBndWVzdCB0cmFjaW5n LgogICogRGVmYXVsdHM6IGxvZ2x2bD13YXJuaW5nIDsgZ3Vlc3RfbG9nbHZsPW5vbmUvd2Fybmlu ZwogICovCi1jdXN0b21fcnVudGltZV9wYXJhbSgibG9nbHZsIiwgcGFyc2VfbG9nbHZsKTsKLWN1 c3RvbV9ydW50aW1lX3BhcmFtKCJndWVzdF9sb2dsdmwiLCBwYXJzZV9ndWVzdF9sb2dsdmwpOwor Y3VzdG9tX3J1bnRpbWVfcGFyYW0oImxvZ2x2bCIsIHBhcnNlX2xvZ2x2bCwgeGVubG9nX3ZhbCk7 CitjdXN0b21fcnVudGltZV9wYXJhbSgiZ3Vlc3RfbG9nbHZsIiwgcGFyc2VfZ3Vlc3RfbG9nbHZs LCB4ZW5sb2dfZ3Vlc3RfdmFsKTsKIAogc3RhdGljIGF0b21pY190IHByaW50X2V2ZXJ5dGhpbmcg PSBBVE9NSUNfSU5JVCgwKTsKIApAQCAtMTczLDcgKzE4Myw3IEBAIHN0YXRpYyBpbnQgX19wYXJz ZV9sb2dsdmwoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqKnBzKQogICAgIHJldHVybiAyOyAv KiBzYW5lIGZhbGxiYWNrICovCiB9CiAKLXN0YXRpYyBpbnQgX3BhcnNlX2xvZ2x2bChjb25zdCBj aGFyICpzLCBpbnQgKmxvd2VyLCBpbnQgKnVwcGVyKQorc3RhdGljIGludCBfcGFyc2VfbG9nbHZs KGNvbnN0IGNoYXIgKnMsIGludCAqbG93ZXIsIGludCAqdXBwZXIsIGNoYXIgKnZhbCkKIHsKICAg ICAqbG93ZXIgPSAqdXBwZXIgPSBfX3BhcnNlX2xvZ2x2bChzLCAmcyk7CiAgICAgaWYgKCAqcyA9 PSAnLycgKQpAQCAtMTgxLDE4ICsxOTEsMjEgQEAgc3RhdGljIGludCBfcGFyc2VfbG9nbHZsKGNv bnN0IGNoYXIgKnMsIGludCAqbG93ZXIsIGludCAqdXBwZXIpCiAgICAgaWYgKCAqdXBwZXIgPCAq bG93ZXIgKQogICAgICAgICAqdXBwZXIgPSAqbG93ZXI7CiAKKyAgICBzbnByaW50Zih2YWwsIExP R0xWTF9WQUxfU1osICIlcy8lcyIsIGx2bDJvcHRbKmxvd2VyXSwgbHZsMm9wdFsqdXBwZXJdKTsK KwogICAgIHJldHVybiAqcyA/IC1FSU5WQUwgOiAwOwogfQogCiBzdGF0aWMgaW50IHBhcnNlX2xv Z2x2bChjb25zdCBjaGFyICpzKQogewotICAgIHJldHVybiBfcGFyc2VfbG9nbHZsKHMsICZ4ZW5s b2dfbG93ZXJfdGhyZXNoLCAmeGVubG9nX3VwcGVyX3RocmVzaCk7CisgICAgcmV0dXJuIF9wYXJz ZV9sb2dsdmwocywgJnhlbmxvZ19sb3dlcl90aHJlc2gsICZ4ZW5sb2dfdXBwZXJfdGhyZXNoLAor ICAgICAgICAgICAgICAgICAgICAgICAgIHhlbmxvZ192YWwpOwogfQogCiBzdGF0aWMgaW50IHBh cnNlX2d1ZXN0X2xvZ2x2bChjb25zdCBjaGFyICpzKQogewogICAgIHJldHVybiBfcGFyc2VfbG9n bHZsKHMsICZ4ZW5sb2dfZ3Vlc3RfbG93ZXJfdGhyZXNoLAotICAgICAgICAgICAgICAgICAgICAg ICAgICZ4ZW5sb2dfZ3Vlc3RfdXBwZXJfdGhyZXNoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAmeGVubG9nX2d1ZXN0X3VwcGVyX3RocmVzaCwgeGVubG9nX2d1ZXN0X3ZhbCk7CiB9CiAKIHN0 YXRpYyBjaGFyICpsb2dsdmxfc3RyKGludCBsdmwpCkBAIC03MzEsMjIgKzc0NCw0NiBAQCBzdGF0 aWMgaW50IHBhcnNlX2NvbnNvbGVfdGltZXN0YW1wcyhjb25zdCBjaGFyICpzKQogICAgIHsKICAg ICBjYXNlIDA6CiAgICAgICAgIG9wdF9jb25fdGltZXN0YW1wX21vZGUgPSBUU01fTk9ORTsKKyAg ICAgICAgc25wcmludGYoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCwgc2l6ZW9mKGNvbl90aW1lc3Rh bXBfbW9kZV92YWwpLAorICAgICAgICAgICAgICAgICAibm9uZSIpOwogICAgICAgICByZXR1cm4g MDsKICAgICBjYXNlIDE6CiAgICAgICAgIG9wdF9jb25fdGltZXN0YW1wX21vZGUgPSBUU01fREFU RTsKKyAgICAgICAgc25wcmludGYoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCwgc2l6ZW9mKGNvbl90 aW1lc3RhbXBfbW9kZV92YWwpLAorICAgICAgICAgICAgICAgICAiZGF0ZSIpOwogICAgICAgICBy ZXR1cm4gMDsKICAgICB9CiAgICAgaWYgKCAqcyA9PSAnXDAnIHx8IC8qIENvbXBhdCBmb3Igb2xk IGJvb2xlYW5wYXJhbSgpICovCiAgICAgICAgICAhc3RyY21wKHMsICJkYXRlIikgKQorICAgIHsK ICAgICAgICAgb3B0X2Nvbl90aW1lc3RhbXBfbW9kZSA9IFRTTV9EQVRFOworICAgICAgICBzbnBy aW50Zihjb25fdGltZXN0YW1wX21vZGVfdmFsLCBzaXplb2YoY29uX3RpbWVzdGFtcF9tb2RlX3Zh bCksCisgICAgICAgICAgICAgICAgICJkYXRlIik7CisgICAgfQogICAgIGVsc2UgaWYgKCAhc3Ry Y21wKHMsICJkYXRlbXMiKSApCisgICAgewogICAgICAgICBvcHRfY29uX3RpbWVzdGFtcF9tb2Rl ID0gVFNNX0RBVEVfTVM7CisgICAgICAgIHNucHJpbnRmKGNvbl90aW1lc3RhbXBfbW9kZV92YWws IHNpemVvZihjb25fdGltZXN0YW1wX21vZGVfdmFsKSwKKyAgICAgICAgICAgICAgICAiZGF0ZW1z Iik7CisgICAgfQogICAgIGVsc2UgaWYgKCAhc3RyY21wKHMsICJib290IikgKQorICAgIHsKICAg ICAgICAgb3B0X2Nvbl90aW1lc3RhbXBfbW9kZSA9IFRTTV9CT09UOworICAgICAgICBzbnByaW50 Zihjb25fdGltZXN0YW1wX21vZGVfdmFsLCBzaXplb2YoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCks CisgICAgICAgICAgICAgICAgICJib290Iik7CisgICAgfQogICAgIGVsc2UgaWYgKCAhc3RyY21w KHMsICJyYXciKSApCisgICAgewogICAgICAgICBvcHRfY29uX3RpbWVzdGFtcF9tb2RlID0gVFNN X1JBVzsKKyAgICAgICAgc25wcmludGYoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCwgc2l6ZW9mKGNv bl90aW1lc3RhbXBfbW9kZV92YWwpLAorICAgICAgICAgICAgICAgICAicmF3Iik7CisgICAgfQog ICAgIGVsc2UgaWYgKCAhc3RyY21wKHMsICJub25lIikgKQorICAgIHsKICAgICAgICAgb3B0X2Nv bl90aW1lc3RhbXBfbW9kZSA9IFRTTV9OT05FOworICAgICAgICBzbnByaW50Zihjb25fdGltZXN0 YW1wX21vZGVfdmFsLCBzaXplb2YoY29uX3RpbWVzdGFtcF9tb2RlX3ZhbCksCisgICAgICAgICAg ICAgICAgICJub25lIik7CisgICAgfQogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9oeXBmcy5oIGIveGVuL2luY2x1ZGUveGVu L2h5cGZzLmgKaW5kZXggYTFjMjE0MDM5OC4uZDFlYTA5NWRjMSAxMDA2NDQKLS0tIGEveGVuL2lu Y2x1ZGUveGVuL2h5cGZzLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2h5cGZzLmgKQEAgLTg1LDUg Kzg1LDkgQEAgaW50IGh5cGZzX3dyaXRlX2xlYWYoc3RydWN0IGh5cGZzX2VudHJ5X2xlYWYgKmxl YWYsCiAgICAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIHVh ZGRyLCB1bnNpZ25lZCBsb25nIHVsZW4pOwogaW50IGh5cGZzX3dyaXRlX2Jvb2woc3RydWN0IGh5 cGZzX2VudHJ5X2xlYWYgKmxlYWYsCiAgICAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFO RExFX1BBUkFNKHZvaWQpIHVhZGRyLCB1bnNpZ25lZCBsb25nIHVsZW4pOworaW50IGh5cGZzX3dy aXRlX2N1c3RvbShzdHJ1Y3QgaHlwZnNfZW50cnlfbGVhZiAqbGVhZiwKKyAgICAgICAgICAgICAg ICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSB1YWRkciwgdW5zaWduZWQgbG9u ZyB1bGVuKTsKK3ZvaWQgaHlwZnNfd3JpdGVfbG9jayh2b2lkKTsKK3ZvaWQgaHlwZnNfd3JpdGVf dW5sb2NrKHZvaWQpOwogCiAjZW5kaWYgLyogX19YRU5fSFlQRlNfSF9fICovCmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS94ZW4vcGFyYW0uaCBiL3hlbi9pbmNsdWRlL3hlbi9wYXJhbS5oCmluZGV4 IDc1NDcxZWI0YWQuLmI0ZWYzZTdhMjIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9wYXJh bS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9wYXJhbS5oCkBAIC0xLDYgKzEsNyBAQAogI2lmbmRl ZiBfWEVOX1BBUkFNX0gKICNkZWZpbmUgX1hFTl9QQVJBTV9ICiAKKyNpbmNsdWRlIDx4ZW4vaHlw ZnMuaD4KICNpbmNsdWRlIDx4ZW4vaW5pdC5oPgogCiAvKgpAQCAtMjMsMTAgKzI0LDE3IEBAIHN0 cnVjdCBrZXJuZWxfcGFyYW0gewogICAgIH0gcGFyOwogfTsKIAorc3RydWN0IHBhcmFtX2h5cGZz IHsKKyAgICBjb25zdCBzdHJ1Y3Qga2VybmVsX3BhcmFtICpwYXJhbTsKKyAgICBzdHJ1Y3QgaHlw ZnNfZW50cnlfbGVhZiBoeXBmczsKK307CisKIGV4dGVybiBjb25zdCBzdHJ1Y3Qga2VybmVsX3Bh cmFtIF9fc2V0dXBfc3RhcnRbXSwgX19zZXR1cF9lbmRbXTsKIGV4dGVybiBjb25zdCBzdHJ1Y3Qg a2VybmVsX3BhcmFtIF9fcGFyYW1fc3RhcnRbXSwgX19wYXJhbV9lbmRbXTsKK2V4dGVybiBzdHJ1 Y3QgcGFyYW1faHlwZnMgX19wYXJhbWh5cGZzX3N0YXJ0W10sIF9fcGFyYW1oeXBmc19lbmRbXTsK IAogI2RlZmluZSBfX2RhdGFwYXJhbSAgICAgICBfX3VzZWRfc2VjdGlvbigiLmRhdGEucGFyYW0i KQorI2RlZmluZSBfX3BhcmFtaHlwZnMgICAgICBfX3VzZWRfc2VjdGlvbigiLmRhdGEucGFyYW1o eXBmcyIpCiAKICNkZWZpbmUgX19wYXJhbShhdHQpICAgICAgc3RhdGljIGNvbnN0IGF0dCBcCiAg ICAgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oc2l6ZW9mKHZvaWQgKikpKSkgc3RydWN0IGtl cm5lbF9wYXJhbQpAQCAtNzYsNDAgKzg0LDg3IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3Qga2VybmVs X3BhcmFtIF9fcGFyYW1fc3RhcnRbXSwgX19wYXJhbV9lbmRbXTsKICAgICAgICAgICAudHlwZSA9 IE9QVF9JR05PUkUgfQogCiAjZGVmaW5lIF9fcnRwYXJhbSAgICAgICAgIF9fcGFyYW0oX19kYXRh cGFyYW0pCisjZGVmaW5lIF9fcGFyYW1mcyAgICAgICAgIHN0YXRpYyBfX3BhcmFtaHlwZnMgXAor ICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKHNpemVvZih2b2lkICopKSkpIHN0cnVjdCBw YXJhbV9oeXBmcwogCi0jZGVmaW5lIGN1c3RvbV9ydW50aW1lX29ubHlfcGFyYW0oX25hbWUsIF92 YXIpIFwKKyNkZWZpbmUgY3VzdG9tX3J1bnRpbWVfb25seV9wYXJhbShfbmFtZSwgX3ZhciwgY29u dHZhcikgXAogICAgIF9fcnRwYXJhbSBfX3J0cGFyXyMjX3ZhciA9IFwKICAgICAgIHsgLm5hbWUg PSBfbmFtZSwgXAogICAgICAgICAgIC50eXBlID0gT1BUX0NVU1RPTSwgXAotICAgICAgICAgIC5w YXIuZnVuYyA9IF92YXIgfQorICAgICAgICAgIC5wYXIuZnVuYyA9IF92YXIgfTsgXAorICAgIF9f cGFyYW1mcyBfX3BhcmZzXyMjX3ZhciA9IFwKKyAgICAgICAgeyAucGFyYW0gPSAmX19ydHBhcl8j I192YXIsIFwKKyAgICAgICAgICAuaHlwZnMuZS50eXBlID0gWEVOX0hZUEZTX1RZUEVfU1RSSU5H LCBcCisgICAgICAgICAgLmh5cGZzLmUuZW5jb2RpbmcgPSBYRU5fSFlQRlNfRU5DX1BMQUlOLCBc CisgICAgICAgICAgLmh5cGZzLmUubmFtZSA9IF9uYW1lLCBcCisgICAgICAgICAgLmh5cGZzLmUu c2l6ZSA9IHNpemVvZihjb250dmFyKSwgXAorICAgICAgICAgIC5oeXBmcy5lLnJlYWQgPSBoeXBm c19yZWFkX2xlYWYsIFwKKyAgICAgICAgICAuaHlwZnMuZS53cml0ZSA9IGh5cGZzX3dyaXRlX2N1 c3RvbSwgXAorICAgICAgICAgIC5oeXBmcy5jb250ZW50ID0gJmNvbnR2YXIgfQogI2RlZmluZSBi b29sZWFuX3J1bnRpbWVfb25seV9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9fcnRwYXJhbSBf X3J0cGFyXyMjX3ZhciA9IFwKICAgICAgICAgeyAubmFtZSA9IF9uYW1lLCBcCiAgICAgICAgICAg LnR5cGUgPSBPUFRfQk9PTCwgXAogICAgICAgICAgIC5sZW4gPSBzaXplb2YoX3ZhciksIFwKLSAg ICAgICAgICAucGFyLnZhciA9ICZfdmFyIH0KKyAgICAgICAgICAucGFyLnZhciA9ICZfdmFyIH07 IFwKKyAgICBfX3BhcmFtZnMgX19wYXJmc18jI192YXIgPSBcCisgICAgICAgIHsgLnBhcmFtID0g Jl9fcnRwYXJfIyNfdmFyLCBcCisgICAgICAgICAgLmh5cGZzLmUudHlwZSA9IFhFTl9IWVBGU19U WVBFX1VJTlQsIFwKKyAgICAgICAgICAuaHlwZnMuZS5lbmNvZGluZyA9IFhFTl9IWVBGU19FTkNf UExBSU4sIFwKKyAgICAgICAgICAuaHlwZnMuZS5uYW1lID0gX25hbWUsIFwKKyAgICAgICAgICAu aHlwZnMuZS5zaXplID0gc2l6ZW9mKF92YXIpLCBcCisgICAgICAgICAgLmh5cGZzLmUucmVhZCA9 IGh5cGZzX3JlYWRfbGVhZiwgXAorICAgICAgICAgIC5oeXBmcy5lLndyaXRlID0gaHlwZnNfd3Jp dGVfYm9vbCwgXAorICAgICAgICAgIC5oeXBmcy5jb250ZW50ID0gJl92YXIgfQogI2RlZmluZSBp bnRlZ2VyX3J1bnRpbWVfb25seV9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9fcnRwYXJhbSBf X3J0cGFyXyMjX3ZhciA9IFwKICAgICAgICAgeyAubmFtZSA9IF9uYW1lLCBcCiAgICAgICAgICAg LnR5cGUgPSBPUFRfVUlOVCwgXAogICAgICAgICAgIC5sZW4gPSBzaXplb2YoX3ZhciksIFwKLSAg ICAgICAgICAucGFyLnZhciA9ICZfdmFyIH0KKyAgICAgICAgICAucGFyLnZhciA9ICZfdmFyIH07 IFwKKyAgICBfX3BhcmFtZnMgX19wYXJmc18jI192YXIgPSBcCisgICAgICAgIHsgLnBhcmFtID0g Jl9fcnRwYXJfIyNfdmFyLCBcCisgICAgICAgICAgLmh5cGZzLmUudHlwZSA9IFhFTl9IWVBGU19U WVBFX1VJTlQsIFwKKyAgICAgICAgICAuaHlwZnMuZS5lbmNvZGluZyA9IFhFTl9IWVBGU19FTkNf UExBSU4sIFwKKyAgICAgICAgICAuaHlwZnMuZS5uYW1lID0gX25hbWUsIFwKKyAgICAgICAgICAu aHlwZnMuZS5zaXplID0gc2l6ZW9mKF92YXIpLCBcCisgICAgICAgICAgLmh5cGZzLmUucmVhZCA9 IGh5cGZzX3JlYWRfbGVhZiwgXAorICAgICAgICAgIC5oeXBmcy5lLndyaXRlID0gaHlwZnNfd3Jp dGVfbGVhZiwgXAorICAgICAgICAgIC5oeXBmcy5jb250ZW50ID0gJl92YXIgfQogI2RlZmluZSBz aXplX3J1bnRpbWVfb25seV9wYXJhbShfbmFtZSwgX3ZhcikgXAogICAgIF9fcnRwYXJhbSBfX3J0 cGFyXyMjX3ZhciA9IFwKICAgICAgICAgeyAubmFtZSA9IF9uYW1lLCBcCiAgICAgICAgICAgLnR5 cGUgPSBPUFRfU0laRSwgXAogICAgICAgICAgIC5sZW4gPSBzaXplb2YoX3ZhciksIFwKLSAgICAg ICAgICAucGFyLnZhciA9ICZfdmFyIH0KKyAgICAgICAgICAucGFyLnZhciA9ICZfdmFyIH07IFwK KyAgICBfX3BhcmFtZnMgX19wYXJmc18jI192YXIgPSBcCisgICAgICAgIHsgLnBhcmFtID0gJl9f cnRwYXJfIyNfdmFyLCBcCisgICAgICAgICAgLmh5cGZzLmUudHlwZSA9IFhFTl9IWVBGU19UWVBF X1VJTlQsIFwKKyAgICAgICAgICAuaHlwZnMuZS5lbmNvZGluZyA9IFhFTl9IWVBGU19FTkNfUExB SU4sIFwKKyAgICAgICAgICAuaHlwZnMuZS5uYW1lID0gX25hbWUsIFwKKyAgICAgICAgICAuaHlw ZnMuZS5zaXplID0gc2l6ZW9mKF92YXIpLCBcCisgICAgICAgICAgLmh5cGZzLmUucmVhZCA9IGh5 cGZzX3JlYWRfbGVhZiwgXAorICAgICAgICAgIC5oeXBmcy5lLndyaXRlID0gaHlwZnNfd3JpdGVf bGVhZiwgXAorICAgICAgICAgIC5oeXBmcy5jb250ZW50ID0gJl92YXIgfQogI2RlZmluZSBzdHJp bmdfcnVudGltZV9vbmx5X3BhcmFtKF9uYW1lLCBfdmFyKSBcCiAgICAgX19ydHBhcmFtIF9fcnRw YXJfIyNfdmFyID0gXAogICAgICAgICB7IC5uYW1lID0gX25hbWUsIFwKICAgICAgICAgICAudHlw ZSA9IE9QVF9TVFIsIFwKICAgICAgICAgICAubGVuID0gc2l6ZW9mKF92YXIpLCBcCi0gICAgICAg ICAgLnBhci52YXIgPSAmX3ZhciB9CisgICAgICAgICAgLnBhci52YXIgPSAmX3ZhciB9OyBcCisg ICAgX19wYXJhbWZzIF9fcGFyZnNfIyNfdmFyID0gXAorICAgICAgICB7IC5wYXJhbSA9ICZfX3J0 cGFyXyMjX3ZhciwgXAorICAgICAgICAgIC5oeXBmcy5lLnR5cGUgPSBYRU5fSFlQRlNfVFlQRV9T VFJJTkcsIFwKKyAgICAgICAgICAuaHlwZnMuZS5lbmNvZGluZyA9IFhFTl9IWVBGU19FTkNfUExB SU4sIFwKKyAgICAgICAgICAuaHlwZnMuZS5uYW1lID0gX25hbWUsIFwKKyAgICAgICAgICAuaHlw ZnMuZS5zaXplID0gc2l6ZW9mKF92YXIpLCBcCisgICAgICAgICAgLmh5cGZzLmUucmVhZCA9IGh5 cGZzX3JlYWRfbGVhZiwgXAorICAgICAgICAgIC5oeXBmcy5lLndyaXRlID0gaHlwZnNfd3JpdGVf bGVhZiwgXAorICAgICAgICAgIC5oeXBmcy5jb250ZW50ID0gJl92YXIgfQogCi0jZGVmaW5lIGN1 c3RvbV9ydW50aW1lX3BhcmFtKF9uYW1lLCBfdmFyKSBcCisjZGVmaW5lIGN1c3RvbV9ydW50aW1l X3BhcmFtKF9uYW1lLCBfdmFyLCBjb250dmFyKSBcCiAgICAgY3VzdG9tX3BhcmFtKF9uYW1lLCBf dmFyKTsgXAotICAgIGN1c3RvbV9ydW50aW1lX29ubHlfcGFyYW0oX25hbWUsIF92YXIpCisgICAg Y3VzdG9tX3J1bnRpbWVfb25seV9wYXJhbShfbmFtZSwgX3ZhciwgY29udHZhcikKICNkZWZpbmUg Ym9vbGVhbl9ydW50aW1lX3BhcmFtKF9uYW1lLCBfdmFyKSBcCiAgICAgYm9vbGVhbl9wYXJhbShf bmFtZSwgX3Zhcik7IFwKICAgICBib29sZWFuX3J1bnRpbWVfb25seV9wYXJhbShfbmFtZSwgX3Zh cikKQEAgLTEyMyw0ICsxNzgsNyBAQCBleHRlcm4gY29uc3Qgc3RydWN0IGtlcm5lbF9wYXJhbSBf X3BhcmFtX3N0YXJ0W10sIF9fcGFyYW1fZW5kW107CiAgICAgc3RyaW5nX3BhcmFtKF9uYW1lLCBf dmFyKTsgXAogICAgIHN0cmluZ19ydW50aW1lX29ubHlfcGFyYW0oX25hbWUsIF92YXIpCiAKKyNk ZWZpbmUgcGFyYW1fYXBwZW5kX3N0cih2YXIsIGZtdCwgdmFsKSBcCisgICAgc25wcmludGYodmFy ICsgc3RybGVuKHZhciksIHNpemVvZih2YXIpIC0gc3RybGVuKHZhciksIGZtdCwgdmFsKQorCiAj ZW5kaWYgLyogX1hFTl9QQVJBTV9IICovCi0tIAoyLjE2LjQKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h aWxtYW4vbGlzdGluZm8veGVuLWRldmVs