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=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,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 8A473C433FF for ; Fri, 2 Aug 2019 15:58:34 +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 5C64A20B7C for ; Fri, 2 Aug 2019 15:58:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5C64A20B7C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1htZwj-0006Dg-MN; Fri, 02 Aug 2019 15:58: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 1htZwg-00067y-MM for xen-devel@lists.xenproject.org; Fri, 02 Aug 2019 15:58:18 +0000 X-Inumbo-ID: 56d67ab0-b53e-11e9-a82f-d74d7edca8ec Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 56d67ab0-b53e-11e9-a82f-d74d7edca8ec; Fri, 02 Aug 2019 15:58:16 +0000 (UTC) Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=anthony.perard@citrix.com; spf=Pass smtp.mailfrom=anthony.perard@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of anthony.perard@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa2.hc3370-68.iphmx.com: domain of anthony.perard@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: pbKiToo7/G4gAxD0gP+aXCl+MK+IX1CGSK/RyALmc+QmVjRvxCRVrnuL9hivfiWvcDF6kqvrVZ FRLHzXTmBDzPYbQtYZDiGNC30bXicw6NXwlgznegJ9G1ujlZgxZ9uhK8ZB4uz5Z0Z8Dl4rzbVY z9EQW+hswiJkCv1/+hQafrsDGYZsXD3P+2xtcdlFYpW3eMALtMu62CzYJcY0snYb83aBdTSeMv E9c5Wd9QTsDNyESpYHyfrqFqt9/vvCeGAVeWq1okAjoRNMuvBWIK8mvkxtsS9NA585XYUyI3+/ mW8= X-SBRS: 2.7 X-MesageID: 3787823 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,338,1559534400"; d="scan'208";a="3787823" From: Anthony PERARD To: Date: Fri, 2 Aug 2019 16:36:03 +0100 Message-ID: <20190802153606.32061-33-anthony.perard@citrix.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190802153606.32061-1-anthony.perard@citrix.com> References: <20190802153606.32061-1-anthony.perard@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 32/35] libxl: Use ev_qmp in libxl_set_vcpuonline 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: Anthony PERARD , Ian Jackson , Wei Liu Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" UmVtb3ZlZCBsaWJ4bF9fcW1wX2NwdV9hZGQgc2luY2UgaXQncyBub3QgdXNlZCBhbnltb3JlLgoK YGNwdW1hcCcgYXJnIG9mIGxpYnhsX19zZXRfdmNwdW9ubGluZV94ZW5zdG9yZSBpcyBjb25zdGlm aWVkLgoKU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnkucGVyYXJkQGNpdHJp eC5jb20+Ci0tLQogdG9vbHMvbGlieGwvbGlieGxfZG9tYWluLmMgICB8IDIwNSArKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCB8 ICAgMiAtCiB0b29scy9saWJ4bC9saWJ4bF9xbXAuYyAgICAgIHwgICA5IC0tCiAzIGZpbGVzIGNo YW5nZWQsIDE1MyBpbnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90 b29scy9saWJ4bC9saWJ4bF9kb21haW4uYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jCmlu ZGV4IDA4ZDNmYzlmYmMuLjQ3MjZlMjdkMjAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhs X2RvbWFpbi5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jCkBAIC0xNDMyLDggKzE0 MzIsOCBAQCBsaWJ4bF92Y3B1aW5mbyAqbGlieGxfbGlzdF92Y3B1KGxpYnhsX2N0eCAqY3R4LCB1 aW50MzJfdCBkb21pZCwKIH0KIAogc3RhdGljIGludCBsaWJ4bF9fc2V0X3ZjcHVvbmxpbmVfeGVu c3RvcmUobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2JpdG1hcCAqY3B1bWFwLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9kb21pbmZvICppbmZvKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYml0 bWFwICpjcHVtYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBsaWJ4bF9kb21pbmZvICppbmZvKQogewogICAgIGNoYXIgKmRvbXBhdGg7CiAgICAgeHNf dHJhbnNhY3Rpb25fdCB0OwpAQCAtMTQ1Nyw0MyArMTQ1NywyNyBAQCBzdGF0aWMgaW50IGxpYnhs X19zZXRfdmNwdW9ubGluZV94ZW5zdG9yZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwK ICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgbGlieGxfX3NldF92Y3B1b25saW5lX3Ft cChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsaWJ4bF9iaXRtYXAgKmNwdW1hcCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9kb21pbmZvICppbmZvKQotewotICAgIGludCBp LCByYzsKLSAgICBsaWJ4bF9iaXRtYXAgY3VycmVudF9tYXAsIGZpbmFsX21hcDsKLQotICAgIGxp YnhsX2JpdG1hcF9pbml0KCZjdXJyZW50X21hcCk7Ci0gICAgbGlieGxfYml0bWFwX2luaXQoJmZp bmFsX21hcCk7Ci0KLSAgICBsaWJ4bF9iaXRtYXBfYWxsb2MoQ1RYLCAmY3VycmVudF9tYXAsIGlu Zm8tPnZjcHVfbWF4X2lkICsgMSk7Ci0gICAgbGlieGxfYml0bWFwX3NldF9ub25lKCZjdXJyZW50 X21hcCk7Ci0gICAgcmMgPSBsaWJ4bF9fcW1wX3F1ZXJ5X2NwdXMoZ2MsIGRvbWlkLCAmY3VycmVu dF9tYXApOwotICAgIGlmIChyYykgewotICAgICAgICBMT0dEKEVSUk9SLCBkb21pZCwgIkZhaWxl ZCB0byBxdWVyeSBjcHVzIik7Ci0gICAgICAgIGdvdG8gb3V0OwotICAgIH0KLQotICAgIGxpYnhs X2JpdG1hcF9jb3B5X2FsbG9jKENUWCwgJmZpbmFsX21hcCwgY3B1bWFwKTsKLQotICAgIGxpYnhs X2Zvcl9lYWNoX3NldF9iaXQoaSwgY3VycmVudF9tYXApCi0gICAgICAgIGxpYnhsX2JpdG1hcF9y ZXNldCgmZmluYWxfbWFwLCBpKTsKLQotICAgIGxpYnhsX2Zvcl9lYWNoX3NldF9iaXQoaSwgZmlu YWxfbWFwKSB7Ci0gICAgICAgIHJjID0gbGlieGxfX3FtcF9jcHVfYWRkKGdjLCBkb21pZCwgaSk7 Ci0gICAgICAgIGlmIChyYykgewotICAgICAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJGYWls ZWQgdG8gYWRkIGNwdSAlZCIsIGkpOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0K LSAgICB9Ci0KLSAgICByYyA9IDA7Ci1vdXQ6Ci0gICAgbGlieGxfYml0bWFwX2Rpc3Bvc2UoJmN1 cnJlbnRfbWFwKTsKLSAgICBsaWJ4bF9iaXRtYXBfZGlzcG9zZSgmZmluYWxfbWFwKTsKLSAgICBy ZXR1cm4gcmM7Ci19Cit0eXBlZGVmIHN0cnVjdCBzZXRfdmNwdW9ubGluZV9zdGF0ZSB7CisgICAg bGlieGxfX2V2X3FtcCBxbXA7CisgICAgbGlieGxfX2V2X3RpbWUgdGltZW91dDsKKyAgICBjb25z dCBsaWJ4bF9iaXRtYXAgKmNwdW1hcDsKKyAgICBsaWJ4bF9kb21pbmZvIGluZm87CisgICAgbGli eGxfYml0bWFwIGZpbmFsX21hcDsKKyAgICBpbnQgaW5kZXg7IC8qIGZvciBsb29wIG9uIGZpbmFs X21hcCAqLworfSBzZXRfdmNwdW9ubGluZV9zdGF0ZTsKKworc3RhdGljIHZvaWQgc2V0X3ZjcHVv bmxpbmVfcW1wX2NwdXNfcXVlcmllZChsaWJ4bF9fZWdjICosIGxpYnhsX19ldl9xbXAgKiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfX2pz b25fb2JqZWN0ICosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCByYyk7CitzdGF0aWMgdm9pZCBzZXRfdmNwdW9ubGluZV9xbXBfYWRkX2NwdShsaWJ4bF9f ZWdjICosIGxpYnhsX19ldl9xbXAgKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqcmVzcG9uc2UsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOworc3RhdGljIHZvaWQgc2V0X3ZjcHVv bmxpbmVfdGltZW91dChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnJlcXVl c3RlZF9hYnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7Citz dGF0aWMgdm9pZCBzZXRfdmNwdW9ubGluZV9kb25lKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2V0X3ZjcHVvbmxpbmVfc3RhdGUgKnN2b3MsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7CiAKIGludCBsaWJ4bF9zZXRfdmNw dW9ubGluZShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfYml0bWFwICpjcHVtYXAsCkBAIC0xNTAxLDExICsxNDg1LDIyIEBAIGlu dCBsaWJ4bF9zZXRfdmNwdW9ubGluZShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiB7 CiAgICAgQU9fQ1JFQVRFKGN0eCwgZG9taWQsIGFvX2hvdyk7CiAgICAgaW50IHJjLCBtYXhjcHVz OwotICAgIGxpYnhsX2RvbWluZm8gaW5mbzsKKyAgICBzZXRfdmNwdW9ubGluZV9zdGF0ZSAqc3Zv czsKIAotICAgIGxpYnhsX2RvbWluZm9faW5pdCgmaW5mbyk7CisgICAgR0NORVcoc3Zvcyk7Cisg ICAgbGlieGxfX2V2X3FtcF9pbml0KCZzdm9zLT5xbXApOworICAgIHN2b3MtPnFtcC5hbyA9IGFv OworICAgIHN2b3MtPnFtcC5kb21pZCA9IGRvbWlkOworICAgIHN2b3MtPnFtcC5wYXlsb2FkX2Zk ID0gLTE7CisgICAgbGlieGxfX2V2X3RpbWVfaW5pdCgmc3Zvcy0+dGltZW91dCk7CisgICAgbGli eGxfZG9taW5mb19pbml0KCZzdm9zLT5pbmZvKTsKKyAgICBsaWJ4bF9iaXRtYXBfaW5pdCgmc3Zv cy0+ZmluYWxfbWFwKTsKIAotICAgIHJjID0gbGlieGxfZG9tYWluX2luZm8oQ1RYLCAmaW5mbywg ZG9taWQpOworICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9kb21pbmZv ICppbmZvID0gJnN2b3MtPmluZm87CisgICAgbGlieGxfX2V2X3FtcCAqcW1wID0gJnN2b3MtPnFt cDsKKworICAgIHJjID0gbGlieGxfZG9tYWluX2luZm8oQ1RYLCBpbmZvLCBkb21pZCk7CiAgICAg aWYgKHJjIDwgMCkgewogICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQsICJHZXR0aW5nIGRvbWFp biBpbmZvIGxpc3QiKTsKICAgICAgICAgZ290byBvdXQ7CkBAIC0xNTE4LDEwICsxNTEzLDEwIEBA IGludCBsaWJ4bF9zZXRfdmNwdW9ubGluZShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQs CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQotICAg IGlmIChtYXhjcHVzID4gaW5mby52Y3B1X21heF9pZCArIDEpCisgICAgaWYgKG1heGNwdXMgPiBp bmZvLT52Y3B1X21heF9pZCArIDEpCiAgICAgewogICAgICAgICBMT0dFRChFUlJPUiwgZG9taWQs ICJSZXF1ZXN0ZWQgJWQgVkNQVXMsIGhvd2V2ZXIgbWF4Y3B1cyBpcyAlZCEiLAotICAgICAgICAg ICAgICBtYXhjcHVzLCBpbmZvLnZjcHVfbWF4X2lkICsgMSk7CisgICAgICAgICAgICAgIG1heGNw dXMsIGluZm8tPnZjcHVfbWF4X2lkICsgMSk7CiAgICAgICAgIHJjID0gRVJST1JfRkFJTDsKICAg ICAgICAgZ290byBvdXQ7CiAgICAgfQpAQCAtMTUzMiw4ICsxNTI3LDE0IEBAIGludCBsaWJ4bF9z ZXRfdmNwdW9ubGluZShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgIGNh c2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJT05fUUVNVV9YRU5fVFJBRElUSU9OQUw6CiAgICAg ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9R RU1VX1hFTjoKLSAgICAgICAgICAgIHJjID0gbGlieGxfX3NldF92Y3B1b25saW5lX3FtcChnYywg ZG9taWQsIGNwdW1hcCwgJmluZm8pOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBy YyA9IGxpYnhsX19ldl90aW1lX3JlZ2lzdGVyX3JlbChhbywgJnN2b3MtPnRpbWVvdXQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRfdmNwdW9ubGluZV90 aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElC WExfUU1QX0NNRF9USU1FT1VUICogMTAwMCk7CisgICAgICAgICAgICBpZiAocmMpIGdvdG8gb3V0 OworICAgICAgICAgICAgcW1wLT5jYWxsYmFjayA9IHNldF92Y3B1b25saW5lX3FtcF9jcHVzX3F1 ZXJpZWQ7CisgICAgICAgICAgICByYyA9IGxpYnhsX19ldl9xbXBfc2VuZChnYywgcW1wLCAicXVl cnktY3B1cyIsIE5VTEwpOworICAgICAgICAgICAgaWYgKHJjKSBnb3RvIG91dDsKKyAgICAgICAg ICAgIHJldHVybiBBT19JTlBST0dSRVNTOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAg cmMgPSBFUlJPUl9JTlZBTDsKICAgICAgICAgfQpAQCAtMTU0NSwxNSArMTU0NiwxMTUgQEAgaW50 IGxpYnhsX3NldF92Y3B1b25saW5lKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAg ICAgICAgcmMgPSBFUlJPUl9JTlZBTDsKICAgICB9CiAKLSAgICBpZiAoIXJjKQotICAgICAgICBy YyA9IGxpYnhsX19zZXRfdmNwdW9ubGluZV94ZW5zdG9yZShnYywgZG9taWQsIGNwdW1hcCwgJmlu Zm8pOworb3V0OgorICAgIHNldF92Y3B1b25saW5lX2RvbmUoZWdjLCBzdm9zLCByYyk7IC8qIG11 c3QgYmUgbGFzdCAqLworICAgIHJldHVybiBBT19JTlBST0dSRVNTOworfQorCitzdGF0aWMgdm9p ZCBzZXRfdmNwdW9ubGluZV9xbXBfY3B1c19xdWVyaWVkKGxpYnhsX19lZ2MgKmVnYywKKyAgICBs aWJ4bF9fZXZfcW1wICpxbXAsIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqcmVzcG9uc2UsIGlu dCByYykKK3sKKyAgICBFR0NfR0M7CisgICAgc2V0X3ZjcHVvbmxpbmVfc3RhdGUgKnN2b3MgPSBD T05UQUlORVJfT0YocW1wLCAqc3ZvcywgcW1wKTsKKyAgICBjb25zdCBsaWJ4bF9fanNvbl9vYmpl Y3QgKmNwdTsKKyAgICBpbnQgaTsKKyAgICBsaWJ4bF9iaXRtYXAgY3VycmVudF9tYXA7CisKKyAg ICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCisgICAgbGlieGxfYml0bWFwICpmaW5hbF9tYXAg PSAmc3Zvcy0+ZmluYWxfbWFwOworCisgICAgbGlieGxfYml0bWFwX2luaXQoJmN1cnJlbnRfbWFw KTsKKworICAgIGlmIChyYykgZ290byBvdXQ7CisKKyAgICBsaWJ4bF9iaXRtYXBfYWxsb2MoQ1RY LCAmY3VycmVudF9tYXAsIHN2b3MtPmluZm8udmNwdV9tYXhfaWQgKyAxKTsKKyAgICBsaWJ4bF9i aXRtYXBfc2V0X25vbmUoJmN1cnJlbnRfbWFwKTsKKworICAgIGZvciAoaSA9IDA7IChjcHUgPSBs aWJ4bF9fanNvbl9hcnJheV9nZXQocmVzcG9uc2UsIGkpKTsgaSsrKSB7CisgICAgICAgIHVuc2ln bmVkIGludCBjcHVfaW5kZXg7CisgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqbzsK KworICAgICAgICBvID0gbGlieGxfX2pzb25fbWFwX2dldCgiQ1BVIiwgY3B1LCBKU09OX0lOVEVH RVIpOworICAgICAgICBpZiAoIW8pIHsKKyAgICAgICAgICAgIExPR0QoRVJST1IsIHFtcC0+ZG9t aWQsICJGYWlsZWQgdG8gcmV0cmlldmUgQ1BVIGluZGV4LiIpOworICAgICAgICAgICAgcmMgPSBF UlJPUl9RRU1VX0FQSTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAg ICAgY3B1X2luZGV4ID0gbGlieGxfX2pzb25fb2JqZWN0X2dldF9pbnRlZ2VyKG8pOworICAgICAg ICBsaWJ4bF9iaXRtYXBfc2V0KCZjdXJyZW50X21hcCwgY3B1X2luZGV4KTsKKyAgICB9CisKKwor ICAgIGxpYnhsX2JpdG1hcF9jb3B5X2FsbG9jKENUWCwgZmluYWxfbWFwLCBzdm9zLT5jcHVtYXAp OworCisgICAgbGlieGxfZm9yX2VhY2hfc2V0X2JpdChpLCBjdXJyZW50X21hcCkgeworICAgICAg ICBsaWJ4bF9iaXRtYXBfcmVzZXQoZmluYWxfbWFwLCBpKTsKKyAgICB9CiAKIG91dDoKLSAgICBs aWJ4bF9kb21pbmZvX2Rpc3Bvc2UoJmluZm8pOwotICAgIGlmIChyYykKLSAgICAgICAgcmV0dXJu IEFPX0NSRUFURV9GQUlMKHJjKTsKKyAgICBsaWJ4bF9iaXRtYXBfZGlzcG9zZSgmY3VycmVudF9t YXApOworICAgIHN2b3MtPmluZGV4ID0gLTE7CisgICAgc2V0X3ZjcHVvbmxpbmVfcW1wX2FkZF9j cHUoZWdjLCBxbXAsIE5VTEwsIHJjKTsgLyogbXVzdCBiZSBsYXN0ICovCit9CisKK3N0YXRpYyB2 b2lkIHNldF92Y3B1b25saW5lX3FtcF9hZGRfY3B1KGxpYnhsX19lZ2MgKmVnYywKKyAgICBsaWJ4 bF9fZXZfcW1wICpxbXAsIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAqcmVzcG9uc2UsIGludCBy YykKK3sKKyAgICBTVEFURV9BT19HQyhxbXAtPmFvKTsKKyAgICBzZXRfdmNwdW9ubGluZV9zdGF0 ZSAqc3ZvcyA9IENPTlRBSU5FUl9PRihxbXAsICpzdm9zLCBxbXApOworICAgIGxpYnhsX19qc29u X29iamVjdCAqYXJncyA9IE5VTEw7CisKKyAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCisg ICAgbGlieGxfYml0bWFwICptYXAgPSAmc3Zvcy0+ZmluYWxfbWFwOworCisgICAgaWYgKHJjKSBn b3RvIG91dDsKKworICAgIHdoaWxlIChsaWJ4bF9iaXRtYXBfY3B1X3ZhbGlkKG1hcCwgKytzdm9z LT5pbmRleCkpIHsKKyAgICAgICAgaWYgKGxpYnhsX2JpdG1hcF90ZXN0KG1hcCwgc3Zvcy0+aW5k ZXgpKSB7CisgICAgICAgICAgICBxbXAtPmNhbGxiYWNrID0gc2V0X3ZjcHVvbmxpbmVfcW1wX2Fk ZF9jcHU7CisgICAgICAgICAgICBsaWJ4bF9fcW1wX3BhcmFtX2FkZF9pbnRlZ2VyKGdjLCAmYXJn cywgImlkIiwgc3Zvcy0+aW5kZXgpOworICAgICAgICAgICAgcmMgPSBsaWJ4bF9fZXZfcW1wX3Nl bmQoZ2MsIHFtcCwgImNwdS1hZGQiLCBhcmdzKTsKKyAgICAgICAgICAgIGlmIChyYykgZ290byBv dXQ7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKK291dDoKKyAgICBz ZXRfdmNwdW9ubGluZV9kb25lKGVnYywgc3ZvcywgcmMpOworfQorCitzdGF0aWMgdm9pZCBzZXRf dmNwdW9ubGluZV90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3RpbWUgKmV2LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAq cmVxdWVzdGVkX2FicywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJj KQoreworICAgIEVHQ19HQzsKKyAgICBzZXRfdmNwdW9ubGluZV9zdGF0ZSAqc3ZvcyA9IENPTlRB SU5FUl9PRihldiwgKnN2b3MsIHRpbWVvdXQpOworCisgICAgaWYgKHJjID09IEVSUk9SX1RJTUVE T1VUKQorICAgICAgICBMT0dEKEVSUk9SLCBzdm9zLT5xbXAuZG9taWQsCisgICAgICAgICAgICAg IlNldHRpbmcgQ1BVIG9ubGluZSBpbiBRRU1VIHRpbWVkIG91dCIpOworCisgICAgc2V0X3ZjcHVv bmxpbmVfZG9uZShlZ2MsIHN2b3MsIHJjKTsKK30KKworc3RhdGljIHZvaWQgc2V0X3ZjcHVvbmxp bmVfZG9uZShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNldF92Y3B1b25saW5lX3N0YXRlICpzdm9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnQgcmMpCit7CisgICAgU1RBVEVfQU9fR0Moc3Zvcy0+cW1wLmFvKTsKKworICAgIC8q IENvbnZlbmllbmNlIGFsaWFzZXMgKi8KKyAgICBsaWJ4bF9kb21pZCBkb21pZCA9IHN2b3MtPnFt cC5kb21pZDsKKworICAgIGlmICghcmMpCisgICAgICAgIHJjID0gbGlieGxfX3NldF92Y3B1b25s aW5lX3hlbnN0b3JlKGdjLCBkb21pZCwgc3Zvcy0+Y3B1bWFwLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmc3Zvcy0+aW5mbyk7CisKKyAgICBsaWJ4bF9iaXRt YXBfZGlzcG9zZSgmc3Zvcy0+ZmluYWxfbWFwKTsKKyAgICBsaWJ4bF9kb21pbmZvX2Rpc3Bvc2Uo JnN2b3MtPmluZm8pOworICAgIGxpYnhsX19ldl9xbXBfZGlzcG9zZShnYywgJnN2b3MtPnFtcCk7 CiAgICAgbGlieGxfX2FvX2NvbXBsZXRlKGVnYywgYW8sIHJjKTsKLSAgICByZXR1cm4gQU9fSU5Q Uk9HUkVTUzsKIH0KIAogc3RhdGljIHZvaWQgZG9tYWluX3MzX3Jlc3VtZV9kb25lKGxpYnhsX19l Z2MgKmVnYywgbGlieGxfX2V2X3FtcCAqcW1wLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggYzZiOTY1 NWFmMi4uMDNlOTliMjNmNSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu aAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0xOTg3LDggKzE5ODcsNiBA QCBfaGlkZGVuIGxpYnhsX19xbXBfaGFuZGxlciAqbGlieGxfX3FtcF9pbml0aWFsaXplKGxpYnhs X19nYyAqZ2MsCiBfaGlkZGVuIGludCBsaWJ4bF9fcW1wX3Jlc3VtZShsaWJ4bF9fZ2MgKmdjLCBp bnQgZG9taWQpOwogLyogTG9hZCBjdXJyZW50IFFFTVUgc3RhdGUgZnJvbSBmaWxlLiAqLwogX2hp ZGRlbiBpbnQgbGlieGxfX3FtcF9yZXN0b3JlKGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwgY29u c3QgY2hhciAqZmlsZW5hbWUpOwotLyogQWRkIGEgdmlydHVhbCBDUFUgKi8KLV9oaWRkZW4gaW50 IGxpYnhsX19xbXBfY3B1X2FkZChsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGludCBpbmRleCk7 CiAvKiBRdWVyeSB0aGUgYml0bWFwIG9mIENQVXMgKi8KIF9oaWRkZW4gaW50IGxpYnhsX19xbXBf cXVlcnlfY3B1cyhsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGlieGxfYml0bWFwICptYXApOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGwvbGlieGxfcW1wLmMgYi90b29scy9saWJ4bC9saWJ4bF9xbXAuYwppbmRleCA0MDA0M2EwYTQ1 Li4yNzE4M2JjNmM0IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9xbXAuYworKysgYi90 b29scy9saWJ4bC9saWJ4bF9xbXAuYwpAQCAtNzY3LDE1ICs3NjcsNiBAQCBpbnQgbGlieGxfX3Ft cF9yZXN1bWUobGlieGxfX2djICpnYywgaW50IGRvbWlkKQogICAgIHJldHVybiBxbXBfcnVuX2Nv bW1hbmQoZ2MsIGRvbWlkLCAiY29udCIsIE5VTEwsIE5VTEwsIE5VTEwpOwogfQogCi1pbnQgbGli eGxfX3FtcF9jcHVfYWRkKGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwgaW50IGlkeCkKLXsKLSAg ICBsaWJ4bF9fanNvbl9vYmplY3QgKmFyZ3MgPSBOVUxMOwotCi0gICAgbGlieGxfX3FtcF9wYXJh bV9hZGRfaW50ZWdlcihnYywgJmFyZ3MsICJpZCIsIGlkeCk7Ci0KLSAgICByZXR1cm4gcW1wX3J1 bl9jb21tYW5kKGdjLCBkb21pZCwgImNwdS1hZGQiLCBhcmdzLCBOVUxMLCBOVUxMKTsKLX0KLQog c3RhdGljIGludCBxdWVyeV9jcHVzX2NhbGxiYWNrKGxpYnhsX19xbXBfaGFuZGxlciAqcW1wLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAq cmVzcG9uc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3BhcXVlKQot LSAKQW50aG9ueSBQRVJBUkQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVu LWRldmVs