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.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,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 2E3D3C43613 for ; Thu, 20 Jun 2019 16:38:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DF85820B1F for ; Thu, 20 Jun 2019 16:38:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="AS4SxB8o" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732225AbfFTQi5 (ORCPT ); Thu, 20 Jun 2019 12:38:57 -0400 Received: from mail-eopbgr770082.outbound.protection.outlook.com ([40.107.77.82]:17878 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732193AbfFTQiy (ORCPT ); Thu, 20 Jun 2019 12:38:54 -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=4RPfiQuGM4+VRpYT5pPW8bzPAnrPV1BLNuZaiqFDl78=; b=AS4SxB8ofvEaTBQf4qE9EqMBjYE7XErbs9jtAmcWc6k68/K7m5hSL6oHnouXnE23+uLbQInXE0cZn1n8yHd9q9ICME/Ovox6dSsYMcmnfy3zIPkUsRK+x46+FrkdQDRdn1WbLv9SeMb5YE0WWAXAt3b0bN2P0kFkpVcD6l4dTPc= Received: from DM6PR12MB2682.namprd12.prod.outlook.com (20.176.116.31) by DM6PR12MB3914.namprd12.prod.outlook.com (10.255.174.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1987.10; Thu, 20 Jun 2019 16:38:51 +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 16:38:51 +0000 From: "Singh, Brijesh" To: "kvm@vger.kernel.org" CC: "Singh, Brijesh" , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Paolo Bonzini , =?utf-8?B?UmFkaW0gS3LEjW3DocWZ?= , Joerg Roedel , Borislav Petkov , "Lendacky, Thomas" , "x86@kernel.org" , "linux-kernel@vger.kernel.org" Subject: [RFC PATCH v2 02/11] KVM: SVM: Add KVM_SEND_UPDATE_DATA command Thread-Topic: [RFC PATCH v2 02/11] KVM: SVM: Add KVM_SEND_UPDATE_DATA command Thread-Index: AQHVJ4akAjVw6iJu7U2yYEmI8BC5cQ== Date: Thu, 20 Jun 2019 16:38:51 +0000 Message-ID: <20190620163832.5451-3-brijesh.singh@amd.com> References: <20190620163832.5451-1-brijesh.singh@amd.com> In-Reply-To: <20190620163832.5451-1-brijesh.singh@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: DM5PR15CA0055.namprd15.prod.outlook.com (2603:10b6:3:ae::17) 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: 8e64760d-fef5-4774-c21a-08d6f59dc69d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:DM6PR12MB3914; x-ms-traffictypediagnostic: DM6PR12MB3914: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 0074BBE012 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(396003)(346002)(136003)(366004)(376002)(39860400002)(199004)(189003)(2616005)(52116002)(54906003)(86362001)(305945005)(256004)(6916009)(71190400001)(2501003)(71200400001)(6116002)(2906002)(25786009)(6512007)(53936002)(66446008)(6506007)(5640700003)(386003)(7416002)(14444005)(2351001)(66476007)(66556008)(7736002)(486006)(5660300002)(11346002)(476003)(99286004)(446003)(73956011)(68736007)(8936002)(6436002)(66946007)(478600001)(64756008)(4326008)(6486002)(3846002)(36756003)(66066001)(1730700003)(14454004)(81166006)(1076003)(102836004)(66574012)(81156014)(50226002)(186003)(8676002)(26005)(316002)(76176011);DIR:OUT;SFP:1101;SCL:1;SRVR:DM6PR12MB3914;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: oUiaVF+B7PI3RISM/5cDy48BfHfW7dxmc0FnpB31ymiclfxcVt34lfv2x5qdbD5nSWSwfZxiHDyBzKON7f6dvdOP4uQ0zwUV3D0dEOyfc+May/paJ+KjuoVqUtJa/ZZlU+Z5DNGSDoX3V71VVoazXZ6N+qZ7AeaT487RBeRBCFC0hHGXHYvvPyBTi3gtZnm4mBf1MhOi8QvuGpyB7ozQOys80rwIPv0asCuf66jpQff8ILRwsKt4abvaDVZxvrUnst07/YOhw4BhU40TjL7+Z4zbIJT4yeVml0m2OvxwZYftMTOEkMH9tsRQRm8czc+XwZLYVexWBUnp0VjFAiKzCL+o9O5Zcj9/4VvmO5EJqZvkHub1SMUFQBlz3Akp7RgUAdqs8Bc0sj5aU392UnHlfUa/U4Cia729sxGGpVt1a7k= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e64760d-fef5-4774-c21a-08d6f59dc69d X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2019 16:38:51.5159 (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: DM6PR12MB3914 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VGhlIGNvbW1hbmQgaXMgdXNlZCBmb3IgZW5jcnlwdGluZyB0aGUgZ3Vlc3QgbWVtb3J5IHJlZ2lv biB1c2luZyB0aGUgZW5jcnlwdGlvbg0KY29udGV4dCBjcmVhdGVkIHdpdGggS1ZNX1NFVl9TRU5E X1NUQVJULg0KDQpDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+DQpDYzog SW5nbyBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+DQpDYzogIkguIFBldGVyIEFudmluIiA8aHBh QHp5dG9yLmNvbT4NCkNjOiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPg0KQ2M6 ICJSYWRpbSBLcsSNbcOhxZkiIDxya3JjbWFyQHJlZGhhdC5jb20+DQpDYzogSm9lcmcgUm9lZGVs IDxqb3JvQDhieXRlcy5vcmc+DQpDYzogQm9yaXNsYXYgUGV0a292IDxicEBzdXNlLmRlPg0KQ2M6 IFRvbSBMZW5kYWNreSA8dGhvbWFzLmxlbmRhY2t5QGFtZC5jb20+DQpDYzogeDg2QGtlcm5lbC5v cmcNCkNjOiBrdm1Admdlci5rZXJuZWwub3JnDQpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVs Lm9yZw0KU2lnbmVkLW9mZi1ieTogQnJpamVzaCBTaW5naCA8YnJpamVzaC5zaW5naEBhbWQuY29t Pg0KLS0tDQogLi4uL3ZpcnR1YWwva3ZtL2FtZC1tZW1vcnktZW5jcnlwdGlvbi5yc3QgICAgIHwg IDI0ICsrKysNCiBhcmNoL3g4Ni9rdm0vc3ZtLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAxMjAgKysrKysrKysrKysrKysrKystDQogaW5jbHVkZS91YXBpL2xpbnV4L2t2bS5oICAgICAg ICAgICAgICAgICAgICAgIHwgICA5ICsrDQogMyBmaWxlcyBjaGFuZ2VkLCAxNDkgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vdmlydHVh bC9rdm0vYW1kLW1lbW9yeS1lbmNyeXB0aW9uLnJzdCBiL0RvY3VtZW50YXRpb24vdmlydHVhbC9r dm0vYW1kLW1lbW9yeS1lbmNyeXB0aW9uLnJzdA0KaW5kZXggOWVhOTc0Yzg3OTgwLi5lYTg4MWYy MWJjNjAgMTAwNjQ0DQotLS0gYS9Eb2N1bWVudGF0aW9uL3ZpcnR1YWwva3ZtL2FtZC1tZW1vcnkt ZW5jcnlwdGlvbi5yc3QNCisrKyBiL0RvY3VtZW50YXRpb24vdmlydHVhbC9rdm0vYW1kLW1lbW9y eS1lbmNyeXB0aW9uLnJzdA0KQEAgLTI2NSw2ICsyNjUsMzAgQEAgUmV0dXJuczogMCBvbiBzdWNj ZXNzLCAtbmVnYXRpdmUgb24gZXJyb3INCiAgICAgICAgICAgICAgICAgX191MzIgc2Vzc2lvbl9s ZW47DQogICAgICAgICB9Ow0KIA0KKzExLiBLVk1fU0VWX1NFTkRfVVBEQVRFX0RBVEENCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorVGhlIEtWTV9TRVZfU0VORF9VUERBVEVfREFU QSBjb21tYW5kIGNhbiBiZSB1c2VkIGJ5IHRoZSBoeXBlcnZpc29yIHRvIGVuY3J5cHQgdGhlDQor b3V0Z29pbmcgZ3Vlc3QgbWVtb3J5IHJlZ2lvbiB3aXRoIHRoZSBlbmNyeXB0aW9uIGNvbnRleHQg Y3JlYXRpbmcgdXNpbmcNCitLVk1fU0VWX1NFTkRfU1RBUlQuDQorDQorUGFyYW1ldGVycyAoaW4p OiBzdHJ1Y3Qga3ZtX3Nldl9zZW5kX3VwZGF0ZV9kYXRhDQorDQorUmV0dXJuczogMCBvbiBzdWNj ZXNzLCAtbmVnYXRpdmUgb24gZXJyb3INCisNCis6Og0KKw0KKyAgICAgICAgc3RydWN0IGt2bV9z ZXZfbGF1bmNoX3NlbmRfdXBkYXRlX2RhdGEgew0KKyAgICAgICAgICAgICAgICBfX3U2NCBoZHJf dWFkZHI7ICAgICAgICAvKiB1c2Vyc3BhY2UgYWRkcmVzcyBjb250YWluaW5nIHRoZSBwYWNrZXQg aGVhZGVyICovDQorICAgICAgICAgICAgICAgIF9fdTMyIGhkcl9sZW47DQorDQorICAgICAgICAg ICAgICAgIF9fdTY0IGd1ZXN0X3VhZGRyOyAgICAgIC8qIHRoZSBzb3VyY2UgbWVtb3J5IHJlZ2lv biB0byBiZSBlbmNyeXB0ZWQgKi8NCisgICAgICAgICAgICAgICAgX191MzIgZ3Vlc3RfbGVuOw0K Kw0KKyAgICAgICAgICAgICAgICBfX3U2NCB0cmFuc191YWRkcjsgICAgICAvKiB0aGUgZGVzdGl0 aW9uIG1lbW9yeSByZWdpb24gICovDQorICAgICAgICAgICAgICAgIF9fdTMyIHRyYW5zX2xlbjsN CisgICAgICAgIH07DQorDQogUmVmZXJlbmNlcw0KID09PT09PT09PT0NCiANCmRpZmYgLS1naXQg YS9hcmNoL3g4Ni9rdm0vc3ZtLmMgYi9hcmNoL3g4Ni9rdm0vc3ZtLmMNCmluZGV4IDk4ZTVhNmMy YmFjYy4uZGUzNTM2NjRlYTIyIDEwMDY0NA0KLS0tIGEvYXJjaC94ODYva3ZtL3N2bS5jDQorKysg Yi9hcmNoL3g4Ni9rdm0vc3ZtLmMNCkBAIC00MjEsNiArNDIxLDcgQEAgZW51bSB7DQogDQogc3Rh dGljIHVuc2lnbmVkIGludCBtYXhfc2V2X2FzaWQ7DQogc3RhdGljIHVuc2lnbmVkIGludCBtaW5f c2V2X2FzaWQ7DQorc3RhdGljIHVuc2lnbmVkIGxvbmcgc2V2X21lX21hc2s7DQogc3RhdGljIHVu c2lnbmVkIGxvbmcgKnNldl9hc2lkX2JpdG1hcDsNCiAjZGVmaW5lIF9fc21lX3BhZ2VfcGEoeCkg X19zbWVfc2V0KHBhZ2VfdG9fcGZuKHgpIDw8IFBBR0VfU0hJRlQpDQogDQpAQCAtMTIxOSwxNiAr MTIyMCwyMSBAQCBzdGF0aWMgaW50IGF2aWNfZ2FfbG9nX25vdGlmaWVyKHUzMiBnYV90YWcpDQog c3RhdGljIF9faW5pdCBpbnQgc2V2X2hhcmR3YXJlX3NldHVwKHZvaWQpDQogew0KIAlzdHJ1Y3Qg c2V2X3VzZXJfZGF0YV9zdGF0dXMgKnN0YXR1czsNCisJaW50IGVheCwgZWJ4Ow0KIAlpbnQgcmM7 DQogDQotCS8qIE1heGltdW0gbnVtYmVyIG9mIGVuY3J5cHRlZCBndWVzdHMgc3VwcG9ydGVkIHNp bXVsdGFuZW91c2x5ICovDQotCW1heF9zZXZfYXNpZCA9IGNwdWlkX2VjeCgweDgwMDAwMDFGKTsN CisJLyoNCisJICogUXVlcnkgdGhlIG1lbW9yeSBlbmNyeXB0aW9uIGluZm9ybWF0aW9uLg0KKwkg KiAgRUJYOiAgQml0IDA6NSBQYWdldGFibGUgYml0IHBvc2l0aW9uIHVzZWQgdG8gaW5kaWNhdGUg ZW5jcnlwdGlvbiAoYWthIENiaXQpLg0KKwkgKiAgRUNYOiAgTWF4aW11bSBudW1iZXIgb2YgZW5j cnlwdGVkIGd1ZXN0cyBzdXBwb3J0ZWQgc2ltdWx0YW5lb3VzbHkuDQorCSAqICBFRFg6ICBNaW5p bXVtIEFTSUQgdmFsdWUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgU0VWIGd1ZXN0Lg0KKwkgKi8N CisJY3B1aWQoMHg4MDAwMDAxZiwgJmVheCwgJmVieCwgJm1heF9zZXZfYXNpZCwgJm1pbl9zZXZf YXNpZCk7DQogDQogCWlmICghbWF4X3Nldl9hc2lkKQ0KIAkJcmV0dXJuIDE7DQogDQotCS8qIE1p bmltdW0gQVNJRCB2YWx1ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBTRVYgZ3Vlc3QgKi8NCi0J bWluX3Nldl9hc2lkID0gY3B1aWRfZWR4KDB4ODAwMDAwMUYpOw0KKwlzZXZfbWVfbWFzayA9IDFV TCA8PCAoZWJ4ICYgMHgzZik7DQogDQogCS8qIEluaXRpYWxpemUgU0VWIEFTSUQgYml0bWFwICov DQogCXNldl9hc2lkX2JpdG1hcCA9IGJpdG1hcF96YWxsb2MobWF4X3Nldl9hc2lkLCBHRlBfS0VS TkVMKTsNCkBAIC03MDYyLDYgKzcwNjgsMTA5IEBAIHN0YXRpYyBpbnQgc2V2X3NlbmRfc3RhcnQo c3RydWN0IGt2bSAqa3ZtLCBzdHJ1Y3Qga3ZtX3Nldl9jbWQgKmFyZ3ApDQogCXJldHVybiByZXQ7 DQogfQ0KIA0KK3N0YXRpYyBpbnQgc2V2X3NlbmRfdXBkYXRlX2RhdGEoc3RydWN0IGt2bSAqa3Zt LCBzdHJ1Y3Qga3ZtX3Nldl9jbWQgKmFyZ3ApDQorew0KKwlzdHJ1Y3Qga3ZtX3Nldl9pbmZvICpz ZXYgPSAmdG9fa3ZtX3N2bShrdm0pLT5zZXZfaW5mbzsNCisJc3RydWN0IHNldl9kYXRhX3NlbmRf dXBkYXRlX2RhdGEgKmRhdGE7DQorCXN0cnVjdCBrdm1fc2V2X3NlbmRfdXBkYXRlX2RhdGEgcGFy YW1zOw0KKwl2b2lkICpoZHIgPSBOVUxMLCAqdHJhbnNfZGF0YSA9IE5VTEw7DQorCXN0cnVjdCBw YWdlICoqZ3Vlc3RfcGFnZSA9IE5VTEw7DQorCXVuc2lnbmVkIGxvbmcgbjsNCisJaW50IHJldCwg b2Zmc2V0Ow0KKw0KKwlpZiAoIXNldl9ndWVzdChrdm0pKQ0KKwkJcmV0dXJuIC1FTk9UVFk7DQor DQorCWlmIChjb3B5X2Zyb21fdXNlcigmcGFyYW1zLCAodm9pZCBfX3VzZXIgKikodWludHB0cl90 KWFyZ3AtPmRhdGEsDQorCQkJc2l6ZW9mKHN0cnVjdCBrdm1fc2V2X3NlbmRfdXBkYXRlX2RhdGEp KSkNCisJCXJldHVybiAtRUZBVUxUOw0KKw0KKwlkYXRhID0ga3phbGxvYyhzaXplb2YoKmRhdGEp LCBHRlBfS0VSTkVMKTsNCisJaWYgKCFkYXRhKQ0KKwkJcmV0dXJuIC1FTk9NRU07DQorDQorCS8q IHVzZXJzcGFjZSB3YW50cyB0byBxdWVyeSBlaXRoZXIgaGVhZGVyIG9yIHRyYW5zIGxlbmd0aCAq Lw0KKwlpZiAoIXBhcmFtcy50cmFuc19sZW4gfHwgIXBhcmFtcy5oZHJfbGVuKQ0KKwkJZ290byBj bWQ7DQorDQorCXJldCA9IC1FSU5WQUw7DQorCWlmICghcGFyYW1zLnRyYW5zX3VhZGRyIHx8ICFw YXJhbXMuZ3Vlc3RfdWFkZHIgfHwNCisJICAgICFwYXJhbXMuZ3Vlc3RfbGVuIHx8ICFwYXJhbXMu aGRyX3VhZGRyKQ0KKwkJZ290byBlX2ZyZWU7DQorDQorCS8qIENoZWNrIGlmIHdlIGFyZSBjcm9z c2luZyB0aGUgcGFnZSBib3VuZHJ5ICovDQorCXJldCA9IC1FSU5WQUw7DQorCW9mZnNldCA9IHBh cmFtcy5ndWVzdF91YWRkciAmIChQQUdFX1NJWkUgLSAxKTsNCisJaWYgKChwYXJhbXMuZ3Vlc3Rf bGVuICsgb2Zmc2V0ID4gUEFHRV9TSVpFKSkNCisJCWdvdG8gZV9mcmVlOw0KKw0KKwlyZXQgPSAt RU5PTUVNOw0KKwloZHIgPSBrbWFsbG9jKHBhcmFtcy5oZHJfbGVuLCBHRlBfS0VSTkVMKTsNCisJ aWYgKCFoZHIpDQorCQlnb3RvIGVfZnJlZTsNCisNCisJZGF0YS0+aGRyX2FkZHJlc3MgPSBfX3Bz cF9wYShoZHIpOw0KKwlkYXRhLT5oZHJfbGVuID0gcGFyYW1zLmhkcl9sZW47DQorDQorCXJldCA9 IC1FTk9NRU07DQorCXRyYW5zX2RhdGEgPSBrbWFsbG9jKHBhcmFtcy50cmFuc19sZW4sIEdGUF9L RVJORUwpOw0KKwlpZiAoIXRyYW5zX2RhdGEpDQorCQlnb3RvIGVfZnJlZTsNCisNCisJZGF0YS0+ dHJhbnNfYWRkcmVzcyA9IF9fcHNwX3BhKHRyYW5zX2RhdGEpOw0KKwlkYXRhLT50cmFuc19sZW4g PSBwYXJhbXMudHJhbnNfbGVuOw0KKw0KKwkvKiBQaW4gZ3Vlc3QgbWVtb3J5ICovDQorCXJldCA9 IC1FRkFVTFQ7DQorCWd1ZXN0X3BhZ2UgPSBzZXZfcGluX21lbW9yeShrdm0sIHBhcmFtcy5ndWVz dF91YWRkciAmIFBBR0VfTUFTSywNCisJCQkJICAgIFBBR0VfU0laRSwgJm4sIDApOw0KKwlpZiAo IWd1ZXN0X3BhZ2UpDQorCQlnb3RvIGVfZnJlZTsNCisNCisJLyogVGhlIFNFTkRfVVBEQVRFX0RB VEEgY29tbWFuZCByZXF1aXJlcyBDLWJpdCB0byBiZSBhbHdheXMgc2V0LiAqLw0KKwlkYXRhLT5n dWVzdF9hZGRyZXNzID0gKHBhZ2VfdG9fcGZuKGd1ZXN0X3BhZ2VbMF0pIDw8IFBBR0VfU0hJRlQp ICsgb2Zmc2V0Ow0KKwlkYXRhLT5ndWVzdF9hZGRyZXNzIHw9IHNldl9tZV9tYXNrOw0KKwlkYXRh LT5ndWVzdF9sZW4gPSBwYXJhbXMuZ3Vlc3RfbGVuOw0KKw0KK2NtZDoNCisJZGF0YS0+aGFuZGxl ID0gc2V2LT5oYW5kbGU7DQorCXJldCA9IHNldl9pc3N1ZV9jbWQoa3ZtLCBTRVZfQ01EX1NFTkRf VVBEQVRFX0RBVEEsIGRhdGEsICZhcmdwLT5lcnJvcik7DQorDQorCS8qIHVzZXJzcGFjZSBhc2tl ZCBmb3IgaGVhZGVyIG9yIHRyYW5zIGxlbmd0aCBhbmQgRlcgcmVzcG9uZGVkIHdpdGggZGF0YSAq Lw0KKwlpZiAoIXBhcmFtcy50cmFuc19sZW4gfHwgIXBhcmFtcy5oZHJfbGVuKSB7DQorCQlwYXJh bXMuaGRyX2xlbiA9IGRhdGEtPmhkcl9sZW47DQorCQlwYXJhbXMudHJhbnNfbGVuID0gZGF0YS0+ dHJhbnNfbGVuOw0KKwkJZ290byBkb25lOw0KKwl9DQorDQorCWlmIChyZXQpDQorCQlnb3RvIGVf dW5waW47DQorDQorCS8qIGNvcHkgdHJhbnNwb3J0IGJ1ZmZlciB0byB1c2VyIHNwYWNlICovDQor CWlmIChjb3B5X3RvX3VzZXIoKHZvaWQgX191c2VyICopKHVpbnRwdHJfdClwYXJhbXMudHJhbnNf dWFkZHIsDQorCQkJIHRyYW5zX2RhdGEsIHBhcmFtcy50cmFuc19sZW4pKSB7DQorCQlyZXQgPSAt RUZBVUxUOw0KKwkJZ290byBlX3VucGluOw0KKwl9DQorDQorCS8qIGNvcHkgcGFja2V0IGhlYWRl ciB0byB1c2Vyc3BhY2UgKi8NCisJaWYgKGNvcHlfdG9fdXNlcigodm9pZCBfX3VzZXIgKikodWlu dHB0cl90KXBhcmFtcy5oZHJfdWFkZHIsIGhkciwgcGFyYW1zLmhkcl9sZW4pKQ0KKwkJcmV0ID0g LUVGQVVMVDsNCisNCitlX3VucGluOg0KKwlzZXZfdW5waW5fbWVtb3J5KGt2bSwgZ3Vlc3RfcGFn ZSwgbik7DQorZG9uZToNCisJaWYgKGNvcHlfdG9fdXNlcigodm9pZCBfX3VzZXIgKikodWludHB0 cl90KWFyZ3AtPmRhdGEsICZwYXJhbXMsDQorCQkJc2l6ZW9mKHN0cnVjdCBrdm1fc2V2X3NlbmRf dXBkYXRlX2RhdGEpKSkNCisJCXJldCA9IC1FRkFVTFQ7DQorZV9mcmVlOg0KKwlrZnJlZShkYXRh KTsNCisJa2ZyZWUodHJhbnNfZGF0YSk7DQorCWtmcmVlKGhkcik7DQorDQorCXJldHVybiByZXQ7 DQorfQ0KKw0KIHN0YXRpYyBpbnQgc3ZtX21lbV9lbmNfb3Aoc3RydWN0IGt2bSAqa3ZtLCB2b2lk IF9fdXNlciAqYXJncCkNCiB7DQogCXN0cnVjdCBrdm1fc2V2X2NtZCBzZXZfY21kOw0KQEAgLTcx MDYsNiArNzIxNSw5IEBAIHN0YXRpYyBpbnQgc3ZtX21lbV9lbmNfb3Aoc3RydWN0IGt2bSAqa3Zt LCB2b2lkIF9fdXNlciAqYXJncCkNCiAJY2FzZSBLVk1fU0VWX1NFTkRfU1RBUlQ6DQogCQlyID0g c2V2X3NlbmRfc3RhcnQoa3ZtLCAmc2V2X2NtZCk7DQogCQlicmVhazsNCisJY2FzZSBLVk1fU0VW X1NFTkRfVVBEQVRFX0RBVEE6DQorCQlyID0gc2V2X3NlbmRfdXBkYXRlX2RhdGEoa3ZtLCAmc2V2 X2NtZCk7DQorCQlicmVhazsNCiAJZGVmYXVsdDoNCiAJCXIgPSAtRUlOVkFMOw0KIAkJZ290byBv dXQ7DQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L2t2bS5oIGIvaW5jbHVkZS91YXBp L2xpbnV4L2t2bS5oDQppbmRleCA0ZTllN2E1YjIwNjYuLjRjYjZjMzc3NGVjMiAxMDA2NDQNCi0t LSBhL2luY2x1ZGUvdWFwaS9saW51eC9rdm0uaA0KKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2t2 bS5oDQpAQCAtMTU0Myw2ICsxNTQzLDE1IEBAIHN0cnVjdCBrdm1fc2V2X3NlbmRfc3RhcnQgew0K IAlfX3UzMiBzZXNzaW9uX2xlbjsNCiB9Ow0KIA0KK3N0cnVjdCBrdm1fc2V2X3NlbmRfdXBkYXRl X2RhdGEgew0KKwlfX3U2NCBoZHJfdWFkZHI7DQorCV9fdTMyIGhkcl9sZW47DQorCV9fdTY0IGd1 ZXN0X3VhZGRyOw0KKwlfX3UzMiBndWVzdF9sZW47DQorCV9fdTY0IHRyYW5zX3VhZGRyOw0KKwlf X3UzMiB0cmFuc19sZW47DQorfTsNCisNCiAjZGVmaW5lIEtWTV9ERVZfQVNTSUdOX0VOQUJMRV9J T01NVQkoMSA8PCAwKQ0KICNkZWZpbmUgS1ZNX0RFVl9BU1NJR05fUENJXzJfMwkJKDEgPDwgMSkN CiAjZGVmaW5lIEtWTV9ERVZfQVNTSUdOX01BU0tfSU5UWAkoMSA8PCAyKQ0KLS0gDQoyLjE3LjEN Cg0K