From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 68533 invoked by alias); 26 Aug 2019 13:18:45 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 68500 invoked by uid 89); 26 Aug 2019 13:18:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.100.3 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-19.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 spammy=our X-Spam-Status: No, score=-19.0 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on sourceware.org X-Spam-Level: X-HELO: gnu.wildebeest.org Received: from wildebeest.demon.nl (HELO gnu.wildebeest.org) (212.238.236.112) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 26 Aug 2019 13:18:43 +0000 Received: from tarox.wildebeest.org (tarox.wildebeest.org [172.31.17.39]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 4E1B730012F6; Mon, 26 Aug 2019 15:18:41 +0200 (CEST) Received: by tarox.wildebeest.org (Postfix, from userid 1000) id 06DE34011E96; Mon, 26 Aug 2019 15:18:41 +0200 (CEST) Message-ID: Subject: Re: [PATCH] libdw: add thread-safety to dwarf_getabbrev() From: Mark Wielaard To: Jonathon Anderson Cc: elfutils-devel@sourceware.org, Srdan Milakovic Date: Mon, 26 Aug 2019 13:18:00 -0000 In-Reply-To: <1566782688.5803.0@smtp.mail.rice.edu> References: <1565983469.1826.0@smtp.mail.rice.edu> <20190824232438.GA2622@wildebeest.org> <1566695452.979.1@smtp.mail.rice.edu> <5ba06557703ee363e19488c994cbddd92ade25be.camel@klomp.org> <1566782688.5803.0@smtp.mail.rice.edu> Content-Type: multipart/mixed; boundary="=-yp/EloPdGKxL2zdYEWzB" X-Mailer: Evolution 3.28.5 (3.28.5-5.el7) Mime-Version: 1.0 X-Spam-Flag: NO X-IsSubscribed: yes X-SW-Source: 2019-q3/txt/msg00136.txt.bz2 --=-yp/EloPdGKxL2zdYEWzB Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 847 Hi Jonathon, Thanks for checking our new mailinglist settings :) You message was accepted now and the HTML attachment stripped. On Sun, 2019-08-25 at 20:24 -0500, Jonathon Anderson wrote: > The one extra line in dwarf_getcfi.c > is to account for a failure in the test suite when Valgrind is > enabled (didn't catch it the first time around). That is an interesting catch. And obviously a latent bug. It works if things are in the first memblock (as part of the larger Dwarf struct), since that is allocated with calloc, and so zeroed out. But if the cfi would get into a later memblock it would get a random value, since those are malloced. In your patch the memblocks are always malloced, and so the bug shows up immediately. Lets just cherry-pick this fixup since it is a good fixup to have. Does the attached look correct? Thanks, Mark --=-yp/EloPdGKxL2zdYEWzB Content-Disposition: inline; filename*0=0001-libdw-fix-latent-bug-in-dwarf_getcfi.c-not-setting-d.pat; filename*1=ch Content-Type: text/x-patch; name="0001-libdw-fix-latent-bug-in-dwarf_getcfi.c-not-setting-d.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 Content-length: 1660 RnJvbSA0YmNjNjQxZDM2MmRlNDIzNmFlOGYwZjViYzkzM2M2ZDg0YjZmMTA1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhvbiBBbmRl cnNvbiA8am1hMTRAcmljZS5lZHU+CkRhdGU6IFN1biwgMjUgQXVnIDIwMTkg MTA6MDc6MDAgLTA1MDAKU3ViamVjdDogW1BBVENIXSBsaWJkdzogZml4IGxh dGVudCBidWcgaW4gZHdhcmZfZ2V0Y2ZpLmMgbm90IHNldHRpbmcKIGRlZmF1 bHRfc2FtZV92YWx1ZS4KClNpZ25lZC1vZmYtYnk6IEpvbmF0aG9uIEFuZGVy c29uIDxqbWExNEByaWNlLmVkdT4KLS0tCiBsaWJkdy9DaGFuZ2VMb2cgICAg ICB8IDQgKysrKwogbGliZHcvZHdhcmZfZ2V0Y2ZpLmMgfCAxICsKIDIgZmls ZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGli ZHcvQ2hhbmdlTG9nIGIvbGliZHcvQ2hhbmdlTG9nCmluZGV4IGJmMWY0ODU3 Li4xZDM1ODZmMCAxMDA2NDQKLS0tIGEvbGliZHcvQ2hhbmdlTG9nCisrKyBi L2xpYmR3L0NoYW5nZUxvZwpAQCAtMSwzICsxLDcgQEAKKzIwMTktMDgtMjUg IEpvbmF0aG9uIEFuZGVyc29uICA8am1hMTRAcmljZS5lZHU+CisKKwkqIGR3 YXJmX2dldGNmaS5jIChkd2FyZl9nZXRjZmkpOiBTZXQgZGVmYXVsdF9zYW1l X3ZhbHVlIHRvIGZhbHNlLgorCiAyMDE5LTA4LTEyICBNYXJrIFdpZWxhYXJk ICA8bWFya0BrbG9tcC5vcmc+CiAKIAkqIGxpYmR3Lm1hcCAoRUxGVVRJTFNf MC4xNzcpOiBBZGQgbmV3IHZlcnNpb24gb2YgZHdlbGZfZWxmX2JlZ2luLgpk aWZmIC0tZ2l0IGEvbGliZHcvZHdhcmZfZ2V0Y2ZpLmMgYi9saWJkdy9kd2Fy Zl9nZXRjZmkuYwppbmRleCA5YWVkNDAzZS4uNTE5MzJjZDkgMTAwNjQ0Ci0t LSBhL2xpYmR3L2R3YXJmX2dldGNmaS5jCisrKyBiL2xpYmR3L2R3YXJmX2dl dGNmaS5jCkBAIC01OCw2ICs1OCw3IEBAIGR3YXJmX2dldGNmaSAoRHdhcmYg KmRiZykKIAogICAgICAgY2ZpLT5lX2lkZW50ID0gKHVuc2lnbmVkIGNoYXIg KikgZWxmX2dldGlkZW50IChkYmctPmVsZiwgTlVMTCk7CiAgICAgICBjZmkt Pm90aGVyX2J5dGVfb3JkZXIgPSBkYmctPm90aGVyX2J5dGVfb3JkZXI7Cisg ICAgICBjZmktPmRlZmF1bHRfc2FtZV92YWx1ZSA9IGZhbHNlOwogCiAgICAg ICBjZmktPm5leHRfb2Zmc2V0ID0gMDsKICAgICAgIGNmaS0+Y2llX3RyZWUg PSBjZmktPmZkZV90cmVlID0gY2ZpLT5leHByX3RyZWUgPSBOVUxMOwotLSAK Mi4xOC4xCgo= --=-yp/EloPdGKxL2zdYEWzB--