Received: by 10.192.165.156 with SMTP id m28csp658437imm; Fri, 13 Apr 2018 05:49:32 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+d7u27vSIhAySx9kQ8gHRM1Yw28P3XBa8t1Ggj4y3r0EaubnGpAe65eHBUoOyq3mPhsgLR X-Received: by 2002:a17:902:e5:: with SMTP id a92-v6mr5142085pla.26.1523623772115; Fri, 13 Apr 2018 05:49:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523623772; cv=none; d=google.com; s=arc-20160816; b=EtX3TRAOlX4SaIz3EXCZ4xIKD8DwX34qqr9dUo5s1qGleb84A9bgo4BixZUvT+gm6d KZMoDu2v2wfpwQ0VPabbaSZMw0/QXM0kK+eimYSwaZP5ZAW7XFQl9xZqy3W/i8R7zXBw SJtzGC3tw9uiCUWVO9cI0Wd/MI54Akzc4f4NYrNMMN7PCER2YQcr9dysoYSG7voBAn+2 DIJ2gv4ynhh/WPNqA6oqzViKuZyIM/LYxmQnG1QtVrbjMfN8qrpx3U3Qo7efeR/m5hJu HVvhoEJ0A8tPj/2hMdU+QIUtn6v7Ok2oS1A8Mq37M7wErZstZ04hFPGBacpjDkbBo7pe F0+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=mY03amGIFFplwgidbVscViR5sImneH2hhX13jyn3imA=; b=bv3y2N4yQRBXwBKe6Sd99TzwEQzA2FVUgD0VIa/QfR9zgS6xIfhfe3/Sk7GXi17eM+ XiKMKxb9BH28UpxxXp8nkVyFpveGYd1BDdi5+6PlAk2v2HU+0JLH89zs8IfPSVGKaPfH xWrgT5gVz5Iiijmq/0YXSWkNjoVW0wFdqYYIF+rp/kEWKhh2H7aYs5apagX/PWjG2Dh0 LiJ3pmt24Nja4VWYchTrp+fW40991ExXkd+a66K6gWZ5LIbpoZr8EM9cpaeGRCF4v609 GItJWtq6dzWK284VGyLINyVqQ7O93vXiUQdbWGnOBD9SXN1blf/l6jwbziPXl1oeO3bu Dq4A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.de header.s=amazon201209 header.b=pV0REUCP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k70si4054694pga.118.2018.04.13.05.49.18; Fri, 13 Apr 2018 05:49:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.de header.s=amazon201209 header.b=pV0REUCP; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754581AbeDMMk0 (ORCPT + 99 others); Fri, 13 Apr 2018 08:40:26 -0400 Received: from smtp-fw-9101.amazon.com ([207.171.184.25]:60467 "EHLO smtp-fw-9101.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754037AbeDMMkY (ORCPT ); Fri, 13 Apr 2018 08:40:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209; t=1523623224; x=1555159224; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:mime-version: content-transfer-encoding; bh=mY03amGIFFplwgidbVscViR5sImneH2hhX13jyn3imA=; b=pV0REUCPQSl2lhZLFNNHJ+La2TJ//4adeK4Bl8fQeudJNzRVjMK5WE68 VhvaQNzB1pR9kiWkDdTSLQPyvRHImd6Z2Ao5g1kj49fhW90YbokIy8DM7 JVjFsRsASLtt7kfX5KxGtQ4zZv8pxp+/dMbT8wK0bWfB941BMfvoVrl48 k=; X-IronPort-AV: E=Sophos;i="5.48,445,1517875200"; d="scan'208";a="735117618" Received: from sea3-co-svc-lb6-vlan3.sea.amazon.com (HELO email-inbound-relay-2c-87a10be6.us-west-2.amazon.com) ([10.47.22.38]) by smtp-border-fw-out-9101.sea19.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 13 Apr 2018 12:40:22 +0000 Received: from EX13MTAUEA001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-2c-87a10be6.us-west-2.amazon.com (8.14.7/8.14.7) with ESMTP id w3DCeJWZ130397 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 13 Apr 2018 12:40:21 GMT Received: from EX13D01EUB001.ant.amazon.com (10.43.166.194) by EX13MTAUEA001.ant.amazon.com (10.43.61.82) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Fri, 13 Apr 2018 12:40:19 +0000 Received: from EX13D01EUB003.ant.amazon.com (10.43.166.248) by EX13D01EUB001.ant.amazon.com (10.43.166.194) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Fri, 13 Apr 2018 12:40:19 +0000 Received: from EX13D01EUB003.ant.amazon.com ([10.43.166.248]) by EX13D01EUB003.ant.amazon.com ([10.43.166.248]) with mapi id 15.00.1236.000; Fri, 13 Apr 2018 12:40:19 +0000 From: "Raslan, KarimAllah" To: "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" , "pbonzini@redhat.com" CC: "jmattson@google.com" , "rkrcmar@redhat.com" Subject: Re: [PATCH 1/2] X86/KVM: Properly update 'tsc_offset' to represent the running guest Thread-Topic: [PATCH 1/2] X86/KVM: Properly update 'tsc_offset' to represent the running guest Thread-Index: AQHT0xnevTdOwUAGJkSIwmf/lTD+y6P+ovQA Date: Fri, 13 Apr 2018 12:40:19 +0000 Message-ID: <1523623218.32594.51.camel@amazon.de> References: <1523618608-30574-1-git-send-email-pbonzini@redhat.com> <1523618608-30574-2-git-send-email-pbonzini@redhat.com> In-Reply-To: <1523618608-30574-2-git-send-email-pbonzini@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.164.96] Content-Type: text/plain; charset="utf-8" Content-ID: <320BD6E28AB229429CA00EA430FBEFD5@amazon.com> MIME-Version: 1.0 Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gRnJpLCAyMDE4LTA0LTEzIGF0IDEzOjIzICswMjAwLCBQYW9sbyBCb256aW5pIHdyb3RlOg0K PiBGcm9tOiBLYXJpbUFsbGFoIEFobWVkIDxrYXJhaG1lZEBhbWF6b24uZGU+DQo+IA0KPiBVcGRh dGUgJ3RzY19vZmZzZXQnIG9uIHZtZW50eS92bWV4aXQgb2YgTDIgZ3Vlc3RzIHRvIGVuc3VyZSB0 aGF0IGl0IGFsd2F5cw0KPiBjYXB0dXJlcyB0aGUgVFNDX09GRlNFVCBvZiB0aGUgcnVubmluZyBn dWVzdCB3aGV0aGVyIGl0IGlzIHRoZSBMMSBvciBMMg0KPiBndWVzdC4NCj4gDQo+IENjOiBKaW0g TWF0dHNvbiA8am1hdHRzb25AZ29vZ2xlLmNvbT4NCj4gQ2M6IFBhb2xvIEJvbnppbmkgPHBib256 aW5pQHJlZGhhdC5jb20+DQo+IENjOiBSYWRpbSBLcsSNbcOhxZkgPHJrcmNtYXJAcmVkaGF0LmNv bT4NCj4gQ2M6IGt2bUB2Z2VyLmtlcm5lbC5vcmcNCj4gQ2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtl cm5lbC5vcmcNCj4gU3VnZ2VzdGVkLWJ5OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQu Y29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBLYXJpbUFsbGFoIEFobWVkIDxrYXJhaG1lZEBhbWF6b24u ZGU+DQo+IFtBTUQgY2hhbmdlcywgZml4IHVwZGF0ZV9pYTMyX3RzY19hZGp1c3RfbXNyLiAtIFBh b2xvXQ0KPiBTaWduZWQtb2ZmLWJ5OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29t Pg0KPiAtLS0NCj4gIGFyY2gveDg2L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmggfCAgMSArDQo+ICBh cmNoL3g4Ni9rdm0vc3ZtLmMgICAgICAgICAgICAgIHwgMTcgKysrKysrKysrKysrKysrKy0NCj4g IGFyY2gveDg2L2t2bS92bXguYyAgICAgICAgICAgICAgfCAyNSArKysrKysrKysrKysrKysrKysr Ky0tLS0tDQo+ICBhcmNoL3g4Ni9rdm0veDg2LmMgICAgICAgICAgICAgIHwgIDYgKysrKy0tDQo+ ICA0IGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pDQo+IA0K PiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20va3ZtX2hvc3QuaCBiL2FyY2gveDg2 L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmgNCj4gaW5kZXggOTQ5Yzk3N2JjNGM5Li5jMjU3NzVmYWQ0 ZWQgMTAwNjQ0DQo+IC0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmgNCj4gKysr IGIvYXJjaC94ODYvaW5jbHVkZS9hc20va3ZtX2hvc3QuaA0KPiBAQCAtMTAxMyw2ICsxMDEzLDcg QEAgc3RydWN0IGt2bV94ODZfb3BzIHsNCj4gIA0KPiAgCWJvb2wgKCpoYXNfd2JpbnZkX2V4aXQp KHZvaWQpOw0KPiAgDQo+ICsJdTY0ICgqcmVhZF9sMV90c2Nfb2Zmc2V0KShzdHJ1Y3Qga3ZtX3Zj cHUgKnZjcHUpOw0KPiAgCXZvaWQgKCp3cml0ZV90c2Nfb2Zmc2V0KShzdHJ1Y3Qga3ZtX3ZjcHUg KnZjcHUsIHU2NCBvZmZzZXQpOw0KPiAgDQo+ICAJdm9pZCAoKmdldF9leGl0X2luZm8pKHN0cnVj dCBrdm1fdmNwdSAqdmNwdSwgdTY0ICppbmZvMSwgdTY0ICppbmZvMik7DQo+IGRpZmYgLS1naXQg YS9hcmNoL3g4Ni9rdm0vc3ZtLmMgYi9hcmNoL3g4Ni9rdm0vc3ZtLmMNCj4gaW5kZXggYjNlYmM4 YWQ2ODkxLi5lYTdjNmQyOWFjYTUgMTAwNjQ0DQo+IC0tLSBhL2FyY2gveDg2L2t2bS9zdm0uYw0K PiArKysgYi9hcmNoL3g4Ni9rdm0vc3ZtLmMNCg0KVGhhbmsgeW91IGZvciBhZGRpbmcgdGhlIEFN RCBiaXRzLCBJIGRpZCBub3QgaGF2ZSBhIG1hY2hpbmUgdG8gdGVzdCB0aGUNCkFNRCBiaXRzIG9u IHNvIEkgbGVmdCBpdCB1bnRvdWNoZWQgOikNCg0KPiBAQCAtMTQyNCwxMiArMTQyNCwyMyBAQCBz dGF0aWMgdm9pZCBpbml0X3N5c19zZWcoc3RydWN0IHZtY2Jfc2VnICpzZWcsIHVpbnQzMl90IHR5 cGUpDQo+ICAJc2VnLT5iYXNlID0gMDsNCj4gIH0NCj4gIA0KPiArc3RhdGljIHU2NCBzdm1fcmVh ZF9sMV90c2Nfb2Zmc2V0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkNCj4gK3sNCj4gKwlzdHJ1Y3Qg dmNwdV9zdm0gKnN2bSA9IHRvX3N2bSh2Y3B1KTsNCj4gKw0KPiArCWlmIChpc19ndWVzdF9tb2Rl KHZjcHUpKQ0KPiArCQlyZXR1cm4gc3ZtLT5uZXN0ZWQuaHNhdmUtPmNvbnRyb2wudHNjX29mZnNl dDsNCj4gKw0KPiArCXJldHVybiB2Y3B1LT5hcmNoLnRzY19vZmZzZXQ7DQo+ICt9DQo+ICsNCj4g IHN0YXRpYyB2b2lkIHN2bV93cml0ZV90c2Nfb2Zmc2V0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwg dTY0IG9mZnNldCkNCj4gIHsNCj4gIAlzdHJ1Y3QgdmNwdV9zdm0gKnN2bSA9IHRvX3N2bSh2Y3B1 KTsNCj4gIAl1NjQgZ190c2Nfb2Zmc2V0ID0gMDsNCj4gIA0KPiAgCWlmIChpc19ndWVzdF9tb2Rl KHZjcHUpKSB7DQo+ICsJCS8qIFdyaXRlIEwxJ3MgVFNDIG9mZnNldC4gICovDQo+ICAJCWdfdHNj X29mZnNldCA9IHN2bS0+dm1jYi0+Y29udHJvbC50c2Nfb2Zmc2V0IC0NCj4gIAkJCSAgICAgICBz dm0tPm5lc3RlZC5oc2F2ZS0+Y29udHJvbC50c2Nfb2Zmc2V0Ow0KPiAgCQlzdm0tPm5lc3RlZC5o c2F2ZS0+Y29udHJvbC50c2Nfb2Zmc2V0ID0gb2Zmc2V0Ow0KPiBAQCAtMzMyMyw2ICszMzM0LDcg QEAgc3RhdGljIGludCBuZXN0ZWRfc3ZtX3ZtZXhpdChzdHJ1Y3QgdmNwdV9zdm0gKnN2bSkNCj4g IAkvKiBSZXN0b3JlIHRoZSBvcmlnaW5hbCBjb250cm9sIGVudHJpZXMgKi8NCj4gIAljb3B5X3Zt Y2JfY29udHJvbF9hcmVhKHZtY2IsIGhzYXZlKTsNCj4gIA0KPiArCXZjcHUtPmFyY2gudHNjX29m ZnNldCA9IHN2bS0+dm1jYi0+Y29udHJvbC50c2Nfb2Zmc2V0Ow0KPiAgCWt2bV9jbGVhcl9leGNl cHRpb25fcXVldWUoJnN2bS0+dmNwdSk7DQo+ICAJa3ZtX2NsZWFyX2ludGVycnVwdF9xdWV1ZSgm c3ZtLT52Y3B1KTsNCj4gIA0KPiBAQCAtMzQ4MywxMCArMzQ5NSwxMiBAQCBzdGF0aWMgdm9pZCBl bnRlcl9zdm1fZ3Vlc3RfbW9kZShzdHJ1Y3QgdmNwdV9zdm0gKnN2bSwgdTY0IHZtY2JfZ3BhLA0K PiAgCS8qIFdlIGRvbid0IHdhbnQgdG8gc2VlIFZNTUNBTExzIGZyb20gYSBuZXN0ZWQgZ3Vlc3Qg Ki8NCj4gIAljbHJfaW50ZXJjZXB0KHN2bSwgSU5URVJDRVBUX1ZNTUNBTEwpOw0KPiAgDQo+ICsJ dmNwdS0+YXJjaC50c2Nfb2Zmc2V0ICs9IG5lc3RlZF92bWNiLT5jb250cm9sLnRzY19vZmZzZXQ7 DQo+ICsJc3ZtLT52bWNiLT5jb250cm9sLnRzY19vZmZzZXQgPSB2Y3B1LT5hcmNoLnRzY19vZmZz ZXQ7DQo+ICsNCj4gIAlzdm0tPnZtY2ItPmNvbnRyb2wudmlydF9leHQgPSBuZXN0ZWRfdm1jYi0+ Y29udHJvbC52aXJ0X2V4dDsNCj4gIAlzdm0tPnZtY2ItPmNvbnRyb2wuaW50X3ZlY3RvciA9IG5l c3RlZF92bWNiLT5jb250cm9sLmludF92ZWN0b3I7DQo+ICAJc3ZtLT52bWNiLT5jb250cm9sLmlu dF9zdGF0ZSA9IG5lc3RlZF92bWNiLT5jb250cm9sLmludF9zdGF0ZTsNCj4gLQlzdm0tPnZtY2It PmNvbnRyb2wudHNjX29mZnNldCArPSBuZXN0ZWRfdm1jYi0+Y29udHJvbC50c2Nfb2Zmc2V0Ow0K PiAgCXN2bS0+dm1jYi0+Y29udHJvbC5ldmVudF9pbmogPSBuZXN0ZWRfdm1jYi0+Y29udHJvbC5l dmVudF9pbmo7DQo+ICAJc3ZtLT52bWNiLT5jb250cm9sLmV2ZW50X2lual9lcnIgPSBuZXN0ZWRf dm1jYi0+Y29udHJvbC5ldmVudF9pbmpfZXJyOw0KPiAgDQo+IEBAIC03MTAyLDYgKzcxMTYsNyBA QCBzdGF0aWMgaW50IHN2bV91bnJlZ2lzdGVyX2VuY19yZWdpb24oc3RydWN0IGt2bSAqa3ZtLA0K PiAgDQo+ICAJLmhhc193YmludmRfZXhpdCA9IHN2bV9oYXNfd2JpbnZkX2V4aXQsDQo+ICANCj4g KwkucmVhZF9sMV90c2Nfb2Zmc2V0ID0gc3ZtX3JlYWRfbDFfdHNjX29mZnNldCwNCj4gIAkud3Jp dGVfdHNjX29mZnNldCA9IHN2bV93cml0ZV90c2Nfb2Zmc2V0LA0KPiAgDQo+ICAJLnNldF90ZHBf Y3IzID0gc2V0X3RkcF9jcjMsDQo+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rdm0vdm14LmMgYi9h cmNoL3g4Ni9rdm0vdm14LmMNCj4gaW5kZXggYTEzYzYwM2JkZWZiLi42NTUzNDE5MjAyZWUgMTAw NjQ0DQo+IC0tLSBhL2FyY2gveDg2L2t2bS92bXguYw0KPiArKysgYi9hcmNoL3g4Ni9rdm0vdm14 LmMNCj4gQEAgLTI4NzQsNiArMjg3NCwxNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9tc3JzKHN0cnVj dCB2Y3B1X3ZteCAqdm14KQ0KPiAgCQl2bXhfdXBkYXRlX21zcl9iaXRtYXAoJnZteC0+dmNwdSk7 DQo+ICB9DQo+ICANCj4gK3N0YXRpYyB1NjQgdm14X3JlYWRfbDFfdHNjX29mZnNldChzdHJ1Y3Qg a3ZtX3ZjcHUgKnZjcHUpDQo+ICt7DQo+ICsJc3RydWN0IHZtY3MxMiAqdm1jczEyID0gZ2V0X3Zt Y3MxMih2Y3B1KTsNCj4gKw0KPiArCWlmIChpc19ndWVzdF9tb2RlKHZjcHUpICYmDQo+ICsJICAg ICh2bWNzMTItPmNwdV9iYXNlZF92bV9leGVjX2NvbnRyb2wgJiBDUFVfQkFTRURfVVNFX1RTQ19P RkZTRVRJTkcpKQ0KPiArCQlyZXR1cm4gdmNwdS0+YXJjaC50c2Nfb2Zmc2V0IC0gdm1jczEyLT50 c2Nfb2Zmc2V0Ow0KPiArDQo+ICsJcmV0dXJuIHZjcHUtPmFyY2gudHNjX29mZnNldDsNCj4gK30N Cj4gKw0KPiAgLyoNCj4gICAqIHJlYWRzIGFuZCByZXR1cm5zIGd1ZXN0J3MgdGltZXN0YW1wIGNv dW50ZXIgInJlZ2lzdGVyIg0KPiAgICogZ3Vlc3RfdHNjID0gKGhvc3RfdHNjICogdHNjIG11bHRp cGxpZXIpID4+IDQ4ICsgdHNjX29mZnNldA0KPiBAQCAtMTExNzUsMTEgKzExMTg2LDggQEAgc3Rh dGljIGludCBwcmVwYXJlX3ZtY3MwMihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCB2bWNz MTIgKnZtY3MxMiwNCj4gIAkJdm1jc193cml0ZTY0KEdVRVNUX0lBMzJfUEFULCB2bXgtPnZjcHUu YXJjaC5wYXQpOw0KPiAgCX0NCj4gIA0KPiAtCWlmICh2bWNzMTItPmNwdV9iYXNlZF92bV9leGVj X2NvbnRyb2wgJiBDUFVfQkFTRURfVVNFX1RTQ19PRkZTRVRJTkcpDQo+IC0JCXZtY3Nfd3JpdGU2 NChUU0NfT0ZGU0VULA0KPiAtCQkJdmNwdS0+YXJjaC50c2Nfb2Zmc2V0ICsgdm1jczEyLT50c2Nf b2Zmc2V0KTsNCj4gLQllbHNlDQo+IC0JCXZtY3Nfd3JpdGU2NChUU0NfT0ZGU0VULCB2Y3B1LT5h cmNoLnRzY19vZmZzZXQpOw0KPiArCXZtY3Nfd3JpdGU2NChUU0NfT0ZGU0VULCB2Y3B1LT5hcmNo LnRzY19vZmZzZXQpOw0KPiArDQo+ICAJaWYgKGt2bV9oYXNfdHNjX2NvbnRyb2wpDQo+ICAJCWRl Y2FjaGVfdHNjX211bHRpcGxpZXIodm14KTsNCj4gIA0KPiBAQCAtMTE0ODksNiArMTE0OTcsOSBA QCBzdGF0aWMgaW50IG5lc3RlZF92bXhfcnVuKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgYm9vbCBs YXVuY2gpDQo+ICAJaWYgKGVuYWJsZV9zaGFkb3dfdm1jcykNCj4gIAkJY29weV9zaGFkb3dfdG9f dm1jczEyKHZteCk7DQo+ICANCj4gKwlpZiAodm1jczEyLT5jcHVfYmFzZWRfdm1fZXhlY19jb250 cm9sICYgQ1BVX0JBU0VEX1VTRV9UU0NfT0ZGU0VUSU5HKQ0KPiArCQl2Y3B1LT5hcmNoLnRzY19v ZmZzZXQgKz0gdm1jczEyLT50c2Nfb2Zmc2V0Ow0KPiArDQo+ICAJLyoNCj4gIAkgKiBUaGUgbmVz dGVkIGVudHJ5IHByb2Nlc3Mgc3RhcnRzIHdpdGggZW5mb3JjaW5nIHZhcmlvdXMgcHJlcmVxdWlz aXRlcw0KPiAgCSAqIG9uIHZtY3MxMiBhcyByZXF1aXJlZCBieSB0aGUgSW50ZWwgU0RNLCBhbmQg YWN0IGFwcHJvcHJpYXRlbHkgd2hlbg0KPiBAQCAtMTIwMzUsNiArMTIwNDYsOSBAQCBzdGF0aWMg dm9pZCBuZXN0ZWRfdm14X3ZtZXhpdChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHUzMiBleGl0X3Jl YXNvbiwNCj4gIA0KPiAgCWxlYXZlX2d1ZXN0X21vZGUodmNwdSk7DQo+ICANCj4gKwlpZiAodm1j czEyLT5jcHVfYmFzZWRfdm1fZXhlY19jb250cm9sICYgQ1BVX0JBU0VEX1VTRV9UU0NfT0ZGU0VU SU5HKQ0KPiArCQl2Y3B1LT5hcmNoLnRzY19vZmZzZXQgLT0gdm1jczEyLT50c2Nfb2Zmc2V0Ow0K PiArDQo+ICAJaWYgKGxpa2VseSghdm14LT5mYWlsKSkgew0KPiAgCQlpZiAoZXhpdF9yZWFzb24g PT0gLTEpDQo+ICAJCQlzeW5jX3ZtY3MxMih2Y3B1LCB2bWNzMTIpOw0KPiBAQCAtMTI3MjUsNiAr MTI3MzksNyBAQCBzdGF0aWMgaW50IGVuYWJsZV9zbWlfd2luZG93KHN0cnVjdCBrdm1fdmNwdSAq dmNwdSkNCj4gIA0KPiAgCS5oYXNfd2JpbnZkX2V4aXQgPSBjcHVfaGFzX3ZteF93YmludmRfZXhp dCwNCj4gIA0KPiArCS5yZWFkX2wxX3RzY19vZmZzZXQgPSB2bXhfcmVhZF9sMV90c2Nfb2Zmc2V0 LA0KPiAgCS53cml0ZV90c2Nfb2Zmc2V0ID0gdm14X3dyaXRlX3RzY19vZmZzZXQsDQo+ICANCj4g IAkuc2V0X3RkcF9jcjMgPSB2bXhfc2V0X2NyMywNCj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L2t2 bS94ODYuYyBiL2FyY2gveDg2L2t2bS94ODYuYw0KPiBpbmRleCAwMzM0YjI1MGUxMDIuLjNmM2Zi YTU4Yzk2MCAxMDA2NDQNCj4gLS0tIGEvYXJjaC94ODYva3ZtL3g4Ni5jDQo+ICsrKyBiL2FyY2gv eDg2L2t2bS94ODYuYw0KPiBAQCAtMTQ5MCw3ICsxNDkwLDcgQEAgc3RhdGljIHZvaWQga3ZtX3Ry YWNrX3RzY19tYXRjaGluZyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpDQo+ICANCj4gIHN0YXRpYyB2 b2lkIHVwZGF0ZV9pYTMyX3RzY19hZGp1c3RfbXNyKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgczY0 IG9mZnNldCkNCj4gIHsNCj4gLQl1NjQgY3Vycl9vZmZzZXQgPSB2Y3B1LT5hcmNoLnRzY19vZmZz ZXQ7DQo+ICsJdTY0IGN1cnJfb2Zmc2V0ID0ga3ZtX3g4Nl9vcHMtPnJlYWRfbDFfdHNjX29mZnNl dCh2Y3B1KTsNCg0KSSBtaWdodCBiZSBtaXNzaW5nIHNvbWV0aGluZyBidXQgaXMgdGhpcyByZWFs bHkgc3RyaWN0bHkgbmVlZGVkIG9yIGlzDQppdCByZWFsbHkgYSBidWc/DQoNCkkgY2FuIHNlZcKg dXBkYXRlX2lhMzJfdHNjX2FkanVzdF9tc3LCoGNhbGxlZCBmcm9twqBrdm1fd3JpdGVfdHNjIG9u bHnCoA0Kd2hpY2ggaXMgY2FsbGVkIGZyb20gYSnCoHZteF9zZXRfbXNyIG9yIGIpwqBrdm1fYXJj aF92Y3B1X3Bvc3RjcmVhdGUuDQpUaGUgYWRqdXN0X21zciB3b3VsZCBvbmx5IGJlIGNhbGxlZCBp ZiAhaG9zdF9pbml0aWF0ZWQuIFNvIG9ubHnCoA0Kdm14X3NldF9tc3Igd2hpY2ggaXMgY29taW5n IGZyb20gYW4gTDEgd3JpdGUgKG9yIGEgcmVzdG9yZSBidXQgdGhhdA0Kd291bGQgbm90IGJlICFo b3N0X2luaXRpYXRlZCkuIFNvIHRoZSBvbmx5IHRoYXQgdHNjX2FkanVzdCBpcyBjYWxsZWQgaXMN CiFpc19ndWVzdF9tb2RlLg0KDQo+ICAJdmNwdS0+YXJjaC5pYTMyX3RzY19hZGp1c3RfbXNyICs9 IG9mZnNldCAtIGN1cnJfb2Zmc2V0Ow0KPiAgfQ0KPiAgDQo+IEBAIC0xNTMyLDcgKzE1MzIsOSBA QCBzdGF0aWMgdTY0IGt2bV9jb21wdXRlX3RzY19vZmZzZXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1 LCB1NjQgdGFyZ2V0X3RzYykNCj4gIA0KPiAgdTY0IGt2bV9yZWFkX2wxX3RzYyhzdHJ1Y3Qga3Zt X3ZjcHUgKnZjcHUsIHU2NCBob3N0X3RzYykNCj4gIHsNCj4gLQlyZXR1cm4gdmNwdS0+YXJjaC50 c2Nfb2Zmc2V0ICsga3ZtX3NjYWxlX3RzYyh2Y3B1LCBob3N0X3RzYyk7DQo+ICsJdTY0IHRzY19v ZmZzZXQgPSBrdm1feDg2X29wcy0+cmVhZF9sMV90c2Nfb2Zmc2V0KHZjcHUpOw0KPiArDQo+ICsJ cmV0dXJuIHRzY19vZmZzZXQgKyBrdm1fc2NhbGVfdHNjKHZjcHUsIGhvc3RfdHNjKTsNCj4gIH0N Cj4gIEVYUE9SVF9TWU1CT0xfR1BMKGt2bV9yZWFkX2wxX3RzYyk7DQo+ICANCkFtYXpvbiBEZXZl bG9wbWVudCBDZW50ZXIgR2VybWFueSBHbWJICkJlcmxpbiAtIERyZXNkZW4gLSBBYWNoZW4KbWFp biBvZmZpY2U6IEtyYXVzZW5zdHIuIDM4LCAxMDExNyBCZXJsaW4KR2VzY2hhZWZ0c2Z1ZWhyZXI6 IERyLiBSYWxmIEhlcmJyaWNoLCBDaHJpc3RpYW4gU2NobGFlZ2VyClVzdC1JRDogREUyODkyMzc4 NzkKRWluZ2V0cmFnZW4gYW0gQW10c2dlcmljaHQgQ2hhcmxvdHRlbmJ1cmcgSFJCIDE0OTE3MyBC Cg==