From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mihai =?UTF-8?B?RG9uyJt1?= Subject: Re: [PATCH v3] xmalloc: add support for checking the pool integrity Date: Wed, 10 Dec 2014 14:27:18 +0200 Message-ID: <20141210142718.0ea5bc1a@bitdefender.com> References: <1418213638-14896-1-git-send-email-mdontu@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1418213638-14896-1-git-send-email-mdontu@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: ian.jackson@eu.citrix.com, keir@xen.org, ian.campbell@citrix.com, jbeulich@suse.com, tim@xen.org List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAxMCBEZWMgMjAxNCAxNDoxMzo1OCArMDIwMCBNaWhhaSBEb27Im3Ugd3JvdGU6Cj4g SW1wbGVtZW50ZWQgeG1lbV9wb29sX2NoZWNrKCksIHhtZW1fcG9vbF9jaGVja19sb2NrZWQoKSBh bmQKPiB4bWVtX3Bvb2xfY2hlY2tfdW5sb2NrZWQoKSB0byB2ZXJpdHkgdGhlIGludGVncml0eSBv ZiB0aGUgVExTRiBtYXRyaXguCj4gCj4gU2lnbmVkLW9mZi1ieTogTWloYWkgRG9uyJt1IDxtZG9u dHVAYml0ZGVmZW5kZXIuY29tPgo+IAo+IC0tLQo+IENoYW5nZXMgc2luY2UgdjI6Cj4gIC0gcHJp bnQgdGhlIG5hbWUgb2YgdGhlIGNvcnJ1cHRlZCBwb29sCj4gIC0gYWRqdXN0ZWQgdGhlIG1lc3Nh Z2VzIHRvIGJldHRlciBmaXQgd2l0aGluIDgwIGNvbHVtbnMKPiAgLSBtaW5vciBzdHlsZSBjaGFu Z2UgKGEgPyBhIDogYiAtPiBhID86IGIpCj4gCj4gQ2hhbmdlcyBzaW5jZSB2MToKPiAgLSBmaXhl ZCB0aGUgY29kaW5nc3R5bGUKPiAgLSBzd2FwZWQgX2xvY2tlZC9fdW5sb2NrZWQgbmFtaW5nCj4g IC0gcmV3b3JrZWQgX194bWVtX3Bvb2xfY2hlY2tfbG9ja2VkKCkgYSBiaXQKPiAgLSB1c2VkIGJv b2xfdCB3aGVyZSBhcHByb3ByaWF0ZQo+ICAtIG1hZGUgeG1lbV9wb29sX2NoZWNrKCkgdGFrZSBh IHBvb2wgYXJndW1lbnQgd2hpY2ggY2FuIGJlIE5VTEwKPiAtLS0KPiAgeGVuL2NvbW1vbi94bWFs bG9jX3Rsc2YuYyB8IDExNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystCj4gIHhlbi9pbmNsdWRlL3hlbi94bWFsbG9jLmggfCAgIDcgKysrCj4gIDIgZmlsZXMg Y2hhbmdlZCwgMTIyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL3hlbi9jb21tb24veG1hbGxvY190bHNmLmMgYi94ZW4vY29tbW9uL3htYWxsb2NfdGxzZi5j Cj4gaW5kZXggYTU3NjljOS4uMWRlYTEzNyAxMDA2NDQKPiAtLS0gYS94ZW4vY29tbW9uL3htYWxs b2NfdGxzZi5jCj4gKysrIGIveGVuL2NvbW1vbi94bWFsbG9jX3Rsc2YuYwo+IEBAIC0xMjAsOSAr MTIwLDExOCBAQCBzdHJ1Y3QgeG1lbV9wb29sIHsKPiAgICAgIGNoYXIgbmFtZVtNQVhfUE9PTF9O QU1FX0xFTl07Cj4gIH07Cj4gIAo+ICtzdGF0aWMgc3RydWN0IHhtZW1fcG9vbCAqeGVucG9vbDsK PiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBNQVBQSU5HX0lOU0VSVCh1bnNpZ25lZCBsb25nIHIs IGludCAqZmwsIGludCAqc2wpOwo+ICsKPiAgLyoKPiAgICogSGVscGluZyBmdW5jdGlvbnMKPiAg ICovCj4gKyNpZm5kZWYgTkRFQlVHCj4gK3N0YXRpYyBib29sX3QgeG1lbV9wb29sX2NoZWNrX3Np emUoY29uc3Qgc3RydWN0IHhtZW1fcG9vbCAqcG9vbCwgaW50IGZsLCBpbnQgc2wpCj4gK3sKPiAr ICAgIGNvbnN0IHN0cnVjdCBiaGRyICpiID0gcG9vbC0+bWF0cml4W2ZsXVtzbF07Cj4gKwo+ICsg ICAgd2hpbGUgKCBiICkKPiArICAgIHsKPiArICAgICAgICBpbnQgX19mbDsKPiArICAgICAgICBp bnQgX19zbDsKPiArCj4gKyAgICAgICAgTUFQUElOR19JTlNFUlQoYi0+c2l6ZSwgJl9fZmwsICZf X3NsKTsKPiArICAgICAgICBpZiAoIF9fZmwgIT0gZmwgfHwgX19zbCAhPSBzbCApCj4gKyAgICAg ICAgewo+ICsgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUgo+ICsgICAgICAgICAgICAgICAg ICAgInhtZW1fcG9vbDogJXM6IG1pc3BsYWNlZCBibG9jayAlcDoldSAoeyVkLCVkfSAtPiB7JWQs JWR9KVxuIiwKPiArICAgICAgICAgICAgICAgICAgIHBvb2wtPm5hbWUsIGIsIGItPnNpemUsIGZs LCBzbCwgX19mbCwgX19zbCk7Cj4gKyAgICAgICAgICAgIHJldHVybiAwOwo+ICsgICAgICAgIH0K PiArICAgICAgICBiID0gYi0+cHRyLmZyZWVfcHRyLm5leHQ7Cj4gKyAgICB9Cj4gKyAgICByZXR1 cm4gMTsKPiArfQo+ICsKPiArLyoKPiArICogVGhpcyBmdW5jdGlvbiBtdXN0IGJlIGNhbGxlZCBm cm9tIGEgY29udGV4dCB3aGVyZSBwb29sLT5sb2NrIGlzCj4gKyAqIGFscmVhZHkgYWNxdWlyZWQu Cj4gKyAqCj4gKyAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcG9vbCBoYXMgYmVlbiBjb3JydXB0ZWQs IGZhbHNlIG90aGVyd2lzZQo+ICsgKi8KPiArI2RlZmluZSB4bWVtX3Bvb2xfY2hlY2tfbG9ja2Vk KHBvb2wpIF9feG1lbV9wb29sX2NoZWNrX2xvY2tlZChfX0ZJTEVfXywgX19MSU5FX18sIHBvb2wp Cj4gK3N0YXRpYyBib29sX3QgX194bWVtX3Bvb2xfY2hlY2tfbG9ja2VkKGNvbnN0IGNoYXIgKmZp bGUsIGludCBsaW5lLCBjb25zdCBzdHJ1Y3QgeG1lbV9wb29sICpwb29sKQo+ICt7Cj4gKyAgICBp bnQgaTsKPiArICAgIHN0YXRpYyBib29sX3Qgb25jZSA9IDE7Cj4gKwo+ICsgICAgaWYgKCAhb25j ZSApCj4gKyAgICAgICAgZ290byBvdXQ7Cj4gKyAgICBmb3IgKCBpID0gMDsgaSA8IFJFQUxfRkxJ OyBpKysgKQo+ICsgICAgewo+ICsgICAgICAgIGludCBmbCA9IChwb29sLT5mbF9iaXRtYXAgJiAo MSA8PCBpKSkgPyBpIDogLTE7Cj4gKwo+ICsgICAgICAgIGlmICggZmwgPj0gMCApCj4gKyAgICAg ICAgewo+ICsgICAgICAgICAgICBpbnQgajsKPiArCj4gKyAgICAgICAgICAgIGlmICggIXBvb2wt PnNsX2JpdG1hcFtmbF0gKQo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAgICAgICAgICBwcmlu dGsoWEVOTE9HX0VSUgo+ICsgICAgICAgICAgICAgICAgICAgICAgICJ4bWVtX3Bvb2w6ICVzOiB0 aGUgVExTRiBiaXRtYXAgaXMgY29ycnVwdGVkIChub24tZW1wdHkgRkwgd2l0aCBlbXB0eSBTTClc biIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgcG9vbC0+bmFtZSk7Cj4gKyAgICAgICAgICAg ICAgICBfX3dhcm4oZmlsZSwgbGluZSk7Cj4gKyAgICAgICAgICAgICAgICBvbmNlID0gMDsKPiAr ICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgIGZv ciAoIGogPSAwOyBqIDwgTUFYX1NMSTsgaisrICkKPiArICAgICAgICAgICAgewo+ICsgICAgICAg ICAgICAgICAgaW50IHNsID0gKHBvb2wtPnNsX2JpdG1hcFtmbF0gJiAoMSA8PCBqKSkgPyBqIDog LTE7Cj4gKwo+ICsgICAgICAgICAgICAgICAgaWYgKCBzbCA8IDAgKQo+ICsgICAgICAgICAgICAg ICAgICAgIGNvbnRpbnVlOwo+ICsgICAgICAgICAgICAgICAgaWYgKCAhcG9vbC0+bWF0cml4W2Zs XVtzbF0gKQo+ICsgICAgICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgICAgIHByaW50 ayhYRU5MT0dfRVJSCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4bWVtX3Bvb2w6ICVz OiB0aGUgVExTRiBiaXRtYXAgaXMgY29ycnVwdGVkIChtYXRyaXhbJWRdWyVkXSBpcyBOVUxMKVxu IiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9vbC0+bmFtZSwgZmwsIHNsKTsKPiAr ICAgICAgICAgICAgICAgICAgICBfX3dhcm4oZmlsZSwgbGluZSk7Cj4gKyAgICAgICAgICAgICAg ICAgICAgb25jZSA9IDA7Cj4gKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAg ICAgICAgICB9Cj4gKyAgICAgICAgICAgICAgICBpZiAoICF4bWVtX3Bvb2xfY2hlY2tfc2l6ZShw b29sLCBmbCwgc2wpICkKPiArICAgICAgICAgICAgICAgIHsKPiArICAgICAgICAgICAgICAgICAg ICBwcmludGsoWEVOTE9HX0VSUiAieG1lbV9wb29sOiAlczogdGhlIFRMU0YgY2h1bmsgbWF0cml4 IGlzIGNvcnJ1cHRlZFxuIiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9vbC0+bmFt ZSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgX193YXJuKGZpbGUsIGxpbmUpOwo+ICsgICAgICAg ICAgICAgICAgICAgIG9uY2UgPSAwOwo+ICsgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsg ICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAgICB9Cj4gKyAgICAgICAgICAgIGlmICggIW9u Y2UgKQo+ICsgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgfQo+ICsgICAgfQo+ICtv dXQ6Cj4gKyAgICByZXR1cm4gIW9uY2U7Cj4gK30KPiArCj4gKyNkZWZpbmUgeG1lbV9wb29sX2No ZWNrX3VubG9ja2VkKHBvb2wpIF9feG1lbV9wb29sX2NoZWNrX3VubG9ja2VkKF9fRklMRV9fLCBf X0xJTkVfXywgcG9vbCkKPiArc3RhdGljIGJvb2xfdCBfX3htZW1fcG9vbF9jaGVja191bmxvY2tl ZChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgc3RydWN0IHhtZW1fcG9vbCAqcG9vbCkKPiAr ewo+ICsgICAgYm9vbF90IG9vcHM7Cj4gKwo+ICsgICAgc3Bpbl9sb2NrKCZwb29sLT5sb2NrKTsK PiArICAgIG9vcHMgPSBfX3htZW1fcG9vbF9jaGVja19sb2NrZWQoZmlsZSwgbGluZSwgcG9vbCk7 Cj4gKyAgICBzcGluX3VubG9jaygmcG9vbC0+bG9jayk7Cj4gKyAgICByZXR1cm4gb29wczsKPiAr fQo+ICsKPiArYm9vbF90IF9feG1lbV9wb29sX2NoZWNrKGNvbnN0IGNoYXIgKmZpbGUsIGludCBs aW5lLCBzdHJ1Y3QgeG1lbV9wb29sICpwb29sKQo+ICt7Cj4gKyAgICByZXR1cm4gX194bWVtX3Bv b2xfY2hlY2tfdW5sb2NrZWQoZmlsZSwgbGluZSwgcG9vbCA/OiB4ZW5wb29sKTsKPiArfQo+ICsj ZWxzZQo+ICsjZGVmaW5lIHhtZW1fcG9vbF9jaGVja19sb2NrZWQocG9vbCkgKCh2b2lkKShwb29s KSkKPiArI2RlZmluZSB4bWVtX3Bvb2xfY2hlY2tfdW5sb2NrZWQocG9vbCkgKCh2b2lkKShwb29s KSkKPiArI2VuZGlmCj4gIAo+ICAvKioKPiAgICogUmV0dXJucyBpbmRleGVzIChmbCwgc2wpIG9m IHRoZSBsaXN0IHVzZWQgdG8gc2VydmUgcmVxdWVzdCBvZiBzaXplIHIKPiBAQCAtMzgxLDYgKzQ5 MCw4IEBAIHZvaWQgKnhtZW1fcG9vbF9hbGxvYyh1bnNpZ25lZCBsb25nIHNpemUsIHN0cnVjdCB4 bWVtX3Bvb2wgKnBvb2wpCj4gICAgICBpbnQgZmwsIHNsOwo+ICAgICAgdW5zaWduZWQgbG9uZyB0 bXBfc2l6ZTsKPiAgCj4gKyAgICB4bWVtX3Bvb2xfY2hlY2tfdW5sb2NrZWQocG9vbCk7Cj4gKwo+ ICAgICAgaWYgKCBwb29sLT5pbml0X3JlZ2lvbiA9PSBOVUxMICkKPiAgICAgIHsKPiAgICAgICAg ICBpZiAoIChyZWdpb24gPSBwb29sLT5nZXRfbWVtKHBvb2wtPmluaXRfc2l6ZSkpID09IE5VTEwg KQo+IEBAIC00NDIsMTEgKzU1MywxMyBAQCB2b2lkICp4bWVtX3Bvb2xfYWxsb2ModW5zaWduZWQg bG9uZyBzaXplLCBzdHJ1Y3QgeG1lbV9wb29sICpwb29sKQo+ICAKPiAgICAgIHBvb2wtPnVzZWRf c2l6ZSArPSAoYi0+c2l6ZSAmIEJMT0NLX1NJWkVfTUFTSykgKyBCSERSX09WRVJIRUFEOwo+ICAK PiArICAgIHhtZW1fcG9vbF9jaGVja19sb2NrZWQocG9vbCk7Cj4gICAgICBzcGluX3VubG9jaygm cG9vbC0+bG9jayk7Cj4gICAgICByZXR1cm4gKHZvaWQgKiliLT5wdHIuYnVmZmVyOwo+ICAKPiAg ICAgIC8qIEZhaWxlZCBhbGxvYyAqLwo+ICAgb3V0X2xvY2tlZDoKPiArICAgIHhtZW1fcG9vbF9j aGVja19sb2NrZWQocG9vbCk7Cj4gICAgICBzcGluX3VubG9jaygmcG9vbC0+bG9jayk7Cj4gIAo+ ICAgb3V0Ogo+IEBAIC00NjQsNiArNTc3LDcgQEAgdm9pZCB4bWVtX3Bvb2xfZnJlZSh2b2lkICpw dHIsIHN0cnVjdCB4bWVtX3Bvb2wgKnBvb2wpCj4gICAgICBiID0gKHN0cnVjdCBiaGRyICopKChj aGFyICopIHB0ciAtIEJIRFJfT1ZFUkhFQUQpOwo+ICAKPiAgICAgIHNwaW5fbG9jaygmcG9vbC0+ bG9jayk7Cj4gKyAgICB4bWVtX3Bvb2xfY2hlY2tfbG9ja2VkKHBvb2wpOwo+ICAgICAgYi0+c2l6 ZSB8PSBGUkVFX0JMT0NLOwo+ICAgICAgcG9vbC0+dXNlZF9zaXplIC09IChiLT5zaXplICYgQkxP Q0tfU0laRV9NQVNLKSArIEJIRFJfT1ZFUkhFQUQ7Cj4gICAgICBiLT5wdHIuZnJlZV9wdHIgPSAo c3RydWN0IGZyZWVfcHRyKSB7IE5VTEwsIE5VTEx9Owo+IEBAIC01MDAsNiArNjE0LDcgQEAgdm9p ZCB4bWVtX3Bvb2xfZnJlZSh2b2lkICpwdHIsIHN0cnVjdCB4bWVtX3Bvb2wgKnBvb2wpCj4gICAg ICB0bXBfYi0+c2l6ZSB8PSBQUkVWX0ZSRUU7Cj4gICAgICB0bXBfYi0+cHJldl9oZHIgPSBiOwo+ ICAgb3V0Ogo+ICsgICAgeG1lbV9wb29sX2NoZWNrX2xvY2tlZChwb29sKTsKPiAgICAgIHNwaW5f dW5sb2NrKCZwb29sLT5sb2NrKTsKPiAgfQo+ICAKPiBAQCAtNTEyLDggKzYyNyw2IEBAIGludCB4 bWVtX3Bvb2xfbWF4YWxsb2Moc3RydWN0IHhtZW1fcG9vbCAqcG9vbCkKPiAgICogR2x1ZSBmb3Ig eG1hbGxvYygpLgo+ICAgKi8KPiAgCj4gLXN0YXRpYyBzdHJ1Y3QgeG1lbV9wb29sICp4ZW5wb29s Owo+IC0KPiAgc3RhdGljIHZvaWQgKnhtYWxsb2NfcG9vbF9nZXQodW5zaWduZWQgbG9uZyBzaXpl KQo+ICB7Cj4gICAgICBBU1NFUlQoc2l6ZSA9PSBQQUdFX1NJWkUpOwo+IGRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS94ZW4veG1hbGxvYy5oIGIveGVuL2luY2x1ZGUveGVuL3htYWxsb2MuaAo+IGlu ZGV4IDI0YTk5YWMuLmFkNDg5MzAgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUveGVuL3htYWxs b2MuaAo+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi94bWFsbG9jLmgKPiBAQCAtMTIzLDQgKzEyMywx MSBAQCB1bnNpZ25lZCBsb25nIHhtZW1fcG9vbF9nZXRfdXNlZF9zaXplKHN0cnVjdCB4bWVtX3Bv b2wgKnBvb2wpOwo+ICAgKi8KPiAgdW5zaWduZWQgbG9uZyB4bWVtX3Bvb2xfZ2V0X3RvdGFsX3Np emUoc3RydWN0IHhtZW1fcG9vbCAqcG9vbCk7Cj4gIAo+ICsjaWZuZGVmIE5ERUJVRwo+ICsjZGVm aW5lIHhtZW1fcG9vbF9jaGVjayhwb29sKSBfX3htZW1fcG9vbF9jaGVjayhfX0ZJTEVfXywgX19M SU5FX18sIHBvb2wpCj4gK2Jvb2xfdCBfX3htZW1fcG9vbF9jaGVjayhjb25zdCBjaGFyICpmaWxl LCBpbnQgbGluZSwgc3RydWN0IHhtZW1fcG9vbCAqcG9vbCk7Cj4gKyNlbHNlCj4gKyNkZWZpbmUg eG1lbV9wb29sX2NoZWNrKHBvb2wpICgodm9pZCkwKQo+ICsjZW5kaWYKPiArCj4gICNlbmRpZiAv KiBfX1hNQUxMT0NfSF9fICovCgooc2hvdWxkJ3ZlIGNyZWF0ZWQgYSBzZXJpZXMpCgpUaGlzIHBh dGNoIGRlcGVuZHMgb246Cmh0dHA6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1s L3hlbi1kZXZlbC8yMDE0LTEyL21zZzAxMTM1Lmh0bWwKClRoYW4geW91LAoKLS0gCk1paGFpIERP TsiaVQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK