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.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, 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 26F87C33CB3 for ; Wed, 15 Jan 2020 02:41:07 +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 E4D7D222C3 for ; Wed, 15 Jan 2020 02:41:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="RPYeuwRj" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E4D7D222C3 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=invisiblethingslab.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 1irYbu-000584-Ri; Wed, 15 Jan 2020 02:40:46 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1irYbt-000563-FG for xen-devel@lists.xenproject.org; Wed, 15 Jan 2020 02:40:45 +0000 X-Inumbo-ID: 617cb482-3740-11ea-b89f-bc764e2007e4 Received: from out2-smtp.messagingengine.com (unknown [66.111.4.26]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 617cb482-3740-11ea-b89f-bc764e2007e4; Wed, 15 Jan 2020 02:40:24 +0000 (UTC) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 161CF221BD; Tue, 14 Jan 2020 21:40:24 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Tue, 14 Jan 2020 21:40:24 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=ZsOEiGo4bLBb/cJsQQgBXQAcppRT0uPThW/qIrcld oQ=; b=RPYeuwRjuB0Ig8qKMPyUD9iVkfS1lE7iM8daBpDlNRqCh5R9dyL5WfAEs w2zqfLRX5h0q846Ob9irqOpJTJdpi5WppPggK6Ov2Autlerh1BbJn4f++dfZD77E /vyhcopWQtwnxGOcqXMlumjbdyInyFfPoL5wkBGYRA6GODFnL87z9Rq0Ei5jmmYq UWzmoDseyGtC8jvAajUyalA0ark758uAjlSTG//Y3CcPoPEOZxazjDi8b/jTvmU2 A9LbnmdE6fYx/R8OF03yz2GK/liCbNAC+apMSP9g6wh86lF6AHhJUxTuqaimw19y UqdSeDCqjhzirE+93/7zoLn+BppSA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrtddvgdegkecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucffohhmrghinhepshhprgifnhdr rghonecukfhppeeluddrieehrdefgedrfeefnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmnecuvehl uhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: from localhost.localdomain (ip5b412221.dynamic.kabel-deutschland.de [91.65.34.33]) by mail.messagingengine.com (Postfix) with ESMTPA id 2C2CB30607B4; Tue, 14 Jan 2020 21:40:23 -0500 (EST) From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= To: xen-devel@lists.xenproject.org Date: Wed, 15 Jan 2020 03:39:51 +0100 Message-Id: <8d8515cabfdc666bd1afb40f6b7e44ccbe362dbf.1579055705.git-series.marmarek@invisiblethingslab.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: References: MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v4 12/16] libxl: use vchan for QMP access with Linux stubdomain 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 , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Wei Liu Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" QWNjZXNzIHRvIFFNUCBvZiBRRU1VIGluIExpbnV4IHN0dWJkb21haW4gaXMgcG9zc2libGUgb3Zl ciB2Y2hhbgpjb25uZWN0aW9uLiBIYW5kbGUgdGhlIGFjdHVhbCB2Y2hhbiBjb25uZWN0aW9uIGlu IGEgc2VwYXJhdGUgcHJvY2VzcwoodmNoYW4tc29ja2V0LXByb3h5KS4gVGhpcyBzaW1wbGlmaWVk IGludGVncmF0aW9uIHdpdGggUU1QIChhbHJlYWR5CnF1aXRlIGNvbXBsZXgpLCBidXQgYWxzbyBh bGxvd3MgcHJlbGltaW5hcnkgZmlsdGVyaW5nIG9mIChwb3RlbnRpYWxseQptYWxpY2lvdXMpIFFN UCBpbnB1dC4KU2luY2Ugb25seSBvbmUgY2xpZW50IGNhbiBiZSBjb25uZWN0ZWQgdG8gdmNoYW4g c2VydmVyIGF0IHRoZSBzYW1lIHRpbWUKYW5kIGl0IGlzIG5vdCBlbmZvcmNlZCBieSB0aGUgbGli eGVudmNoYW4gaXRzZWxmLCBhZGRpdGlvbmFsIGNsaWVudC1zaWRlCmxvY2tpbmcgaXMgbmVlZGVk LiBJdCBpcyBpbXBsaWNpdGx5IGltcGxlbWVudGVkIGJ5IHZjaGFuLXNvY2tldC1wcm94eSwKYXMg aXQgaGFuZGxlIG9ubHkgb25lIGNvbm5lY3Rpb24gYXQgYSB0aW1lLiBOb3RlIHRoYXQgcWVtdSBz dXBwb3J0cyBvbmx5Cm9uZSBzaW11bHRhbmVvdXMgY2xpZW50IG9uIGEgY29udHJvbCBzb2NrZXQg YW55d2F5IChidXQgaW4gVU5JWCBzb2NrZXQKY2FzZSwgaXQgZW5mb3JjZSBpdCBzZXJ2ZXItc2lk ZSksIHNvIGl0IGRvZXNuJ3QgYWRkIGFueSBleHRyYQpsaW1pdGF0aW9uLgoKU2lnbmVkLW9mZi1i eTogTWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tpIDxtYXJtYXJla0BpbnZpc2libGV0aGluZ3Ns YWIuY29tPgotLS0KQ2hhbmdlcyBpbiB2NDoKIC0gbmV3IHBhdGNoLCBpbiBwbGFjZSBvZiBib3Ro ICJsaWJ4bDogdXNlIHZjaGFuIGZvciBRTVAgYWNjZXNzIC4uLiIKLS0tCiB0b29scy9jb25maWd1 cmUuYWMgICAgICAgICAgIHwgICA5ICsrLQogdG9vbHMvbGlieGwvbGlieGxfZG0uYyAgICAgICB8 IDE1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIHRvb2xzL2xpYnhsL2xp YnhsX2ludGVybmFsLmggfCAgIDEgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTYxIGluc2VydGlvbnMo KyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlndXJlLmFjIGIvdG9v bHMvY29uZmlndXJlLmFjCmluZGV4IDhkODZjNDIuLjIwYmJkYmYgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2NvbmZpZ3VyZS5hYworKysgYi90b29scy9jb25maWd1cmUuYWMKQEAgLTE5Miw2ICsxOTIsMTUg QEAgQUNfU1VCU1QocWVtdV94ZW4pCiBBQ19TVUJTVChxZW11X3hlbl9wYXRoKQogQUNfU1VCU1Qo cWVtdV94ZW5fc3lzdGVtZCkKIAorQUNfQVJHX1dJVEgoW3N0dWJkb20tcW1wLXByb3h5XSwKKyAg ICBBQ19IRUxQX1NUUklORyhbLS1zdHViZG9tLXFtcC1wcm94eUA8OkA9UEFUSEA6PkBdLAorICAg ICAgICBbVXNlIHN1cHBsaWVkIGJpbmFyeSBQQVRIIGFzIGEgUU1QIHByb3h5IGludG8gc3R1YmRv bWFpbl0pLFsKKyAgICBzdHViZG9tX3FtcF9wcm94eT0iJHdpdGh2YWwiCitdLFsKKyAgICBzdHVi ZG9tX3FtcF9wcm94eT0iJGJpbmRpci92Y2hhbi1zb2NrZXQtcHJveHkiCitdKQorQUNfREVGSU5F X1VOUVVPVEVEKFtTVFVCRE9NX1FNUF9QUk9YWV9QQVRIXSwgWyIkc3R1YmRvbV9xbXBfcHJveHki XSwgW1FNUCBwcm94eSBwYXRoXSkKKwogQUNfQVJHX1dJVEgoW3N5c3RlbS1zZWFiaW9zXSwKICAg ICBBU19IRUxQX1NUUklORyhbLS13aXRoLXN5c3RlbS1zZWFiaW9zQDw6QD1QQVRIQDo+QF0sCiAg ICAgICAgW1VzZSBzeXN0ZW0gc3VwcGxpZWQgc2VhYmlvcyBQQVRIIGluc3RlYWQgb2YgYnVpbGRp bmcgYW5kIGluc3RhbGxpbmcKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMgYi90 b29scy9saWJ4bC9saWJ4bF9kbS5jCmluZGV4IDUyOGNhM2UuLjIzYWM3ZTQgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwpAQCAt MTE4Myw3ICsxMTgzLDcgQEAgc3RhdGljIGludCBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2Fy Z3NfbmV3KGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAgICAgICAgICAgIi14ZW4tZG9taWQi LAogICAgICAgICAgICAgICAgICAgICAgIEdDU1BSSU5URigiJWQiLCBndWVzdF9kb21pZCksIE5V TEwpOwogCi0gICAgLyogVGhlcmUgaXMgY3VycmVudGx5IG5vIHdheSB0byBhY2Nlc3MgdGhlIFFN UCBzb2NrZXQgaW4gdGhlIHN0dWJkb20gKi8KKyAgICAvKiBRTVAgYWNjZXNzIHRvIHFlbXUgcnVu bmluZyBpbiBzdHViZG9tYWluIGlzIGRvbmUgb3ZlciB2Y2hhbiwgc3R1YmRvbWFpbiBzZXR1cCBp dCBpdHNlbGYgKi8KICAgICBpZiAoIWlzX3N0dWJkb20pIHsKICAgICAgICAgZmxleGFycmF5X2Fw cGVuZChkbV9hcmdzLCAiLWNoYXJkZXYiKTsKICAgICAgICAgaWYgKHN0YXRlLT5kbV9tb25pdG9y X2ZkID49IDApIHsKQEAgLTIxNzgsNiArMjE3OCwyMyBAQCBzdGF0aWMgdm9pZCBzdHViZG9tX3B2 cWVtdV91bnBhdXNlZChsaWJ4bF9fZWdjICplZ2MsCiBzdGF0aWMgdm9pZCBzdHViZG9tX3hzd2Fp dF9jYihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX194c3dhaXRfc3RhdGUgKnhzd2FpdCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYywgY29uc3QgY2hhciAqcCk7CiAKK3N0YXRp YyB2b2lkIHNwYXduX3FtcF9wcm94eShsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfX3N0dWJfZG1fc3Bhd25fc3RhdGUgKnNkc3MpOworCitzdGF0aWMg dm9pZCBxbXBfcHJveHlfY29uZmlybShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19zcGF3bl9zdGF0 ZSAqc3Bhd24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp4c2Rh dGEpOworCitzdGF0aWMgdm9pZCBxbXBfcHJveHlfc3RhcnR1cF9mYWlsZWQobGlieGxfX2VnYyAq ZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zcGF3bl9z dGF0ZSAqc3Bhd24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJj KTsKKworc3RhdGljIHZvaWQgcW1wX3Byb3h5X2RldGFjaGVkKGxpYnhsX19lZ2MgKmVnYywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc3Bhd25fc3RhdGUgKnNwYXduKTsK Kworc3RhdGljIHZvaWQgcW1wX3Byb3h5X3NwYXduX291dGNvbWUobGlieGxfX2VnYyAqZWdjLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3N0dWJfZG1fc3Bhd25f c3RhdGUgKnNkc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMp OworCiBjaGFyICpsaWJ4bF9fc3R1Yl9kbV9uYW1lKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGNoYXIg Kmd1ZXN0X25hbWUpCiB7CiAgICAgcmV0dXJuIEdDU1BSSU5URigiJXMtZG0iLCBndWVzdF9uYW1l KTsKQEAgLTI0NjAsMjQgKzI0NzcsMTUwIEBAIHN0YXRpYyB2b2lkIHNwYXduX3N0dWJfbGF1bmNo X2RtKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KIAorICAg IHNkc3MtPnFtcF9wcm94eV9zcGF3bi5hbyA9IGFvOworICAgIGlmIChsaWJ4bF9fc3R1YmRvbWFp bl9pc19saW51eCgmZ3Vlc3RfY29uZmlnLT5iX2luZm8pKSB7CisgICAgICAgIHNwYXduX3FtcF9w cm94eShlZ2MsIHNkc3MpOworICAgIH0gZWxzZSB7CisgICAgICAgIHFtcF9wcm94eV9zcGF3bl9v dXRjb21lKGVnYywgc2RzcywgMCk7CisgICAgfQorCisgICAgcmV0dXJuOworCitvdXQ6CisgICAg YXNzZXJ0KHJldCk7CisgICAgcW1wX3Byb3h5X3NwYXduX291dGNvbWUoZWdjLCBzZHNzLCByZXQp OworfQorCitzdGF0aWMgdm9pZCBzcGF3bl9xbXBfcHJveHkobGlieGxfX2VnYyAqZWdjLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zdHViX2RtX3NwYXduX3N0YXRlICpzZHNz KQoreworICAgIFNUQVRFX0FPX0dDKHNkc3MtPnFtcF9wcm94eV9zcGF3bi5hbyk7CisgICAgY29u c3QgdWludDMyX3QgZ3Vlc3RfZG9taWQgPSBzZHNzLT5kbS5ndWVzdF9kb21pZDsKKyAgICBjb25z dCB1aW50MzJfdCBkbV9kb21pZCA9IHNkc3MtPnB2cWVtdS5ndWVzdF9kb21pZDsKKyAgICBjb25z dCBjaGFyICpkb21fcGF0aCA9IGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgZG1fZG9taWQpOwor ICAgIGNoYXIgKiphcmdzOworICAgIGludCBuciA9IDA7CisgICAgaW50IHJjLCBsb2dmaWxlX3cs IG51bGw7CisKKyAgICBpZiAoYWNjZXNzKFNUVUJET01fUU1QX1BST1hZX1BBVEgsIFhfT0spIDwg MCkgeworICAgICAgICBMT0dFRChFUlJPUiwgZ3Vlc3RfZG9taWQsICJxbXAgcHJveHkgJXMgaXMg bm90IGV4ZWN1dGFibGUiLCBTVFVCRE9NX1FNUF9QUk9YWV9QQVRIKTsKKyAgICAgICAgcmMgPSBF UlJPUl9GQUlMOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBzZHNzLT5xbXBfcHJv eHlfc3Bhd24ud2hhdCA9IEdDU1BSSU5URigiZG9tYWluICVkIGRldmljZSBtb2RlbCBxbXAgcHJv eHkiLCBndWVzdF9kb21pZCk7CisgICAgc2Rzcy0+cW1wX3Byb3h5X3NwYXduLnBpZHBhdGggPSBH Q1NQUklOVEYoIiVzL2ltYWdlL3FtcC1wcm94eS1waWQiLCBkb21fcGF0aCk7CisgICAgc2Rzcy0+ cW1wX3Byb3h5X3NwYXduLnhzcGF0aCA9IEdDU1BSSU5URigiJXMvaW1hZ2UvcW1wLXByb3h5LXN0 YXRlIiwgZG9tX3BhdGgpOworCisgICAgc2Rzcy0+cW1wX3Byb3h5X3NwYXduLnRpbWVvdXRfbXMg PSBMSUJYTF9ERVZJQ0VfTU9ERUxfU1RBUlRfVElNRU9VVCAqIDEwMDA7CisgICAgc2Rzcy0+cW1w X3Byb3h5X3NwYXduLm1pZHByb2NfY2IgPSBsaWJ4bF9fc3Bhd25fcmVjb3JkX3BpZDsKKyAgICBz ZHNzLT5xbXBfcHJveHlfc3Bhd24uY29uZmlybV9jYiA9IHFtcF9wcm94eV9jb25maXJtOworICAg IHNkc3MtPnFtcF9wcm94eV9zcGF3bi5mYWlsdXJlX2NiID0gcW1wX3Byb3h5X3N0YXJ0dXBfZmFp bGVkOworICAgIHNkc3MtPnFtcF9wcm94eV9zcGF3bi5kZXRhY2hlZF9jYiA9IHFtcF9wcm94eV9k ZXRhY2hlZDsKKworICAgIGNvbnN0IGludCBhcnJheXNpemUgPSA2OworICAgIEdDTkVXX0FSUkFZ KGFyZ3MsIGFycmF5c2l6ZSk7CisgICAgYXJnc1tucisrXSA9IFNUVUJET01fUU1QX1BST1hZX1BB VEg7CisgICAgYXJnc1tucisrXSA9IEdDU1BSSU5URigiLS1zdGF0ZS1wYXRoPSVzIiwgc2Rzcy0+ cW1wX3Byb3h5X3NwYXduLnhzcGF0aCk7CisgICAgYXJnc1tucisrXSA9IEdDU1BSSU5URigiJXUi LCBkbV9kb21pZCk7CisgICAgYXJnc1tucisrXSA9IEdDU1BSSU5URigiJXMvZGV2aWNlLW1vZGVs LyV1L3FtcC12Y2hhbiIsIGRvbV9wYXRoLCBndWVzdF9kb21pZCk7CisgICAgYXJnc1tucisrXSA9 IChjaGFyKilsaWJ4bF9fcWVtdV9xbXBfcGF0aChnYywgZ3Vlc3RfZG9taWQpOworICAgIGFyZ3Nb bnIrK10gPSBOVUxMOworICAgIGFzc2VydChuciA9PSBhcnJheXNpemUpOworCisgICAgbG9nZmls ZV93ID0gbGlieGxfX2NyZWF0ZV9xZW11X2xvZ2ZpbGUoZ2MsIEdDU1BSSU5URigicW1wLXByb3h5 LSVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNkc3MtPmRtX2NvbmZpZy5jX2luZm8ubmFtZSkpOworICAgIGlmIChsb2dmaWxlX3cg PCAwKSB7CisgICAgICAgIHJjID0gbG9nZmlsZV93OworICAgICAgICBnb3RvIG91dDsKKyAgICB9 CisgICAgbnVsbCA9IG9wZW4oIi9kZXYvbnVsbCIsIE9fUkRXUik7CisgICAgaWYgKG51bGwgPCAw KSB7CisgICAgICAgIExPR0VEKEVSUk9SLCBndWVzdF9kb21pZCwgInVuYWJsZSB0byBvcGVuIC9k ZXYvbnVsbCIpOworICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgIGdvdG8gb3V0X2Ns b3NlOworICAgIH0KKworICAgIHJjID0gbGlieGxfX3NwYXduX3NwYXduKGVnYywgJnNkc3MtPnFt cF9wcm94eV9zcGF3bik7CisgICAgaWYgKHJjIDwgMCkKKyAgICAgICAgZ290byBvdXRfY2xvc2U7 CisgICAgaWYgKCFyYykgeyAvKiBpbm5lciBjaGlsZCAqLworICAgICAgICBzZXRzaWQoKTsKKyAg ICAgICAgbGlieGxfX2V4ZWMoZ2MsIG51bGwsIG51bGwsIGxvZ2ZpbGVfdywgU1RVQkRPTV9RTVBf UFJPWFlfUEFUSCwgYXJncywgTlVMTCk7CisgICAgICAgIC8qIHVucmVhY2hhYmxlICovCisgICAg fQorCisgICAgcmMgPSAwOworCitvdXRfY2xvc2U6CisgICAgaWYgKGxvZ2ZpbGVfdyA+PSAwKQor ICAgICAgICBjbG9zZShsb2dmaWxlX3cpOworICAgIGlmIChudWxsID49IDApCisgICAgICAgIGNs b3NlKG51bGwpOworb3V0OgorICAgIGlmIChyYykKKyAgICAgICAgcW1wX3Byb3h5X3NwYXduX291 dGNvbWUoZWdjLCBzZHNzLCByYyk7Cit9CisKK3N0YXRpYyB2b2lkIHFtcF9wcm94eV9jb25maXJt KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX3NwYXduX3N0YXRlICpzcGF3biwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnhzZGF0YSkKK3sKKyAgICBTVEFURV9BT19H QyhzcGF3bi0+YW8pOworCisgICAgaWYgKCF4c2RhdGEpCisgICAgICAgIHJldHVybjsKKworICAg IGlmIChzdHJjbXAoeHNkYXRhLCAicnVubmluZyIpKQorICAgICAgICByZXR1cm47CisKKyAgICBs aWJ4bF9fc3Bhd25faW5pdGlhdGVfZGV0YWNoKGdjLCBzcGF3bik7Cit9CisKK3N0YXRpYyB2b2lk IHFtcF9wcm94eV9zdGFydHVwX2ZhaWxlZChsaWJ4bF9fZWdjICplZ2MsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3NwYXduX3N0YXRlICpzcGF3biwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCit7CisgICAgbGlieGxfX3N0 dWJfZG1fc3Bhd25fc3RhdGUgKnNkc3MgPSBDT05UQUlORVJfT0Yoc3Bhd24sICpzZHNzLCBxbXBf cHJveHlfc3Bhd24pOworICAgIHFtcF9wcm94eV9zcGF3bl9vdXRjb21lKGVnYywgc2RzcywgcmMp OworfQorCitzdGF0aWMgdm9pZCBxbXBfcHJveHlfZGV0YWNoZWQobGlieGxfX2VnYyAqZWdjLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zcGF3bl9zdGF0ZSAqc3Bhd24p Cit7CisgICAgbGlieGxfX3N0dWJfZG1fc3Bhd25fc3RhdGUgKnNkc3MgPSBDT05UQUlORVJfT0Yo c3Bhd24sICpzZHNzLCBxbXBfcHJveHlfc3Bhd24pOworICAgIHFtcF9wcm94eV9zcGF3bl9vdXRj b21lKGVnYywgc2RzcywgMCk7Cit9CisKK3N0YXRpYyB2b2lkIHFtcF9wcm94eV9zcGF3bl9vdXRj b21lKGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX19zdHViX2RtX3NwYXduX3N0YXRlICpzZHNzLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50IHJjKQoreworICAgIFNUQVRFX0FPX0dDKHNkc3MtPnFtcF9wcm94 eV9zcGF3bi5hbyk7CisgICAgaW50IG5lZWRfcHZxZW11ID0gbGlieGxfX25lZWRfeGVucHZfcWVt dShnYywgJnNkc3MtPmRtX2NvbmZpZyk7CisKKyAgICBpZiAocmMpIGdvdG8gb3V0OworCisgICAg aWYgKG5lZWRfcHZxZW11IDwgMCkgeworICAgICAgICByYyA9IG5lZWRfcHZxZW11OworICAgICAg ICBnb3RvIG91dDsKKyAgICB9CisKICAgICBzZHNzLT5wdnFlbXUuc3Bhd24uYW8gPSBhbzsKLSAg ICBzZHNzLT5wdnFlbXUuZ3Vlc3RfZG9taWQgPSBkbV9kb21pZDsKICAgICBzZHNzLT5wdnFlbXUu Z3Vlc3RfY29uZmlnID0gJnNkc3MtPmRtX2NvbmZpZzsKICAgICBzZHNzLT5wdnFlbXUuYnVpbGRf c3RhdGUgPSAmc2Rzcy0+ZG1fc3RhdGU7CiAgICAgc2Rzcy0+cHZxZW11LmNhbGxiYWNrID0gc3Bh d25fc3R1YmRvbV9wdnFlbXVfY2I7Ci0KLSAgICBpZiAoIW5lZWRfcWVtdSkgeworICAgIGlmIChu ZWVkX3B2cWVtdSkgeworICAgICAgICBsaWJ4bF9fc3Bhd25fbG9jYWxfZG0oZWdjLCAmc2Rzcy0+ cHZxZW11KTsKKyAgICB9IGVsc2UgewogICAgICAgICAvKiBJZiBkb20wIHFlbXUgbm90IG5lZWRl ZCwgZG8gbm90IGxhdW5jaCBpdCAqLwogICAgICAgICBzcGF3bl9zdHViZG9tX3B2cWVtdV9jYihl Z2MsICZzZHNzLT5wdnFlbXUsIDApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGxpYnhsX19zcGF3 bl9sb2NhbF9kbShlZ2MsICZzZHNzLT5wdnFlbXUpOwogICAgIH0KIAogICAgIHJldHVybjsKIAog b3V0OgotICAgIGFzc2VydChyZXQpOwotICAgIHNwYXduX3N0dWJkb21fcHZxZW11X2NiKGVnYywg JnNkc3MtPnB2cWVtdSwgcmV0KTsKKyAgICBhc3NlcnQocmMpOworICAgIHNwYXduX3N0dWJkb21f cHZxZW11X2NiKGVnYywgJnNkc3MtPnB2cWVtdSwgcmMpOwogfQogCiBzdGF0aWMgdm9pZCBzcGF3 bl9zdHViZG9tX3B2cWVtdV9jYihsaWJ4bF9fZWdjICplZ2MsCmRpZmYgLS1naXQgYS90b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRl eCAyYjRhMWNjLi44OTViYjY1IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5h bC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTQxMjksNiArNDEyOSw3 IEBAIHR5cGVkZWYgc3RydWN0IHsKICAgICBsaWJ4bF9fZGVzdHJveV9kb21pZF9zdGF0ZSBkaXM7 CiAgICAgbGlieGxfX211bHRpZGV2IG11bHRpZGV2OwogICAgIGxpYnhsX194c3dhaXRfc3RhdGUg eHN3YWl0OworICAgIGxpYnhsX19zcGF3bl9zdGF0ZSBxbXBfcHJveHlfc3Bhd247CiB9IGxpYnhs X19zdHViX2RtX3NwYXduX3N0YXRlOwogCiBfaGlkZGVuIHZvaWQgbGlieGxfX3NwYXduX3N0dWJf ZG0obGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fc3R1Yl9kbV9zcGF3bl9zdGF0ZSopOwotLSAKZ2l0 LXNlcmllcyAwLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZl bA==