From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd2f.google.com (mail-io1-xd2f.google.com [IPv6:2607:f8b0:4864:20::d2f]) by sourceware.org (Postfix) with ESMTPS id 43EB63857C45 for ; Tue, 25 Jan 2022 00:58:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 43EB63857C45 Received: by mail-io1-xd2f.google.com with SMTP id n17so5933424iod.4 for ; Mon, 24 Jan 2022 16:58:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:from:to:references:in-reply-to; bh=jBdGFJaOxZKRDnwc4P/kwUfkKgDXAvGamZs+rCs/u8s=; b=CVDsrQ4r3Psns5GaK7FZ7xFlxOhIzSb009pCUGgIvEdxEmmWeqM/VfDJSWurbEFa7B qBgy5vVyoPlaVoXPcmUcWLzsdXhsjaFDC/U4dA5FK2XjOxGHcwHSadNHF/ZETHhmFx05 Ei6awkGnJAiE1ZRKHZjplBBFObMqrkDQpsyJFkn7IbJ+M05QCPJ5iX695YnqqtQ+b8dT zk98O/axJYjjA9WUOtfgdF+Fvl54I3f51u17uNJ6GSF2p/BiY5yhG2Kveygoa/cqXd6P VP48z2dTUOUG816mh0zMADjiOvmUb4UMTxevIjbnvv2p1ifiIwvsDr1JE0gq8s08fAbJ zxuQ== X-Gm-Message-State: AOAM532kmRANsrIz5DoF9E4TjrUw+wX8Rsu1mZaiQVHznCqzX7sYORON Mx6rBlsfgdIl+rhI80wnFSDPnANa1HU= X-Google-Smtp-Source: ABdhPJwtRi+bvdNcgAJbcJAp5j2JEedQYKBPE3QX27J/OhKgj0fcqzCewOlQL1g8iBT3H9gdBgndUA== X-Received: by 2002:a05:6602:2b10:: with SMTP id p16mr9589975iov.2.1643072301573; Mon, 24 Jan 2022 16:58:21 -0800 (PST) Received: from [192.168.0.41] (97-118-100-142.hlrn.qwest.net. [97.118.100.142]) by smtp.gmail.com with ESMTPSA id b5sm8044091iln.54.2022.01.24.16.58.20 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 24 Jan 2022 16:58:21 -0800 (PST) Content-Type: multipart/mixed; boundary="------------M3T4934KR1d7LvqnOxMszq0a" Message-ID: <50baa5fb-c1ee-f7dc-b7d6-cf4587782062@gmail.com> Date: Mon, 24 Jan 2022 17:58:20 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Subject: Re: [PATCH v2 5/5] avoid -Wuse-after-free [BZ #26779] Content-Language: en-US From: Martin Sebor To: libc-alpha@sourceware.org References: <53f20975-a2c9-674d-2a43-b1b323ee545c@gmail.com> In-Reply-To: <53f20975-a2c9-674d-2a43-b1b323ee545c@gmail.com> X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jan 2022 00:58:23 -0000 This is a multi-part message in MIME format. --------------M3T4934KR1d7LvqnOxMszq0a Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 1/24/22 17:52, Martin Sebor wrote: > This is a repost of the original patch but broken down by source > file and with some suppression done by #pragma GCC diagnostic > instead of conversion to intptr_t.  It also adds fixes for > the same problem in the test suite that I overlooked before. The attached patch suppresses the -Wuse-after-free instance in the testsuite. > > On 1/15/22 17:21, Martin Sebor wrote: >> GCC 12 features a couple of new warnings designed to detect uses >> of pointers made invalid by the pointees lifetimes having ended. >> Building Glibc with the enhanced GCC exposes a few such uses, >> mostly after successful calls to realloc.  The attached patch >> avoids the new warnings by converting the pointers to uintptr_t >> first and using the converted integers instead. >> >> The patch suppresses all instances of the warning at the strictest >> setting (-Wuse-after-free=3), which includes even uses in equality >> expressions.  The default setting approved for GCC 12 is >> -Wuse-after-free=2, which doesn't warn on such uses to accommodate >> the pointer-adjustment-after-realloc idiom.  At the default setting, >> the changes to ldconfig.c and setenv are not necessary. >> >> Martin > --------------M3T4934KR1d7LvqnOxMszq0a Content-Type: text/x-patch; charset=UTF-8; name="glibc-26779-5.diff" Content-Disposition: attachment; filename="glibc-26779-5.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL21hbGxvYy90c3QtbWFsbG9jLWJhY2t0cmFjZS5jIGIvbWFsbG9jL3Rz dC1tYWxsb2MtYmFja3RyYWNlLmMKaW5kZXggZWE2NmRhMjNlZi4uOGEzZjRhMGI1NSAxMDA2 NDQKLS0tIGEvbWFsbG9jL3RzdC1tYWxsb2MtYmFja3RyYWNlLmMKKysrIGIvbWFsbG9jL3Rz dC1tYWxsb2MtYmFja3RyYWNlLmMKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlIDxzdGRs aWIuaD4KIAogI2luY2x1ZGUgPHN1cHBvcnQvc3VwcG9ydC5oPgorI2luY2x1ZGUgPGxpYmMt ZGlhZy5oPgogCiAjZGVmaW5lIFNJWkUgNDA5NgogCkBAIC0yOSw3ICszMCwxNSBAQCBfX2F0 dHJpYnV0ZV9fKChub2lubGluZSkpCiBjYWxsX2ZyZWUgKHZvaWQgKnB0cikKIHsKICAgZnJl ZSAocHRyKTsKKyNpZiBfX0dOVUNfUFJFUkVRICgxMiwgMCkKKyAgLyogSWdub3JlIGEgdmFs aWQgd2FybmluZyBhYm91dCB1c2luZyBhIHBvaW50ZXIgbWFkZSBpbmRldGVybWluYXRlCisg ICAgIGJ5IGEgcHJpb3IgY2FsbCB0byBtYWxsb2MoKS4gICovCisgIERJQUdfSUdOT1JFX05F RURTX0NPTU1FTlQgKDEyLCAiLVd1c2UtYWZ0ZXItZnJlZSIpOworI2VuZGlmCiAgICooc2l6 ZV90ICopKHB0ciAtIHNpemVvZiAoc2l6ZV90KSkgPSAxOworI2lmIF9fR05VQ19QUkVSRVEg KDEyLCAwKQorICBESUFHX1BPUF9ORUVEU19DT01NRU5UOworI2VuZGlmCiB9CiAKIGludApk aWZmIC0tZ2l0IGEvbWFsbG9jL3RzdC1tYWxsb2MtY2hlY2suYyBiL21hbGxvYy90c3QtbWFs bG9jLWNoZWNrLmMKaW5kZXggNDY5MzhjMGRiYi4uZWI0NmNmM2JiYiAxMDA2NDQKLS0tIGEv bWFsbG9jL3RzdC1tYWxsb2MtY2hlY2suYworKysgYi9tYWxsb2MvdHN0LW1hbGxvYy1jaGVj ay5jCkBAIC04Niw3ICs4NiwxNSBAQCBkb190ZXN0ICh2b2lkKQogICAgIG1lcnJvciAoImVy cm5vIGlzIG5vdCBzZXQgY29ycmVjdGx5LiIpOwogICBESUFHX1BPUF9ORUVEU19DT01NRU5U OwogCisjaWYgX19HTlVDX1BSRVJFUSAoMTIsIDApCisgIC8qIElnbm9yZSBhIHZhbGlkIHdh cm5pbmcgYWJvdXQgdXNpbmcgYSBwb2ludGVyIG1hZGUgaW5kZXRlcm1pbmF0ZQorICAgICBi eSBhIHByaW9yIGNhbGwgdG8gcmVhbGxvYygpLiAgKi8KKyAgRElBR19JR05PUkVfTkVFRFNf Q09NTUVOVCAoMTIsICItV3VzZS1hZnRlci1mcmVlIik7CisjZW5kaWYKICAgZnJlZSAocCk7 CisjaWYgX19HTlVDX1BSRVJFUSAoMTIsIDApCisgIERJQUdfUE9QX05FRURTX0NPTU1FTlQ7 CisjZW5kaWYKIAogICBwID0gbWFsbG9jICg1MTIpOwogICBpZiAocCA9PSBOVUxMKQpAQCAt MTA0LDcgKzExMiwxNSBAQCBkb190ZXN0ICh2b2lkKQogICAgIG1lcnJvciAoImVycm5vIGlz IG5vdCBzZXQgY29ycmVjdGx5LiIpOwogICBESUFHX1BPUF9ORUVEU19DT01NRU5UOwogCisj aWYgX19HTlVDX1BSRVJFUSAoMTIsIDApCisgIC8qIElnbm9yZSBhIHZhbGlkIHdhcm5pbmcg YWJvdXQgdXNpbmcgYSBwb2ludGVyIG1hZGUgaW5kZXRlcm1pbmF0ZQorICAgICBieSBhIHBy aW9yIGNhbGwgdG8gcmVhbGxvYygpLiAgKi8KKyAgRElBR19JR05PUkVfTkVFRFNfQ09NTUVO VCAoMTIsICItV3VzZS1hZnRlci1mcmVlIik7CisjZW5kaWYKICAgZnJlZSAocCk7CisjaWYg X19HTlVDX1BSRVJFUSAoMTIsIDApCisgIERJQUdfUE9QX05FRURTX0NPTU1FTlQ7CisjZW5k aWYKICAgZnJlZSAocSk7CiAKICAgcmV0dXJuIGVycm9ycyAhPSAwOwpkaWZmIC0tZ2l0IGEv bWFsbG9jL3RzdC1tYWxsb2MtdG9vLWxhcmdlLmMgYi9tYWxsb2MvdHN0LW1hbGxvYy10b28t bGFyZ2UuYwppbmRleCBlMjNhYTA4ZTRmLi5kYWMzYzgwODZjIDEwMDY0NAotLS0gYS9tYWxs b2MvdHN0LW1hbGxvYy10b28tbGFyZ2UuYworKysgYi9tYWxsb2MvdHN0LW1hbGxvYy10b28t bGFyZ2UuYwpAQCAtOTUsNyArOTUsMTUgQEAgdGVzdF9sYXJnZV9hbGxvY2F0aW9ucyAoc2l6 ZV90IHNpemUpCiAgIERJQUdfUE9QX05FRURTX0NPTU1FTlQ7CiAjZW5kaWYKICAgVEVTVF9W RVJJRlkgKGVycm5vID09IEVOT01FTSk7CisjaWYgX19HTlVDX1BSRVJFUSAoMTIsIDApCisg IC8qIElnbm9yZSBhIHdhcm5pbmcgYWJvdXQgdXNpbmcgYSBwb2ludGVyIG1hZGUgaW5kZXRl cm1pbmF0ZSBieQorICAgICBhIHByaW9yIGNhbGwgdG8gcmVhbGxvYygpLiAgKi8KKyAgRElB R19JR05PUkVfTkVFRFNfQ09NTUVOVCAoMTIsICItV3VzZS1hZnRlci1mcmVlIik7CisjZW5k aWYKICAgZnJlZSAocHRyX3RvX3JlYWxsb2MpOworI2lmIF9fR05VQ19QUkVSRVEgKDEyLCAw KQorICBESUFHX1BPUF9ORUVEU19DT01NRU5UOworI2VuZGlmCiAKICAgZm9yIChzaXplX3Qg bm1lbWIgPSAxOyBubWVtYiA8PSA4OyBubWVtYiAqPSAyKQogICAgIGlmICgoc2l6ZSAlIG5t ZW1iKSA9PSAwKQpAQCAtMTEzLDE0ICsxMjEsMzAgQEAgdGVzdF9sYXJnZV9hbGxvY2F0aW9u cyAoc2l6ZV90IHNpemUpCiAgICAgICAgIHRlc3Rfc2V0dXAgKCk7CiAgICAgICAgIFRFU1Rf VkVSSUZZIChyZWFsbG9jYXJyYXkgKHB0cl90b19yZWFsbG9jLCBubWVtYiwgc2l6ZSAvIG5t ZW1iKSA9PSBOVUxMKTsKICAgICAgICAgVEVTVF9WRVJJRlkgKGVycm5vID09IEVOT01FTSk7 CisjaWYgX19HTlVDX1BSRVJFUSAoMTIsIDApCisgIC8qIElnbm9yZSBhIHdhcm5pbmcgYWJv dXQgdXNpbmcgYSBwb2ludGVyIG1hZGUgaW5kZXRlcm1pbmF0ZSBieQorICAgICBhIHByaW9y IGNhbGwgdG8gcmVhbGxvYygpLiAgKi8KKyAgRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAo MTIsICItV3VzZS1hZnRlci1mcmVlIik7CisjZW5kaWYKICAgICAgICAgZnJlZSAocHRyX3Rv X3JlYWxsb2MpOworI2lmIF9fR05VQ19QUkVSRVEgKDEyLCAwKQorICBESUFHX1BPUF9ORUVE U19DT01NRU5UOworI2VuZGlmCiAKICAgICAgICAgcHRyX3RvX3JlYWxsb2MgPSBtYWxsb2Mg KDE2KTsKICAgICAgICAgVEVTVF9WRVJJRllfRVhJVCAocHRyX3RvX3JlYWxsb2MgIT0gTlVM TCk7CiAgICAgICAgIHRlc3Rfc2V0dXAgKCk7CiAgICAgICAgIFRFU1RfVkVSSUZZIChyZWFs bG9jYXJyYXkgKHB0cl90b19yZWFsbG9jLCBzaXplIC8gbm1lbWIsIG5tZW1iKSA9PSBOVUxM KTsKICAgICAgICAgVEVTVF9WRVJJRlkgKGVycm5vID09IEVOT01FTSk7CisjaWYgX19HTlVD X1BSRVJFUSAoMTIsIDApCisgIC8qIElnbm9yZSBhIHdhcm5pbmcgYWJvdXQgdXNpbmcgYSBw b2ludGVyIG1hZGUgaW5kZXRlcm1pbmF0ZSBieQorICAgICBhIHByaW9yIGNhbGwgdG8gcmVh bGxvYygpLiAgKi8KKyAgRElBR19JR05PUkVfTkVFRFNfQ09NTUVOVCAoMTIsICItV3VzZS1h ZnRlci1mcmVlIik7CisjZW5kaWYKICAgICAgICAgZnJlZSAocHRyX3RvX3JlYWxsb2MpOwor I2lmIF9fR05VQ19QUkVSRVEgKDEyLCAwKQorICBESUFHX1BPUF9ORUVEU19DT01NRU5UOwor I2VuZGlmCiAgICAgICB9CiAgICAgZWxzZQogICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9z dXBwb3J0L3RzdC1zdXBwb3J0LW9wZW4tZGV2LW51bGwtcmFuZ2UuYyBiL3N1cHBvcnQvdHN0 LXN1cHBvcnQtb3Blbi1kZXYtbnVsbC1yYW5nZS5jCmluZGV4IDNlZDMxNzdkNTcuLmU3NTI2 NTk3Y2UgMTAwNjQ0Ci0tLSBhL3N1cHBvcnQvdHN0LXN1cHBvcnQtb3Blbi1kZXYtbnVsbC1y YW5nZS5jCisrKyBiL3N1cHBvcnQvdHN0LXN1cHBvcnQtb3Blbi1kZXYtbnVsbC1yYW5nZS5j CkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CiAjaW5jbHVk ZSA8c3RkbGliLmg+CiAKKyNpbmNsdWRlIDxsaWJjLWRpYWcuaD4KKwogI2lmbmRlZiBQQVRI X01BWAogIyBkZWZpbmUgUEFUSF9NQVggMTAyNAogI2VuZGlmCkBAIC00MSw4ICs0MywxOCBA QCBjaGVja19wYXRoIChpbnQgZmQpCiAgICAgPSByZWFkbGluayAocHJvY19mZF9wYXRoLCBm aWxlX3BhdGgsIHNpemVvZiAoZmlsZV9wYXRoKSk7CiAgIGZyZWUgKHByb2NfZmRfcGF0aCk7 CiAgIGlmIChmaWxlX3BhdGhfbGVuZ3RoIDwgMCkKLSAgICBGQUlMX0VYSVQxICgicmVhZGxp bmsgKCVzLCAlcCwgJXp1KSIsIHByb2NfZmRfcGF0aCwgZmlsZV9wYXRoLAotCQlzaXplb2Yg KGZpbGVfcGF0aCkpOworICAgIHsKKyNpZiBfX0dOVUNfUFJFUkVRICgxMiwgMCkKKyAgLyog SWdub3JlIGEgdmFsaWQgd2FybmluZyBhYm91dCB1c2luZyBhIHBvaW50ZXIgbWFkZSBpbmRl dGVybWluYXRlCisgICAgIGJ5IGEgcHJpb3IgY2FsbCB0byBmcmVlKCkuICAqLworICBESUFH X0lHTk9SRV9ORUVEU19DT01NRU5UICgxMiwgIi1XdXNlLWFmdGVyLWZyZWUiKTsKKyNlbmRp ZgorICAgICAgRkFJTF9FWElUMSAoInJlYWRsaW5rICglcywgJXAsICV6dSkiLCBwcm9jX2Zk X3BhdGgsIGZpbGVfcGF0aCwKKwkJICBzaXplb2YgKGZpbGVfcGF0aCkpOworI2lmIF9fR05V Q19QUkVSRVEgKDEyLCAwKQorICAgICAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKKyNlbmRp ZgorICAgIH0KICAgZmlsZV9wYXRoW2ZpbGVfcGF0aF9sZW5ndGhdID0gJ1wwJzsKICAgVEVT VF9DT01QQVJFX1NUUklORyAoZmlsZV9wYXRoLCAiL2Rldi9udWxsIik7CiB9Cg== --------------M3T4934KR1d7LvqnOxMszq0a--