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=-8.4 required=3.0 tests=DKIM_ADSP_ALL,DKIM_INVALID, DKIM_SIGNED,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 A4753C3A59E for ; Wed, 21 Aug 2019 08:21:13 +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 6A85B233A0 for ; Wed, 21 Aug 2019 08:21:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.de header.i=@amazon.de header.b="ucx5rQM9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6A85B233A0 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.de 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 1i0LrP-0008Mw-Nm; Wed, 21 Aug 2019 08:20:51 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1i0LrO-0008Ln-07 for xen-devel@lists.xenproject.org; Wed, 21 Aug 2019 08:20:50 +0000 X-Inumbo-ID: 94d4afdc-c3ec-11e9-b95f-bc764e2007e4 Received: from smtp-fw-9102.amazon.com (unknown [207.171.184.29]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 94d4afdc-c3ec-11e9-b95f-bc764e2007e4; Wed, 21 Aug 2019 08:20:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209; t=1566375649; x=1597911649; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version; bh=N0Xjb44SoXY229XZ17xnLZJpdqrjLArGLuQOpbMphsw=; b=ucx5rQM9bGFfjiWMgodzxs/OcawFVFPGQJwYfAY+N2SRb4qOhGarqYdM 7lZTK1at1a/7sLTsOKyRfE8ZA2zumVy5w8o43lLy3OGKCjmeWHHx1r+Zb t1wwwT7YR2VlQXjPlxhtBhkv35M6YCpAG9BEf6PlTymWS7+ecZif920fN 0=; X-IronPort-AV: E=Sophos;i="5.64,412,1559520000"; d="scan'208";a="695968357" Received: from sea3-co-svc-lb6-vlan3.sea.amazon.com (HELO email-inbound-relay-2b-c300ac87.us-west-2.amazon.com) ([10.47.22.38]) by smtp-border-fw-out-9102.sea19.amazon.com with ESMTP; 21 Aug 2019 08:20:46 +0000 Received: from EX13MTAUEA001.ant.amazon.com (pdx4-ws-svc-p6-lb7-vlan2.pdx.amazon.com [10.170.41.162]) by email-inbound-relay-2b-c300ac87.us-west-2.amazon.com (Postfix) with ESMTPS id 19A11A256E; Wed, 21 Aug 2019 08:20:46 +0000 (UTC) Received: from EX13D03EUA004.ant.amazon.com (10.43.165.93) by EX13MTAUEA001.ant.amazon.com (10.43.61.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 21 Aug 2019 08:20:12 +0000 Received: from EX13MTAUWB001.ant.amazon.com (10.43.161.207) by EX13D03EUA004.ant.amazon.com (10.43.165.93) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 21 Aug 2019 08:20:10 +0000 Received: from dev-dsk-wipawel-1a-0c4e6d58.eu-west-1.amazon.com (10.4.134.33) by mail-relay.amazon.com (10.43.161.249) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Wed, 21 Aug 2019 08:20:08 +0000 From: Pawel Wieczorkiewicz To: , Date: Wed, 21 Aug 2019 08:19:22 +0000 Message-ID: <20190821081931.90887-6-wipawel@amazon.de> X-Mailer: git-send-email 2.16.5 In-Reply-To: <20190821081931.90887-1-wipawel@amazon.de> References: <20190821081931.90887-1-wipawel@amazon.de> MIME-Version: 1.0 Precedence: Bulk Subject: [Xen-devel] [PATCH 05/14] livepatch: Implement pre-|post- apply|revert hooks X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Pawel Wieczorkiewicz , wipawel@amazon.com, Ross Lagerwall , mpohlack@amazon.com, Konrad Rzeszutek Wilk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" VGhpcyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiA0IG5ldyBsaXZlcGF0Y2ggbW9kdWxlIHZldG9p bmcgaG9va3MsCnRoYXQgY2FuIGJlIG9wdGlvbmFsbHkgc3VwcGxpZWQgYWxvbmcgd2l0aCBtb2R1 bGVzLgpIb29rcyB0aGF0IGN1cnJlbnRseSBleGlzdHMgaW4gdGhlIGxpdmVwYXRjaCBtZWNoYW5p c20gYXJlbid0IGFnaWxlCmVub3VnaCBhbmQgaGF2ZSB2YXJpb3VzIGxpbWl0YXRpb25zOgoqIHJ1 biBvbmx5IGZyb20gd2l0aGluIGEgcXVpZXNjaW5nIHpvbmUKKiBjYW5ub3QgY29uZGl0aW9uYWxs eSBwcmV2ZW50IGFwcGx5aW5nIG9yIHJldmVydGluZwoqIGRvIG5vdCBoYXZlIGFjY2VzcyB0byB0 aGUgbW9kdWxlIGNvbnRleHQKVG8gYWRkcmVzcyB0aGVzZSBsaW1pdGF0aW9ucyB0aGUgZm9sbG93 aW5nIGhhcyBiZWVuIGltcGxlbWVudGVkOgoxKSBwcmUtYXBwbHkgaG9vawogIHJ1bnMgYmVmb3Jl IHRoZSBhcHBseSBhY3Rpb24gaXMgc2NoZWR1bGVkIGZvciBleGVjdXRpb24uIEl0cyBtYWluCiAg cHVycG9zZSBpcyB0byBwcmV2ZW50IGZyb20gYXBwbHlpbmcgYSBob3RwYXRjaCB3aGVuIGNlcnRh aW4KICBleHBlY3RlZCBjb25kaXRpb25zIGFyZW4ndCBtZXQgb3Igd2hlbiBtdXRhdGluZyBhY3Rp b25zIGltcGxlbWVudGVkCiAgaW4gdGhlIGhvb2sgZmFpbCBvciBjYW5ub3QgYmUgZXhlY3V0ZWQu CgoyKSBwb3N0LWFwcGx5IGhvb2sKICBydW5zIGFmdGVyIHRoZSBhcHBseSBhY3Rpb24gaGFzIGJl ZW4gZXhlY3V0ZWQgYW5kIHF1aWVzY2luZyB6b25lCiAgZXhpdGVkLiBJdHMgbWFpbiBwdXJwb3Nl IGlzIHRvIHByb3ZpZGUgYW4gYWJpbGl0eSB0byBmb2xsb3ctdXAgb24KICBhY3Rpb25zIHBlcmZv cm1lZCBieSB0aGUgcHJlLSBob29rLCB3aGVuIG1vZHVsZSBhcHBsaWNhdGlvbiB3YXMKICBzdWNj ZXNzZnVsIG9yIHVuZG8gY2VydGFpbiBwcmVwYXJhdGlvbiBzdGVwcyBvZiB0aGUgcHJlLSBob29r IGluCiAgY2FzZSBvZiBhIGZhaWx1cmUuIFRoZSBzdWNjZXNzL2ZhaWx1cmUgZXJyb3IgY29kZSBp cyBwcm92aVZkZWQgdG8KICB0aGUgcG9zdC0gaG9va3MgdmlhIHRoZSByYyBmaWVsZCBvZiB0aGUg cGF5bG9hZCBzdHJ1Y3R1cmUuCgozKSBwcmUtcmV2ZXJ0IGhvb2sKICBydW5zIGJlZm9yZSB0aGUg cmV2ZXJ0IGFjdGlvbiBpcyBzY2hlZHVsZWQgZm9yIGV4ZWN1dGlvbi4gSXRzIG1haW4KICBwdXJw b3NlIGlzIHRvIHByZXZlbnQgZnJvbSByZXZlcnRpbmcgYSBob3RwYXRjaCB3aGVuIGNlcnRhaW4K ICBleHBlY3RlZCBjb25kaXRpb25zIGFyZW4ndCBtZXQgb3Igd2hlbiBtdXRhdGluZyBhY3Rpb25z IGltcGxlbWVudGVkCiAgaW4gdGhlIGhvb2sgZmFpbCBvciBjYW5ub3QgYmUgZXhlY3V0ZWQuCgo0 KSBwb3N0LXJldmVydCBob29rCiAgcnVucyBhZnRlciB0aGUgcmV2ZXJ0IGFjdGlvbiBoYXMgYmVl biBleGVjdXRlZCBhbmQgcXVpZXNjaW5nIHpvbmUKICBleGl0ZWQuIEl0cyBtYWluIHB1cnBvc2Ug aXMgdG8gcGVyZm9ybSBjbGVhbnVwIG9mIGFsbCBwcmV2aW91c2x5CiAgZXhlY3V0ZWQgbXV0YXRp bmcgYWN0aW9ucyBpbiBvcmRlciB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBzeXN0ZW0KICBzdGF0 ZSBmcm9tIGJlZm9yZSB0aGUgY3VycmVudCBtb2R1bGUgYXBwbGljYXRpb24uCiAgVGhlIHN1Y2Nl c3MvZmFpbHVyZSBlcnJvciBjb2RlIGlzIHByb3ZpZGVkIHRvIHRoZSBwb3N0LSBob29rcyB2aWEK ICB0aGUgcmMgZmllbGQgb2YgdGhlIHBheWxvYWQgc3RydWN0dXJlLgoKVGhlIHJlcGxhY2UgYWN0 aW9uIHBlcmZvcm1zIGF0b21pY2FsbHkgdGhlIGZvbGxvd2luZyBhY3Rpb25zOgotIHJldmVydCBh bGwgYXBwbGllZCBtb2R1bGVzCi0gYXBwbHkgYSBzaW5nbGUgcmVwbGFjZW1lbnQgbW9kdWxlLgpX aXRoIHRoZSB2ZXRvaW5nIGhvb2tzIGluIHBsYWNlIHZhcmlvdXMgaW50ZXItaG9vayBkZXBlbmRl bmNpZXMgbWF5CmFyaXNlLiBBbHNvLCBkdXJpbmcgdGhlIHJldmVydCBwYXJ0IG9mIHRoZSBvcGVy YXRpb24gY2VydGFpbiB2ZXRvaW5nCmhvb2tzIG1heSBkZXRlY3QgZmFpbGluZyBjb25kaXRpb25z IHRoYXQgcHJldmlvdXNseSB3ZXJlIHNhdGlzZmllZC4KVGhhdCBjb3VsZCBpbiB0dXJuIGxlYWQg dG8gc2l0dWF0aW9uIHdoZW4gdGhlIHJldmVydCBwYXJ0IG11c3QgYmUKcm9sbGVkIGJhY2sgd2l0 aCBhbGwgdGhlIHByZS0gYW5kIHBvc3QtIGhvb2tzIHJlLWFwcGxpZWQsIHdoaWNoIGFnYWluCmNh bid0IGJlIGd1YXJhbnRlZWQgdG8gYWx3YXlzIHN1Y2NlZWQuClRoZSBzaW1wbGVzdCByZXNwb25z ZSB0byB0aGlzIGNvbXBsaWNhdGlvbiBpcyB0byBkaXNhbGxvdyB0aGUgcmVwbGFjZQphY3Rpb24g Y29tcGxldGVseSBvbiBtb2R1bGVzIHdpdGggdmV0b2luZyBob29rcy4KClNpZ25lZC1vZmYtYnk6 IFBhd2VsIFdpZWN6b3JraWV3aWN6IDx3aXBhd2VsQGFtYXpvbi5kZT4KUmV2aWV3ZWQtYnk6IEFu ZHJhLUlyaW5hIFBhcmFzY2hpdiA8YW5kcmFwcnNAYW1hem9uLmNvbT4KUmV2aWV3ZWQtYnk6IFBl dHJlIEVmdGltZSA8ZXBldHJlQGFtYXpvbi5jb20+ClJldmlld2VkLWJ5OiBNYXJ0aW4gUG9obGFj ayA8bXBvaGxhY2tAYW1hem9uLmRlPgpSZXZpZXdlZC1ieTogTm9yYmVydCBNYW50aGV5IDxubWFu dGhleUBhbWF6b24uZGU+Ci0tLQogeGVuL2NvbW1vbi9saXZlcGF0Y2guYyAgICAgICAgICAgICAg fCAxNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiB4ZW4vaW5jbHVkZS94 ZW4vbGl2ZXBhdGNoX3BheWxvYWQuaCB8ICAyNyArKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTg5 IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24v bGl2ZXBhdGNoLmMgYi94ZW4vY29tbW9uL2xpdmVwYXRjaC5jCmluZGV4IGVkNTc1NmEwMzIuLjQ2 NGMwN2FkMjggMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vbGl2ZXBhdGNoLmMKKysrIGIveGVuL2Nv bW1vbi9saXZlcGF0Y2guYwpAQCAtMjgsNiArMjgsOCBAQAogI2luY2x1ZGUgPGFzbS9hbHRlcm5h dGl2ZS5oPgogI2luY2x1ZGUgPGFzbS9ldmVudC5oPgogCisjZGVmaW5lIGlzX2hvb2tfZW5hYmxl ZChob29rKSAoeyAoaG9vaykgJiYgKihob29rKTsgfSkKKwogLyoKICAqIFByb3RlY3RzIGFnYWlu c3QgcGF5bG9hZF9saXN0IG9wZXJhdGlvbnMgYW5kIGFsc28gYWxsb3dzIG9ubHkgb25lCiAgKiBj YWxsZXIgaW4gc2NoZWR1bGVfd29yay4KQEAgLTUwMSw2ICs1MDMsMzUgQEAgc3RhdGljIGludCBj aGVja19zcGVjaWFsX3NlY3Rpb25zKGNvbnN0IHN0cnVjdCBsaXZlcGF0Y2hfZWxmICplbGYpCiAg ICAgcmV0dXJuIDA7CiB9CiAKKy8qCisgKiBMb29rdXAgc3BlY2lmaWVkIHNlY3Rpb24gYW5kIHdo ZW4gZXhpc3RzIGFzc2lnbiBpdHMgYWRkcmVzcyB0byBhIHNwZWNpZmllZCBob29rLgorICogUGVy Zm9ybSBzZWN0aW9uIHBvaW50ZXIgYW5kIHNpemUgdmFsaWRhdGlvbjogc2luZ2xlIGhvb2sgc2Vj dGlvbnMgbXVzdCBjb250YWluIGEKKyAqIHNpbmdsZSBwb2ludGVyIG9ubHkuCisgKi8KKyNkZWZp bmUgTElWRVBBVENIX0FTU0lHTl9TSU5HTEVfSE9PSyhlbGYsIGhvb2ssIHNlY3Rpb25fbmFtZSkg ZG8geyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBzdHJ1Y3QgbGl2ZXBhdGNo X2VsZl9zZWMgKl9fc2VjID0gbGl2ZXBhdGNoX2VsZl9zZWNfYnlfbmFtZShlbGYsIHNlY3Rpb25f bmFtZSk7IFwKKyAgICBpZiAoICFfX3NlYyApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgYnJl YWs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoICFzZWN0aW9uX29rKGVsZiwgX19zZWMs IHNpemVvZigqaG9vaykpIHx8IF9fc2VjLT5zZWMtPnNoX3NpemUgIT0gc2l6ZW9mKCpob29rKSAp IFwKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBob29rID0gX19zZWMt PmxvYWRfYWRkcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKK30gd2hpbGUgKDApCisKKy8qCisgKiBMb29rdXAgc3BlY2lmaWVk IHNlY3Rpb24gYW5kIHdoZW4gZXhpc3RzIGFzc2lnbiBpdHMgYWRkcmVzcyB0byBhIHNwZWNpZmll ZCBob29rLgorICogUGVyZm9ybSBzZWN0aW9uIHBvaW50ZXIgYW5kIHNpemUgdmFsaWRhdGlvbjog bXVsdGkgaG9vayBzZWN0aW9ucyBtdXN0IGNvbnRhaW4gYW4KKyAqIGFycmF5IHdob3NlIHNpemUg bXVzdCBiZSBhIG11bHRpcGxlIG9mIHRoZSBhcnJheSdzIGl0ZW1zIHNpemUuCisgKi8KKyNkZWZp bmUgTElWRVBBVENIX0FTU0lHTl9NVUxUSV9IT09LKGVsZiwgaG9vaywgbmhvb2tzLCBzZWN0aW9u X25hbWUpIGRvIHsgICAgICAgICAgICAgICAgIFwKKyAgICBjb25zdCBzdHJ1Y3QgbGl2ZXBhdGNo X2VsZl9zZWMgKl9fc2VjID0gbGl2ZXBhdGNoX2VsZl9zZWNfYnlfbmFtZShlbGYsIHNlY3Rpb25f bmFtZSk7IFwKKyAgICBpZiAoICFfX3NlYyApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgYnJl YWs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoICFzZWN0aW9uX29rKGVsZiwgX19zZWMs IHNpemVvZigqaG9vaykpICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBob29rID0gX19zZWMt PmxvYWRfYWRkcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKKyAgICBuaG9va3MgPSBfX3NlYy0+c2VjLT5zaF9zaXplIC8gc2l6 ZW9mKCpob29rKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30g d2hpbGUgKDApCisKIHN0YXRpYyBpbnQgcHJlcGFyZV9wYXlsb2FkKHN0cnVjdCBwYXlsb2FkICpw YXlsb2FkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxpdmVwYXRjaF9lbGYg KmVsZikKIHsKQEAgLTU1MiwyNSArNTgzLDE0IEBAIHN0YXRpYyBpbnQgcHJlcGFyZV9wYXlsb2Fk KHN0cnVjdCBwYXlsb2FkICpwYXlsb2FkLAogICAgICAgICAgICAgcmV0dXJuIHJjOwogICAgIH0K IAotICAgIHNlYyA9IGxpdmVwYXRjaF9lbGZfc2VjX2J5X25hbWUoZWxmLCAiLmxpdmVwYXRjaC5o b29rcy5sb2FkIik7Ci0gICAgaWYgKCBzZWMgKQotICAgIHsKLSAgICAgICAgaWYgKCAhc2VjdGlv bl9vayhlbGYsIHNlYywgc2l6ZW9mKCpwYXlsb2FkLT5sb2FkX2Z1bmNzKSkgKQotICAgICAgICAg ICAgcmV0dXJuIC1FSU5WQUw7Ci0KLSAgICAgICAgcGF5bG9hZC0+bG9hZF9mdW5jcyA9IHNlYy0+ bG9hZF9hZGRyOwotICAgICAgICBwYXlsb2FkLT5uX2xvYWRfZnVuY3MgPSBzZWMtPnNlYy0+c2hf c2l6ZSAvIHNpemVvZigqcGF5bG9hZC0+bG9hZF9mdW5jcyk7Ci0gICAgfQorICAgIExJVkVQQVRD SF9BU1NJR05fTVVMVElfSE9PSyhlbGYsIHBheWxvYWQtPmxvYWRfZnVuY3MsIHBheWxvYWQtPm5f bG9hZF9mdW5jcywgIi5saXZlcGF0Y2guaG9va3MubG9hZCIpOworICAgIExJVkVQQVRDSF9BU1NJ R05fTVVMVElfSE9PSyhlbGYsIHBheWxvYWQtPnVubG9hZF9mdW5jcywgcGF5bG9hZC0+bl91bmxv YWRfZnVuY3MsICIubGl2ZXBhdGNoLmhvb2tzLnVubG9hZCIpOwogCi0gICAgc2VjID0gbGl2ZXBh dGNoX2VsZl9zZWNfYnlfbmFtZShlbGYsICIubGl2ZXBhdGNoLmhvb2tzLnVubG9hZCIpOwotICAg IGlmICggc2VjICkKLSAgICB7Ci0gICAgICAgIGlmICggIXNlY3Rpb25fb2soZWxmLCBzZWMsIHNp emVvZigqcGF5bG9hZC0+dW5sb2FkX2Z1bmNzKSkgKQotICAgICAgICAgICAgcmV0dXJuIC1FSU5W QUw7CisgICAgTElWRVBBVENIX0FTU0lHTl9TSU5HTEVfSE9PSyhlbGYsIHBheWxvYWQtPmhvb2tz LmFwcGx5LnByZSwgIi5saXZlcGF0Y2guaG9va3MucHJlYXBwbHkiKTsKKyAgICBMSVZFUEFUQ0hf QVNTSUdOX1NJTkdMRV9IT09LKGVsZiwgcGF5bG9hZC0+aG9va3MuYXBwbHkucG9zdCwgIi5saXZl cGF0Y2guaG9va3MucG9zdGFwcGx5Iik7CisgICAgTElWRVBBVENIX0FTU0lHTl9TSU5HTEVfSE9P SyhlbGYsIHBheWxvYWQtPmhvb2tzLnJldmVydC5wcmUsICIubGl2ZXBhdGNoLmhvb2tzLnByZXJl dmVydCIpOworICAgIExJVkVQQVRDSF9BU1NJR05fU0lOR0xFX0hPT0soZWxmLCBwYXlsb2FkLT5o b29rcy5yZXZlcnQucG9zdCwgIi5saXZlcGF0Y2guaG9va3MucG9zdHJldmVydCIpOwogCi0gICAg ICAgIHBheWxvYWQtPnVubG9hZF9mdW5jcyA9IHNlYy0+bG9hZF9hZGRyOwotICAgICAgICBwYXls b2FkLT5uX3VubG9hZF9mdW5jcyA9IHNlYy0+c2VjLT5zaF9zaXplIC8gc2l6ZW9mKCpwYXlsb2Fk LT51bmxvYWRfZnVuY3MpOwotICAgIH0KICAgICBzZWMgPSBsaXZlcGF0Y2hfZWxmX3NlY19ieV9u YW1lKGVsZiwgRUxGX0JVSUxEX0lEX05PVEUpOwogICAgIGlmICggc2VjICkKICAgICB7CkBAIC0x MjE3LDYgKzEyMzcsMzkgQEAgc3RhdGljIGJvb2xfdCBpc193b3JrX3NjaGVkdWxlZChjb25zdCBz dHJ1Y3QgcGF5bG9hZCAqZGF0YSkKICAgICByZXR1cm4gbGl2ZXBhdGNoX3dvcmsuZG9fd29yayAm JiBsaXZlcGF0Y2hfd29yay5kYXRhID09IGRhdGE7CiB9CiAKKy8qCisgKiBDaGVjayBpZiBwYXls b2FkIGhhcyBhbnkgb2YgdGhlIHZldG9pbmcsIG5vbi1hdG9taWMgaG9va3MgYXNzaWduZWQuCisg KiBBIHZldG9pbmcsIG5vbi1hdG1pYyBob29rIG1heSBwZXJmb3JtIGFuIG9wZXJhdGlvbiB0aGF0 IGNoYW5nZXMgdGhlCisgKiBoeXBlcnZpc29yIHN0YXRlIGFuZCBtYXkgbm90IGJlIGd1YXJhbnRl ZWQgdG8gc3VjY2VlZC4gUmVzdWx0IG9mCisgKiBzdWNoIG9wZXJhdGlvbiBtYXkgYmUgcmV0dXJu ZWQgYW5kIG1heSBjaGFuZ2UgdGhlIGxpdmVwYXRjaCB3b3JrZmxvdy4KKyAqIFN1Y2ggaG9va3Mg bWF5IHJlcXVpcmUgYWRkaXRpb25hbCBjbGVhbnVwIGFjdGlvbnMgcGVyZm9ybWVkIGJ5IG90aGVy CisgKiBob29rcy4gVGh1cyB0aGV5IGFyZSBub3Qgc3VpdGFibGUgZm9yIHJlcGxhY2UgYWN0aW9u LgorICovCitzdGF0aWMgaW5saW5lIGJvb2xfdCBoYXNfcGF5bG9hZF9hbnlfdmV0b2luZ19ob29r cyhjb25zdCBzdHJ1Y3QgcGF5bG9hZCAqcGF5bG9hZCkKK3sKKyAgICByZXR1cm4gaXNfaG9va19l bmFibGVkKHBheWxvYWQtPmhvb2tzLmFwcGx5LnByZSkgfHwKKyAgICAgICAgICAgaXNfaG9va19l bmFibGVkKHBheWxvYWQtPmhvb2tzLmFwcGx5LnBvc3QpIHx8CisgICAgICAgICAgIGlzX2hvb2tf ZW5hYmxlZChwYXlsb2FkLT5ob29rcy5yZXZlcnQucHJlKSB8fAorICAgICAgICAgICBpc19ob29r X2VuYWJsZWQocGF5bG9hZC0+aG9va3MucmV2ZXJ0LnBvc3QpOworfQorCisvKgorICogQ2hlY2tz IGlmIGFueSBvZiB0aGUgYWxyZWFkeSBhcHBsaWVkIGhvdHBhdGNoZXMgaGFzIGFueSB2ZXRvaW5n LAorICogbm9uLWF0b21pYyBob29rcyBhc3NpZ25lZC4KKyAqLworc3RhdGljIGlubGluZSBib29s X3QgbGl2ZXBhdGNoX2FwcGxpZWRfaGF2ZV92ZXRvaW5nX2hvb2tzKHZvaWQpCit7CisgICAgc3Ry dWN0IHBheWxvYWQgKnA7CisKKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5ICggcCwgJmFwcGxpZWRf bGlzdCwgYXBwbGllZF9saXN0ICkKKyAgICB7CisgICAgICAgIGlmICggaGFzX3BheWxvYWRfYW55 X3ZldG9pbmdfaG9va3MocCkgKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisg ICAgcmV0dXJuIGZhbHNlOworfQorCiBzdGF0aWMgaW50IHNjaGVkdWxlX3dvcmsoc3RydWN0IHBh eWxvYWQgKmRhdGEsIHVpbnQzMl90IGNtZCwgdWludDMyX3QgdGltZW91dCkKIHsKICAgICBBU1NF UlQoc3Bpbl9pc19sb2NrZWQoJnBheWxvYWRfbG9jaykpOwpAQCAtMTMxNyw2ICsxMzcwLDcgQEAg dm9pZCBjaGVja19mb3JfbGl2ZXBhdGNoX3dvcmsodm9pZCkKICAgICB7CiAgICAgICAgIHN0cnVj dCBwYXlsb2FkICpwOwogICAgICAgICB1bnNpZ25lZCBpbnQgY3B1czsKKyAgICAgICAgYm9vbF90 IGFjdGlvbl9kb25lID0gZmFsc2U7CiAKICAgICAgICAgcCA9IGxpdmVwYXRjaF93b3JrLmRhdGE7 CiAgICAgICAgIGlmICggIWdldF9jcHVfbWFwcygpICkKQEAgLTEzNjksNiArMTQyMyw3IEBAIHZv aWQgY2hlY2tfZm9yX2xpdmVwYXRjaF93b3JrKHZvaWQpCiAgICAgICAgICAgICBsaXZlcGF0Y2hf ZG9fYWN0aW9uKCk7CiAgICAgICAgICAgICAvKiBTZXJpYWxpemUgYW5kIGZsdXNoIG91dCB0aGUg Q1BVIHZpYSBDUFVJRCBpbnN0cnVjdGlvbiAob24geDg2KS4gKi8KICAgICAgICAgICAgIGFyY2hf bGl2ZXBhdGNoX3Bvc3RfYWN0aW9uKCk7CisgICAgICAgICAgICBhY3Rpb25fZG9uZSA9IHRydWU7 CiAgICAgICAgICAgICBsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiAgICAgICAgIH0KIApAQCAt MTM4MSw2ICsxNDM2LDQzIEBAIHZvaWQgY2hlY2tfZm9yX2xpdmVwYXRjaF93b3JrKHZvaWQpCiAg ICAgICAgIC8qIHB1dF9jcHVfbWFwcyBoYXMgYW4gYmFycmllcigpLiAqLwogICAgICAgICBwdXRf Y3B1X21hcHMoKTsKIAorICAgICAgICBpZiAoIGFjdGlvbl9kb25lICkKKyAgICAgICAgeworICAg ICAgICAgICAgc3dpdGNoICggbGl2ZXBhdGNoX3dvcmsuY21kICkKKyAgICAgICAgICAgIHsKKyAg ICAgICAgICAgIGNhc2UgTElWRVBBVENIX0FDVElPTl9SRVZFUlQ6CisgICAgICAgICAgICAgICAg aWYgKCBpc19ob29rX2VuYWJsZWQocC0+aG9va3MucmV2ZXJ0LnBvc3QpICkKKyAgICAgICAgICAg ICAgICB7CisgICAgICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfSU5GTyBMSVZFUEFUQ0gg IiVzOiBDYWxsaW5nIHBvc3QtcmV2ZXJ0IGhvb2sgZnVuY3Rpb24gd2l0aCByYz0lZFxuIiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIHAtPm5hbWUsIHAtPnJjKTsKKworICAgICAgICAgICAg ICAgICAgICAoKnAtPmhvb2tzLnJldmVydC5wb3N0KShwKTsKKyAgICAgICAgICAgICAgICB9Cisg ICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgTElWRVBBVENIX0FDVElP Tl9BUFBMWToKKyAgICAgICAgICAgICAgICBpZiAoIGlzX2hvb2tfZW5hYmxlZChwLT5ob29rcy5h cHBseS5wb3N0KSApCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICBwcmlu dGsoWEVOTE9HX0lORk8gTElWRVBBVENIICIlczogQ2FsbGluZyBwb3N0LWFwcGx5IGhvb2sgZnVu Y3Rpb24gd2l0aCByYz0lZFxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPm5hbWUs IHAtPnJjKTsKKworICAgICAgICAgICAgICAgICAgICAoKnAtPmhvb2tzLmFwcGx5LnBvc3QpKHAp OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAg ICAgY2FzZSBMSVZFUEFUQ0hfQUNUSU9OX1JFUExBQ0U6CisgICAgICAgICAgICAgICAgaWYgKCBo YXNfcGF5bG9hZF9hbnlfdmV0b2luZ19ob29rcyhwKSApCisgICAgICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgICAgICAvKiBJdCBzaG91bGQgYmUgaW1wb3NzaWJsZSB0byBnZXQgaGVyZSBz aW5jZSBsaXZlcGF0Y2hfYWN0aW9uKCkgZ3VhcmRzIGFnYWluc3QgdGhhdC4gKi8KKyAgICAgICAg ICAgICAgICAgICAgcGFuaWMoTElWRVBBVENIICIlczogUkVQTEFDRSBhY3Rpb24gaXMgbm90IHN1 cHBvcnRlZCBvbiBob3RwYXRjaGVzIHdpdGggdmV0b2luZyBob29rcyFcbiIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcC0+bmFtZSk7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9V TlJFQUNIQUJMRSgpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGRlZmF1bHQ6Cisg ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAg ICBwcmludGsoWEVOTE9HX0lORk8gTElWRVBBVENIICIlcyBmaW5pc2hlZCAlcyB3aXRoIHJjPSVk XG4iLAogICAgICAgICAgICAgICAgcC0+bmFtZSwgbmFtZXNbbGl2ZXBhdGNoX3dvcmsuY21kXSwg cC0+cmMpOwogICAgIH0KQEAgLTE1MTYsNiArMTYwOCwyMSBAQCBzdGF0aWMgaW50IGxpdmVwYXRj aF9hY3Rpb24oc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX2FjdGlvbiAqYWN0aW9uKQogICAg ICAgICAgICAgICAgIHJjID0gLUVCVVNZOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg ICAgICAgfQorCisgICAgICAgICAgICBpZiAoIGlzX2hvb2tfZW5hYmxlZChkYXRhLT5ob29rcy5y ZXZlcnQucHJlKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP R19JTkZPIExJVkVQQVRDSCAiJXM6IENhbGxpbmcgcHJlLXJldmVydCBob29rIGZ1bmN0aW9uXG4i LCBkYXRhLT5uYW1lKTsKKworICAgICAgICAgICAgICAgIHJjID0gKCpkYXRhLT5ob29rcy5yZXZl cnQucHJlKShkYXRhKTsKKyAgICAgICAgICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgICAg ICB7CisgICAgICAgICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSIExJVkVQQVRDSCAiJXM6 IHByZS1yZXZlcnQgaG9vayBmYWlsZWQgKHJjPSVkKSwgYWJvcnRpbmchXG4iLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGF0YS0+bmFtZSwgcmMpOworICAgICAgICAgICAgICAgICAgICBk YXRhLT5yYyA9IHJjOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGRhdGEtPnJjID0gLUVBR0FJTjsKICAg ICAgICAgICAgIHJjID0gc2NoZWR1bGVfd29yayhkYXRhLCBhY3Rpb24tPmNtZCwgYWN0aW9uLT50 aW1lb3V0KTsKICAgICAgICAgfQpAQCAtMTU0OSw2ICsxNjU2LDIwIEBAIHN0YXRpYyBpbnQgbGl2 ZXBhdGNoX2FjdGlvbihzdHJ1Y3QgeGVuX3N5c2N0bF9saXZlcGF0Y2hfYWN0aW9uICphY3Rpb24p CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCisgICAgICAgICAg ICBpZiAoIGlzX2hvb2tfZW5hYmxlZChkYXRhLT5ob29rcy5hcHBseS5wcmUpICkKKyAgICAgICAg ICAgIHsKKyAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0lORk8gTElWRVBBVENIICIlczog Q2FsbGluZyBwcmUtYXBwbHkgaG9vayBmdW5jdGlvblxuIiwgZGF0YS0+bmFtZSk7CisKKyAgICAg ICAgICAgICAgICByYyA9ICgqZGF0YS0+aG9va3MuYXBwbHkucHJlKShkYXRhKTsKKyAgICAgICAg ICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg IHByaW50ayhYRU5MT0dfRVJSIExJVkVQQVRDSCAiJXM6IHByZS1hcHBseSBob29rIGZhaWxlZCAo cmM9JWQpLCBhYm9ydGluZyFcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT5u YW1lLCByYyk7CisgICAgICAgICAgICAgICAgICAgIGRhdGEtPnJjID0gcmM7CisgICAgICAgICAg ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKwogICAg ICAgICAgICAgZGF0YS0+cmMgPSAtRUFHQUlOOwogICAgICAgICAgICAgcmMgPSBzY2hlZHVsZV93 b3JrKGRhdGEsIGFjdGlvbi0+Y21kLCBhY3Rpb24tPnRpbWVvdXQpOwogICAgICAgICB9CkBAIC0x NTYwLDYgKzE2ODEsMzAgQEAgc3RhdGljIGludCBsaXZlcGF0Y2hfYWN0aW9uKHN0cnVjdCB4ZW5f c3lzY3RsX2xpdmVwYXRjaF9hY3Rpb24gKmFjdGlvbikKICAgICAgICAgICAgIHJjID0gYnVpbGRf aWRfZGVwKGRhdGEsIDEgLyogYWdhaW5zdCBoeXBlcnZpc29yLiAqLyk7CiAgICAgICAgICAgICBp ZiAoIHJjICkKICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgLyoKKyAgICAg ICAgICAgICAqIFJFUExBQ0UgYWN0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgb24gaG90cGF0Y2hlcyB3 aXRoIHZldG9pbmcgaG9va3MuCisgICAgICAgICAgICAgKiBWZXRvaW5nIGhvb2tzIHVzdWFsbHkg cGVyZm9ybSBtdXRhdGluZyBhY3Rpb25zIG9uIHRoZSBzeXN0ZW0gYW5kCisgICAgICAgICAgICAg KiB0eXBpY2FsbHkgZXhpc3QgaW4gcGFpcnMgKHByZS0gaG9vayBkb2luZyBhbiBhY3Rpb24gYW5k IHBvc3QtIGhvb2sKKyAgICAgICAgICAgICAqIHVuZG9pbmcgdGhlIGFjdGlvbikuIENvYWxlc2Np bmcgYWxsIGhvb2tzIGZyb20gYWxsIGFwcGxpZWQgbW9kdWxlcworICAgICAgICAgICAgICogY2Fu bm90IGJlIHBlcmZvcm1lZCB3aXRob3V0IGluc3BlY3RpbmcgcG90ZW50aWFsIGRlcGVuZGVuY2ll cyBiZXR3ZWVuCisgICAgICAgICAgICAgKiB0aGUgbXV0YXRpbmcgaG9va3MgYW5kIGhlbmNlIGNh bm5vdCBiZSBwZXJmb3JtZWQgYXV0b21hdGljYWxseSBieQorICAgICAgICAgICAgICogdGhlIHJl cGxhY2UgYWN0aW9uLiBBbHNvLCB0aGUgcmVwbGFjZSBhY3Rpb24gY2Fubm90IHNhZmVseSBhc3N1 bWUgYQorICAgICAgICAgICAgICogc3VjY2Vzc2Z1bCByZXZlcnQgb2YgYWxsIHRoZSBtb2R1bGUg d2l0aCB2ZXRvaW5nIGhvb2tzLiBXaGVuIG9uZQorICAgICAgICAgICAgICogb2YgdGhlIGhvb2tz IGZhaWxzIGR1ZSB0byBub3QgbWVldGluZyBjZXJ0YWluIGNvbmRpdGlvbnMgdGhlIHdob2xlCisg ICAgICAgICAgICAgKiByZXBsYWNlIG9wZXJhdGlvbiBtdXN0IGhhdmUgYmVlbiByZXZlcnRlZCB3 aXRoIGFsbCBwcmV2aW91cyBwcmUtIGFuZAorICAgICAgICAgICAgICogcG9zdC0gaG9va3MgcmUt ZXhlY3V0ZWQgKHdoaWNoIGNhbm5vdCBiZSBndWFyYW50ZWVkIHRvIHN1Y2NlZWQpLgorICAgICAg ICAgICAgICogVGhlIHNpbXBsZXN0IHJlc3BvbnNlIHRvIHRoaXMgY29tcGxpY2F0aW9uIGlzIGRp c2FsbG93IHJlcGxhY2UKKyAgICAgICAgICAgICAqIGFjdGlvbiBvbiBtb2R1bGVzIHdpdGggdmV0 b2luZyBob29rcy4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKCBoYXNfcGF5bG9h ZF9hbnlfdmV0b2luZ19ob29rcyhkYXRhKSB8fCBsaXZlcGF0Y2hfYXBwbGllZF9oYXZlX3ZldG9p bmdfaG9va3MoKSApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxP R19FUlIgTElWRVBBVENIICIlczogUkVQTEFDRSBhY3Rpb24gaXMgbm90IHN1cHBvcnRlZCBvbiBo b3RwYXRjaGVzIHdpdGggdmV0b2luZyBob29rcyFcbiIsCisgICAgICAgICAgICAgICAgICAgICAg IGRhdGEtPm5hbWUpOworICAgICAgICAgICAgICAgIHJjID0gLUVPUE5PVFNVUFA7CisgICAgICAg ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGRhdGEtPnJjID0g LUVBR0FJTjsKICAgICAgICAgICAgIHJjID0gc2NoZWR1bGVfd29yayhkYXRhLCBhY3Rpb24tPmNt ZCwgYWN0aW9uLT50aW1lb3V0KTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv eGVuL2xpdmVwYXRjaF9wYXlsb2FkLmggYi94ZW4vaW5jbHVkZS94ZW4vbGl2ZXBhdGNoX3BheWxv YWQuaAppbmRleCA5OTYxM2FmMmRiLi5jZDIwOTQ0Y2M0IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS94ZW4vbGl2ZXBhdGNoX3BheWxvYWQuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vbGl2ZXBhdGNo X3BheWxvYWQuaApAQCAtMjEsNiArMjEsMTYgQEAgdHlwZWRlZiBzdHJ1Y3QgcGF5bG9hZCBsaXZl cGF0Y2hfcGF5bG9hZF90OwogdHlwZWRlZiB2b2lkIGxpdmVwYXRjaF9sb2FkY2FsbF90KHZvaWQp OwogdHlwZWRlZiB2b2lkIGxpdmVwYXRjaF91bmxvYWRjYWxsX3Qodm9pZCk7CiAKK3R5cGVkZWYg aW50IGxpdmVwYXRjaF9wcmVjYWxsX3QobGl2ZXBhdGNoX3BheWxvYWRfdCAqYXJnKTsKK3R5cGVk ZWYgdm9pZCBsaXZlcGF0Y2hfcG9zdGNhbGxfdChsaXZlcGF0Y2hfcGF5bG9hZF90ICphcmcpOwor CitzdHJ1Y3QgbGl2ZXBhdGNoX2hvb2tzIHsKKyAgICBzdHJ1Y3QgeworICAgICAgICBsaXZlcGF0 Y2hfcHJlY2FsbF90ICpjb25zdCAqcHJlOworICAgICAgICBsaXZlcGF0Y2hfcG9zdGNhbGxfdCAq Y29uc3QgKnBvc3Q7CisgICAgfSBhcHBseSwgcmV2ZXJ0OworfTsKKwogc3RydWN0IHBheWxvYWQg ewogICAgIHVpbnQzMl90IHN0YXRlOyAgICAgICAgICAgICAgICAgICAgICAvKiBPbmUgb2YgdGhl IExJVkVQQVRDSF9TVEFURV8qLiAqLwogICAgIGludDMyX3QgcmM7ICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiAwIG9yIC1YRU5fRVhYLiAqLwpAQCAtNDcsNiArNTcsNyBAQCBzdHJ1Y3QgcGF5 bG9hZCB7CiAgICAgc3RydWN0IGxpdmVwYXRjaF9idWlsZF9pZCB4ZW5fZGVwOyAgIC8qIEVMRk5P VEVfREVTQygubGl2ZXBhdGNoLnhlbl9kZXBlbmRzKS4gKi8KICAgICBsaXZlcGF0Y2hfbG9hZGNh bGxfdCAqY29uc3QgKmxvYWRfZnVuY3M7ICAgLyogVGhlIGFycmF5IG9mIGZ1bmNzIHRvIGNhbGwg YWZ0ZXIgKi8KICAgICBsaXZlcGF0Y2hfdW5sb2FkY2FsbF90ICpjb25zdCAqdW5sb2FkX2Z1bmNz Oy8qIGxvYWQgYW5kIHVubG9hZCBvZiB0aGUgcGF5bG9hZC4gKi8KKyAgICBzdHJ1Y3QgbGl2ZXBh dGNoX2hvb2tzIGhvb2tzOyAgICAgICAgLyogUHJlIGFuZCBwb3N0IGhvb2tzIGZvciBhcHBseSBh bmQgcmV2ZXJ0ICovCiAgICAgdW5zaWduZWQgaW50IG5fbG9hZF9mdW5jczsgICAgICAgICAgIC8q IE5yIG9mIHRoZSBmdW5jcyB0byBsb2FkIGFuZCBleGVjdXRlLiAqLwogICAgIHVuc2lnbmVkIGlu dCBuX3VubG9hZF9mdW5jczsgICAgICAgICAvKiBOciBvZiBmdW5jcyB0byBjYWxsIGR1cnVuZyB1 bmxvYWQuICovCiAgICAgY2hhciBuYW1lW1hFTl9MSVZFUEFUQ0hfTkFNRV9TSVpFXTsgIC8qIE5h bWUgb2YgaXQuICovCkBAIC03Niw2ICs4NywyMiBAQCBzdHJ1Y3QgcGF5bG9hZCB7CiAgICAgIGxp dmVwYXRjaF91bmxvYWRjYWxsX3QgKl9fd2VhayBcCiAgICAgICAgIGNvbnN0IGxpdmVwYXRjaF91 bmxvYWRfZGF0YV8jI19mbiBfX3NlY3Rpb24oIi5saXZlcGF0Y2guaG9va3MudW5sb2FkIikgPSBf Zm47CiAKKyNkZWZpbmUgTElWRVBBVENIX1BSRUFQUExZX0hPT0soX2ZuKSBcCisgICAgbGl2ZXBh dGNoX3ByZWNhbGxfdCAqX19hdHRyaWJ1dGVfXygod2VhaywgdXNlZCkpIFwKKyAgICAgICAgY29u c3QgbGl2ZXBhdGNoX3ByZWFwcGx5X2RhdGFfIyNfZm4gX19zZWN0aW9uKCIubGl2ZXBhdGNoLmhv b2tzLnByZWFwcGx5IikgPSBfZm47CisKKyNkZWZpbmUgTElWRVBBVENIX1BPU1RBUFBMWV9IT09L KF9mbikgXAorICAgIGxpdmVwYXRjaF9wb3N0Y2FsbF90ICpfX2F0dHJpYnV0ZV9fKCh3ZWFrLCB1 c2VkKSkgXAorICAgICAgICBjb25zdCBsaXZlcGF0Y2hfcG9zdGFwcGx5X2RhdGFfIyNfZm4gX19z ZWN0aW9uKCIubGl2ZXBhdGNoLmhvb2tzLnBvc3RhcHBseSIpID0gX2ZuOworCisjZGVmaW5lIExJ VkVQQVRDSF9QUkVSRVZFUlRfSE9PSyhfZm4pIFwKKyAgICBsaXZlcGF0Y2hfcHJlY2FsbF90ICpf X2F0dHJpYnV0ZV9fKCh3ZWFrLCB1c2VkKSkgXAorICAgICAgICBjb25zdCBsaXZlcGF0Y2hfcHJl cmV2ZXJ0X2RhdGFfIyNfZm4gX19zZWN0aW9uKCIubGl2ZXBhdGNoLmhvb2tzLnByZXJldmVydCIp ID0gX2ZuOworCisjZGVmaW5lIExJVkVQQVRDSF9QT1NUUkVWRVJUX0hPT0soX2ZuKSBcCisgICAg bGl2ZXBhdGNoX3Bvc3RjYWxsX3QgKl9fYXR0cmlidXRlX18oKHdlYWssIHVzZWQpKSBcCisgICAg ICAgIGNvbnN0IGxpdmVwYXRjaF9wb3N0cmV2ZXJ0X2RhdGFfIyNfZm4gX19zZWN0aW9uKCIubGl2 ZXBhdGNoLmhvb2tzLnBvc3RyZXZlcnQiKSA9IF9mbjsKKwogI2VuZGlmIC8qIF9fWEVOX0xJVkVQ QVRDSF9QQVlMT0FEX0hfXyAqLwogCiAvKgotLSAKMi4xNi41CgoKCgpBbWF6b24gRGV2ZWxvcG1l bnQgQ2VudGVyIEdlcm1hbnkgR21iSApLcmF1c2Vuc3RyLiAzOAoxMDExNyBCZXJsaW4KR2VzY2hh ZWZ0c2Z1ZWhydW5nOiBDaHJpc3RpYW4gU2NobGFlZ2VyLCBSYWxmIEhlcmJyaWNoCkVpbmdldHJh Z2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIHVudGVyIEhSQiAxNDkxNzMgQgpTaXR6 OiBCZXJsaW4KVXN0LUlEOiBERSAyODkgMjM3IDg3OQoKCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==