From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru Stefan ISAILA Subject: Re: [PATCH v3 1/3] x86/mm: Introduce altp2m_get_gfn_type_access Date: Thu, 11 Apr 2019 12:17:29 +0000 Message-ID: <7a64b16b-b7df-2af8-219b-5d3c4a3bf381@bitdefender.com> References: <20190409120324.13940-1-aisaila@bitdefender.com> <28c52232-536f-d007-4072-fbce95b44d8c@citrix.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_" Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hEYe7-0005Ee-Rl for xen-devel@lists.xenproject.org; Thu, 11 Apr 2019 12:17:36 +0000 In-Reply-To: <28c52232-536f-d007-4072-fbce95b44d8c@citrix.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: George Dunlap , "xen-devel@lists.xenproject.org" , "tamas@tklengyel.com" Cc: "wei.liu2@citrix.com" , "rcojocaru@bitdefender.com" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , "jbeulich@suse.com" , "roger.pau@citrix.com" List-Id: xen-devel@lists.xenproject.org --_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_ Content-Type: text/plain; charset="utf-8" Content-ID: <9B95A9E5BBB05A458A1839B06094ED4D@eurprd02.prod.outlook.com> Content-Transfer-Encoding: base64 SGkgR2VvcmdlLA0KDQpUaGFua3MgZm9yIHRoZSBwYXRjaCwgSSd2ZSBkaWQgc29tZSB3b3JrIG9u IGl0IGFuZCBJJ3ZlIGF0dGFjaGVkIGEgDQp2ZXJzaW9uIHRoYXQgc3VpdHMgb3VyIG5lZWRzLg0K DQpJIGhhdmUgYSBmZXcgY29tbWVudHMvcXVlc3Rpb25zIHRvIHlvdSBhbmQgVGFtYXMgYmVjYXVz ZSBpbiB2MyB0aGVyZSB3YXMgDQphIGRpc2N1c3Npb24gYWJvdXQga2VlcGluZyB0aGUgImlmICgg IW1mbl92YWxpZCgqbWZuKSB8fCAqdCAhPSANCnAybV9yYW1fcncgKSIgY2hlY2sgaW5zaWRlIHRo ZSBuZXcgZnVuY3Rpb24gb3IgbGV0IHRoZSBjYWxsZXIgZG8gdGhpcyANCmNoZWNrLiBJZiB3ZSBs ZXQgdGhlIGNhbGxlciBkbyBpdCB0aGVuIHdlIG5lZWQgdG8gdXNlZCBhIGJvb2wgdG8gc2lnbmFs IA0KaWYgdGhlIHJlc3VsdCB3YXMgZm91bmQgaW4gaG9zdHAybSAodGhpcyBpcyB0byBrZWVwIHRo ZSBjdXJyZW50IA0KZnVuY3Rpb25hbGl0eSkuDQoNClNvIHRoZSBtYWluIHF1ZXN0aW9ucyBhcmUg aWYgd2UgbmVlZCB0aGF0IGNoZWNrPyBhbmQgd2hlcmUgc2hvdWxkIGl0IGJlPw0KDQpPbiAxMC4w NC4yMDE5IDE5OjAyLCBHZW9yZ2UgRHVubGFwIHdyb3RlOg0KPiBPbiA0LzkvMTkgMTowMyBQTSwg QWxleGFuZHJ1IFN0ZWZhbiBJU0FJTEEgd3JvdGU6DQo+PiBUaGlzIHBhdGNoIG1vdmVzIGNvbW1v biBjb2RlIGZyb20gcDJtX3NldF9hbHRwMm1fbWVtX2FjY2VzcygpIGFuZA0KPj4gcDJtX2NoYW5n ZV9hbHRwMm1fZ2ZuKCkgaW50byBvbmUgZnVuY3Rpb24NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBB bGV4YW5kcnUgSXNhaWxhIDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4NCj4gDQo+IFRoaXMgcGF0 Y2ggY29udGFpbnMgYSBsb3Qgb2YgYmVoYXZpb3JhbCBjaGFuZ2VzIHdoaWNoIGFyZW4ndCBtZW50 aW9uZWQNCj4gb3IgZXhwbGFpbmVkLiAgRm9yIGluc3RhbmNlLi4uDQo+IA0KPj4gLS0tDQo+PiBD aGFuZ2VzIHNpbmNlIFYyOg0KPj4gCS0gQ2hhbmdlIHZhciBuYW1lIGZyb20gZm91bmRfaW5faG9z dHAybSB0byBjb3BpZWRfZnJvbV9ob3N0cDJtDQo+PiAJLSBNb3ZlIHRoZSB0eXBlIGNoZWNrIGZy b20gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoKSB0byB0aGUNCj4+IAljYWxsZXJzLg0KPj4g LS0tDQo+PiAgIHhlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMgfCAzMiArKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tDQo+PiAgIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAgfCA0MSAr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+ICAgeGVuL2luY2x1ZGUvYXNt LXg4Ni9wMm0uaCAgICB8IDE5ICsrKysrKysrKysrKysrKysrDQo+PiAgIDMgZmlsZXMgY2hhbmdl ZCwgNDkgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMgYi94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vz cy5jDQo+PiBpbmRleCA1NmMwNmE0ZmM2Li5iZjY3ZGRiMTVhIDEwMDY0NA0KPj4gLS0tIGEveGVu L2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYw0KPj4gKysrIGIveGVuL2FyY2gveDg2L21tL21lbV9h Y2Nlc3MuYw0KPj4gQEAgLTI2NSwzMSArMjY1LDI3IEBAIGludCBwMm1fc2V0X2FsdHAybV9tZW1f YWNjZXNzKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBwMm1fZG9tYWluICpocDJtLA0KPj4gICAg ICAgdW5zaWduZWQgaW50IHBhZ2Vfb3JkZXI7DQo+PiAgICAgICB1bnNpZ25lZCBsb25nIGdmbl9s ID0gZ2ZuX3goZ2ZuKTsNCj4+ICAgICAgIGludCByYzsNCj4+ICsgICAgYm9vbCBjb3BpZWRfZnJv bV9ob3N0cDJtOw0KPj4gICANCj4+IC0gICAgbWZuID0gYXAybS0+Z2V0X2VudHJ5KGFwMm0sIGdm biwgJnQsICZvbGRfYSwgMCwgTlVMTCwgTlVMTCk7DQo+PiArICAgIG1mbiA9IGFsdHAybV9nZXRf Z2ZuX3R5cGVfYWNjZXNzKGFwMm0sIGdmbiwgJnQsICZvbGRfYSwgJnBhZ2Vfb3JkZXIsICZjb3Bp ZWRfZnJvbV9ob3N0cDJtKTsNCj4+ICAgDQo+PiAtICAgIC8qIENoZWNrIGhvc3QgcDJtIGlmIG5v IHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KPj4gICAgICAgaWYgKCAhbWZuX3ZhbGlkKG1m bikgKQ0KPj4gKyAgICAgICAgcmV0dXJuIC1FU1JDSDsNCj4+ICsNCj4+ICsgICAgLyogSWYgdGhp cyBpcyBhIHN1cGVycGFnZSwgY29weSB0aGF0IGZpcnN0ICovDQo+PiArICAgIGlmICggcGFnZV9v cmRlciAhPSBQQUdFX09SREVSXzRLICYmIGNvcGllZF9mcm9tX2hvc3RwMm0gKQ0KPj4gICAgICAg ew0KPj4gKyAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8IHBhZ2Vfb3JkZXIp IC0gMSk7DQo+PiArICAgICAgICBnZm5fdCBnZm4yID0gX2dmbihnZm5fbCAmIG1hc2spOw0KPj4g KyAgICAgICAgbWZuX3QgbWZuMiA9IF9tZm4obWZuX3gobWZuKSAmIG1hc2spOw0KPj4gICANCj4+ IC0gICAgICAgIG1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5fbCwgJnQsICZv bGRfYSwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxMT0Mg fCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KPj4gKyAgICAgICAgLyogTm90ZTogY3Vy cmVudGx5IGl0IGlzIG5vdCBzYWZlIHRvIHJlbWFwIHRvIGEgc2hhcmVkIGVudHJ5ICovDQo+PiAr ICAgICAgICBpZiAoIHQgIT0gcDJtX3JhbV9ydyApDQo+PiArICAgICAgICAgICAgcmV0dXJuIC1F U1JDSDsNCj4+ICAgDQo+PiAtICAgICAgICByYyA9IC1FU1JDSDsNCj4+IC0gICAgICAgIGlmICgg IW1mbl92YWxpZChtZm4pIHx8IHQgIT0gcDJtX3JhbV9ydyApDQo+PiArICAgICAgICByYyA9IGFw Mm0tPnNldF9lbnRyeShhcDJtLCBnZm4yLCBtZm4yLCBwYWdlX29yZGVyLCB0LCBvbGRfYSwgMSk7 DQo+PiArICAgICAgICBpZiAoIHJjICkNCj4+ICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KPj4g LQ0KPj4gLSAgICAgICAgLyogSWYgdGhpcyBpcyBhIHN1cGVycGFnZSwgY29weSB0aGF0IGZpcnN0 ICovDQo+PiAtICAgICAgICBpZiAoIHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80SyApDQo+PiAt ICAgICAgICB7DQo+PiAtICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8 IHBhZ2Vfb3JkZXIpIC0gMSk7DQo+PiAtICAgICAgICAgICAgZ2ZuX3QgZ2ZuMiA9IF9nZm4oZ2Zu X2wgJiBtYXNrKTsNCj4+IC0gICAgICAgICAgICBtZm5fdCBtZm4yID0gX21mbihtZm5feChtZm4p ICYgbWFzayk7DQo+PiAtDQo+PiAtICAgICAgICAgICAgcmMgPSBhcDJtLT5zZXRfZW50cnkoYXAy bSwgZ2ZuMiwgbWZuMiwgcGFnZV9vcmRlciwgdCwgb2xkX2EsIDEpOw0KPj4gLSAgICAgICAgICAg IGlmICggcmMgKQ0KPj4gLSAgICAgICAgICAgICAgICByZXR1cm4gcmM7DQo+PiAtICAgICAgICB9 DQo+PiAgICAgICB9DQo+PiAgIA0KPj4gICAgICAgLyoNCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvbW0vcDJtLmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMNCj4+IGluZGV4IGI5YmJiOGY0 ODUuLmQzOGQ3YzI5Y2EgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMNCj4+ ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KPj4gQEAgLTI2MjYsNiArMjYyNiw3IEBAIGlu dCBwMm1fY2hhbmdlX2FsdHAybV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlk eCwNCj4+ICAgICAgIG1mbl90IG1mbjsNCj4+ICAgICAgIHVuc2lnbmVkIGludCBwYWdlX29yZGVy Ow0KPj4gICAgICAgaW50IHJjID0gLUVJTlZBTDsNCj4+ICsgICAgYm9vbCBjb3BpZWRfZnJvbV9o b3N0cDJtOw0KPj4gICANCj4+ICAgICAgIGlmICggaWR4ID49IE1BWF9BTFRQMk0gfHwgZC0+YXJj aC5hbHRwMm1fZXB0cFtpZHhdID09IG1mbl94KElOVkFMSURfTUZOKSApDQo+PiAgICAgICAgICAg cmV0dXJuIHJjOw0KPj4gQEAgLTI2MzYsNyArMjYzNyw3IEBAIGludCBwMm1fY2hhbmdlX2FsdHAy bV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlkeCwNCj4+ICAgICAgIHAybV9s b2NrKGhwMm0pOw0KPj4gICAgICAgcDJtX2xvY2soYXAybSk7DQo+PiAgIA0KPj4gLSAgICBtZm4g PSBhcDJtLT5nZXRfZW50cnkoYXAybSwgb2xkX2dmbiwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsN Cj4+ICsgICAgbWZuID0gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoYXAybSwgb2xkX2dmbiwg JnQsICZhLCAmcGFnZV9vcmRlciwgJmNvcGllZF9mcm9tX2hvc3RwMm0pOw0KPiANCj4gQmVmb3Jl LCBpZiBuZXdfZ2ZuIHdhcyBJTlZBTElEX0dGTiwgdGhlbiB0aGUgaG9zdCBwMm0gd2Fzbid0IHJl YWQgYXQNCj4gYWxsLiAgTm93LCB0aGUgaG9zdHAybSB3aWxsIGhhdmUgX19nZXRfZ2ZuX3R5cGVf YWNjZXNzKCkgY2FsbGVkIHdpdGgNCj4gUDJNX0FMTE9DIHwgUDJNX1VOU0hBUkUuICBJcyB0aGF0 IGNoYW5nZSBpbnRlbnRpb25hbCwgYW5kIGlmIHNvLCB3aHk/DQoNClRoaXMgaGFzIGJlZW4gcmVx dWVzdGVkIGJ5IFRhbWFzIGluIHYyLg0KDQo+IA0KPj4gICANCj4+ICAgICAgIGlmICggZ2ZuX2Vx KG5ld19nZm4sIElOVkFMSURfR0ZOKSApDQo+PiAgICAgICB7DQo+PiBAQCAtMjY0NiwzNyArMjY0 NywyNyBAQCBpbnQgcDJtX2NoYW5nZV9hbHRwMm1fZ2ZuKHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGludCBpZHgsDQo+PiAgICAgICAgICAgZ290byBvdXQ7DQo+PiAgICAgICB9DQo+PiAgIA0K Pj4gLSAgICAvKiBDaGVjayBob3N0IHAybSBpZiBubyB2YWxpZCBlbnRyeSBpbiBhbHRlcm5hdGUg Ki8NCj4+IC0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQ0KPj4gLSAgICB7DQo+PiAtICAgICAg ICBtZm4gPSBfX2dldF9nZm5fdHlwZV9hY2Nlc3MoaHAybSwgZ2ZuX3gob2xkX2dmbiksICZ0LCAm YSwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxMT0MsICZw YWdlX29yZGVyLCAwKTsNCj4+ICsgICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgfHwgKHQgIT0gcDJt X3JhbV9ydyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtKSApDQo+PiArICAgICAgICAgZ290byBvdXQ7 DQo+PiAgIA0KPj4gLSAgICAgICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgfHwgdCAhPSBwMm1fcmFt X3J3ICkNCj4+IC0gICAgICAgICAgICBnb3RvIG91dDsNCj4+IC0NCj4+IC0gICAgICAgIC8qIElm IHRoaXMgaXMgYSBzdXBlcnBhZ2UsIGNvcHkgdGhhdCBmaXJzdCAqLw0KPj4gLSAgICAgICAgaWYg KCBwYWdlX29yZGVyICE9IFBBR0VfT1JERVJfNEsgKQ0KPj4gLSAgICAgICAgew0KPj4gLSAgICAg ICAgICAgIGdmbl90IGdmbjsNCj4+IC0gICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1hc2s7DQo+ PiArICAgIC8qIElmIHRoaXMgaXMgYSBzdXBlcnBhZ2UsIGNvcHkgdGhhdCBmaXJzdCAqLw0KPj4g KyAgICBpZiAoIHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80SyAmJiBjb3BpZWRfZnJvbV9ob3N0 cDJtICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgZ2ZuX3QgZ2ZuOw0KPj4gKyAgICAgICAgdW5z aWduZWQgbG9uZyBtYXNrOw0KPj4gICANCj4+IC0gICAgICAgICAgICBtYXNrID0gfigoMVVMIDw8 IHBhZ2Vfb3JkZXIpIC0gMSk7DQo+PiAtICAgICAgICAgICAgZ2ZuID0gX2dmbihnZm5feChvbGRf Z2ZuKSAmIG1hc2spOw0KPj4gLSAgICAgICAgICAgIG1mbiA9IF9tZm4obWZuX3gobWZuKSAmIG1h c2spOw0KPj4gKyAgICAgICAgbWFzayA9IH4oKDFVTCA8PCBwYWdlX29yZGVyKSAtIDEpOw0KPj4g KyAgICAgICAgZ2ZuID0gX2dmbihnZm5feChvbGRfZ2ZuKSAmIG1hc2spOw0KPj4gKyAgICAgICAg bWZuID0gX21mbihtZm5feChtZm4pICYgbWFzayk7DQo+PiAgIA0KPj4gLSAgICAgICAgICAgIGlm ICggYXAybS0+c2V0X2VudHJ5KGFwMm0sIGdmbiwgbWZuLCBwYWdlX29yZGVyLCB0LCBhLCAxKSAp DQo+PiAtICAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPj4gLSAgICAgICAgfQ0KPj4gKyAgICAg ICAgaWYgKCBhcDJtLT5zZXRfZW50cnkoYXAybSwgZ2ZuLCBtZm4sIHBhZ2Vfb3JkZXIsIHQsIGEs IDEpICkNCj4+ICsgICAgICAgICAgICBnb3RvIG91dDsNCj4+ICAgICAgIH0NCj4+ICAgDQo+PiAt ICAgIG1mbiA9IGFwMm0tPmdldF9lbnRyeShhcDJtLCBuZXdfZ2ZuLCAmdCwgJmEsIDAsIE5VTEws IE5VTEwpOw0KPj4gLQ0KPj4gLSAgICBpZiAoICFtZm5fdmFsaWQobWZuKSApDQo+PiAtICAgICAg ICBtZm4gPSBocDJtLT5nZXRfZW50cnkoaHAybSwgbmV3X2dmbiwgJnQsICZhLCAwLCBOVUxMLCBO VUxMKTsNCj4+ICsgICAgbWZuID0gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoYXAybSwgbmV3 X2dmbiwgJnQsICZhLCAmcGFnZV9vcmRlciwgJmNvcGllZF9mcm9tX2hvc3RwMm0pOw0KPiANCj4g U2ltaWxpYXJseSBoZXJlOiBCZWZvcmUgdGhpcyBwYXRjaCwgaHAybS0+Z2V0X2VudHJ5KCkgaXMg Y2FsbGVkDQo+IGRpcmVjdGx5OyBhZnRlciB0aGlzIHBhdGNoLCB3ZSBnbyB0aHJvdWdoIF9fZ2V0 X2dmbl90eXBlX2FjY2VzcygpLCB3aGljaA0KPiBhZGRzIHNvbWUgZXh0cmEgY29kZSwgYW5kIHdp bGwgYWxzbyB1bnNoYXJlIC8gYWxsb2NhdGUuICBJcyB0aGF0DQo+IGludGVudGlvbmFsLCBhbmQg aWYgc28sIHdoeT8NCj4gDQo+PiAgIA0KPj4gICAgICAgLyogTm90ZTogY3VycmVudGx5IGl0IGlz IG5vdCBzYWZlIHRvIHJlbWFwIHRvIGEgc2hhcmVkIGVudHJ5ICovDQo+PiAtICAgIGlmICggIW1m bl92YWxpZChtZm4pIHx8ICh0ICE9IHAybV9yYW1fcncpICkNCj4+ICsgICAgaWYgKCAhbWZuX3Zh bGlkKG1mbikgfHwgKHQgIT0gcDJtX3JhbV9ydyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtKSApDQo+ PiAgICAgICAgICAgZ290byBvdXQ7DQo+PiAgIA0KPj4gICAgICAgaWYgKCAhYXAybS0+c2V0X2Vu dHJ5KGFwMm0sIG9sZF9nZm4sIG1mbiwgUEFHRV9PUkRFUl80SywgdCwgYSwNCj4+IGRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0u aA0KPj4gaW5kZXggMjgwMWE4Y2NjYS4uNmRlMTU0NmQ3NiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9p bmNsdWRlL2FzbS14ODYvcDJtLmgNCj4+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgN Cj4+IEBAIC00NDgsNiArNDQ4LDI1IEBAIHN0YXRpYyBpbmxpbmUgbWZuX3QgX19ub25udWxsKDMp IGdldF9nZm5fdHlwZSgNCj4+ICAgICAgIHJldHVybiBnZXRfZ2ZuX3R5cGVfYWNjZXNzKHAybV9n ZXRfaG9zdHAybShkKSwgZ2ZuLCB0LCAmYSwgcSwgTlVMTCk7DQo+PiAgIH0NCj4+ICAgDQo+PiAr c3RhdGljIGlubGluZSBtZm5fdCBhbHRwMm1fZ2V0X2dmbl90eXBlX2FjY2VzcygNCj4+ICsgICAg c3RydWN0IHAybV9kb21haW4gKmFwMm0sIGdmbl90IGdmbiwgcDJtX3R5cGVfdCAqdCwgcDJtX2Fj Y2Vzc190ICphLA0KPj4gKyAgICB1bnNpZ25lZCBpbnQgKnBhZ2Vfb3JkZXIsIGJvb2wgKmNvcGll ZF9mcm9tX2hvc3RwMm0pDQo+PiArew0KPj4gKyAgICBtZm5fdCBtZm4gPSBhcDJtLT5nZXRfZW50 cnkoYXAybSwgZ2ZuLCB0LCBhLCAwLCBOVUxMLCBOVUxMKTsNCj4+ICsNCj4+ICsgICAgKmNvcGll ZF9mcm9tX2hvc3RwMm0gPSBmYWxzZTsNCj4+ICsNCj4+ICsgICAgLyogQ2hlY2sgaG9zdCBwMm0g aWYgbm8gdmFsaWQgZW50cnkgaW4gYWx0ZXJuYXRlICovDQo+PiArICAgIGlmICggIW1mbl92YWxp ZChtZm4pICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgbWZuID0gX19nZXRfZ2ZuX3R5cGVfYWNj ZXNzKHAybV9nZXRfaG9zdHAybShhcDJtLT5kb21haW4pLCBnZm5feChnZm4pLCB0LCBhLA0KPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFAyTV9BTExPQyB8IFAyTV9VTlNI QVJFLCBwYWdlX29yZGVyLCBmYWxzZSk7DQo+PiArICAgICAgICAqY29waWVkX2Zyb21faG9zdHAy bSA9IG1mbl92YWxpZChtZm4pOw0KPj4gKyAgICB9DQo+PiArDQo+PiArICAgIHJldHVybiBtZm47 DQo+PiArfQ0KPiANCj4gR2l2ZW4gdGhhdCB0aGUgbWFpbiBnb2FsIGhlcmUgc2VlbXMgdG8gYmUg dG8gY2xlYW4gdXAgdGhlIGludGVyZmFjZSwgSSdtDQo+IG5vdCBjbGVhciB3aHkgeW91IGRvbid0 IGhhdmUgdGhpcyBmdW5jdGlvbiBkbyBib3RoIHRoZSAiaG9zdA0KPiBzZWUtdGhyb3VnaCIgYW5k IHRoZSBwcmVwb3B1bGF0aW9uLiAgV291bGQgc29tZXRoaW5nIGxpa2UgdGhlIGF0dGFjaGVkDQo+ IHdvcmsgKG5vdCBldmVuIGNvbXBpbGUgdGVzdGVkKT8NCg0KSSB3YXMgdGhpbmtpbmcgb2YgZ29p bmcgd2l0aCAgYWx0cDJtX2dldF9lbnRyeV9kaXJlY3Qgb3ZlciBzZWUtdGhyb3VnaA0KDQo+IA0K PiAoVG8gYmUgY2xlYXIsIHRoaXMgaXMganVzdCBtZWFudCB0byBiZSBhIHNrZXRjaCBzbyB5b3Ug Y2FuIHNlZSB3aGF0IEknbQ0KPiB0YWxraW5nIGFib3V0OyBpZiB5b3Ugd2VyZSB0byB1c2UgaXQg eW91J2QgbmVlZCB0byBmaXggaXQgdXANCj4gYXBwcm9wcmlhdGVseSwgaW5jbHVkaW5nIGNvbnNp ZGVyaW5nIHdoZXRoZXIgInNlZXRocm91Z2giIGlzIGFuDQo+IGFwcHJvcHJpYXRlIG5hbWUgZm9y IHRoZSBmdW5jdGlvbi4pDQo+IA0KDQpBbGV4DQo= --_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_ Content-Type: text/x-patch; name="0001-altp2m-Add-a-function-to-automatically-handle-copyin.patch" Content-Description: 0001-altp2m-Add-a-function-to-automatically-handle-copyin.patch Content-Disposition: attachment; filename="0001-altp2m-Add-a-function-to-automatically-handle-copyin.patch"; size=7513; creation-date="Thu, 11 Apr 2019 12:17:29 GMT"; modification-date="Thu, 11 Apr 2019 12:17:29 GMT" Content-ID: <9F4214AE2EF659449FEE34BF8B8EE925@eurprd02.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSBjMWIxZjU1NGNlMzQzNzYzYWRkMGFhZDQ3OWVkY2Q3ZTAyZmM1NjVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogQWxleGFuZHJ1IElzYWlsYSA8YWlzYWlsYUBiaXRkZWZlbmRl ci5jb20+DQpEYXRlOiBUaHUsIDExIEFwciAyMDE5IDE0OjM5OjMxICswMzAwDQpTdWJqZWN0OiBb UEFUQ0hdIGFsdHAybTogQWRkIGEgZnVuY3Rpb24gdG8gYXV0b21hdGljYWxseSBoYW5kbGUgY29w eWluZw0KDQpwcmVwb3B1bGF0aW5nIGZyb20gaG9zdHBtDQoNClNpZ25lZC1vZmYtYnk6IEFsZXhh bmRydSBJc2FpbGEgPGFpc2FpbGFAYml0ZGVmZW5kZXIuY29tPg0KLS0tDQogeGVuL2FyY2gveDg2 L21tL21lbV9hY2Nlc3MuYyB8IDMwICsrLS0tLS0tLS0tLS0tLS0NCiB4ZW4vYXJjaC94ODYvbW0v cDJtLmMgICAgICAgIHwgODQgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0NCiB4ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oICAgIHwgMTcgKysrKysrKysrDQogMyBm aWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkNCg0KZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMgYi94ZW4vYXJjaC94ODYvbW0vbWVt X2FjY2Vzcy5jDQppbmRleCBhMTQ0YmIwLi5kZGZlMDE2IDEwMDY0NA0KLS0tIGEveGVuL2FyY2gv eDg2L21tL21lbV9hY2Nlc3MuYw0KKysrIGIveGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYw0K QEAgLTI2MiwzNSArMjYyLDExIEBAIGludCBwMm1fc2V0X2FsdHAybV9tZW1fYWNjZXNzKHN0cnVj dCBkb21haW4gKmQsIHN0cnVjdCBwMm1fZG9tYWluICpocDJtLA0KICAgICBtZm5fdCBtZm47DQog ICAgIHAybV90eXBlX3QgdDsNCiAgICAgcDJtX2FjY2Vzc190IG9sZF9hOw0KLSAgICB1bnNpZ25l ZCBpbnQgcGFnZV9vcmRlcjsNCi0gICAgdW5zaWduZWQgbG9uZyBnZm5fbCA9IGdmbl94KGdmbik7 DQogICAgIGludCByYzsNCiANCi0gICAgbWZuID0gYXAybS0+Z2V0X2VudHJ5KGFwMm0sIGdmbiwg JnQsICZvbGRfYSwgMCwgTlVMTCwgTlVMTCk7DQotDQotICAgIC8qIENoZWNrIGhvc3QgcDJtIGlm IG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KLSAgICBpZiAoICFtZm5fdmFsaWQobWZu KSApDQotICAgIHsNCi0NCi0gICAgICAgIG1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJt LCBnZm5fbCwgJnQsICZvbGRfYSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQMk1fQUxMT0MgfCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KLQ0KLSAgICAgICAg cmMgPSAtRVNSQ0g7DQotICAgICAgICBpZiAoICFtZm5fdmFsaWQobWZuKSB8fCB0ICE9IHAybV9y YW1fcncgKQ0KLSAgICAgICAgICAgIHJldHVybiByYzsNCi0NCi0gICAgICAgIC8qIElmIHRoaXMg aXMgYSBzdXBlcnBhZ2UsIGNvcHkgdGhhdCBmaXJzdCAqLw0KLSAgICAgICAgaWYgKCBwYWdlX29y ZGVyICE9IFBBR0VfT1JERVJfNEsgKQ0KLSAgICAgICAgew0KLSAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgbWFzayA9IH4oKDFVTCA8PCBwYWdlX29yZGVyKSAtIDEpOw0KLSAgICAgICAgICAgIGdm bl90IGdmbjIgPSBfZ2ZuKGdmbl9sICYgbWFzayk7DQotICAgICAgICAgICAgbWZuX3QgbWZuMiA9 IF9tZm4obWZuX3gobWZuKSAmIG1hc2spOw0KLQ0KLSAgICAgICAgICAgIHJjID0gYXAybS0+c2V0 X2VudHJ5KGFwMm0sIGdmbjIsIG1mbjIsIHBhZ2Vfb3JkZXIsIHQsIG9sZF9hLCAxKTsNCi0gICAg ICAgICAgICBpZiAoIHJjICkNCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KLSAgICAgICAg fQ0KLSAgICB9DQorICAgIHJjID0gYWx0cDJtX2dldF9lbnRyeV9wcmVwb3B1bGF0ZShhcDJtLCBn Zm4sICZtZm4sICZ0LCAmb2xkX2EpOw0KKyAgICBpZiAoIHJjICkNCisgICAgICAgIHJldHVybiBy YzsNCiANCiAgICAgLyoNCiAgICAgICogSW5oZXJpdCB0aGUgb2xkIHN1cHByZXNzICNWRSBiaXQg dmFsdWUgaWYgaXQgaXMgYWxyZWFkeSBzZXQsIG9yIHNldCBpdA0KZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KaW5kZXggOWU4MWEzMC4u YWVhMjAwZiAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KKysrIGIveGVuL2Fy Y2gveDg2L21tL3AybS5jDQpAQCAtNDc4LDYgKzQ3OCw0MyBAQCB2b2lkIHAybV91bmxvY2tfYW5k X3RsYl9mbHVzaChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQ0KICAgICAgICAgbW1fd3JpdGVfdW5s b2NrKCZwMm0tPmxvY2spOw0KIH0NCiANCitpbnQgZ2V0X2FsdHAybV9lbnRyeShzdHJ1Y3QgcDJt X2RvbWFpbiAqYXAybSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZ2ZuLCBt Zm5fdCAqbWZuLCBwMm1fdHlwZV90ICp0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBw Mm1fYWNjZXNzX3QgKmEsIGJvb2wgcHJlcG9wdWxhdGUpDQorew0KKyAgICAqbWZuID0gYXAybS0+ Z2V0X2VudHJ5KGFwMm0sIGdmbiwgdCwgYSwgMCwgTlVMTCwgTlVMTCk7DQorDQorICAgIC8qIENo ZWNrIGhvc3QgcDJtIGlmIG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KKyAgICBpZiAo ICFtZm5fdmFsaWQoKm1mbikgJiYgIXAybV9pc19ob3N0cDJtKGFwMm0pICkNCisgICAgew0KKyAg ICAgICAgc3RydWN0IHAybV9kb21haW4gKmhwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oYXAybS0+ZG9t YWluKTsNCisgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX29yZGVyOw0KKyAgICAgICAgaW50IHJj Ow0KKw0KKyAgICAgICAgKm1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5feChn Zm4pLCB0LCBhLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxM T0MgfCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KKw0KKyAgICAgICAgcmMgPSAtRVNS Q0g7DQorICAgICAgICBpZiAoICFtZm5fdmFsaWQoKm1mbikgfHwgKnQgIT0gcDJtX3JhbV9ydyAp DQorICAgICAgICAgICAgcmV0dXJuIHJjOw0KKw0KKyAgICAgICAgLyogSWYgdGhpcyBpcyBhIHN1 cGVycGFnZSwgY29weSB0aGF0IGZpcnN0ICovDQorICAgICAgICBpZiAoIHByZXBvcHVsYXRlICYm IHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80SyApDQorICAgICAgICB7DQorICAgICAgICAgICAg dW5zaWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8IHBhZ2Vfb3JkZXIpIC0gMSk7DQorICAgICAg ICAgICAgZ2ZuX3QgZ2ZuX2FsaWduZWQgPSBfZ2ZuKGdmbl94KGdmbikgJiBtYXNrKTsNCisgICAg ICAgICAgICBtZm5fdCBtZm5fYWxpZ25lZCA9IF9tZm4obWZuX3goKm1mbikgJiBtYXNrKTsNCisN CisgICAgICAgICAgICByYyA9IGFwMm0tPnNldF9lbnRyeShhcDJtLCBnZm5fYWxpZ25lZCwgbWZu X2FsaWduZWQsIHBhZ2Vfb3JkZXIsICp0LCAqYSwgMSk7DQorICAgICAgICAgICAgaWYgKCByYyAp DQorICAgICAgICAgICAgICAgIHJldHVybiByYzsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAg ICByZXR1cm4gMDsNCit9DQorDQorDQogbWZuX3QgX19nZXRfZ2ZuX3R5cGVfYWNjZXNzKHN0cnVj dCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuX2wsDQogICAgICAgICAgICAgICAg ICAgICBwMm1fdHlwZV90ICp0LCBwMm1fYWNjZXNzX3QgKmEsIHAybV9xdWVyeV90IHEsDQogICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnBhZ2Vfb3JkZXIsIGJvb2xfdCBsb2NrZWQp DQpAQCAtMjYxOCw3ICsyNjU1LDYgQEAgaW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaWR4LA0KICAgICBwMm1fYWNjZXNzX3QgYTsNCiAgICAg cDJtX3R5cGVfdCB0Ow0KICAgICBtZm5fdCBtZm47DQotICAgIHVuc2lnbmVkIGludCBwYWdlX29y ZGVyOw0KICAgICBpbnQgcmMgPSAtRUlOVkFMOw0KIA0KICAgICBpZiAoIGlkeCA+PSBNQVhfQUxU UDJNIHx8IGQtPmFyY2guYWx0cDJtX2VwdHBbaWR4XSA9PSBtZm5feChJTlZBTElEX01GTikgKQ0K QEAgLTI2MzAsNDcgKzI2NjYsMjEgQEAgaW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaWR4LA0KICAgICBwMm1fbG9jayhocDJtKTsNCiAgICAg cDJtX2xvY2soYXAybSk7DQogDQotICAgIG1mbiA9IGFwMm0tPmdldF9lbnRyeShhcDJtLCBvbGRf Z2ZuLCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOw0KLQ0KICAgICBpZiAoIGdmbl9lcShuZXdfZ2Zu LCBJTlZBTElEX0dGTikgKQ0KICAgICB7DQorICAgICAgICBtZm4gPSBhcDJtLT5nZXRfZW50cnko YXAybSwgb2xkX2dmbiwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsNCiAgICAgICAgIGlmICggbWZu X3ZhbGlkKG1mbikgKQ0KICAgICAgICAgICAgIHAybV9yZW1vdmVfcGFnZShhcDJtLCBnZm5feChv bGRfZ2ZuKSwgbWZuX3gobWZuKSwgUEFHRV9PUkRFUl80Syk7DQogICAgICAgICByYyA9IDA7DQog ICAgICAgICBnb3RvIG91dDsNCiAgICAgfQ0KIA0KLSAgICAvKiBDaGVjayBob3N0IHAybSBpZiBu byB2YWxpZCBlbnRyeSBpbiBhbHRlcm5hdGUgKi8NCi0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikg KQ0KLSAgICB7DQotICAgICAgICBtZm4gPSBfX2dldF9nZm5fdHlwZV9hY2Nlc3MoaHAybSwgZ2Zu X3gob2xkX2dmbiksICZ0LCAmYSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQMk1fQUxMT0MsICZwYWdlX29yZGVyLCAwKTsNCi0NCi0gICAgICAgIGlmICggIW1mbl92YWxp ZChtZm4pIHx8IHQgIT0gcDJtX3JhbV9ydyApDQotICAgICAgICAgICAgZ290byBvdXQ7DQotDQot ICAgICAgICAvKiBJZiB0aGlzIGlzIGEgc3VwZXJwYWdlLCBjb3B5IHRoYXQgZmlyc3QgKi8NCi0g ICAgICAgIGlmICggcGFnZV9vcmRlciAhPSBQQUdFX09SREVSXzRLICkNCi0gICAgICAgIHsNCi0g ICAgICAgICAgICBnZm5fdCBnZm47DQotICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrOw0K LQ0KLSAgICAgICAgICAgIG1hc2sgPSB+KCgxVUwgPDwgcGFnZV9vcmRlcikgLSAxKTsNCi0gICAg ICAgICAgICBnZm4gPSBfZ2ZuKGdmbl94KG9sZF9nZm4pICYgbWFzayk7DQotICAgICAgICAgICAg bWZuID0gX21mbihtZm5feChtZm4pICYgbWFzayk7DQotDQotICAgICAgICAgICAgaWYgKCBhcDJt LT5zZXRfZW50cnkoYXAybSwgZ2ZuLCBtZm4sIHBhZ2Vfb3JkZXIsIHQsIGEsIDEpICkNCi0gICAg ICAgICAgICAgICAgZ290byBvdXQ7DQotICAgICAgICB9DQotICAgIH0NCi0NCi0gICAgbWZuID0g YXAybS0+Z2V0X2VudHJ5KGFwMm0sIG5ld19nZm4sICZ0LCAmYSwgMCwgTlVMTCwgTlVMTCk7DQot DQotICAgIGlmICggIW1mbl92YWxpZChtZm4pICkNCi0gICAgICAgIG1mbiA9IGhwMm0tPmdldF9l bnRyeShocDJtLCBuZXdfZ2ZuLCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOw0KKyAgICByYyA9IGFs dHAybV9nZXRfZW50cnlfcHJlcG9wdWxhdGUoYXAybSwgb2xkX2dmbiwgJm1mbiwgJnQsICZhKTsN CisgICAgaWYgKCByYyApDQorICAgICAgICBnb3RvIG91dDsNCiANCi0gICAgLyogTm90ZTogY3Vy cmVudGx5IGl0IGlzIG5vdCBzYWZlIHRvIHJlbWFwIHRvIGEgc2hhcmVkIGVudHJ5ICovDQotICAg IGlmICggIW1mbl92YWxpZChtZm4pIHx8ICh0ICE9IHAybV9yYW1fcncpICkNCisgICAgcmMgPSBh bHRwMm1fZ2V0X2VudHJ5X3NlZXRocm91Z2goYXAybSwgbmV3X2dmbiwgJm1mbiwgJnQsICZhKTsN CisgICAgaWYgKCByYyApDQogICAgICAgICBnb3RvIG91dDsNCiANCiAgICAgaWYgKCAhYXAybS0+ c2V0X2VudHJ5KGFwMm0sIG9sZF9nZm4sIG1mbiwgUEFHRV9PUkRFUl80SywgdCwgYSwNCkBAIC0z MDAyLDEyICszMDEyLDEwIEBAIGludCBwMm1fc2V0X3N1cHByZXNzX3ZlKHN0cnVjdCBkb21haW4g KmQsIGdmbl90IGdmbiwgYm9vbCBzdXBwcmVzc192ZSwNCiAgICAgaWYgKCBhcDJtICkNCiAgICAg ICAgIHAybV9sb2NrKGFwMm0pOw0KIA0KLSAgICBtZm4gPSBwMm0tPmdldF9lbnRyeShwMm0sIGdm biwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsNCi0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQ0K LSAgICB7DQotICAgICAgICByYyA9IC1FU1JDSDsNCisgICAgcmMgPSBhbHRwMm1fZ2V0X2VudHJ5 X3NlZXRocm91Z2gocDJtLCBnZm4sICZtZm4sICZ0LCAmYSk7DQorDQorICAgIGlmICggcmMgKQ0K ICAgICAgICAgZ290byBvdXQ7DQotICAgIH0NCiANCiAgICAgcmMgPSBwMm0tPnNldF9lbnRyeShw Mm0sIGdmbiwgbWZuLCBQQUdFX09SREVSXzRLLCB0LCBhLCBzdXBwcmVzc192ZSk7DQogDQpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv cDJtLmgNCmluZGV4IDI4MDFhOGMuLmQzNjEzYzAgMTAwNjQ0DQotLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L3AybS5oDQorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oDQpAQCAtNTE0LDYg KzUxNCwyMyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbWZuX3RvX2dmbihzdHJ1Y3Qg ZG9tYWluICpkLCBtZm5fdCBtZm4pDQogICAgICAgICByZXR1cm4gbWZuX3gobWZuKTsNCiB9DQog DQoraW50IGdldF9hbHRwMm1fZW50cnkoc3RydWN0IHAybV9kb21haW4gKmFwMm0sIGdmbl90IGdm biwgbWZuX3QgKm1mbiwNCisgICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90ICp0LCBwMm1f YWNjZXNzX3QgKmEsIGJvb2wgcHJlcG9wdWxhdGUpOw0KKw0KK3N0YXRpYyBpbmxpbmUgaW50IGFs dHAybV9nZXRfZW50cnlfc2VldGhyb3VnaChzdHJ1Y3QgcDJtX2RvbWFpbiAqYXAybSwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZ2ZuLCBtZm5f dCAqbWZuLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw Mm1fdHlwZV90ICp0LCBwMm1fYWNjZXNzX3QgKmEpDQorew0KKyAgICByZXR1cm4gZ2V0X2FsdHAy bV9lbnRyeShhcDJtLCBnZm4sIG1mbiwgdCwgYSwgZmFsc2UpOw0KK30NCisNCitzdGF0aWMgaW5s aW5lIGludCBhbHRwMm1fZ2V0X2VudHJ5X3ByZXBvcHVsYXRlKHN0cnVjdCBwMm1fZG9tYWluICph cDJtLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Zu X3QgZ2ZuLCBtZm5fdCAqbWZuLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcDJtX3R5cGVfdCAqdCwgcDJtX2FjY2Vzc190ICphKQ0KK3sNCisgICAgcmV0 dXJuIGdldF9hbHRwMm1fZW50cnkoYXAybSwgZ2ZuLCBtZm4sIHQsIGEsIHRydWUpOw0KK30NCisN CiAvKiBEZWFkbG9jay1hdm9pZGFuY2Ugc2NoZW1lIHdoZW4gY2FsbGluZyBnZXRfZ2ZuIG9uIGRp ZmZlcmVudCBnZm4ncyAqLw0KIHN0cnVjdCB0d29fZ2ZucyB7DQogICAgIHN0cnVjdCBkb21haW4g KmZpcnN0X2RvbWFpbiwgKnNlY29uZF9kb21haW47DQotLSANCjIuNy40DQoNCg== --_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_ Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== --_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_-- 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=-6.8 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,URIBL_BLOCKED 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 36222C10F13 for ; Thu, 11 Apr 2019 12:17:59 +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 E80482133D for ; Thu, 11 Apr 2019 12:17:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=bitdefender.onmicrosoft.com header.i=@bitdefender.onmicrosoft.com header.b="iccpjfLW" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E80482133D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bitdefender.com 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 1hEYe9-0005Ej-Rs; Thu, 11 Apr 2019 12:17:37 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hEYe7-0005Ee-Rl for xen-devel@lists.xenproject.org; Thu, 11 Apr 2019 12:17:36 +0000 X-Inumbo-ID: c8514d67-5c53-11e9-92d7-bc764e045a96 Received: from EUR02-HE1-obe.outbound.protection.outlook.com (unknown [2a01:111:f400:fe05::72c]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id c8514d67-5c53-11e9-92d7-bc764e045a96; Thu, 11 Apr 2019 12:17:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bitdefender.onmicrosoft.com; s=selector1-bitdefender-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=t4qExUqepySwFfnMVnI4JRR0s/gpECVV09QHRE4I7zc=; b=iccpjfLWrRbJZ6sgGc7QcPyH4uNO10C0b8LJc1h11v4HWpMk1LYlWT9xdFb2G1CIeFWeZAC2AC7BpiMbZ7OPydpiGaysamPDzapdgQ+/dSU2Ev63z15baoPvZustXGZQOLLkaI6OK3A3jOEQGr5n39B0xIFF4IZwnJ0MBogrRIU= Received: from VI1PR0202MB2928.eurprd02.prod.outlook.com (10.171.103.139) by VI1PR0202MB2621.eurprd02.prod.outlook.com (10.173.80.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1771.19; Thu, 11 Apr 2019 12:17:30 +0000 Received: from VI1PR0202MB2928.eurprd02.prod.outlook.com ([fe80::dcda:38be:3bd6:14f1]) by VI1PR0202MB2928.eurprd02.prod.outlook.com ([fe80::dcda:38be:3bd6:14f1%9]) with mapi id 15.20.1771.016; Thu, 11 Apr 2019 12:17:29 +0000 From: Alexandru Stefan ISAILA To: George Dunlap , "xen-devel@lists.xenproject.org" , "tamas@tklengyel.com" Thread-Topic: [PATCH v3 1/3] x86/mm: Introduce altp2m_get_gfn_type_access Thread-Index: AQHU7sxOthwR4rIdkUC4dpiYJsWlRqY1kCIAgAFTUQA= Date: Thu, 11 Apr 2019 12:17:29 +0000 Message-ID: <7a64b16b-b7df-2af8-219b-5d3c4a3bf381@bitdefender.com> References: <20190409120324.13940-1-aisaila@bitdefender.com> <28c52232-536f-d007-4072-fbce95b44d8c@citrix.com> In-Reply-To: <28c52232-536f-d007-4072-fbce95b44d8c@citrix.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-clientproxiedby: AM5P190CA0007.EURP190.PROD.OUTLOOK.COM (2603:10a6:206:14::20) To VI1PR0202MB2928.eurprd02.prod.outlook.com (2603:10a6:800:de::11) authentication-results: spf=none (sender IP is ) smtp.mailfrom=aisaila@bitdefender.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [91.199.104.6] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d5a784f7-b819-4fed-e91d-08d6be77aab1 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600139)(711020)(4605104)(2017052603328)(49563074)(7193020); SRVR:VI1PR0202MB2621; x-ms-traffictypediagnostic: VI1PR0202MB2621:|VI1PR0202MB2621: x-microsoft-antispam-prvs: x-forefront-prvs: 00046D390F x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(366004)(376002)(39860400002)(346002)(136003)(396003)(51914003)(189003)(199004)(71190400001)(14444005)(476003)(446003)(2616005)(54906003)(6486002)(52116002)(6246003)(478600001)(2201001)(14454004)(256004)(186003)(229853002)(25786009)(110136005)(486006)(6512007)(99936001)(53936002)(11346002)(86362001)(36756003)(53546011)(6506007)(386003)(5024004)(26005)(4326008)(102836004)(2906002)(76176011)(81156014)(99286004)(31696002)(97736004)(3846002)(316002)(6116002)(7736002)(6436002)(71200400001)(5660300002)(81166006)(2501003)(8936002)(105586002)(106356001)(68736007)(305945005)(31686004)(66066001)(8676002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0202MB2621; H:VI1PR0202MB2928.eurprd02.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: bitdefender.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: xvibvdSdiy5IyUln4A0NoYYudTduNKSWhEqlEqQYWaGx2VFqApAI+tv9V2sxsXErDdGuxpFz/GsfkrGDoQh/KPh4YHSGIyEwDAReegSesY350oI+1jiAZIuiHzsYI5Z0o2yWKUKBXheftIapmtXCk380GjzVvLaUcGfk9DFCsgZccbVBTe8Ri/UWHibRDzB0AI0FarHbQwdy9PevMz7hVeXYb1OVDMKryGwUILaz28sKCpy40srzDu/bHNCqHjYcBuID8GDpoCjTUF/IYJcN+SW1a6oQXrmQO/6u7c5ceNYgut3I8AkWWjDBTAaESAEIb1SCXRdaFEphOmb3a6LfN3EI3k32jBloqjvcwRNTMGgEFJcfGISXMNyeVu3ohtEwmYo19r3bsprIyP+RqWjO8uRZdIB/Pj0l2BY1aXL+DPg= Content-Type: multipart/mixed; boundary="_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_" MIME-Version: 1.0 X-OriginatorOrg: bitdefender.com X-MS-Exchange-CrossTenant-Network-Message-Id: d5a784f7-b819-4fed-e91d-08d6be77aab1 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Apr 2019 12:17:29.7759 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 487baf29-f1da-469a-9221-243f830c36f3 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0202MB2621 Subject: Re: [Xen-devel] [PATCH v3 1/3] x86/mm: Introduce altp2m_get_gfn_type_access X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: "wei.liu2@citrix.com" , "rcojocaru@bitdefender.com" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , "jbeulich@suse.com" , "roger.pau@citrix.com" Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190411121729.VqgdXia56pI8yga4bGYou8wKhIubYcPg3eABX0J4X24@z> --_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_ Content-Type: text/plain; charset="utf-8" Content-ID: <9B95A9E5BBB05A458A1839B06094ED4D@eurprd02.prod.outlook.com> Content-Transfer-Encoding: base64 SGkgR2VvcmdlLA0KDQpUaGFua3MgZm9yIHRoZSBwYXRjaCwgSSd2ZSBkaWQgc29tZSB3b3JrIG9u IGl0IGFuZCBJJ3ZlIGF0dGFjaGVkIGEgDQp2ZXJzaW9uIHRoYXQgc3VpdHMgb3VyIG5lZWRzLg0K DQpJIGhhdmUgYSBmZXcgY29tbWVudHMvcXVlc3Rpb25zIHRvIHlvdSBhbmQgVGFtYXMgYmVjYXVz ZSBpbiB2MyB0aGVyZSB3YXMgDQphIGRpc2N1c3Npb24gYWJvdXQga2VlcGluZyB0aGUgImlmICgg IW1mbl92YWxpZCgqbWZuKSB8fCAqdCAhPSANCnAybV9yYW1fcncgKSIgY2hlY2sgaW5zaWRlIHRo ZSBuZXcgZnVuY3Rpb24gb3IgbGV0IHRoZSBjYWxsZXIgZG8gdGhpcyANCmNoZWNrLiBJZiB3ZSBs ZXQgdGhlIGNhbGxlciBkbyBpdCB0aGVuIHdlIG5lZWQgdG8gdXNlZCBhIGJvb2wgdG8gc2lnbmFs IA0KaWYgdGhlIHJlc3VsdCB3YXMgZm91bmQgaW4gaG9zdHAybSAodGhpcyBpcyB0byBrZWVwIHRo ZSBjdXJyZW50IA0KZnVuY3Rpb25hbGl0eSkuDQoNClNvIHRoZSBtYWluIHF1ZXN0aW9ucyBhcmUg aWYgd2UgbmVlZCB0aGF0IGNoZWNrPyBhbmQgd2hlcmUgc2hvdWxkIGl0IGJlPw0KDQpPbiAxMC4w NC4yMDE5IDE5OjAyLCBHZW9yZ2UgRHVubGFwIHdyb3RlOg0KPiBPbiA0LzkvMTkgMTowMyBQTSwg QWxleGFuZHJ1IFN0ZWZhbiBJU0FJTEEgd3JvdGU6DQo+PiBUaGlzIHBhdGNoIG1vdmVzIGNvbW1v biBjb2RlIGZyb20gcDJtX3NldF9hbHRwMm1fbWVtX2FjY2VzcygpIGFuZA0KPj4gcDJtX2NoYW5n ZV9hbHRwMm1fZ2ZuKCkgaW50byBvbmUgZnVuY3Rpb24NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBB bGV4YW5kcnUgSXNhaWxhIDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4NCj4gDQo+IFRoaXMgcGF0 Y2ggY29udGFpbnMgYSBsb3Qgb2YgYmVoYXZpb3JhbCBjaGFuZ2VzIHdoaWNoIGFyZW4ndCBtZW50 aW9uZWQNCj4gb3IgZXhwbGFpbmVkLiAgRm9yIGluc3RhbmNlLi4uDQo+IA0KPj4gLS0tDQo+PiBD aGFuZ2VzIHNpbmNlIFYyOg0KPj4gCS0gQ2hhbmdlIHZhciBuYW1lIGZyb20gZm91bmRfaW5faG9z dHAybSB0byBjb3BpZWRfZnJvbV9ob3N0cDJtDQo+PiAJLSBNb3ZlIHRoZSB0eXBlIGNoZWNrIGZy b20gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoKSB0byB0aGUNCj4+IAljYWxsZXJzLg0KPj4g LS0tDQo+PiAgIHhlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMgfCAzMiArKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tDQo+PiAgIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgICAgfCA0MSAr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+ICAgeGVuL2luY2x1ZGUvYXNt LXg4Ni9wMm0uaCAgICB8IDE5ICsrKysrKysrKysrKysrKysrDQo+PiAgIDMgZmlsZXMgY2hhbmdl ZCwgNDkgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMgYi94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vz cy5jDQo+PiBpbmRleCA1NmMwNmE0ZmM2Li5iZjY3ZGRiMTVhIDEwMDY0NA0KPj4gLS0tIGEveGVu L2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYw0KPj4gKysrIGIveGVuL2FyY2gveDg2L21tL21lbV9h Y2Nlc3MuYw0KPj4gQEAgLTI2NSwzMSArMjY1LDI3IEBAIGludCBwMm1fc2V0X2FsdHAybV9tZW1f YWNjZXNzKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBwMm1fZG9tYWluICpocDJtLA0KPj4gICAg ICAgdW5zaWduZWQgaW50IHBhZ2Vfb3JkZXI7DQo+PiAgICAgICB1bnNpZ25lZCBsb25nIGdmbl9s ID0gZ2ZuX3goZ2ZuKTsNCj4+ICAgICAgIGludCByYzsNCj4+ICsgICAgYm9vbCBjb3BpZWRfZnJv bV9ob3N0cDJtOw0KPj4gICANCj4+IC0gICAgbWZuID0gYXAybS0+Z2V0X2VudHJ5KGFwMm0sIGdm biwgJnQsICZvbGRfYSwgMCwgTlVMTCwgTlVMTCk7DQo+PiArICAgIG1mbiA9IGFsdHAybV9nZXRf Z2ZuX3R5cGVfYWNjZXNzKGFwMm0sIGdmbiwgJnQsICZvbGRfYSwgJnBhZ2Vfb3JkZXIsICZjb3Bp ZWRfZnJvbV9ob3N0cDJtKTsNCj4+ICAgDQo+PiAtICAgIC8qIENoZWNrIGhvc3QgcDJtIGlmIG5v IHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KPj4gICAgICAgaWYgKCAhbWZuX3ZhbGlkKG1m bikgKQ0KPj4gKyAgICAgICAgcmV0dXJuIC1FU1JDSDsNCj4+ICsNCj4+ICsgICAgLyogSWYgdGhp cyBpcyBhIHN1cGVycGFnZSwgY29weSB0aGF0IGZpcnN0ICovDQo+PiArICAgIGlmICggcGFnZV9v cmRlciAhPSBQQUdFX09SREVSXzRLICYmIGNvcGllZF9mcm9tX2hvc3RwMm0gKQ0KPj4gICAgICAg ew0KPj4gKyAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8IHBhZ2Vfb3JkZXIp IC0gMSk7DQo+PiArICAgICAgICBnZm5fdCBnZm4yID0gX2dmbihnZm5fbCAmIG1hc2spOw0KPj4g KyAgICAgICAgbWZuX3QgbWZuMiA9IF9tZm4obWZuX3gobWZuKSAmIG1hc2spOw0KPj4gICANCj4+ IC0gICAgICAgIG1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5fbCwgJnQsICZv bGRfYSwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxMT0Mg fCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KPj4gKyAgICAgICAgLyogTm90ZTogY3Vy cmVudGx5IGl0IGlzIG5vdCBzYWZlIHRvIHJlbWFwIHRvIGEgc2hhcmVkIGVudHJ5ICovDQo+PiAr ICAgICAgICBpZiAoIHQgIT0gcDJtX3JhbV9ydyApDQo+PiArICAgICAgICAgICAgcmV0dXJuIC1F U1JDSDsNCj4+ICAgDQo+PiAtICAgICAgICByYyA9IC1FU1JDSDsNCj4+IC0gICAgICAgIGlmICgg IW1mbl92YWxpZChtZm4pIHx8IHQgIT0gcDJtX3JhbV9ydyApDQo+PiArICAgICAgICByYyA9IGFw Mm0tPnNldF9lbnRyeShhcDJtLCBnZm4yLCBtZm4yLCBwYWdlX29yZGVyLCB0LCBvbGRfYSwgMSk7 DQo+PiArICAgICAgICBpZiAoIHJjICkNCj4+ICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KPj4g LQ0KPj4gLSAgICAgICAgLyogSWYgdGhpcyBpcyBhIHN1cGVycGFnZSwgY29weSB0aGF0IGZpcnN0 ICovDQo+PiAtICAgICAgICBpZiAoIHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80SyApDQo+PiAt ICAgICAgICB7DQo+PiAtICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8 IHBhZ2Vfb3JkZXIpIC0gMSk7DQo+PiAtICAgICAgICAgICAgZ2ZuX3QgZ2ZuMiA9IF9nZm4oZ2Zu X2wgJiBtYXNrKTsNCj4+IC0gICAgICAgICAgICBtZm5fdCBtZm4yID0gX21mbihtZm5feChtZm4p ICYgbWFzayk7DQo+PiAtDQo+PiAtICAgICAgICAgICAgcmMgPSBhcDJtLT5zZXRfZW50cnkoYXAy bSwgZ2ZuMiwgbWZuMiwgcGFnZV9vcmRlciwgdCwgb2xkX2EsIDEpOw0KPj4gLSAgICAgICAgICAg IGlmICggcmMgKQ0KPj4gLSAgICAgICAgICAgICAgICByZXR1cm4gcmM7DQo+PiAtICAgICAgICB9 DQo+PiAgICAgICB9DQo+PiAgIA0KPj4gICAgICAgLyoNCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvbW0vcDJtLmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMNCj4+IGluZGV4IGI5YmJiOGY0 ODUuLmQzOGQ3YzI5Y2EgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMNCj4+ ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KPj4gQEAgLTI2MjYsNiArMjYyNiw3IEBAIGlu dCBwMm1fY2hhbmdlX2FsdHAybV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlk eCwNCj4+ICAgICAgIG1mbl90IG1mbjsNCj4+ICAgICAgIHVuc2lnbmVkIGludCBwYWdlX29yZGVy Ow0KPj4gICAgICAgaW50IHJjID0gLUVJTlZBTDsNCj4+ICsgICAgYm9vbCBjb3BpZWRfZnJvbV9o b3N0cDJtOw0KPj4gICANCj4+ICAgICAgIGlmICggaWR4ID49IE1BWF9BTFRQMk0gfHwgZC0+YXJj aC5hbHRwMm1fZXB0cFtpZHhdID09IG1mbl94KElOVkFMSURfTUZOKSApDQo+PiAgICAgICAgICAg cmV0dXJuIHJjOw0KPj4gQEAgLTI2MzYsNyArMjYzNyw3IEBAIGludCBwMm1fY2hhbmdlX2FsdHAy bV9nZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGlkeCwNCj4+ICAgICAgIHAybV9s b2NrKGhwMm0pOw0KPj4gICAgICAgcDJtX2xvY2soYXAybSk7DQo+PiAgIA0KPj4gLSAgICBtZm4g PSBhcDJtLT5nZXRfZW50cnkoYXAybSwgb2xkX2dmbiwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsN Cj4+ICsgICAgbWZuID0gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoYXAybSwgb2xkX2dmbiwg JnQsICZhLCAmcGFnZV9vcmRlciwgJmNvcGllZF9mcm9tX2hvc3RwMm0pOw0KPiANCj4gQmVmb3Jl LCBpZiBuZXdfZ2ZuIHdhcyBJTlZBTElEX0dGTiwgdGhlbiB0aGUgaG9zdCBwMm0gd2Fzbid0IHJl YWQgYXQNCj4gYWxsLiAgTm93LCB0aGUgaG9zdHAybSB3aWxsIGhhdmUgX19nZXRfZ2ZuX3R5cGVf YWNjZXNzKCkgY2FsbGVkIHdpdGgNCj4gUDJNX0FMTE9DIHwgUDJNX1VOU0hBUkUuICBJcyB0aGF0 IGNoYW5nZSBpbnRlbnRpb25hbCwgYW5kIGlmIHNvLCB3aHk/DQoNClRoaXMgaGFzIGJlZW4gcmVx dWVzdGVkIGJ5IFRhbWFzIGluIHYyLg0KDQo+IA0KPj4gICANCj4+ICAgICAgIGlmICggZ2ZuX2Vx KG5ld19nZm4sIElOVkFMSURfR0ZOKSApDQo+PiAgICAgICB7DQo+PiBAQCAtMjY0NiwzNyArMjY0 NywyNyBAQCBpbnQgcDJtX2NoYW5nZV9hbHRwMm1fZ2ZuKHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGludCBpZHgsDQo+PiAgICAgICAgICAgZ290byBvdXQ7DQo+PiAgICAgICB9DQo+PiAgIA0K Pj4gLSAgICAvKiBDaGVjayBob3N0IHAybSBpZiBubyB2YWxpZCBlbnRyeSBpbiBhbHRlcm5hdGUg Ki8NCj4+IC0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQ0KPj4gLSAgICB7DQo+PiAtICAgICAg ICBtZm4gPSBfX2dldF9nZm5fdHlwZV9hY2Nlc3MoaHAybSwgZ2ZuX3gob2xkX2dmbiksICZ0LCAm YSwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxMT0MsICZw YWdlX29yZGVyLCAwKTsNCj4+ICsgICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgfHwgKHQgIT0gcDJt X3JhbV9ydyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtKSApDQo+PiArICAgICAgICAgZ290byBvdXQ7 DQo+PiAgIA0KPj4gLSAgICAgICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgfHwgdCAhPSBwMm1fcmFt X3J3ICkNCj4+IC0gICAgICAgICAgICBnb3RvIG91dDsNCj4+IC0NCj4+IC0gICAgICAgIC8qIElm IHRoaXMgaXMgYSBzdXBlcnBhZ2UsIGNvcHkgdGhhdCBmaXJzdCAqLw0KPj4gLSAgICAgICAgaWYg KCBwYWdlX29yZGVyICE9IFBBR0VfT1JERVJfNEsgKQ0KPj4gLSAgICAgICAgew0KPj4gLSAgICAg ICAgICAgIGdmbl90IGdmbjsNCj4+IC0gICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1hc2s7DQo+ PiArICAgIC8qIElmIHRoaXMgaXMgYSBzdXBlcnBhZ2UsIGNvcHkgdGhhdCBmaXJzdCAqLw0KPj4g KyAgICBpZiAoIHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80SyAmJiBjb3BpZWRfZnJvbV9ob3N0 cDJtICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgZ2ZuX3QgZ2ZuOw0KPj4gKyAgICAgICAgdW5z aWduZWQgbG9uZyBtYXNrOw0KPj4gICANCj4+IC0gICAgICAgICAgICBtYXNrID0gfigoMVVMIDw8 IHBhZ2Vfb3JkZXIpIC0gMSk7DQo+PiAtICAgICAgICAgICAgZ2ZuID0gX2dmbihnZm5feChvbGRf Z2ZuKSAmIG1hc2spOw0KPj4gLSAgICAgICAgICAgIG1mbiA9IF9tZm4obWZuX3gobWZuKSAmIG1h c2spOw0KPj4gKyAgICAgICAgbWFzayA9IH4oKDFVTCA8PCBwYWdlX29yZGVyKSAtIDEpOw0KPj4g KyAgICAgICAgZ2ZuID0gX2dmbihnZm5feChvbGRfZ2ZuKSAmIG1hc2spOw0KPj4gKyAgICAgICAg bWZuID0gX21mbihtZm5feChtZm4pICYgbWFzayk7DQo+PiAgIA0KPj4gLSAgICAgICAgICAgIGlm ICggYXAybS0+c2V0X2VudHJ5KGFwMm0sIGdmbiwgbWZuLCBwYWdlX29yZGVyLCB0LCBhLCAxKSAp DQo+PiAtICAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0KPj4gLSAgICAgICAgfQ0KPj4gKyAgICAg ICAgaWYgKCBhcDJtLT5zZXRfZW50cnkoYXAybSwgZ2ZuLCBtZm4sIHBhZ2Vfb3JkZXIsIHQsIGEs IDEpICkNCj4+ICsgICAgICAgICAgICBnb3RvIG91dDsNCj4+ICAgICAgIH0NCj4+ICAgDQo+PiAt ICAgIG1mbiA9IGFwMm0tPmdldF9lbnRyeShhcDJtLCBuZXdfZ2ZuLCAmdCwgJmEsIDAsIE5VTEws IE5VTEwpOw0KPj4gLQ0KPj4gLSAgICBpZiAoICFtZm5fdmFsaWQobWZuKSApDQo+PiAtICAgICAg ICBtZm4gPSBocDJtLT5nZXRfZW50cnkoaHAybSwgbmV3X2dmbiwgJnQsICZhLCAwLCBOVUxMLCBO VUxMKTsNCj4+ICsgICAgbWZuID0gYWx0cDJtX2dldF9nZm5fdHlwZV9hY2Nlc3MoYXAybSwgbmV3 X2dmbiwgJnQsICZhLCAmcGFnZV9vcmRlciwgJmNvcGllZF9mcm9tX2hvc3RwMm0pOw0KPiANCj4g U2ltaWxpYXJseSBoZXJlOiBCZWZvcmUgdGhpcyBwYXRjaCwgaHAybS0+Z2V0X2VudHJ5KCkgaXMg Y2FsbGVkDQo+IGRpcmVjdGx5OyBhZnRlciB0aGlzIHBhdGNoLCB3ZSBnbyB0aHJvdWdoIF9fZ2V0 X2dmbl90eXBlX2FjY2VzcygpLCB3aGljaA0KPiBhZGRzIHNvbWUgZXh0cmEgY29kZSwgYW5kIHdp bGwgYWxzbyB1bnNoYXJlIC8gYWxsb2NhdGUuICBJcyB0aGF0DQo+IGludGVudGlvbmFsLCBhbmQg aWYgc28sIHdoeT8NCj4gDQo+PiAgIA0KPj4gICAgICAgLyogTm90ZTogY3VycmVudGx5IGl0IGlz IG5vdCBzYWZlIHRvIHJlbWFwIHRvIGEgc2hhcmVkIGVudHJ5ICovDQo+PiAtICAgIGlmICggIW1m bl92YWxpZChtZm4pIHx8ICh0ICE9IHAybV9yYW1fcncpICkNCj4+ICsgICAgaWYgKCAhbWZuX3Zh bGlkKG1mbikgfHwgKHQgIT0gcDJtX3JhbV9ydyAmJiBjb3BpZWRfZnJvbV9ob3N0cDJtKSApDQo+ PiAgICAgICAgICAgZ290byBvdXQ7DQo+PiAgIA0KPj4gICAgICAgaWYgKCAhYXAybS0+c2V0X2Vu dHJ5KGFwMm0sIG9sZF9nZm4sIG1mbiwgUEFHRV9PUkRFUl80SywgdCwgYSwNCj4+IGRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0u aA0KPj4gaW5kZXggMjgwMWE4Y2NjYS4uNmRlMTU0NmQ3NiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9p bmNsdWRlL2FzbS14ODYvcDJtLmgNCj4+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgN Cj4+IEBAIC00NDgsNiArNDQ4LDI1IEBAIHN0YXRpYyBpbmxpbmUgbWZuX3QgX19ub25udWxsKDMp IGdldF9nZm5fdHlwZSgNCj4+ICAgICAgIHJldHVybiBnZXRfZ2ZuX3R5cGVfYWNjZXNzKHAybV9n ZXRfaG9zdHAybShkKSwgZ2ZuLCB0LCAmYSwgcSwgTlVMTCk7DQo+PiAgIH0NCj4+ICAgDQo+PiAr c3RhdGljIGlubGluZSBtZm5fdCBhbHRwMm1fZ2V0X2dmbl90eXBlX2FjY2VzcygNCj4+ICsgICAg c3RydWN0IHAybV9kb21haW4gKmFwMm0sIGdmbl90IGdmbiwgcDJtX3R5cGVfdCAqdCwgcDJtX2Fj Y2Vzc190ICphLA0KPj4gKyAgICB1bnNpZ25lZCBpbnQgKnBhZ2Vfb3JkZXIsIGJvb2wgKmNvcGll ZF9mcm9tX2hvc3RwMm0pDQo+PiArew0KPj4gKyAgICBtZm5fdCBtZm4gPSBhcDJtLT5nZXRfZW50 cnkoYXAybSwgZ2ZuLCB0LCBhLCAwLCBOVUxMLCBOVUxMKTsNCj4+ICsNCj4+ICsgICAgKmNvcGll ZF9mcm9tX2hvc3RwMm0gPSBmYWxzZTsNCj4+ICsNCj4+ICsgICAgLyogQ2hlY2sgaG9zdCBwMm0g aWYgbm8gdmFsaWQgZW50cnkgaW4gYWx0ZXJuYXRlICovDQo+PiArICAgIGlmICggIW1mbl92YWxp ZChtZm4pICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgbWZuID0gX19nZXRfZ2ZuX3R5cGVfYWNj ZXNzKHAybV9nZXRfaG9zdHAybShhcDJtLT5kb21haW4pLCBnZm5feChnZm4pLCB0LCBhLA0KPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFAyTV9BTExPQyB8IFAyTV9VTlNI QVJFLCBwYWdlX29yZGVyLCBmYWxzZSk7DQo+PiArICAgICAgICAqY29waWVkX2Zyb21faG9zdHAy bSA9IG1mbl92YWxpZChtZm4pOw0KPj4gKyAgICB9DQo+PiArDQo+PiArICAgIHJldHVybiBtZm47 DQo+PiArfQ0KPiANCj4gR2l2ZW4gdGhhdCB0aGUgbWFpbiBnb2FsIGhlcmUgc2VlbXMgdG8gYmUg dG8gY2xlYW4gdXAgdGhlIGludGVyZmFjZSwgSSdtDQo+IG5vdCBjbGVhciB3aHkgeW91IGRvbid0 IGhhdmUgdGhpcyBmdW5jdGlvbiBkbyBib3RoIHRoZSAiaG9zdA0KPiBzZWUtdGhyb3VnaCIgYW5k IHRoZSBwcmVwb3B1bGF0aW9uLiAgV291bGQgc29tZXRoaW5nIGxpa2UgdGhlIGF0dGFjaGVkDQo+ IHdvcmsgKG5vdCBldmVuIGNvbXBpbGUgdGVzdGVkKT8NCg0KSSB3YXMgdGhpbmtpbmcgb2YgZ29p bmcgd2l0aCAgYWx0cDJtX2dldF9lbnRyeV9kaXJlY3Qgb3ZlciBzZWUtdGhyb3VnaA0KDQo+IA0K PiAoVG8gYmUgY2xlYXIsIHRoaXMgaXMganVzdCBtZWFudCB0byBiZSBhIHNrZXRjaCBzbyB5b3Ug Y2FuIHNlZSB3aGF0IEknbQ0KPiB0YWxraW5nIGFib3V0OyBpZiB5b3Ugd2VyZSB0byB1c2UgaXQg eW91J2QgbmVlZCB0byBmaXggaXQgdXANCj4gYXBwcm9wcmlhdGVseSwgaW5jbHVkaW5nIGNvbnNp ZGVyaW5nIHdoZXRoZXIgInNlZXRocm91Z2giIGlzIGFuDQo+IGFwcHJvcHJpYXRlIG5hbWUgZm9y IHRoZSBmdW5jdGlvbi4pDQo+IA0KDQpBbGV4DQo= --_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_ Content-Type: text/x-patch; name="0001-altp2m-Add-a-function-to-automatically-handle-copyin.patch" Content-Description: 0001-altp2m-Add-a-function-to-automatically-handle-copyin.patch Content-Disposition: attachment; filename="0001-altp2m-Add-a-function-to-automatically-handle-copyin.patch"; size=7513; creation-date="Thu, 11 Apr 2019 12:17:29 GMT"; modification-date="Thu, 11 Apr 2019 12:17:29 GMT" Content-ID: <9F4214AE2EF659449FEE34BF8B8EE925@eurprd02.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSBjMWIxZjU1NGNlMzQzNzYzYWRkMGFhZDQ3OWVkY2Q3ZTAyZmM1NjVmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogQWxleGFuZHJ1IElzYWlsYSA8YWlzYWlsYUBiaXRkZWZlbmRl ci5jb20+DQpEYXRlOiBUaHUsIDExIEFwciAyMDE5IDE0OjM5OjMxICswMzAwDQpTdWJqZWN0OiBb UEFUQ0hdIGFsdHAybTogQWRkIGEgZnVuY3Rpb24gdG8gYXV0b21hdGljYWxseSBoYW5kbGUgY29w eWluZw0KDQpwcmVwb3B1bGF0aW5nIGZyb20gaG9zdHBtDQoNClNpZ25lZC1vZmYtYnk6IEFsZXhh bmRydSBJc2FpbGEgPGFpc2FpbGFAYml0ZGVmZW5kZXIuY29tPg0KLS0tDQogeGVuL2FyY2gveDg2 L21tL21lbV9hY2Nlc3MuYyB8IDMwICsrLS0tLS0tLS0tLS0tLS0NCiB4ZW4vYXJjaC94ODYvbW0v cDJtLmMgICAgICAgIHwgODQgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0NCiB4ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oICAgIHwgMTcgKysrKysrKysrDQogMyBm aWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkNCg0KZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMgYi94ZW4vYXJjaC94ODYvbW0vbWVt X2FjY2Vzcy5jDQppbmRleCBhMTQ0YmIwLi5kZGZlMDE2IDEwMDY0NA0KLS0tIGEveGVuL2FyY2gv eDg2L21tL21lbV9hY2Nlc3MuYw0KKysrIGIveGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYw0K QEAgLTI2MiwzNSArMjYyLDExIEBAIGludCBwMm1fc2V0X2FsdHAybV9tZW1fYWNjZXNzKHN0cnVj dCBkb21haW4gKmQsIHN0cnVjdCBwMm1fZG9tYWluICpocDJtLA0KICAgICBtZm5fdCBtZm47DQog ICAgIHAybV90eXBlX3QgdDsNCiAgICAgcDJtX2FjY2Vzc190IG9sZF9hOw0KLSAgICB1bnNpZ25l ZCBpbnQgcGFnZV9vcmRlcjsNCi0gICAgdW5zaWduZWQgbG9uZyBnZm5fbCA9IGdmbl94KGdmbik7 DQogICAgIGludCByYzsNCiANCi0gICAgbWZuID0gYXAybS0+Z2V0X2VudHJ5KGFwMm0sIGdmbiwg JnQsICZvbGRfYSwgMCwgTlVMTCwgTlVMTCk7DQotDQotICAgIC8qIENoZWNrIGhvc3QgcDJtIGlm IG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KLSAgICBpZiAoICFtZm5fdmFsaWQobWZu KSApDQotICAgIHsNCi0NCi0gICAgICAgIG1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJt LCBnZm5fbCwgJnQsICZvbGRfYSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQMk1fQUxMT0MgfCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KLQ0KLSAgICAgICAg cmMgPSAtRVNSQ0g7DQotICAgICAgICBpZiAoICFtZm5fdmFsaWQobWZuKSB8fCB0ICE9IHAybV9y YW1fcncgKQ0KLSAgICAgICAgICAgIHJldHVybiByYzsNCi0NCi0gICAgICAgIC8qIElmIHRoaXMg aXMgYSBzdXBlcnBhZ2UsIGNvcHkgdGhhdCBmaXJzdCAqLw0KLSAgICAgICAgaWYgKCBwYWdlX29y ZGVyICE9IFBBR0VfT1JERVJfNEsgKQ0KLSAgICAgICAgew0KLSAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgbWFzayA9IH4oKDFVTCA8PCBwYWdlX29yZGVyKSAtIDEpOw0KLSAgICAgICAgICAgIGdm bl90IGdmbjIgPSBfZ2ZuKGdmbl9sICYgbWFzayk7DQotICAgICAgICAgICAgbWZuX3QgbWZuMiA9 IF9tZm4obWZuX3gobWZuKSAmIG1hc2spOw0KLQ0KLSAgICAgICAgICAgIHJjID0gYXAybS0+c2V0 X2VudHJ5KGFwMm0sIGdmbjIsIG1mbjIsIHBhZ2Vfb3JkZXIsIHQsIG9sZF9hLCAxKTsNCi0gICAg ICAgICAgICBpZiAoIHJjICkNCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KLSAgICAgICAg fQ0KLSAgICB9DQorICAgIHJjID0gYWx0cDJtX2dldF9lbnRyeV9wcmVwb3B1bGF0ZShhcDJtLCBn Zm4sICZtZm4sICZ0LCAmb2xkX2EpOw0KKyAgICBpZiAoIHJjICkNCisgICAgICAgIHJldHVybiBy YzsNCiANCiAgICAgLyoNCiAgICAgICogSW5oZXJpdCB0aGUgb2xkIHN1cHByZXNzICNWRSBiaXQg dmFsdWUgaWYgaXQgaXMgYWxyZWFkeSBzZXQsIG9yIHNldCBpdA0KZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KaW5kZXggOWU4MWEzMC4u YWVhMjAwZiAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KKysrIGIveGVuL2Fy Y2gveDg2L21tL3AybS5jDQpAQCAtNDc4LDYgKzQ3OCw0MyBAQCB2b2lkIHAybV91bmxvY2tfYW5k X3RsYl9mbHVzaChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQ0KICAgICAgICAgbW1fd3JpdGVfdW5s b2NrKCZwMm0tPmxvY2spOw0KIH0NCiANCitpbnQgZ2V0X2FsdHAybV9lbnRyeShzdHJ1Y3QgcDJt X2RvbWFpbiAqYXAybSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZ2ZuLCBt Zm5fdCAqbWZuLCBwMm1fdHlwZV90ICp0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBw Mm1fYWNjZXNzX3QgKmEsIGJvb2wgcHJlcG9wdWxhdGUpDQorew0KKyAgICAqbWZuID0gYXAybS0+ Z2V0X2VudHJ5KGFwMm0sIGdmbiwgdCwgYSwgMCwgTlVMTCwgTlVMTCk7DQorDQorICAgIC8qIENo ZWNrIGhvc3QgcDJtIGlmIG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KKyAgICBpZiAo ICFtZm5fdmFsaWQoKm1mbikgJiYgIXAybV9pc19ob3N0cDJtKGFwMm0pICkNCisgICAgew0KKyAg ICAgICAgc3RydWN0IHAybV9kb21haW4gKmhwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oYXAybS0+ZG9t YWluKTsNCisgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX29yZGVyOw0KKyAgICAgICAgaW50IHJj Ow0KKw0KKyAgICAgICAgKm1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5feChn Zm4pLCB0LCBhLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxM T0MgfCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KKw0KKyAgICAgICAgcmMgPSAtRVNS Q0g7DQorICAgICAgICBpZiAoICFtZm5fdmFsaWQoKm1mbikgfHwgKnQgIT0gcDJtX3JhbV9ydyAp DQorICAgICAgICAgICAgcmV0dXJuIHJjOw0KKw0KKyAgICAgICAgLyogSWYgdGhpcyBpcyBhIHN1 cGVycGFnZSwgY29weSB0aGF0IGZpcnN0ICovDQorICAgICAgICBpZiAoIHByZXBvcHVsYXRlICYm IHBhZ2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80SyApDQorICAgICAgICB7DQorICAgICAgICAgICAg dW5zaWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8IHBhZ2Vfb3JkZXIpIC0gMSk7DQorICAgICAg ICAgICAgZ2ZuX3QgZ2ZuX2FsaWduZWQgPSBfZ2ZuKGdmbl94KGdmbikgJiBtYXNrKTsNCisgICAg ICAgICAgICBtZm5fdCBtZm5fYWxpZ25lZCA9IF9tZm4obWZuX3goKm1mbikgJiBtYXNrKTsNCisN CisgICAgICAgICAgICByYyA9IGFwMm0tPnNldF9lbnRyeShhcDJtLCBnZm5fYWxpZ25lZCwgbWZu X2FsaWduZWQsIHBhZ2Vfb3JkZXIsICp0LCAqYSwgMSk7DQorICAgICAgICAgICAgaWYgKCByYyAp DQorICAgICAgICAgICAgICAgIHJldHVybiByYzsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAg ICByZXR1cm4gMDsNCit9DQorDQorDQogbWZuX3QgX19nZXRfZ2ZuX3R5cGVfYWNjZXNzKHN0cnVj dCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuX2wsDQogICAgICAgICAgICAgICAg ICAgICBwMm1fdHlwZV90ICp0LCBwMm1fYWNjZXNzX3QgKmEsIHAybV9xdWVyeV90IHEsDQogICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnBhZ2Vfb3JkZXIsIGJvb2xfdCBsb2NrZWQp DQpAQCAtMjYxOCw3ICsyNjU1LDYgQEAgaW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaWR4LA0KICAgICBwMm1fYWNjZXNzX3QgYTsNCiAgICAg cDJtX3R5cGVfdCB0Ow0KICAgICBtZm5fdCBtZm47DQotICAgIHVuc2lnbmVkIGludCBwYWdlX29y ZGVyOw0KICAgICBpbnQgcmMgPSAtRUlOVkFMOw0KIA0KICAgICBpZiAoIGlkeCA+PSBNQVhfQUxU UDJNIHx8IGQtPmFyY2guYWx0cDJtX2VwdHBbaWR4XSA9PSBtZm5feChJTlZBTElEX01GTikgKQ0K QEAgLTI2MzAsNDcgKzI2NjYsMjEgQEAgaW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaWR4LA0KICAgICBwMm1fbG9jayhocDJtKTsNCiAgICAg cDJtX2xvY2soYXAybSk7DQogDQotICAgIG1mbiA9IGFwMm0tPmdldF9lbnRyeShhcDJtLCBvbGRf Z2ZuLCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOw0KLQ0KICAgICBpZiAoIGdmbl9lcShuZXdfZ2Zu LCBJTlZBTElEX0dGTikgKQ0KICAgICB7DQorICAgICAgICBtZm4gPSBhcDJtLT5nZXRfZW50cnko YXAybSwgb2xkX2dmbiwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsNCiAgICAgICAgIGlmICggbWZu X3ZhbGlkKG1mbikgKQ0KICAgICAgICAgICAgIHAybV9yZW1vdmVfcGFnZShhcDJtLCBnZm5feChv bGRfZ2ZuKSwgbWZuX3gobWZuKSwgUEFHRV9PUkRFUl80Syk7DQogICAgICAgICByYyA9IDA7DQog ICAgICAgICBnb3RvIG91dDsNCiAgICAgfQ0KIA0KLSAgICAvKiBDaGVjayBob3N0IHAybSBpZiBu byB2YWxpZCBlbnRyeSBpbiBhbHRlcm5hdGUgKi8NCi0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikg KQ0KLSAgICB7DQotICAgICAgICBtZm4gPSBfX2dldF9nZm5fdHlwZV9hY2Nlc3MoaHAybSwgZ2Zu X3gob2xkX2dmbiksICZ0LCAmYSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQMk1fQUxMT0MsICZwYWdlX29yZGVyLCAwKTsNCi0NCi0gICAgICAgIGlmICggIW1mbl92YWxp ZChtZm4pIHx8IHQgIT0gcDJtX3JhbV9ydyApDQotICAgICAgICAgICAgZ290byBvdXQ7DQotDQot ICAgICAgICAvKiBJZiB0aGlzIGlzIGEgc3VwZXJwYWdlLCBjb3B5IHRoYXQgZmlyc3QgKi8NCi0g ICAgICAgIGlmICggcGFnZV9vcmRlciAhPSBQQUdFX09SREVSXzRLICkNCi0gICAgICAgIHsNCi0g ICAgICAgICAgICBnZm5fdCBnZm47DQotICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrOw0K LQ0KLSAgICAgICAgICAgIG1hc2sgPSB+KCgxVUwgPDwgcGFnZV9vcmRlcikgLSAxKTsNCi0gICAg ICAgICAgICBnZm4gPSBfZ2ZuKGdmbl94KG9sZF9nZm4pICYgbWFzayk7DQotICAgICAgICAgICAg bWZuID0gX21mbihtZm5feChtZm4pICYgbWFzayk7DQotDQotICAgICAgICAgICAgaWYgKCBhcDJt LT5zZXRfZW50cnkoYXAybSwgZ2ZuLCBtZm4sIHBhZ2Vfb3JkZXIsIHQsIGEsIDEpICkNCi0gICAg ICAgICAgICAgICAgZ290byBvdXQ7DQotICAgICAgICB9DQotICAgIH0NCi0NCi0gICAgbWZuID0g YXAybS0+Z2V0X2VudHJ5KGFwMm0sIG5ld19nZm4sICZ0LCAmYSwgMCwgTlVMTCwgTlVMTCk7DQot DQotICAgIGlmICggIW1mbl92YWxpZChtZm4pICkNCi0gICAgICAgIG1mbiA9IGhwMm0tPmdldF9l bnRyeShocDJtLCBuZXdfZ2ZuLCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOw0KKyAgICByYyA9IGFs dHAybV9nZXRfZW50cnlfcHJlcG9wdWxhdGUoYXAybSwgb2xkX2dmbiwgJm1mbiwgJnQsICZhKTsN CisgICAgaWYgKCByYyApDQorICAgICAgICBnb3RvIG91dDsNCiANCi0gICAgLyogTm90ZTogY3Vy cmVudGx5IGl0IGlzIG5vdCBzYWZlIHRvIHJlbWFwIHRvIGEgc2hhcmVkIGVudHJ5ICovDQotICAg IGlmICggIW1mbl92YWxpZChtZm4pIHx8ICh0ICE9IHAybV9yYW1fcncpICkNCisgICAgcmMgPSBh bHRwMm1fZ2V0X2VudHJ5X3NlZXRocm91Z2goYXAybSwgbmV3X2dmbiwgJm1mbiwgJnQsICZhKTsN CisgICAgaWYgKCByYyApDQogICAgICAgICBnb3RvIG91dDsNCiANCiAgICAgaWYgKCAhYXAybS0+ c2V0X2VudHJ5KGFwMm0sIG9sZF9nZm4sIG1mbiwgUEFHRV9PUkRFUl80SywgdCwgYSwNCkBAIC0z MDAyLDEyICszMDEyLDEwIEBAIGludCBwMm1fc2V0X3N1cHByZXNzX3ZlKHN0cnVjdCBkb21haW4g KmQsIGdmbl90IGdmbiwgYm9vbCBzdXBwcmVzc192ZSwNCiAgICAgaWYgKCBhcDJtICkNCiAgICAg ICAgIHAybV9sb2NrKGFwMm0pOw0KIA0KLSAgICBtZm4gPSBwMm0tPmdldF9lbnRyeShwMm0sIGdm biwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsNCi0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQ0K LSAgICB7DQotICAgICAgICByYyA9IC1FU1JDSDsNCisgICAgcmMgPSBhbHRwMm1fZ2V0X2VudHJ5 X3NlZXRocm91Z2gocDJtLCBnZm4sICZtZm4sICZ0LCAmYSk7DQorDQorICAgIGlmICggcmMgKQ0K ICAgICAgICAgZ290byBvdXQ7DQotICAgIH0NCiANCiAgICAgcmMgPSBwMm0tPnNldF9lbnRyeShw Mm0sIGdmbiwgbWZuLCBQQUdFX09SREVSXzRLLCB0LCBhLCBzdXBwcmVzc192ZSk7DQogDQpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYv cDJtLmgNCmluZGV4IDI4MDFhOGMuLmQzNjEzYzAgMTAwNjQ0DQotLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L3AybS5oDQorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oDQpAQCAtNTE0LDYg KzUxNCwyMyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbWZuX3RvX2dmbihzdHJ1Y3Qg ZG9tYWluICpkLCBtZm5fdCBtZm4pDQogICAgICAgICByZXR1cm4gbWZuX3gobWZuKTsNCiB9DQog DQoraW50IGdldF9hbHRwMm1fZW50cnkoc3RydWN0IHAybV9kb21haW4gKmFwMm0sIGdmbl90IGdm biwgbWZuX3QgKm1mbiwNCisgICAgICAgICAgICAgICAgICAgICBwMm1fdHlwZV90ICp0LCBwMm1f YWNjZXNzX3QgKmEsIGJvb2wgcHJlcG9wdWxhdGUpOw0KKw0KK3N0YXRpYyBpbmxpbmUgaW50IGFs dHAybV9nZXRfZW50cnlfc2VldGhyb3VnaChzdHJ1Y3QgcDJtX2RvbWFpbiAqYXAybSwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZ2ZuLCBtZm5f dCAqbWZuLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw Mm1fdHlwZV90ICp0LCBwMm1fYWNjZXNzX3QgKmEpDQorew0KKyAgICByZXR1cm4gZ2V0X2FsdHAy bV9lbnRyeShhcDJtLCBnZm4sIG1mbiwgdCwgYSwgZmFsc2UpOw0KK30NCisNCitzdGF0aWMgaW5s aW5lIGludCBhbHRwMm1fZ2V0X2VudHJ5X3ByZXBvcHVsYXRlKHN0cnVjdCBwMm1fZG9tYWluICph cDJtLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Zu X3QgZ2ZuLCBtZm5fdCAqbWZuLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcDJtX3R5cGVfdCAqdCwgcDJtX2FjY2Vzc190ICphKQ0KK3sNCisgICAgcmV0 dXJuIGdldF9hbHRwMm1fZW50cnkoYXAybSwgZ2ZuLCBtZm4sIHQsIGEsIHRydWUpOw0KK30NCisN CiAvKiBEZWFkbG9jay1hdm9pZGFuY2Ugc2NoZW1lIHdoZW4gY2FsbGluZyBnZXRfZ2ZuIG9uIGRp ZmZlcmVudCBnZm4ncyAqLw0KIHN0cnVjdCB0d29fZ2ZucyB7DQogICAgIHN0cnVjdCBkb21haW4g KmZpcnN0X2RvbWFpbiwgKnNlY29uZF9kb21haW47DQotLSANCjIuNy40DQoNCg== --_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_ Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== --_002_7a64b16bb7df2af8219b5d3c4a3bf381bitdefendercom_--