From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LuWFJ-0000bD-JE for qemu-devel@nongnu.org; Thu, 16 Apr 2009 14:23:33 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LuWFE-0000Zw-Km for qemu-devel@nongnu.org; Thu, 16 Apr 2009 14:23:33 -0400 Received: from [199.232.76.173] (port=49443 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LuWFE-0000Zl-Dv for qemu-devel@nongnu.org; Thu, 16 Apr 2009 14:23:28 -0400 Received: from mu-out-0910.google.com ([209.85.134.187]:35701) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LuWFC-0005gR-60 for qemu-devel@nongnu.org; Thu, 16 Apr 2009 14:23:27 -0400 Received: by mu-out-0910.google.com with SMTP id w1so181187mue.2 for ; Thu, 16 Apr 2009 11:23:23 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: Date: Thu, 16 Apr 2009 21:23:23 +0300 Message-ID: From: Blue Swirl Content-Type: multipart/mixed; boundary=001636499fe7d23f2f0467b02887 Subject: [Qemu-devel] Re: [PATCH] [RFC] qemu_malloc dynamic checking v2 Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel --001636499fe7d23f2f0467b02887 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 4/16/09, Blue Swirl wrote: > Hi, > > This version adds stricter checking for also normal > malloc/free/memalign functions. > > Actually the crashes with the previous version were caused by bugs in > the checker itself instead of function mismatch. With this version, > also i386 works. > > I'm not so sure this approach is effective, I found more mismatches > with simple grep. Committing it would not hurt though. This time with the patch. --001636499fe7d23f2f0467b02887 Content-Type: plain/text; name="qemu_malloc_debug.diff" Content-Disposition: attachment; filename="qemu_malloc_debug.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ftls4ky0 SW5kZXg6IHFlbXUvcWVtdS1tYWxsb2MuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvcWVtdS1t YWxsb2MuYwkyMDA5LTA0LTE1IDE3OjE2OjQ0LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9xZW11 LW1hbGxvYy5jCTIwMDktMDQtMTYgMTc6MzA6MTAuMDAwMDAwMDAwICswMDAwCkBAIC0yMyw2ICsy MywyMSBAQAogICovCiAjaW5jbHVkZSAicWVtdS1jb21tb24uaCIKICNpbmNsdWRlIDxzdGRsaWIu aD4KKyNpbmNsdWRlIDxtYWxsb2MuaD4KKworLyoKKyAqIENoZWNrIHRoYXQgcWVtdV9tYWxsb2Mn ZWQgbWVtb3J5IGlzIGZyZWVkIHdpdGggcWVtdV9mcmVlIGluc3RlYWQgb2YKKyAqIHBsYWluIGZy ZWUgZXRjLgorICovCisjZGVmaW5lIERFQlVHX01BTExPQworCisvKiBDYW5hcnkgbXVzdCBub3Qg YnJlYWsgbWFsbG9jIGFsaWdubWVudCAqLworc3RydWN0IGNhbmFyeSB7CisgICAgdW5zaWduZWQg bG9uZyBzaXplOworICAgIHVuc2lnbmVkIGxvbmcgdmFsdWU7Cit9OworI2RlZmluZSBRQ0FOQVJZ IDB4MTIzNDU2NzgKKyNkZWZpbmUgQ0NBTkFSWSAweDU2NzgxMjM0CiAKIHN0YXRpYyB2b2lkICpv b21fY2hlY2sodm9pZCAqcHRyKQogewpAQCAtMzgsMjAgKzUzLDczIEBACiAKIHZvaWQgcWVtdV9m cmVlKHZvaWQgKnB0cikKIHsKKyNpZmRlZiBERUJVR19NQUxMT0MKKyAgICBmcHJpbnRmKHN0ZGVy ciwgInFlbXVfZnJlZTogMHglcFxuIiwgcHRyKTsKKyAgICBpZiAocHRyKSB7CisgICAgICAgIHN0 cnVjdCBjYW5hcnkgKmNwdHI7CisKKyAgICAgICAgY3B0ciA9IHB0cjsKKyAgICAgICAgY3B0ci0t OworICAgICAgICBpZiAoY3B0ci0+dmFsdWUgIT0gUUNBTkFSWSkgeworICAgICAgICAgICAgYWJv cnQoKTsKKyAgICAgICAgfQorICAgICAgICBjcHRyLT52YWx1ZSA9IDA7CisgICAgICAgIGZyZWUo Y3B0cik7CisgICAgfQorI2Vsc2UKICAgICBmcmVlKHB0cik7CisjZW5kaWYKIH0KIAogdm9pZCAq cWVtdV9tYWxsb2Moc2l6ZV90IHNpemUpCiB7CisjaWZkZWYgREVCVUdfTUFMTE9DCisgICAgdm9p ZCAqcHRyOworICAgIHN0cnVjdCBjYW5hcnkgKmNwdHI7CisKKyAgICBjcHRyID0gb29tX2NoZWNr KG1hbGxvYyhzaXplICsgc2l6ZW9mKHN0cnVjdCBjYW5hcnkpKSk7CisgICAgY3B0ci0+dmFsdWUg PSBRQ0FOQVJZOworICAgIGNwdHItPnNpemUgPSBzaXplOworICAgIGNwdHIrKzsKKyAgICBwdHIg PSBjcHRyOworICAgIGZwcmludGYoc3RkZXJyLCAicWVtdV9tYWxsb2M6IDB4JXAgKyAweCVseCAo KzB4JWx4KVxuIiwgcHRyLCBzaXplLAorICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBjYW5hcnkp KTsKKyAgICByZXR1cm4gcHRyOworI2Vsc2UKICAgICByZXR1cm4gb29tX2NoZWNrKG1hbGxvYyhz aXplKSk7CisjZW5kaWYKIH0KIAogdm9pZCAqcWVtdV9yZWFsbG9jKHZvaWQgKnB0ciwgc2l6ZV90 IHNpemUpCiB7CisjaWZkZWYgREVCVUdfTUFMTE9DCisgICAgZnByaW50ZihzdGRlcnIsICJxZW11 X3JlYWxsb2M6IDB4JXAgKyAweCVseFxuIiwgcHRyLCBzaXplKTsKKyAgICBpZiAoc2l6ZSkgewor ICAgICAgICB2b2lkICpuZXdwdHI7CisKKyAgICAgICAgbmV3cHRyID0gcWVtdV9tYWxsb2Moc2l6 ZSk7CisgICAgICAgIGlmIChwdHIpIHsKKyAgICAgICAgICAgIHN0cnVjdCBjYW5hcnkgKmNwdHI7 CisKKyAgICAgICAgICAgIGNwdHIgPSBwdHI7CisgICAgICAgICAgICBjcHRyLS07CisgICAgICAg ICAgICBpZiAoY3B0ci0+dmFsdWUgIT0gUUNBTkFSWSkgeworICAgICAgICAgICAgICAgIGFib3J0 KCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtZW1jcHkobmV3cHRyLCBwdHIsIE1JTihj cHRyLT5zaXplLCBzaXplKSk7CisgICAgICAgICAgICBxZW11X2ZyZWUocHRyKTsKKyAgICAgICAg fQorICAgICAgICByZXR1cm4gbmV3cHRyOworICAgIH0gZWxzZSB7CisgICAgICAgIHFlbXVfZnJl ZShwdHIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisjZWxzZQogICAgIGlmIChzaXpl KQogICAgICAgICByZXR1cm4gb29tX2NoZWNrKHJlYWxsb2MocHRyLCBzaXplKSk7CiAgICAgZWxz ZQogICAgICAgICByZXR1cm4gcmVhbGxvYyhwdHIsIHNpemUpOworI2VuZGlmCiB9CiAKIHZvaWQg KnFlbXVfbWFsbG9jeihzaXplX3Qgc2l6ZSkKQEAgLTg0LDMgKzE1MiwxMDkgQEAKIAogICAgIHJl dHVybiBtZW1jcHkobmV3LCBzdHIsIHNpemUpOwogfQorCisjaWZkZWYgREVCVUdfTUFMTE9DCitz dGF0aWMgdm9pZCAqKCpvbGRfbWFsbG9jX2hvb2spKHNpemVfdCBzaXplLCBjb25zdCB2b2lkICpj YWxsZXIpOworc3RhdGljIHZvaWQgKCpvbGRfZnJlZV9ob29rKSh2b2lkICpwdHIsIGNvbnN0IHZv aWQgKmNhbGxlcik7CitzdGF0aWMgdm9pZCAqKCpvbGRfcmVhbGxvY19ob29rKSh2b2lkICpwdHIs IHNpemVfdCBzaXplLCBjb25zdCB2b2lkICpjYWxsZXIpOworc3RhdGljIHZvaWQgKigqb2xkX21l bWFsaWduX2hvb2spKHNpemVfdCBhbGlnbm1lbnQsIHNpemVfdCBzaXplLCBjb25zdCB2b2lkICpj YWxsZXIpOworCitzdGF0aWMgdm9pZCAqZGVidWdfbWFsbG9jKHNpemVfdCBzaXplLCBjb25zdCB2 b2lkICpjYWxsZXIpCit7CisgICAgdm9pZCAqcHRyOworICAgIHN0cnVjdCBjYW5hcnkgKmNwdHI7 CisKKyAgICBfX21hbGxvY19ob29rID0gb2xkX21hbGxvY19ob29rOworICAgIGNwdHIgPSBvb21f Y2hlY2sobWFsbG9jKHNpemUgKyBzaXplb2Yoc3RydWN0IGNhbmFyeSkpKTsKKyAgICBfX21hbGxv Y19ob29rID0gZGVidWdfbWFsbG9jOworICAgIGNwdHItPnZhbHVlID0gQ0NBTkFSWTsKKyAgICBj cHRyLT5zaXplID0gc2l6ZTsKKyAgICBjcHRyKys7CisgICAgcHRyID0gY3B0cjsKKyAgICBmcHJp bnRmKHN0ZGVyciwgIm1hbGxvYzogMHglcCArIDB4JWx4XG4iLCBwdHIsIHNpemUpOworICAgIHJl dHVybiBwdHI7Cit9CisKK3N0YXRpYyB2b2lkIGRlYnVnX2ZyZWUodm9pZCAqcHRyLCBjb25zdCB2 b2lkICpjYWxsZXIpCit7CisgICAgZnByaW50ZihzdGRlcnIsICJmcmVlOiAweCVwXG4iLCBwdHIp OworICAgIGlmIChwdHIpIHsKKyAgICAgICAgc3RydWN0IGNhbmFyeSAqY3B0cjsKKworICAgICAg ICBjcHRyID0gcHRyOworICAgICAgICBjcHRyLS07CisgICAgICAgIGlmIChjcHRyLT52YWx1ZSAh PSBDQ0FOQVJZKSB7CisgICAgICAgICAgICBhYm9ydCgpOworICAgICAgICB9CisgICAgICAgIGNw dHItPnZhbHVlID0gMDsKKyAgICAgICAgX19mcmVlX2hvb2sgPSBvbGRfZnJlZV9ob29rOworICAg ICAgICBmcmVlKGNwdHIpOworICAgICAgICBfX2ZyZWVfaG9vayA9IGRlYnVnX2ZyZWU7CisgICAg fQorfQorCitzdGF0aWMgdm9pZCAqZGVidWdfcmVhbGxvYyh2b2lkICpwdHIsIHNpemVfdCBzaXpl LCBjb25zdCB2b2lkICpjYWxsZXIpCit7CisgICAgZnByaW50ZihzdGRlcnIsICJyZWFsbG9jOiAw eCVwICsgMHglbHhcbiIsIHB0ciwgc2l6ZSk7CisgICAgaWYgKHNpemUpIHsKKyAgICAgICAgdm9p ZCAqbmV3cHRyOworCisgICAgICAgIG5ld3B0ciA9IGRlYnVnX21hbGxvYyhzaXplLCBjYWxsZXIp OworICAgICAgICBpZiAocHRyKSB7CisgICAgICAgICAgICBzdHJ1Y3QgY2FuYXJ5ICpjcHRyOwor CisgICAgICAgICAgICBjcHRyID0gcHRyOworICAgICAgICAgICAgY3B0ci0tOworICAgICAgICAg ICAgaWYgKGNwdHItPnZhbHVlICE9IENDQU5BUlkpIHsKKyAgICAgICAgICAgICAgICBhYm9ydCgp OworICAgICAgICAgICAgfQorICAgICAgICAgICAgbWVtY3B5KG5ld3B0ciwgcHRyLCBNSU4oY3B0 ci0+c2l6ZSwgc2l6ZSkpOworICAgICAgICAgICAgZGVidWdfZnJlZShwdHIsIGNhbGxlcik7Cisg ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIG5ld3B0cjsKKyAgICB9IGVsc2UgeworICAgICAgICBk ZWJ1Z19mcmVlKHB0ciwgY2FsbGVyKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorfQor CitzdGF0aWMgdm9pZCAqZGVidWdfbWVtYWxpZ24oc2l6ZV90IGFsaWdubWVudCwgc2l6ZV90IHNp emUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqY2FsbGVyKQorewor ICAgIHZvaWQgKnB0cjsKKyAgICBzdHJ1Y3QgY2FuYXJ5ICpjcHRyOworICAgIHNpemVfdCBzbGFj azsKKworICAgIGlmIChhbGlnbm1lbnQgPiBzaXplb2Yoc3RydWN0IGNhbmFyeSkpIHsKKyAgICAg ICAgc2xhY2sgPSBhbGlnbm1lbnQgLSBzaXplb2Yoc3RydWN0IGNhbmFyeSk7CisgICAgfSBlbHNl IHsKKyAgICAgICAgc2xhY2sgPSAwOworICAgICAgICBhbGlnbm1lbnQgPSBzaXplb2Yoc3RydWN0 IGNhbmFyeSk7CisgICAgfQorICAgIF9fbWVtYWxpZ25faG9vayA9IG9sZF9tZW1hbGlnbl9ob29r OworICAgIGNwdHIgPSBvb21fY2hlY2sobWVtYWxpZ24oYWxpZ25tZW50LCBzaXplb2Yoc3RydWN0 IGNhbmFyeSkgKyBzbGFjayArIHNpemUpKTsKKyAgICBfX21lbWFsaWduX2hvb2sgPSBkZWJ1Z19t ZW1hbGlnbjsKKyAgICBjcHRyLT52YWx1ZSA9IENDQU5BUlk7CisgICAgY3B0ci0+c2l6ZSA9IHNp emU7CisgICAgY3B0cisrOworICAgIHB0ciA9ICh2b2lkICopKCh1bnNpZ25lZCBsb25nKWNwdHIg KyBzbGFjayk7CisgICAgZnByaW50ZihzdGRlcnIsICJtZW1hbGlnbjogMHglcCArIDB4JWx4ICgr MHglbHgpICUlIDB4JWx4XG4iLCBwdHIsIHNpemUsCisgICAgICAgICAgICBzaXplb2Yoc3RydWN0 IGNhbmFyeSkgKyBzbGFjaywgYWxpZ25tZW50KTsKKyAgICByZXR1cm4gcHRyOworfQorCitzdGF0 aWMgdm9pZCBxZW11X21hbGxvY19pbml0KHZvaWQpCit7CisgICAgb2xkX21hbGxvY19ob29rID0g X19tYWxsb2NfaG9vazsKKyAgICBfX21hbGxvY19ob29rID0gZGVidWdfbWFsbG9jOworICAgIG9s ZF9yZWFsbG9jX2hvb2sgPSBfX3JlYWxsb2NfaG9vazsKKyAgICBfX3JlYWxsb2NfaG9vayA9IGRl YnVnX3JlYWxsb2M7CisgICAgb2xkX2ZyZWVfaG9vayA9IF9fZnJlZV9ob29rOworICAgIF9fZnJl ZV9ob29rID0gZGVidWdfZnJlZTsKKyAgICBvbGRfbWVtYWxpZ25faG9vayA9IF9fbWVtYWxpZ25f aG9vazsKKyAgICBfX21lbWFsaWduX2hvb2sgPSBkZWJ1Z19tZW1hbGlnbjsKK30KKwordm9pZCAo Kl9fbWFsbG9jX2luaXRpYWxpemVfaG9vaykgKHZvaWQpID0gcWVtdV9tYWxsb2NfaW5pdDsKKwor I2VuZGlmCg== --001636499fe7d23f2f0467b02887--