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.8 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,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 F1369C74A36 for ; Wed, 10 Jul 2019 20:13:41 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AFD462086D for ; Wed, 10 Jul 2019 20:13:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="QcdM1nKP" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728487AbfGJUNe (ORCPT ); Wed, 10 Jul 2019 16:13:34 -0400 Received: from mail-eopbgr820080.outbound.protection.outlook.com ([40.107.82.80]:23808 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727546AbfGJUNb (ORCPT ); Wed, 10 Jul 2019 16:13:31 -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=ZE9n8sXPqb5Gr2g7TaeS5zj6jCrbgZvDMQQxPPkgXiY=; b=QcdM1nKPrTiVeNIa+yu1YKeY8y2aEfgXlowdHmZAHs6/0vRBEJxdbFHzEPUwa2iJBZjtqFMT1aAQHWDmKA3fNIkG+LD5WXc8Z+Iz174cu+4FZVmTSafnvJ+nY0PxzH2UbXSShhQQ539zBTbzq2FGtbw9awJcNVzGbvs91UlKys8= Received: from DM6PR12MB2682.namprd12.prod.outlook.com (20.176.116.31) by DM6PR12MB2988.namprd12.prod.outlook.com (20.178.29.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2052.18; Wed, 10 Jul 2019 20:13:02 +0000 Received: from DM6PR12MB2682.namprd12.prod.outlook.com ([fe80::bc1a:a30d:9da2:1cdd]) by DM6PR12MB2682.namprd12.prod.outlook.com ([fe80::bc1a:a30d:9da2:1cdd%6]) with mapi id 15.20.2073.008; Wed, 10 Jul 2019 20:13:02 +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: [PATCH v3 02/11] KVM: SVM: Add KVM_SEND_UPDATE_DATA command Thread-Topic: [PATCH v3 02/11] KVM: SVM: Add KVM_SEND_UPDATE_DATA command Thread-Index: AQHVN1vguB8xjUAmOk695EJ1xW718A== Date: Wed, 10 Jul 2019 20:13:01 +0000 Message-ID: <20190710201244.25195-3-brijesh.singh@amd.com> References: <20190710201244.25195-1-brijesh.singh@amd.com> In-Reply-To: <20190710201244.25195-1-brijesh.singh@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: SN4PR0501CA0014.namprd05.prod.outlook.com (2603:10b6:803:40::27) 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: 4ff3dc50-dc60-4ece-c788-08d705730263 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:DM6PR12MB2988; x-ms-traffictypediagnostic: DM6PR12MB2988: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 0094E3478A x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(979002)(4636009)(136003)(376002)(366004)(39860400002)(396003)(346002)(199004)(189003)(1730700003)(81156014)(81166006)(7416002)(478600001)(8676002)(486006)(446003)(7736002)(6116002)(476003)(2616005)(305945005)(71190400001)(71200400001)(3846002)(26005)(11346002)(64756008)(66946007)(66556008)(66476007)(66446008)(66066001)(186003)(76176011)(102836004)(14454004)(386003)(6506007)(36756003)(5660300002)(2501003)(52116002)(6916009)(1076003)(66574012)(99286004)(86362001)(68736007)(6436002)(2906002)(25786009)(6486002)(50226002)(4326008)(5640700003)(316002)(256004)(54906003)(6512007)(14444005)(53936002)(8936002)(2351001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM6PR12MB2988;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: IolXzYK1v5zoF27Lkcw5yJFdVxTa4vi9hAAQUr3tT9dDGl5UGjALblgVRKEm7SW1tj5+EQriWFG4wYBoN7bz+T27vB+Rit07iIwi/m24lJBAKF+axcTmAN//Xtdt5xD/DdEKK/+N6XpBo1hDw8qOt3EKpKNAbbAno+SLAv/lduqkdpeUJ5nMnKJSMVzMA+fkMHqkM7iMRbFRk9G9y+EfBDC9FaEtWw0bGNVXuqTB5Ix5DEcVHJIRwygN2N+Oh8IomS3LI3rriH733ku5l/EFsKiAKNs0CZAExv9BjqtxYCBDOE3txtJIMkuv9ev6st5T7kDJGsUOE+3IAPpsaBDW2Z3MwJ1syYE4ewGAeEhj+g9+TPN4Fr163i66gKCCkWtW5DCMOgOcaGcAWwQxVgEKc/q1bVzgTI+oaU2SysgJw5k= Content-Type: text/plain; charset="utf-8" Content-ID: <8B296AE18CF1B24FA1B4415C962EE426@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4ff3dc50-dc60-4ece-c788-08d705730263 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jul 2019 20:13:01.8694 (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: DM6PR12MB2988 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 dm0vYW1kLW1lbW9yeS1lbmNyeXB0aW9uLnJzdA0KaW5kZXggMGU5ZTFlOWY5Njg3Li4wNjBhYzIz MTZkNjkgMTAwNjQ0DQotLS0gYS9Eb2N1bWVudGF0aW9uL3ZpcnR1YWwva3ZtL2FtZC1tZW1vcnkt ZW5jcnlwdGlvbi5yc3QNCisrKyBiL0RvY3VtZW50YXRpb24vdmlydHVhbC9rdm0vYW1kLW1lbW9y eS1lbmNyeXB0aW9uLnJzdA0KQEAgLTI2NSw2ICsyNjUsMzAgQEAgUmV0dXJuczogMCBvbiBzdWNj ZXNzLCAtbmVnYXRpdmUgb24gZXJyb3INCiAgICAgICAgICAgICAgICAgX191MzIgc2Vzc2lvbl9s ZW47DQogICAgICAgICB9Ow0KIA0KKzExLiBLVk1fU0VWX1NFTkRfVVBEQVRFX0RBVEENCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorVGhlIEtWTV9TRVZfU0VORF9VUERBVEVfREFU QSBjb21tYW5kIGNhbiBiZSB1c2VkIGJ5IHRoZSBoeXBlcnZpc29yIHRvIGVuY3J5cHQgdGhlDQor b3V0Z29pbmcgZ3Vlc3QgbWVtb3J5IHJlZ2lvbiB3aXRoIHRoZSBlbmNyeXB0aW9uIGNvbnRleHQg Y3JlYXRpbmcgdXNpbmcNCitLVk1fU0VWX1NFTkRfU1RBUlQuDQorDQorUGFyYW1ldGVycyAoaW4p OiBzdHJ1Y3Qga3ZtX3Nldl9zZW5kX3VwZGF0ZV9kYXRhDQorDQorUmV0dXJuczogMCBvbiBzdWNj ZXNzLCAtbmVnYXRpdmUgb24gZXJyb3INCisNCis6Og0KKw0KKyAgICAgICAgc3RydWN0IGt2bV9z ZXZfbGF1bmNoX3NlbmRfdXBkYXRlX2RhdGEgew0KKyAgICAgICAgICAgICAgICBfX3U2NCBoZHJf dWFkZHI7ICAgICAgICAvKiB1c2Vyc3BhY2UgYWRkcmVzcyBjb250YWluaW5nIHRoZSBwYWNrZXQg aGVhZGVyICovDQorICAgICAgICAgICAgICAgIF9fdTMyIGhkcl9sZW47DQorDQorICAgICAgICAg ICAgICAgIF9fdTY0IGd1ZXN0X3VhZGRyOyAgICAgIC8qIHRoZSBzb3VyY2UgbWVtb3J5IHJlZ2lv biB0byBiZSBlbmNyeXB0ZWQgKi8NCisgICAgICAgICAgICAgICAgX191MzIgZ3Vlc3RfbGVuOw0K Kw0KKyAgICAgICAgICAgICAgICBfX3U2NCB0cmFuc191YWRkcjsgICAgICAvKiB0aGUgZGVzdGl0 aW9uIG1lbW9yeSByZWdpb24gICovDQorICAgICAgICAgICAgICAgIF9fdTMyIHRyYW5zX2xlbjsN CisgICAgICAgIH07DQorDQogUmVmZXJlbmNlcw0KID09PT09PT09PT0NCiANCmRpZmYgLS1naXQg YS9hcmNoL3g4Ni9rdm0vc3ZtLmMgYi9hcmNoL3g4Ni9rdm0vc3ZtLmMNCmluZGV4IDBiMDkzN2Y1 MzUyMC4uOGU4MTVhNTNjNDIwIDEwMDY0NA0KLS0tIGEvYXJjaC94ODYva3ZtL3N2bS5jDQorKysg Yi9hcmNoL3g4Ni9rdm0vc3ZtLmMNCkBAIC00MTgsNiArNDE4LDcgQEAgZW51bSB7DQogDQogc3Rh dGljIHVuc2lnbmVkIGludCBtYXhfc2V2X2FzaWQ7DQogc3RhdGljIHVuc2lnbmVkIGludCBtaW5f c2V2X2FzaWQ7DQorc3RhdGljIHVuc2lnbmVkIGxvbmcgc2V2X21lX21hc2s7DQogc3RhdGljIHVu c2lnbmVkIGxvbmcgKnNldl9hc2lkX2JpdG1hcDsNCiAjZGVmaW5lIF9fc21lX3BhZ2VfcGEoeCkg X19zbWVfc2V0KHBhZ2VfdG9fcGZuKHgpIDw8IFBBR0VfU0hJRlQpDQogDQpAQCAtMTIxNiwxNiAr MTIxNywyMSBAQCBzdGF0aWMgaW50IGF2aWNfZ2FfbG9nX25vdGlmaWVyKHUzMiBnYV90YWcpDQog c3RhdGljIF9faW5pdCBpbnQgc2V2X2hhcmR3YXJlX3NldHVwKHZvaWQpDQogew0KIAlzdHJ1Y3Qg c2V2X3VzZXJfZGF0YV9zdGF0dXMgKnN0YXR1czsNCisJaW50IGVheCwgZWJ4Ow0KIAlpbnQgcmM7 DQogDQotCS8qIE1heGltdW0gbnVtYmVyIG9mIGVuY3J5cHRlZCBndWVzdHMgc3VwcG9ydGVkIHNp bXVsdGFuZW91c2x5ICovDQotCW1heF9zZXZfYXNpZCA9IGNwdWlkX2VjeCgweDgwMDAwMDFGKTsN CisJLyoNCisJICogUXVlcnkgdGhlIG1lbW9yeSBlbmNyeXB0aW9uIGluZm9ybWF0aW9uLg0KKwkg KiAgRUJYOiAgQml0IDA6NSBQYWdldGFibGUgYml0IHBvc2l0aW9uIHVzZWQgdG8gaW5kaWNhdGUg ZW5jcnlwdGlvbiAoYWthIENiaXQpLg0KKwkgKiAgRUNYOiAgTWF4aW11bSBudW1iZXIgb2YgZW5j cnlwdGVkIGd1ZXN0cyBzdXBwb3J0ZWQgc2ltdWx0YW5lb3VzbHkuDQorCSAqICBFRFg6ICBNaW5p bXVtIEFTSUQgdmFsdWUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgU0VWIGd1ZXN0Lg0KKwkgKi8N CisJY3B1aWQoMHg4MDAwMDAxZiwgJmVheCwgJmVieCwgJm1heF9zZXZfYXNpZCwgJm1pbl9zZXZf YXNpZCk7DQogDQogCWlmICghbWF4X3Nldl9hc2lkKQ0KIAkJcmV0dXJuIDE7DQogDQotCS8qIE1p bmltdW0gQVNJRCB2YWx1ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciBTRVYgZ3Vlc3QgKi8NCi0J bWluX3Nldl9hc2lkID0gY3B1aWRfZWR4KDB4ODAwMDAwMUYpOw0KKwlzZXZfbWVfbWFzayA9IDFV TCA8PCAoZWJ4ICYgMHgzZik7DQogDQogCS8qIEluaXRpYWxpemUgU0VWIEFTSUQgYml0bWFwICov DQogCXNldl9hc2lkX2JpdG1hcCA9IGJpdG1hcF96YWxsb2MobWF4X3Nldl9hc2lkLCBHRlBfS0VS TkVMKTsNCkBAIC03MDU5LDYgKzcwNjUsMTA5IEBAIHN0YXRpYyBpbnQgc2V2X3NlbmRfc3RhcnQo 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 MDMsNiArNzIxMiw5IEBAIHN0YXRpYyBpbnQgc3ZtX21lbV9lbmNfb3Aoc3RydWN0IGt2bSAqa3Zt LCB2b2lkIF9fdXNlciAqYXJncCkNCiAJY2FzZSBLVk1fU0VWX1NFTkRfU1RBUlQ6DQogCQlyID0g c2V2X3NlbmRfc3RhcnQoa3ZtLCAmc2V2X2NtZCk7DQogCQlicmVhazsNCisJY2FzZSBLVk1fU0VW X1NFTkRfVVBEQVRFX0RBVEE6DQorCQlyID0gc2V2X3NlbmRfdXBkYXRlX2RhdGEoa3ZtLCAmc2V2 X2NtZCk7DQorCQlicmVhazsNCiAJZGVmYXVsdDoNCiAJCXIgPSAtRUlOVkFMOw0KIAkJZ290byBv dXQ7DQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L2t2bS5oIGIvaW5jbHVkZS91YXBp L2xpbnV4L2t2bS5oDQppbmRleCA0ZTllN2E1YjIwNjYuLjRjYjZjMzc3NGVjMiAxMDA2NDQNCi0t LSBhL2luY2x1ZGUvdWFwaS9saW51eC9rdm0uaA0KKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2t2 bS5oDQpAQCAtMTU0Myw2ICsxNTQzLDE1IEBAIHN0cnVjdCBrdm1fc2V2X3NlbmRfc3RhcnQgew0K IAlfX3UzMiBzZXNzaW9uX2xlbjsNCiB9Ow0KIA0KK3N0cnVjdCBrdm1fc2V2X3NlbmRfdXBkYXRl X2RhdGEgew0KKwlfX3U2NCBoZHJfdWFkZHI7DQorCV9fdTMyIGhkcl9sZW47DQorCV9fdTY0IGd1 ZXN0X3VhZGRyOw0KKwlfX3UzMiBndWVzdF9sZW47DQorCV9fdTY0IHRyYW5zX3VhZGRyOw0KKwlf X3UzMiB0cmFuc19sZW47DQorfTsNCisNCiAjZGVmaW5lIEtWTV9ERVZfQVNTSUdOX0VOQUJMRV9J T01NVQkoMSA8PCAwKQ0KICNkZWZpbmUgS1ZNX0RFVl9BU1NJR05fUENJXzJfMwkJKDEgPDwgMSkN CiAjZGVmaW5lIEtWTV9ERVZfQVNTSUdOX01BU0tfSU5UWAkoMSA8PCAyKQ0KLS0gDQoyLjE3LjEN Cg0K