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 7EACBC3A5A5 for ; Thu, 5 Sep 2019 11:40:33 +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 5118020825 for ; Thu, 5 Sep 2019 11:40:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5118020825 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 1i5q7h-0001mF-1l; Thu, 05 Sep 2019 11:40:21 +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 1i5q7g-0001lu-DA for xen-devel@lists.xenproject.org; Thu, 05 Sep 2019 11:40:20 +0000 X-Inumbo-ID: e4783720-cfd1-11e9-abc8-12813bfff9fa Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id e4783720-cfd1-11e9-abc8-12813bfff9fa; Thu, 05 Sep 2019 11:40:00 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id A11E9AF05; Thu, 5 Sep 2019 11:39:59 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Thu, 5 Sep 2019 13:39:55 +0200 Message-Id: <20190905113955.24870-5-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190905113955.24870-1-jgross@suse.com> References: <20190905113955.24870-1-jgross@suse.com> Subject: [Xen-devel] [PATCH v5 4/4] xen: add per-cpu buffer option to debugtrace 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 , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich 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" ZGVidWd0cmFjZSBpcyBub3JtYWxseSB3cml0aW5nIHRyYWNlIGVudHJpZXMgaW50byBhIHNpbmds ZSB0cmFjZQpidWZmZXIuIFRoZXJlIGFyZSBjYXNlcyB3aGVyZSB0aGlzIGlzIG5vdCBvcHRpbWFs LCBlLmcuIHdoZW4gaHVudGluZwphIGJ1ZyB3aGljaCByZXF1aXJlcyB3cml0aW5nIGxvdHMgb2Yg dHJhY2UgZW50cmllcyBhbmQgb25lIGNwdSBpcwpzdHVjay4gVGhpcyB3aWxsIHJlc3VsdCBpbiBv dGhlciBjcHVzIGZpbGxpbmcgdGhlIHRyYWNlIGJ1ZmZlciBhbmQKZmluYWxseSBvdmVyd3JpdGlu ZyB0aGUgaW50ZXJlc3RpbmcgdHJhY2UgZW50cmllcyBvZiB0aGUgaGFuZ2luZyBjcHUuCgpJbiBv cmRlciB0byBiZSBhYmxlIHRvIGRlYnVnIHN1Y2ggc2l0dWF0aW9ucyBhZGQgdGhlIGNhcGFiaWxp dHkgdG8gdXNlCnBlci1jcHUgdHJhY2UgYnVmZmVycy4gVGhpcyBjYW4gYmUgc2VsZWN0ZWQgYnkg c3BlY2lmeWluZyB0aGUKZGVidWd0cmFjZSBib290IHBhcmFtZXRlciB3aXRoIHRoZSBtb2RpZmll ciAiY3B1OiIsIGxpa2U6CgogIGRlYnVndHJhY2U9Y3B1OjE2CgpBdCB0aGUgc2FtZSB0aW1lIHN3 aXRjaCB0aGUgcGFyc2luZyBmdW5jdGlvbiB0byBhY2NlcHQgc2l6ZSBtb2RpZmllcnMKKGUuZy4g NE0gb3IgMUcpLgoKUHJpbnRpbmcgb3V0IHRoZSB0cmFjZSBlbnRyaWVzIGlzIGRvbmUgZm9yIGVh Y2ggYnVmZmVyIGluIG9yZGVyIHRvCm1pbmltaXplIHRoZSBlZmZvcnQgbmVlZGVkIGR1cmluZyBw cmludGluZy4gQXMgZWFjaCBlbnRyeSBpcyBwcmVmaXhlZAp3aXRoIGl0cyBzZXF1ZW5jZSBudW1i ZXIgc29ydGluZyB0aGUgZW50cmllcyBjYW4gZWFzaWx5IGJlIGRvbmUgd2hlbgphbmFseXppbmcg dGhlbS4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0t ClYyOgotIG9ubHkgYWxsb2NhdGUgYnVmZmVyIGlmIG5vdCBhbHJlYWR5IGRvbmUgc28KVjQ6Ci0g dW5zaWduZWQgaW50IC0+IHVuc2lnbmVkIGxvbmcgKEphbiBCZXVsaWNoKQotIHJlcGxhY2UgY2hl Y2sgZm9yIGJ5dGVzIDwgUEFHRV9TSVpFIGJ5ICFieXRlcyAoSmFuIEJldWxpY2gpCi0gcHJpbnQg aW5mbyB3aGljaCBidWZmZXIgYWxsb2NhdGlvbiBmYWlsZWQgKEphbiBCZXVsaWNoKQotIHJlcGxh Y2Ugc3dpdGNoIGJ5IGlmIGluIGNwdSBub3RpZmllciBoYW5kbGVyIChKYW4gQmV1bGljaCkKVjU6 Ci0gZG9uJ3Qgc2lsZW50bHkgaWdub3JlIHRyYWlsaW5nIGNoYXJhY3RlcnMgd2hlbiBwYXJzaW5n IGJ1ZmZlciBzaXplCiAgKEphbiBCZXVsaWNoKQotIGxpbWl0IHNjb3BlIG9mIHNvbWUgdmFyaWFi bGVzIChKYW4gQmV1bGljaCkKLSBhZGp1c3QgZXJyb3IgbWVzc2FnZSBmb3JtYXQgKEphbiBCZXVs aWNoKQotLS0KIGRvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYyB8ICAgNyArLQogeGVu L2NvbW1vbi9kZWJ1Z3RyYWNlLmMgICAgICAgICAgIHwgMTU5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCspLCA0 MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5w YW5kb2MgYi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5wYW5kb2MKaW5kZXggN2M3MmUzMTAz Mi4uODMyNzk3ZTJlMiAxMDA2NDQKLS0tIGEvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFu ZG9jCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYwpAQCAtNjQ0LDEyICs2 NDQsMTMgQEAgb3ZlciB0aGUgUENJIGJ1c3NlcyBzZXF1ZW50aWFsbHkpIG9yIGJ5IFBDSSBkZXZp Y2UgKG11c3QgYmUgb24gc2VnbWVudCAwKS4KIExpbWl0cyB0aGUgbnVtYmVyIGxpbmVzIHByaW50 ZWQgaW4gWGVuIHN0YWNrIHRyYWNlcy4KIAogIyMjIGRlYnVndHJhY2UKLT4gYD0gPGludGVnZXI+ YAorPiBgPSBbY3B1Ol08c2l6ZT5gCiAKID4gRGVmYXVsdDogYDEyOGAKIAotU3BlY2lmeSB0aGUg c2l6ZSBvZiB0aGUgY29uc29sZSBkZWJ1ZyB0cmFjZSBidWZmZXIgaW4gS2lCLiBUaGUgZGVidWcK LXRyYWNlIGZlYXR1cmUgaXMgb25seSBlbmFibGVkIGluIGRlYnVnZ2luZyBidWlsZHMgb2YgWGVu LgorU3BlY2lmeSB0aGUgc2l6ZSBvZiB0aGUgY29uc29sZSBkZWJ1ZyB0cmFjZSBidWZmZXIuIEJ5 IHNwZWNpZnlpbmcgYGNwdTpgCithZGRpdGlvbmFsbHkgYSB0cmFjZSBidWZmZXIgb2YgdGhlIHNw ZWNpZmllZCBzaXplIGlzIGFsbG9jYXRlZCBwZXIgY3B1LgorVGhlIGRlYnVnIHRyYWNlIGZlYXR1 cmUgaXMgb25seSBlbmFibGVkIGluIGRlYnVnZ2luZyBidWlsZHMgb2YgWGVuLgogCiAjIyMgZG1h X2JpdHMKID4gYD0gPGludGVnZXI+YApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kZWJ1Z3RyYWNl LmMgYi94ZW4vY29tbW9uL2RlYnVndHJhY2UuYwppbmRleCAwZWViMWE3N2M1Li4zNDY3ZmM3MzYz IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2RlYnVndHJhY2UuYworKysgYi94ZW4vY29tbW9uL2Rl YnVndHJhY2UuYwpAQCAtNiw2ICs2LDcgQEAKIAogCiAjaW5jbHVkZSA8eGVuL2NvbnNvbGUuaD4K KyNpbmNsdWRlIDx4ZW4vY3B1Lmg+CiAjaW5jbHVkZSA8eGVuL2luaXQuaD4KICNpbmNsdWRlIDx4 ZW4va2V5aGFuZGxlci5oPgogI2luY2x1ZGUgPHhlbi9saWIuaD4KQEAgLTI2LDM0ICsyNyw3NCBA QCBzdHJ1Y3QgZGVidWd0cmFjZV9kYXRhIHsKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZGVidWd0cmFj ZV9kYXRhICpkdF9kYXRhOworc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBkZWJ1Z3RyYWNl X2RhdGEgKiwgZHRfY3B1X2RhdGEpOwogCi1zdGF0aWMgdW5zaWduZWQgaW50IGRlYnVndHJhY2Vf a2lsb2J5dGVzID0gMTI4Oworc3RhdGljIHVuc2lnbmVkIGxvbmcgZGVidWd0cmFjZV9ieXRlcyA9 IDEyOCA8PCAxMDsKK3N0YXRpYyBib29sIGRlYnVndHJhY2VfcGVyX2NwdTsKIHN0YXRpYyBib29s IGRlYnVndHJhY2VfdXNlZDsKIHN0YXRpYyBjaGFyIGRlYnVndHJhY2VfbGFzdF9lbnRyeV9idWZb REVCVUdfVFJBQ0VfRU5UUllfU0laRV07CiBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGRlYnVndHJh Y2VfbG9jayk7Ci1pbnRlZ2VyX3BhcmFtKCJkZWJ1Z3RyYWNlIiwgZGVidWd0cmFjZV9raWxvYnl0 ZXMpOwogCi1zdGF0aWMgdm9pZCBkZWJ1Z3RyYWNlX2R1bXBfd29ya2VyKHZvaWQpCitzdGF0aWMg aW50IF9faW5pdCBkZWJ1Z3RyYWNlX3BhcnNlX3BhcmFtKGNvbnN0IGNoYXIgKnMpCiB7Ci0gICAg aWYgKCAhZGVidWd0cmFjZV91c2VkICkKKyAgICB1bnNpZ25lZCBsb25nIGJ5dGVzOworCisgICAg aWYgKCAhc3RybmNtcChzLCAiY3B1OiIsIDQpICkKKyAgICB7CisgICAgICAgIGRlYnVndHJhY2Vf cGVyX2NwdSA9IHRydWU7CisgICAgICAgIHMgKz0gNDsKKyAgICB9CisgICAgYnl0ZXMgPSBwYXJz ZV9zaXplX2FuZF91bml0KHMsICZzKTsKKworICAgIGlmICggKnMgKQorICAgICAgICByZXR1cm4g LUVJTlZBTDsKKworICAgIGRlYnVndHJhY2VfYnl0ZXMgPSBieXRlczsKKworICAgIHJldHVybiAw OworfQorY3VzdG9tX3BhcmFtKCJkZWJ1Z3RyYWNlIiwgZGVidWd0cmFjZV9wYXJzZV9wYXJhbSk7 CisKK3N0YXRpYyB2b2lkIGRlYnVndHJhY2VfZHVtcF9idWZmZXIoc3RydWN0IGRlYnVndHJhY2Vf ZGF0YSAqZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh ciAqd2hpY2gpCit7CisgICAgaWYgKCAhZGF0YSApCiAgICAgICAgIHJldHVybjsKIAotICAgIHBy aW50aygiZGVidWd0cmFjZV9kdW1wKCkgc3RhcnRpbmdcbiIpOworICAgIHByaW50aygiZGVidWd0 cmFjZV9kdW1wKCkgJXMgYnVmZmVyIHN0YXJ0aW5nXG4iLCB3aGljaCk7CiAKICAgICAvKiBQcmlu dCBvbGRlc3QgcG9ydGlvbiBvZiB0aGUgcmluZy4gKi8KLSAgICBpZiAoIGR0X2RhdGEtPmJ1Zltk dF9kYXRhLT5wcmRdICE9ICdcMCcgKQotICAgICAgICBjb25zb2xlX3NlcmlhbF9wdXRzKCZkdF9k YXRhLT5idWZbZHRfZGF0YS0+cHJkXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdF9k YXRhLT5ieXRlcyAtIGR0X2RhdGEtPnByZCk7CisgICAgaWYgKCBkYXRhLT5idWZbZGF0YS0+cHJk XSAhPSAnXDAnICkKKyAgICAgICAgY29uc29sZV9zZXJpYWxfcHV0cygmZGF0YS0+YnVmW2RhdGEt PnByZF0sIGRhdGEtPmJ5dGVzIC0gZGF0YS0+cHJkKTsKIAogICAgIC8qIFByaW50IHlvdW5nZXN0 IHBvcnRpb24gb2YgdGhlIHJpbmcuICovCi0gICAgZHRfZGF0YS0+YnVmW2R0X2RhdGEtPnByZF0g PSAnXDAnOwotICAgIGNvbnNvbGVfc2VyaWFsX3B1dHMoJmR0X2RhdGEtPmJ1ZlswXSwgZHRfZGF0 YS0+cHJkKTsKKyAgICBkYXRhLT5idWZbZGF0YS0+cHJkXSA9ICdcMCc7CisgICAgY29uc29sZV9z ZXJpYWxfcHV0cygmZGF0YS0+YnVmWzBdLCBkYXRhLT5wcmQpOwogCi0gICAgbWVtc2V0KGR0X2Rh dGEtPmJ1ZiwgJ1wwJywgZHRfZGF0YS0+Ynl0ZXMpOwotICAgIGR0X2RhdGEtPnByZCA9IDA7Ci0g ICAgZGVidWd0cmFjZV9sYXN0X2VudHJ5X2J1ZlswXSA9IDA7CisgICAgbWVtc2V0KGRhdGEtPmJ1 ZiwgJ1wwJywgZGF0YS0+Ynl0ZXMpOworICAgIGRhdGEtPnByZCA9IDA7CisKKyAgICBwcmludGso ImRlYnVndHJhY2VfZHVtcCgpICVzIGJ1ZmZlciBmaW5pc2hlZFxuIiwgd2hpY2gpOworfQorCitz dGF0aWMgdm9pZCBkZWJ1Z3RyYWNlX2R1bXBfd29ya2VyKHZvaWQpCit7CisgICAgdW5zaWduZWQg aW50IGNwdTsKKworICAgIGlmICggIWRlYnVndHJhY2VfdXNlZCApCisgICAgICAgIHJldHVybjsK KworICAgIGRlYnVndHJhY2VfZHVtcF9idWZmZXIoZHRfZGF0YSwgImdsb2JhbCIpOwogCi0gICAg cHJpbnRrKCJkZWJ1Z3RyYWNlX2R1bXAoKSBmaW5pc2hlZFxuIik7CisgICAgZm9yICggY3B1ID0g MDsgY3B1IDwgbnJfY3B1X2lkczsgY3B1KysgKQorICAgIHsKKyAgICAgICAgY2hhciBidWZbMTZd OworCisgICAgICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJjcHUgJXUiLCBjcHUpOwor ICAgICAgICBkZWJ1Z3RyYWNlX2R1bXBfYnVmZmVyKHBlcl9jcHUoZHRfY3B1X2RhdGEsIGNwdSks IGJ1Zik7CisgICAgfQorCisgICAgZGVidWd0cmFjZV9sYXN0X2VudHJ5X2J1ZlswXSA9IDA7CiB9 CiAKIHN0YXRpYyB2b2lkIGRlYnVndHJhY2VfdG9nZ2xlKHZvaWQpCkBAIC05MywyOCArMTM0LDMz IEBAIHZvaWQgZGVidWd0cmFjZV9kdW1wKHZvaWQpCiAKIHN0YXRpYyB2b2lkIGRlYnVndHJhY2Vf YWRkX3RvX2J1ZihjaGFyICpidWYpCiB7CisgICAgc3RydWN0IGRlYnVndHJhY2VfZGF0YSAqZGF0 YTsKICAgICBjaGFyICpwOwogCisgICAgZGF0YSA9IGRlYnVndHJhY2VfcGVyX2NwdSA/IHRoaXNf Y3B1KGR0X2NwdV9kYXRhKSA6IGR0X2RhdGE7CisKICAgICBmb3IgKCBwID0gYnVmOyAqcCAhPSAn XDAnOyBwKysgKQogICAgIHsKLSAgICAgICAgZHRfZGF0YS0+YnVmW2R0X2RhdGEtPnByZCsrXSA9 ICpwOwotICAgICAgICBpZiAoIGR0X2RhdGEtPnByZCA9PSBkdF9kYXRhLT5ieXRlcyApCi0gICAg ICAgICAgICBkdF9kYXRhLT5wcmQgPSAwOworICAgICAgICBkYXRhLT5idWZbZGF0YS0+cHJkKytd ID0gKnA7CisgICAgICAgIGlmICggZGF0YS0+cHJkID09IGRhdGEtPmJ5dGVzICkKKyAgICAgICAg ICAgIGRhdGEtPnByZCA9IDA7CiAgICAgfQogfQogCiB2b2lkIGRlYnVndHJhY2VfcHJpbnRrKGNv bnN0IGNoYXIgKmZtdCwgLi4uKQogewogICAgIHN0YXRpYyBjaGFyIGJ1ZltERUJVR19UUkFDRV9F TlRSWV9TSVpFXTsKLSAgICBzdGF0aWMgdW5zaWduZWQgaW50IGNvdW50LCBsYXN0X2NvdW50Owor ICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgY291bnQsIGxhc3RfY291bnQsIGxhc3RfY3B1OwogICAg IHN0YXRpYyB1bnNpZ25lZCBsb25nIGxhc3RfcHJkOwogCiAgICAgY2hhciAgICAgICAgICBjbnRi dWZbMjRdOwogICAgIHZhX2xpc3QgICAgICAgYXJnczsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdz OwogICAgIHVuc2lnbmVkIGludCBucjsKKyAgICBzdHJ1Y3QgZGVidWd0cmFjZV9kYXRhICpkYXRh OwogCi0gICAgaWYgKCAhZHRfZGF0YSApCisgICAgZGF0YSA9IGRlYnVndHJhY2VfcGVyX2NwdSA/ IHRoaXNfY3B1KGR0X2NwdV9kYXRhKSA6IGR0X2RhdGE7CisgICAgaWYgKCAhZGF0YSApCiAgICAg ICAgIHJldHVybjsKIAogICAgIGRlYnVndHJhY2VfdXNlZCA9IHRydWU7CkBAIC0xMzQsMTYgKzE4 MCwxOSBAQCB2b2lkIGRlYnVndHJhY2VfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQogICAg IH0KICAgICBlbHNlCiAgICAgewotICAgICAgICBpZiAoIHN0cmNtcChidWYsIGRlYnVndHJhY2Vf bGFzdF9lbnRyeV9idWYpICkKKyAgICAgICAgdW5zaWduZWQgaW50IGNwdSA9IGRlYnVndHJhY2Vf cGVyX2NwdSA/IHNtcF9wcm9jZXNzb3JfaWQoKSA6IDA7CisKKyAgICAgICAgaWYgKCBzdHJjbXAo YnVmLCBkZWJ1Z3RyYWNlX2xhc3RfZW50cnlfYnVmKSB8fCBjcHUgIT0gbGFzdF9jcHUgKQogICAg ICAgICB7Ci0gICAgICAgICAgICBsYXN0X3ByZCA9IGR0X2RhdGEtPnByZDsKKyAgICAgICAgICAg IGxhc3RfcHJkID0gZGF0YS0+cHJkOwogICAgICAgICAgICAgbGFzdF9jb3VudCA9ICsrY291bnQ7 CisgICAgICAgICAgICBsYXN0X2NwdSA9IGNwdTsKICAgICAgICAgICAgIHNhZmVfc3RyY3B5KGRl YnVndHJhY2VfbGFzdF9lbnRyeV9idWYsIGJ1Zik7CiAgICAgICAgICAgICBzbnByaW50ZihjbnRi dWYsIHNpemVvZihjbnRidWYpLCAiJXUgIiwgY291bnQpOwogICAgICAgICB9CiAgICAgICAgIGVs c2UKICAgICAgICAgewotICAgICAgICAgICAgZHRfZGF0YS0+cHJkID0gbGFzdF9wcmQ7CisgICAg ICAgICAgICBkYXRhLT5wcmQgPSBsYXN0X3ByZDsKICAgICAgICAgICAgIHNucHJpbnRmKGNudGJ1 Ziwgc2l6ZW9mKGNudGJ1ZiksICIldS0ldSAiLCBsYXN0X2NvdW50LCArK2NvdW50KTsKICAgICAg ICAgfQogICAgICAgICBkZWJ1Z3RyYWNlX2FkZF90b19idWYoY250YnVmKTsKQEAgLTE1OCwzNCAr MjA3LDcwIEBAIHN0YXRpYyB2b2lkIGRlYnVndHJhY2Vfa2V5KHVuc2lnbmVkIGNoYXIga2V5KQog ICAgIGRlYnVndHJhY2VfdG9nZ2xlKCk7CiB9CiAKLXN0YXRpYyBpbnQgX19pbml0IGRlYnVndHJh Y2VfaW5pdCh2b2lkKQorc3RhdGljIHZvaWQgZGVidWd0cmFjZV9hbGxvY19idWZmZXIoc3RydWN0 IGRlYnVndHJhY2VfZGF0YSAqKnB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCBjcHUpCiB7CiAgICAgaW50IG9yZGVyOwotICAgIHVuc2lnbmVkIGxv bmcga2J5dGVzLCBieXRlczsKICAgICBzdHJ1Y3QgZGVidWd0cmFjZV9kYXRhICpkYXRhOwogCi0g ICAgLyogUm91bmQgc2l6ZSBkb3duIHRvIG5leHQgcG93ZXIgb2YgdHdvLiAqLwotICAgIHdoaWxl ICggKGtieXRlcyA9IChkZWJ1Z3RyYWNlX2tpbG9ieXRlcyAmIChkZWJ1Z3RyYWNlX2tpbG9ieXRl cy0xKSkpICE9IDAgKQotICAgICAgICBkZWJ1Z3RyYWNlX2tpbG9ieXRlcyA9IGtieXRlczsKLQot ICAgIGJ5dGVzID0gZGVidWd0cmFjZV9raWxvYnl0ZXMgPDwgMTA7Ci0gICAgaWYgKCBieXRlcyA9 PSAwICkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCAhZGVidWd0cmFjZV9ieXRlcyB8fCAq cHRyICkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgb3JkZXIgPSBnZXRfb3JkZXJfZnJvbV9ieXRl cyhieXRlcyk7CisgICAgb3JkZXIgPSBnZXRfb3JkZXJfZnJvbV9ieXRlcyhkZWJ1Z3RyYWNlX2J5 dGVzKTsKICAgICBkYXRhID0gYWxsb2NfeGVuaGVhcF9wYWdlcyhvcmRlciwgMCk7CiAgICAgaWYg KCAhZGF0YSApCi0gICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIHsKKyAgICAgICAgaWYgKCBk ZWJ1Z3RyYWNlX3Blcl9jcHUgKQorICAgICAgICAgICAgcHJpbnRrKCJDUFUldTogZmFpbGVkIHRv IGFsbG9jYXRlIGRlYnVndHJhY2UgYnVmZmVyXG4iLCBjcHUpOworICAgICAgICBlbHNlCisgICAg ICAgICAgICBwcmludGsoImZhaWxlZCB0byBhbGxvY2F0ZSBkZWJ1Z3RyYWNlIGJ1ZmZlclxuIik7 CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkZWJ1Z3RyYWNlX2J5dGVzID0gUEFHRV9T SVpFIDw8IG9yZGVyOworICAgIG1lbXNldChkYXRhLCAnXDAnLCBkZWJ1Z3RyYWNlX2J5dGVzKTsK KyAgICBkYXRhLT5ieXRlcyA9IGRlYnVndHJhY2VfYnl0ZXMgLSBzaXplb2YoKmRhdGEpOwogCi0g ICAgYnl0ZXMgPSBQQUdFX1NJWkUgPDwgb3JkZXI7Ci0gICAgbWVtc2V0KGRhdGEsICdcMCcsIGJ5 dGVzKTsKKyAgICAqcHRyID0gZGF0YTsKK30KKworc3RhdGljIGludCBkZWJ1Z3RyYWNlX2NwdV9j YWxsYmFjayhzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5mYiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmhjcHUpCit7CisgICAg dW5zaWduZWQgaW50IGNwdSA9ICh1bnNpZ25lZCBsb25nKWhjcHU7CiAKLSAgICBkYXRhLT5ieXRl cyA9IGJ5dGVzIC0gc2l6ZW9mKCpkYXRhKTsKLSAgICBkdF9kYXRhID0gZGF0YTsKKyAgICAvKiBC dWZmZXJzIGFyZSBvbmx5IGV2ZXIgYWxsb2NhdGVkLCBuZXZlciBmcmVlZC4gKi8KKyAgICBpZiAo IGFjdGlvbiA9PSBDUFVfVVBfUFJFUEFSRSApCisgICAgICAgIGRlYnVndHJhY2VfYWxsb2NfYnVm ZmVyKCZwZXJfY3B1KGR0X2NwdV9kYXRhLCBjcHUpLCBjcHUpOworCisgICAgcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgZGVidWd0cmFjZV9uZmIgPSB7CisgICAg Lm5vdGlmaWVyX2NhbGwgPSBkZWJ1Z3RyYWNlX2NwdV9jYWxsYmFjaworfTsKKworc3RhdGljIGlu dCBfX2luaXQgZGVidWd0cmFjZV9pbml0KHZvaWQpCit7CisgICAgdW5zaWduZWQgbG9uZyBieXRl czsKKyAgICB1bnNpZ25lZCBpbnQgY3B1OworCisgICAgLyogUm91bmQgc2l6ZSBkb3duIHRvIG5l eHQgcG93ZXIgb2YgdHdvLiAqLworICAgIHdoaWxlICggKGJ5dGVzID0gKGRlYnVndHJhY2VfYnl0 ZXMgJiAoZGVidWd0cmFjZV9ieXRlcyAtIDEpKSkgIT0gMCApCisgICAgICAgIGRlYnVndHJhY2Vf Ynl0ZXMgPSBieXRlczsKIAogICAgIHJlZ2lzdGVyX2tleWhhbmRsZXIoJ1QnLCBkZWJ1Z3RyYWNl X2tleSwKICAgICAgICAgICAgICAgICAgICAgICAgICJ0b2dnbGUgZGVidWd0cmFjZSB0byBjb25z b2xlL2J1ZmZlciIsIDApOwogCisgICAgaWYgKCBkZWJ1Z3RyYWNlX3Blcl9jcHUgKQorICAgIHsK KyAgICAgICAgZm9yX2VhY2hfb25saW5lX2NwdSAoIGNwdSApCisgICAgICAgICAgICBkZWJ1Z3Ry YWNlX2FsbG9jX2J1ZmZlcigmcGVyX2NwdShkdF9jcHVfZGF0YSwgY3B1KSwgY3B1KTsKKyAgICAg ICAgcmVnaXN0ZXJfY3B1X25vdGlmaWVyKCZkZWJ1Z3RyYWNlX25mYik7CisgICAgfQorICAgIGVs c2UKKyAgICAgICAgZGVidWd0cmFjZV9hbGxvY19idWZmZXIoJmR0X2RhdGEsIDApOworCiAgICAg cmV0dXJuIDA7CiB9CiBfX2luaXRjYWxsKGRlYnVndHJhY2VfaW5pdCk7Ci0tIAoyLjE2LjQKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs