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.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=unavailable 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 8BF80C43613 for ; Thu, 20 Jun 2019 18:50:38 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 4A1AF20656 for ; Thu, 20 Jun 2019 18:50:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="yf7EvXkA" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4A1AF20656 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:52152 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1he28p-0003bg-Sl for qemu-devel@archiver.kernel.org; Thu, 20 Jun 2019 14:50:37 -0400 Received: from eggs.gnu.org ([209.51.188.92]:43366) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1he1cV-0005N7-Qt for qemu-devel@nongnu.org; Thu, 20 Jun 2019 14:17:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1he1PD-0003wk-7k for qemu-devel@nongnu.org; Thu, 20 Jun 2019 14:03:47 -0400 Received: from mail-eopbgr720059.outbound.protection.outlook.com ([40.107.72.59]:35920 helo=NAM05-CO1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1he1PD-0003qK-0b for qemu-devel@nongnu.org; Thu, 20 Jun 2019 14:03:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FZIjbjVfR5XtLECp8SYmY1jnjeZeKyWiHpJ4k6NeVrk=; b=yf7EvXkATeLAOeGv/xphgg3M27tMm4rhn3RxuiyAeonBsSqWezh6nlt/9FE7iN32ZOgAzFoejFM5OQPPNWMxBy9p9o4SAHTbEfIooaPYnXGPIV6k63KsJyROYDT9kHz03Awv754V0aUAQLnGOjFPeCQoriUg1fxDWAHz1AGeMI4= Received: from DM6PR12MB2682.namprd12.prod.outlook.com (20.176.116.31) by DM6PR12MB3260.namprd12.prod.outlook.com (20.179.105.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.15; Thu, 20 Jun 2019 18:03:24 +0000 Received: from DM6PR12MB2682.namprd12.prod.outlook.com ([fe80::b9c1:b235:fff3:dba2]) by DM6PR12MB2682.namprd12.prod.outlook.com ([fe80::b9c1:b235:fff3:dba2%6]) with mapi id 15.20.1987.014; Thu, 20 Jun 2019 18:03:24 +0000 From: "Singh, Brijesh" To: "qemu-devel@nongnu.org" Thread-Topic: [RFC PATCH v1 11/12] migration: add support to migrate page encryption bitmap Thread-Index: AQHVJ5JyznT9PTYoxkeBebCjYetpww== Date: Thu, 20 Jun 2019 18:03:22 +0000 Message-ID: <20190620180247.8825-12-brijesh.singh@amd.com> References: <20190620180247.8825-1-brijesh.singh@amd.com> In-Reply-To: <20190620180247.8825-1-brijesh.singh@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: DM5PR16CA0025.namprd16.prod.outlook.com (2603:10b6:4:15::11) To DM6PR12MB2682.namprd12.prod.outlook.com (2603:10b6:5:4a::31) authentication-results: spf=none (sender IP is ) smtp.mailfrom=brijesh.singh@amd.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [165.204.77.1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 903bdc78-05bc-4ae3-7bbf-08d6f5a9953e x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:DM6PR12MB3260; x-ms-traffictypediagnostic: DM6PR12MB3260: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 0074BBE012 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(366004)(396003)(376002)(136003)(39860400002)(346002)(199004)(189003)(2351001)(53936002)(486006)(2616005)(11346002)(81156014)(8676002)(14444005)(6436002)(446003)(5640700003)(50226002)(6512007)(476003)(102836004)(6916009)(99286004)(2501003)(6486002)(76176011)(8936002)(52116002)(81166006)(316002)(186003)(6506007)(26005)(478600001)(256004)(3846002)(2906002)(386003)(66066001)(14454004)(54906003)(6116002)(305945005)(25786009)(1076003)(66946007)(66556008)(73956011)(64756008)(66446008)(71190400001)(71200400001)(68736007)(36756003)(66476007)(5660300002)(7736002)(86362001)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR12MB3260; H:DM6PR12MB2682.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: t/2JJzGdJ5Lc02RPcLD1smhLztJN9/ZfRIy+XcERF/Qsnbqk1FdDHkLetC36LE5Ih0//gqgnVwV05JTq66aWxTqw5FM07Y7X78vIcK4ROU7Pb0ZCp7xPx+xDEUeMCGxX51/eJjruqLQoNMK3B+q8GCQIpD5CyM3PhiiWg8GCUTLOZOirLFoYRA8BBwnWTpTn4e+U/RBjoFdZUAMj+dAyBiAXplgUyWQoG09nJ/V/zgjX9kH1AKNzgVAKoynZntAcxYxu9YHOXgudbWo8P+2OSKJcpZnlcB1qOQPlRXx/R/CbYoXP10f9AYpYiIpBQ/GKMWYDYQViUzK1FR+tQtGqz1H26r+vB7vs9cmcvgLXE6LOzWmWy13RQBs3gRDEQi2keyerdz9bai52nGcrIaCGEpR6xSBfQtPHIk/IQlw7cqQ= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 903bdc78-05bc-4ae3-7bbf-08d6f5a9953e X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2019 18:03:22.4780 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sbrijesh@amd.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3260 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.72.59 Subject: [Qemu-devel] [RFC PATCH v1 11/12] migration: add support to migrate page encryption bitmap X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Lendacky, Thomas" , "Singh, Brijesh" , "kvm@vger.kernel.org" Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" V2hlbiBtZW1vcnkgZW5jcnlwdGlvbiBpcyBlbmFibGVkLCB0aGUgaHlwZXJ2aXNvciBtYWludGFp bnMgYSBwYWdlDQplbmNyeXB0aW9uIGJpdG1hcCB3aGljaCBpcyByZWZlcnJlZCBieSBoeXBlcnZp c29yIGR1cmluZyBtaWdyYXRvaW4gdG8gY2hlY2sNCmlmIHBhZ2UgaXMgcHJpdmF0ZSBvciBzaGFy ZWQuIFRoZSBiaXRtYXAgaXMgYnVpbHQgZHVyaW5nIHRoZSBWTSBib290dXAgYW5kDQptdXN0IGJl IG1pZ3JhdGVkIHRvIHRoZSB0YXJnZXQgaG9zdCBzbyB0aGF0IGh5cGVydmlzb3Igb24gdGFyZ2V0 IGhvc3QgY2FuDQp1c2UgaXQgZm9yIGZ1dHVyZSBtaWdyYXRpb24uDQoNClNpZ25lZC1vZmYtYnk6 IEJyaWplc2ggU2luZ2ggPGJyaWplc2guc2luZ2hAYW1kLmNvbT4NCi0tLQ0KIGFjY2VsL2t2bS9r dm0tYWxsLmMgICAgICB8ICA0ICsrKw0KIG1pZ3JhdGlvbi9yYW0uYyAgICAgICAgICB8IDQzICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrLQ0KIHRhcmdldC9pMzg2L3Nldi5jICAgICAgICB8 IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCiB0YXJnZXQvaTM4 Ni90cmFjZS1ldmVudHMgfCAgMyArKysNCiA0IGZpbGVzIGNoYW5nZWQsIDEwNSBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pDQoNCmRpZmYgLS1naXQgYS9hY2NlbC9rdm0va3ZtLWFsbC5jIGIv YWNjZWwva3ZtL2t2bS1hbGwuYw0KaW5kZXggZmU2NWM4ZWI1ZC4uMGQ3NWFkOTRmOCAxMDA2NDQN Ci0tLSBhL2FjY2VsL2t2bS9rdm0tYWxsLmMNCisrKyBiL2FjY2VsL2t2bS9rdm0tYWxsLmMNCkBA IC0xNzg2LDYgKzE3ODYsMTAgQEAgc3RhdGljIGludCBrdm1faW5pdChNYWNoaW5lU3RhdGUgKm1z KQ0KICAgICAgICAga3ZtX3N0YXRlLT5tZW1jcnlwdF9zeW5jX3BhZ2VfZW5jX2JpdG1hcCA9IHNl dl9zeW5jX3BhZ2VfZW5jX2JpdG1hcDsNCiAgICAgICAgIGt2bV9zdGF0ZS0+bWVtY3J5cHRfc2F2 ZV9vdXRnb2luZ19wYWdlID0gc2V2X3NhdmVfb3V0Z29pbmdfcGFnZTsNCiAgICAgICAgIGt2bV9z dGF0ZS0+bWVtY3J5cHRfbG9hZF9pbmNvbWluZ19wYWdlID0gc2V2X2xvYWRfaW5jb21pbmdfcGFn ZTsNCisgICAgICAgIGt2bV9zdGF0ZS0+bWVtY3J5cHRfbG9hZF9pbmNvbWluZ19wYWdlX2VuY19i aXRtYXAgPQ0KKyAgICAgICAgICAgIHNldl9sb2FkX2luY29taW5nX3BhZ2VfZW5jX2JpdG1hcDsN CisgICAgICAgIGt2bV9zdGF0ZS0+bWVtY3J5cHRfc2F2ZV9vdXRnb2luZ19wYWdlX2VuY19iaXRt YXAgPQ0KKyAgICAgICAgICAgIHNldl9zYXZlX291dGdvaW5nX3BhZ2VfZW5jX2JpdG1hcDsNCiAg ICAgfQ0KIA0KICAgICByZXQgPSBrdm1fYXJjaF9pbml0KG1zLCBzKTsNCmRpZmYgLS1naXQgYS9t aWdyYXRpb24vcmFtLmMgYi9taWdyYXRpb24vcmFtLmMNCmluZGV4IGE4NjMxYzA4OTYuLjVjODQw MzU4OGYgMTAwNjQ0DQotLS0gYS9taWdyYXRpb24vcmFtLmMNCisrKyBiL21pZ3JhdGlvbi9yYW0u Yw0KQEAgLTc4LDYgKzc4LDcgQEANCiAvKiAweDgwIGlzIHJlc2VydmVkIGluIG1pZ3JhdGlvbi5o IHN0YXJ0IHdpdGggMHgxMDAgbmV4dCAqLw0KICNkZWZpbmUgUkFNX1NBVkVfRkxBR19DT01QUkVT U19QQUdFICAgIDB4MTAwDQogI2RlZmluZSBSQU1fU0FWRV9GTEFHX0VOQ1JZUFRFRF9QQUdFICAg MHgyMDANCisjZGVmaW5lIFJBTV9TQVZFX0ZMQUdfUEFHRV9FTkNSWVBURURfQklUTUFQICAgICAg IDB4NDAwDQogDQogc3RhdGljIGlubGluZSBib29sIGlzX3plcm9fcmFuZ2UodWludDhfdCAqcCwg dWludDY0X3Qgc2l6ZSkNCiB7DQpAQCAtMzU1MSw2ICszNTUyLDM1IEBAIG91dDoNCiAgICAgcmV0 dXJuIGRvbmU7DQogfQ0KIA0KKy8qKg0KKyAqIG1pZ3JhdGlvbl9zYXZlX3BhZ2VfZW5jX2JpdG1h cDogZnVuY3Rpb24gdG8gc2VuZCB0aGUgcGFnZSBlbmMgYml0bWFwDQorICoNCisgKiBSZXR1cm5z IHplcm8gdG8gaW5kaWNhdGUgc3VjY2VzcyBvciBuZWdhdGl2ZSBvbiBlcnJvcg0KKyAqLw0KK3N0 YXRpYyBpbnQgbWlncmF0aW9uX3NhdmVfcGFnZV9lbmNfYml0bWFwKFFFTVVGaWxlICpmLCBSQU1T dGF0ZSAqcnMpDQorew0KKyAgICBpbnQgcjsNCisgICAgUkFNQmxvY2sgKmJsb2NrOw0KKw0KKyAg ICBSQU1CTE9DS19GT1JFQUNIX01JR1JBVEFCTEUoYmxvY2spIHsNCisgICAgICAgIC8qIFJPTSBy ZWdpb24gZG9lcyBub3QgZW5jcnlwdGVkIGRhdGEsIHNraXAgc2VuZGluZyB0aGUgYml0bWFwICov DQorICAgICAgICBpZiAobWVtb3J5X3JlZ2lvbl9pc19yb20oYmxvY2stPm1yKSkgew0KKyAgICAg ICAgICAgIGNvbnRpbnVlOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgcWVtdV9wdXRfYmU2NChm LCBSQU1fU0FWRV9GTEFHX1BBR0VfRU5DUllQVEVEX0JJVE1BUCk7DQorICAgICAgICBxZW11X3B1 dF9ieXRlKGYsIHN0cmxlbihibG9jay0+aWRzdHIpKTsNCisgICAgICAgIHFlbXVfcHV0X2J1ZmZl cihmLCAodWludDhfdCAqKWJsb2NrLT5pZHN0ciwgc3RybGVuKGJsb2NrLT5pZHN0cikpOw0KKyAg ICAgICAgciA9IGt2bV9tZW1jcnlwdF9zYXZlX291dGdvaW5nX3BhZ2VfZW5jX2JpdG1hcChmLCBi bG9jay0+aG9zdCwNCisgICAgICAgICAgICAgICAgYmxvY2stPm1heF9sZW5ndGgsIGJsb2NrLT5l bmNibWFwKTsNCisgICAgICAgIGlmIChyKSB7DQorICAgICAgICAgICAgcmV0dXJuIC0xOw0KKyAg ICAgICAgfQ0KKyAgICB9DQorDQorICAgIHJldHVybiAwOw0KK30NCisNCiAvKioNCiAgKiByYW1f c2F2ZV9jb21wbGV0ZTogZnVuY3Rpb24gY2FsbGVkIHRvIHNlbmQgdGhlIHJlbWFpbmluZyBhbW91 bnQgb2YgcmFtDQogICoNCkBAIC0zNTk1LDYgKzM2MjUsMTAgQEAgc3RhdGljIGludCByYW1fc2F2 ZV9jb21wbGV0ZShRRU1VRmlsZSAqZiwgdm9pZCAqb3BhcXVlKQ0KICAgICBmbHVzaF9jb21wcmVz c2VkX2RhdGEocnMpOw0KICAgICByYW1fY29udHJvbF9hZnRlcl9pdGVyYXRlKGYsIFJBTV9DT05U Uk9MX0ZJTklTSCk7DQogDQorICAgIGlmIChrdm1fbWVtY3J5cHRfZW5hYmxlZCgpKSB7DQorICAg ICAgICByZXQgPSBtaWdyYXRpb25fc2F2ZV9wYWdlX2VuY19iaXRtYXAoZiwgcnMpOw0KKyAgICB9 DQorDQogICAgIHJjdV9yZWFkX3VubG9jaygpOw0KIA0KICAgICBtdWx0aWZkX3NlbmRfc3luY19t YWluKCk7DQpAQCAtNDM0Myw3ICs0Mzc3LDggQEAgc3RhdGljIGludCByYW1fbG9hZChRRU1VRmls ZSAqZiwgdm9pZCAqb3BhcXVlLCBpbnQgdmVyc2lvbl9pZCkNCiANCiAgICAgICAgIGlmIChmbGFn cyAmIChSQU1fU0FWRV9GTEFHX1pFUk8gfCBSQU1fU0FWRV9GTEFHX1BBR0UgfA0KICAgICAgICAg ICAgICAgICAgICAgIFJBTV9TQVZFX0ZMQUdfQ09NUFJFU1NfUEFHRSB8IFJBTV9TQVZFX0ZMQUdf WEJaUkxFIHwNCi0gICAgICAgICAgICAgICAgICAgICBSQU1fU0FWRV9GTEFHX0VOQ1JZUFRFRF9Q QUdFKSkgew0KKyAgICAgICAgICAgICAgICAgICAgIFJBTV9TQVZFX0ZMQUdfRU5DUllQVEVEX1BB R0UgfA0KKyAgICAgICAgICAgICAgICAgICAgIFJBTV9TQVZFX0ZMQUdfUEFHRV9FTkNSWVBURURf QklUTUFQKSkgew0KICAgICAgICAgICAgIFJBTUJsb2NrICpibG9jayA9IHJhbV9ibG9ja19mcm9t X3N0cmVhbShmLCBmbGFncyk7DQogDQogICAgICAgICAgICAgLyoNCkBAIC00NDY5LDYgKzQ1MDQs MTIgQEAgc3RhdGljIGludCByYW1fbG9hZChRRU1VRmlsZSAqZiwgdm9pZCAqb3BhcXVlLCBpbnQg dmVyc2lvbl9pZCkNCiAgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7DQogICAgICAg ICAgICAgfQ0KICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgY2FzZSBSQU1fU0FWRV9GTEFH X1BBR0VfRU5DUllQVEVEX0JJVE1BUDoNCisgICAgICAgICAgICBpZiAoa3ZtX21lbWNyeXB0X2xv YWRfaW5jb21pbmdfcGFnZV9lbmNfYml0bWFwKGYpKSB7DQorICAgICAgICAgICAgICAgIGVycm9y X3JlcG9ydCgiRmFpbGVkIHRvIGxvYWQgcGFnZSBlbmMgYml0bWFwIik7DQorICAgICAgICAgICAg ICAgIHJldCA9IC1FSU5WQUw7DQorICAgICAgICAgICAgfQ0KKyAgICAgICAgICAgIGJyZWFrOw0K ICAgICAgICAgY2FzZSBSQU1fU0FWRV9GTEFHX0VPUzoNCiAgICAgICAgICAgICAvKiBub3JtYWwg ZXhpdCAqLw0KICAgICAgICAgICAgIG11bHRpZmRfcmVjdl9zeW5jX21haW4oKTsNCmRpZmYgLS1n aXQgYS90YXJnZXQvaTM4Ni9zZXYuYyBiL3RhcmdldC9pMzg2L3Nldi5jDQppbmRleCBiN2ZlZWRj ZTdkLi5kYzFlOTc0ZDkzIDEwMDY0NA0KLS0tIGEvdGFyZ2V0L2kzODYvc2V2LmMNCisrKyBiL3Rh cmdldC9pMzg2L3Nldi5jDQpAQCAtODk2LDYgKzg5Niw4IEBAIGludCBzZXZfc3luY19wYWdlX2Vu Y19iaXRtYXAodm9pZCAqaGFuZGxlLCB1aW50OF90ICpob3N0LCB1aW50NjRfdCBzaXplLA0KICAg ICAgICAgcmV0dXJuIDE7DQogICAgIH0NCiANCisgICAgdHJhY2Vfa3ZtX3Nldl9zeW5jX3BhZ2Vf ZW5jX2JpdG1hcChiYXNlX2dwYSwgc2l6ZSk7DQorDQogICAgIGUuZW5jX2JpdG1hcCA9IGJpdG1h cDsNCiAgICAgZS5zdGFydCA9IGJhc2VfZ3BhID4+IFRBUkdFVF9QQUdFX0JJVFM7DQogICAgIGUu bnVtX3BhZ2VzID0gcGFnZXM7DQpAQCAtMTIxNiw2ICsxMjE4LDYwIEBAIGludCBzZXZfbG9hZF9p bmNvbWluZ19wYWdlKHZvaWQgKmhhbmRsZSwgUUVNVUZpbGUgKmYsIHVpbnQ4X3QgKnB0cikNCiAg ICAgcmV0dXJuIHNldl9yZWNlaXZlX3VwZGF0ZV9kYXRhKGYsIHB0cik7DQogfQ0KIA0KK2ludCBz ZXZfbG9hZF9pbmNvbWluZ19wYWdlX2VuY19iaXRtYXAodm9pZCAqaGFuZGxlLCBRRU1VRmlsZSAq ZikNCit7DQorICAgIHZvaWQgKmJtYXA7DQorICAgIHVuc2lnbmVkIGxvbmcgcGFnZXMsIGxlbmd0 aDsNCisgICAgdW5zaWduZWQgbG9uZyBibWFwX3NpemUsIGJhc2VfZ3BhOw0KKyAgICBzdHJ1Y3Qg a3ZtX3BhZ2VfZW5jX2JpdG1hcCBlID0ge307DQorDQorICAgIGJhc2VfZ3BhID0gcWVtdV9nZXRf YmU2NChmKTsNCisgICAgbGVuZ3RoID0gcWVtdV9nZXRfYmU2NChmKTsNCisgICAgcGFnZXMgPSBs ZW5ndGggPj4gVEFSR0VUX1BBR0VfQklUUzsNCisNCisgICAgYm1hcF9zaXplID0gQklUU19UT19M T05HUyhwYWdlcykgKiBzaXplb2YodW5zaWduZWQgbG9uZyk7DQorICAgIGJtYXAgPSBnX21hbGxv YzAoYm1hcF9zaXplKTsNCisgICAgcWVtdV9nZXRfYnVmZmVyKGYsICh1aW50OF90ICopYm1hcCwg Ym1hcF9zaXplKTsNCisNCisgICAgdHJhY2Vfa3ZtX3Nldl9sb2FkX3BhZ2VfZW5jX2JpdG1hcChi YXNlX2dwYSwgbGVuZ3RoKTsNCisNCisgICAgZS5zdGFydCA9IGJhc2VfZ3BhID4+IFRBUkdFVF9Q QUdFX0JJVFM7DQorICAgIGUubnVtX3BhZ2VzID0gcGFnZXM7DQorICAgIGUuZW5jX2JpdG1hcCA9 IGJtYXA7DQorICAgIGlmIChrdm1fdm1faW9jdGwoa3ZtX3N0YXRlLCBLVk1fU0VUX1BBR0VfRU5D X0JJVE1BUCwgJmUpID09IC0xKSB7DQorICAgICAgICBlcnJvcl9yZXBvcnQoIktWTV9TRVRfUEFH RV9FTkNfQklUTUFQIGlvY3RsIGZhaWxlZCAlZCIsIGVycm5vKTsNCisgICAgICAgIGdfZnJlZShi bWFwKTsNCisgICAgICAgIHJldHVybiAxOw0KKyAgICB9DQorDQorICAgIGdfZnJlZShibWFwKTsN CisNCisgICAgcmV0dXJuIDA7DQorfQ0KKw0KK2ludCBzZXZfc2F2ZV9vdXRnb2luZ19wYWdlX2Vu Y19iaXRtYXAodm9pZCAqaGFuZGxlLCBRRU1VRmlsZSAqZiwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmhvc3QsIHVpbnQ2NF90IGxlbmd0aCwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgKmJtYXApDQor ew0KKyAgICBpbnQgcjsNCisgICAgdW5zaWduZWQgbG9uZyBiYXNlX2dwYTsNCisgICAgdW5zaWdu ZWQgbG9uZyBwYWdlcyA9IGxlbmd0aCA+PiBUQVJHRVRfUEFHRV9CSVRTOw0KKyAgICB1bnNpZ25l ZCBsb25nIGJtYXBfc3ogPSBCSVRTX1RPX0xPTkdTKHBhZ2VzKSAqIHNpemVvZih1bnNpZ25lZCBs b25nKTsNCisNCisgICAgciA9IGt2bV9waHlzaWNhbF9tZW1vcnlfYWRkcl9mcm9tX2hvc3Qoa3Zt X3N0YXRlLCBob3N0LCAmYmFzZV9ncGEpOw0KKyAgICBpZiAoIXIpIHsNCisgICAgICAgIHJldHVy biAxOw0KKyAgICB9DQorDQorICAgIHRyYWNlX2t2bV9zZXZfc2F2ZV9wYWdlX2VuY19iaXRtYXAo YmFzZV9ncGEsIGxlbmd0aCk7DQorDQorICAgIHFlbXVfcHV0X2JlNjQoZiwgYmFzZV9ncGEpOw0K KyAgICBxZW11X3B1dF9iZTY0KGYsIGxlbmd0aCk7DQorICAgIHFlbXVfcHV0X2J1ZmZlcihmLCAo dWludDhfdCAqKWJtYXAsIGJtYXBfc3opOw0KKw0KKyAgICByZXR1cm4gMDsNCit9DQorDQogc3Rh dGljIHZvaWQNCiBzZXZfcmVnaXN0ZXJfdHlwZXModm9pZCkNCiB7DQpkaWZmIC0tZ2l0IGEvdGFy Z2V0L2kzODYvdHJhY2UtZXZlbnRzIGIvdGFyZ2V0L2kzODYvdHJhY2UtZXZlbnRzDQppbmRleCA2 MDk3NTJjY2E3Li5mZTkxNGM5MDQ4IDEwMDY0NA0KLS0tIGEvdGFyZ2V0L2kzODYvdHJhY2UtZXZl bnRzDQorKysgYi90YXJnZXQvaTM4Ni90cmFjZS1ldmVudHMNCkBAIC0yMSwzICsyMSw2IEBAIGt2 bV9zZXZfc2VuZF9maW5pc2godm9pZCkgIiINCiBrdm1fc2V2X3JlY2VpdmVfc3RhcnQoaW50IHBv bGljeSwgdm9pZCAqc2Vzc2lvbiwgdm9pZCAqcGRoKSAicG9saWN5IDB4JXggc2Vzc2lvbiAlcCBw ZGggJXAiDQoga3ZtX3Nldl9yZWNlaXZlX3VwZGF0ZV9kYXRhKHZvaWQgKnNyYywgdm9pZCAqZHN0 LCBpbnQgbGVuLCB2b2lkICpoZHIsIGludCBoZHJfbGVuKSAiZ3Vlc3QgJXAgdHJhbnMgJXAgbGVu ICVkIGhkciAlcCBoZHJfbGVuICVkIg0KIGt2bV9zZXZfcmVjZWl2ZV9maW5pc2godm9pZCkgIiIN Citrdm1fc2V2X3N5bmNfcGFnZV9lbmNfYml0bWFwKHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBs ZW4pICJzdGFydCAweCUiIFBSSXg2NCAiIGxlbiAweCUiIFBSSXg2NA0KK2t2bV9zZXZfc2F2ZV9w YWdlX2VuY19iaXRtYXAodWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IGxlbikgInN0YXJ0IDB4JSIg UFJJeDY0ICIgbGVuIDB4JSIgUFJJeDY0DQora3ZtX3Nldl9sb2FkX3BhZ2VfZW5jX2JpdG1hcCh1 aW50NjRfdCBzdGFydCwgdWludDY0X3QgbGVuKSAic3RhcnQgMHglIiBQUkl4NjQgIiBsZW4gMHgl IiBQUkl4NjQNCi0tIA0KMi4xNy4xDQoNCg==