From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zimbra.cs.ucla.edu (zimbra.cs.ucla.edu [131.179.128.68]) by sourceware.org (Postfix) with ESMTPS id 738F23858297 for ; Fri, 29 Jul 2022 16:39:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 738F23858297 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=cs.ucla.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cs.ucla.edu Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 97B5F160109; Fri, 29 Jul 2022 09:39:37 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id a4wf45t2UYEf; Fri, 29 Jul 2022 09:39:36 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 4044E16010D; Fri, 29 Jul 2022 09:39:36 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 5uytsrcoVjBa; Fri, 29 Jul 2022 09:39:36 -0700 (PDT) Received: from [192.168.1.9] (cpe-172-91-119-151.socal.res.rr.com [172.91.119.151]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 15EEF160109; Fri, 29 Jul 2022 09:39:36 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------52r0QQ0iA3AL60NPoWLcu1vD" Message-ID: Date: Fri, 29 Jul 2022 09:39:35 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: glibc 2.36 build failure on Fedora 36 with gcc 12 (-Werror=use-after-free) Content-Language: en-US To: Carlos O'Donell References: Cc: libc-alpha From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: X-Spam-Status: No, score=-9.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: Fri, 29 Jul 2022 16:39:40 -0000 This is a multi-part message in MIME format. --------------52r0QQ0iA3AL60NPoWLcu1vD Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 7/29/22 08:26, Carlos O'Donell via Libc-alpha wrote: > Just posting here for the record that I see a glibc 2.36 build failure > with Fedora 36 and gcc 12. >=20 > localealias.c: In function =E2=80=98read_alias_file=E2=80=99: > localealias.c:335:56: error: pointer may be used after =E2=80=98realloc= =E2=80=99 [-Werror=3Duse-after-free] > 335 | map[i].alias +=3D new_pool - str= ing_space; > | ~~~~~~~~~^~~~~~~= ~~~~~~~ > localealias.c:325:49: note: call to =E2=80=98realloc=E2=80=99 here > 325 | char *new_pool =3D (char *) realloc (str= ing_space, new_size); > | ^~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors >=20 > I'm going to review this quickly before we make the glibc release. >=20 One option is to fix the conformance bug rather than continue to try to=20 paper it over with a pragma. In looking into it, I found two kinds of conformance bugs in=20 localealias.c: first, accessing a realloced pointer (which GCC warns=20 about), and second, calling a function via an incompatible function=20 pointer (which GCC doesn't warn about). Proposed patch attached. I have=20 compiled but not tested this. --------------52r0QQ0iA3AL60NPoWLcu1vD Content-Type: text/x-patch; charset=UTF-8; name="0001-Avoid-undefined-behavior-in-localealias.c.patch" Content-Disposition: attachment; filename="0001-Avoid-undefined-behavior-in-localealias.c.patch" Content-Transfer-Encoding: base64 RnJvbSBjNmE2NjBhYWFlOWVmYWI0OWVkNjcwOTcxYWExZGFkN2VkMDExZTIyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBGcmksIDI5IEp1bCAyMDIyIDA5OjMzOjU1IC0wNzAwClN1YmplY3Q6IFtQQVRD SF0gQXZvaWQgdW5kZWZpbmVkIGJlaGF2aW9yIGluIGxvY2FsZWFsaWFzLmMKTUlNRS1WZXJz aW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkRvIG5vdCBhY2Nlc3MgYSBwb2ludGVyIGFm dGVyIHJlYWxsb2MsIGFuZCBkbyBub3QKYXNzdW1lIHRoYXQgZnVuY3Rpb24gcG9pbnRlcnMg Y2FuIGJlIGNhc3Qgd2lsbHktbmlsbHkuClByb2JsZW0gcmVwb3J0ZWQgYnkgQ2FybG9zIE/i gJlEb25lbGwgaW46Cmh0dHBzOi8vc291cmNld2FyZS5vcmcvcGlwZXJtYWlsL2xpYmMtYWxw aGEvMjAyMi1KdWx5LzE0MTEyNy5odG1sCiogaW50bC9sb2NhbGVhbGlhcy5jIChzdHJ1Y3Qg YWxpYXNfbWFwKTogTWVtYmVycyBhcmUKbm93IG9mZnNldHMgZnJvbSBzdHJpbmdfc3BhY2Us IG5vdCBwb2ludGVycywgc28gdGhhdAp0aGV5IHN1cnZpdmUgcmVhbGxvYy4gIEFsbCB1c2Vz IGNoYW5nZWQuCihfbmxfZXhwYW5kX2FsaWFzKTogUGFzcyBuYW1lIGFzLWlzIHRvIGJzZWFy Y2gsIGFuZAp1c2UgYnNlYXJjaF9hbGlhc19jb21wYXJlIHdoaWNoIGtub3dzIGFib3V0IHRo aXMuCihfbmxfZXhwYW5kX2FsaWFzLCByZWFkX2FsaWFzX2ZpbGUpOgpEbyBub3QgY2FzdCBm dW5jdGlvbiBwb2ludGVycyBpbiBhIHdheSB0aGF0IHZpb2xhdGVzIHRoZSBDIHN0YW5kYXJk LgoocmVhZF9hbGlhc19maWxlKTogUmVtb3ZlIG5vLWxvbmdlci1uZWVkZWQgcHJhZ21hCmFu ZCBjb2RlIHRvIGFkanVzdCBwb2ludGVycyBhZnRlciByZWFsbG9jLgpQYXNzIHFzb3J0X2Fs aWFzX2NvbXBhcmUgdG8gcXNvcnQuCihhbGlhc19jb21wYXJlKTogQ2hhbmdlIHNpZ25hdHVy ZSBzbyB0aGF0IGl0IG1lcmVseSBjb21wYXJlcyBzdHJpbmdzLgoocXNvcnRfYWxpYXNfY29t cGFyZSwgYnNlYXJjaF9hbGlhc19jb21wYXJlKTogTmV3IGZ1bmN0aW9ucy4KLS0tCiBpbnRs L2xvY2FsZWFsaWFzLmMgfCA4MCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgNDcgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW50bC9sb2NhbGVhbGlhcy5jIGIvaW50bC9sb2Nh bGVhbGlhcy5jCmluZGV4IGIzNjA5MjM2M2EuLjU2YjRlYTU4YTQgMTAwNjQ0Ci0tLSBhL2lu dGwvbG9jYWxlYWxpYXMuYworKysgYi9pbnRsL2xvY2FsZWFsaWFzLmMKQEAgLTEyMSw4ICsx MjEsOSBAQCBfX2xpYmNfbG9ja19kZWZpbmVfaW5pdGlhbGl6ZWQgKHN0YXRpYywgbG9jaykK IAogc3RydWN0IGFsaWFzX21hcAogewotICBjb25zdCBjaGFyICphbGlhczsKLSAgY29uc3Qg Y2hhciAqdmFsdWU7CisgIC8qIFRoZXNlIGFyZSBvZmZzZXRzIGZyb20gc3RyaW5nX3NwYWNl LCBzbyB0aGF0IHRoZXkgc3Vydml2ZSByZWFsbG9jLiAgKi8KKyAgc2l6ZV90IGFsaWFzOwor ICBzaXplX3QgdmFsdWU7CiB9OwogCiAKQEAgLTE0MSw4ICsxNDIsOCBAQCBzdGF0aWMgc2l6 ZV90IG1heG1hcDsKIC8qIFByb3RvdHlwZXMgZm9yIGxvY2FsIGZ1bmN0aW9ucy4gICovCiBz dGF0aWMgc2l6ZV90IHJlYWRfYWxpYXNfZmlsZSAoY29uc3QgY2hhciAqZm5hbWUsIGludCBm bmFtZV9sZW4pOwogc3RhdGljIGludCBleHRlbmRfYWxpYXNfdGFibGUgKHZvaWQpOwotc3Rh dGljIGludCBhbGlhc19jb21wYXJlIChjb25zdCBzdHJ1Y3QgYWxpYXNfbWFwICptYXAxLAot CQkJICBjb25zdCBzdHJ1Y3QgYWxpYXNfbWFwICptYXAyKTsKK3N0YXRpYyBpbnQgcXNvcnRf YWxpYXNfY29tcGFyZSAodm9pZCBjb25zdCAqbWFwMSwgdm9pZCBjb25zdCAqbWFwMik7Citz dGF0aWMgaW50IGJzZWFyY2hfYWxpYXNfY29tcGFyZSAodm9pZCBjb25zdCAqa2V5LCB2b2lk IGNvbnN0ICplbHQpOwogCiAKIGNvbnN0IGNoYXIgKgpAQCAtMTYwLDIzICsxNjEsMTcgQEAg X25sX2V4cGFuZF9hbGlhcyAoY29uc3QgY2hhciAqbmFtZSkKIAogICBkbwogICAgIHsKLSAg ICAgIHN0cnVjdCBhbGlhc19tYXAgaXRlbTsKLQotICAgICAgaXRlbS5hbGlhcyA9IG5hbWU7 Ci0KICAgICAgIGlmIChubWFwID4gMCkKLQlyZXR2YWwgPSAoc3RydWN0IGFsaWFzX21hcCAq KSBic2VhcmNoICgmaXRlbSwgbWFwLCBubWFwLAorCXJldHZhbCA9IChzdHJ1Y3QgYWxpYXNf bWFwICopIGJzZWFyY2ggKG5hbWUsIG1hcCwgbm1hcCwKIAkJCQkJICAgICAgIHNpemVvZiAo c3RydWN0IGFsaWFzX21hcCksCi0JCQkJCSAgICAgICAoaW50ICgqKSAoY29uc3Qgdm9pZCAq LAotCQkJCQkJCSBjb25zdCB2b2lkICopCi0JCQkJCQkpIGFsaWFzX2NvbXBhcmUpOworCQkJ CQkgICAgICAgYnNlYXJjaF9hbGlhc19jb21wYXJlKTsKICAgICAgIGVsc2UKIAlyZXR2YWwg PSBOVUxMOwogCiAgICAgICAvKiBXZSByZWFsbHkgZm91bmQgYW4gYWxpYXMuICBSZXR1cm4g dGhlIHZhbHVlLiAgKi8KICAgICAgIGlmIChyZXR2YWwgIT0gTlVMTCkKIAl7Ci0JICByZXN1 bHQgPSByZXR2YWwtPnZhbHVlOworCSAgcmVzdWx0ID0gc3RyaW5nX3NwYWNlICsgcmV0dmFs LT52YWx1ZTsKIAkgIGJyZWFrOwogCX0KIApAQCAtMzE4LDE0ICszMTMsNiBAQCByZWFkX2Fs aWFzX2ZpbGUgKGNvbnN0IGNoYXIgKmZuYW1lLCBpbnQgZm5hbWVfbGVuKQogCiAJCSAgaWYg KHN0cmluZ19zcGFjZV9hY3QgKyBhbGlhc19sZW4gKyB2YWx1ZV9sZW4gPiBzdHJpbmdfc3Bh Y2VfbWF4KQogCQkgICAgewotI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0KLSNpZiBk ZWZpbmVkIF9fR05VQ19fICYmIF9fR05VQ19fID49IDEyCi0gIC8qIFN1cHByZXNzIHRoZSB2 YWxpZCBHQ0MgMTIgd2FybmluZyB1bnRpbCB0aGUgY29kZSBiZWxvdyBpcyBjaGFuZ2VkCi0g ICAgIHRvIGF2b2lkIHVzaW5nIHBvaW50ZXJzIHRvIHRoZSByZWFsbG9jYXRlZCBibG9jay4g ICovCi0jICBwcmFnbWEgR0NDIGRpYWdub3N0aWMgaWdub3JlZCAiLVd1c2UtYWZ0ZXItZnJl ZSIKLSNlbmRpZgotCiAJCSAgICAvKiBJbmNyZWFzZSBzaXplIG9mIG1lbW9yeSBwb29sLiAg Ki8KIAkJICAgICAgc2l6ZV90IG5ld19zaXplID0gKHN0cmluZ19zcGFjZV9tYXgKIAkJCQkJ ICsgKGFsaWFzX2xlbiArIHZhbHVlX2xlbiA+IDEwMjQKQEAgLTMzNCwzMyArMzIxLDE4IEBA IHJlYWRfYWxpYXNfZmlsZSAoY29uc3QgY2hhciAqZm5hbWUsIGludCBmbmFtZV9sZW4pCiAJ CSAgICAgIGlmIChuZXdfcG9vbCA9PSBOVUxMKQogCQkJZ290byBvdXQ7CiAKLQkJICAgICAg aWYgKF9fYnVpbHRpbl9leHBlY3QgKHN0cmluZ19zcGFjZSAhPSBuZXdfcG9vbCwgMCkpCi0J CQl7Ci0JCQkgIHNpemVfdCBpOwotCi0JCQkgIGZvciAoaSA9IDA7IGkgPCBubWFwOyBpKysp Ci0JCQkgICAgewotCQkJICAgICAgbWFwW2ldLmFsaWFzICs9IG5ld19wb29sIC0gc3RyaW5n X3NwYWNlOwotCQkJICAgICAgbWFwW2ldLnZhbHVlICs9IG5ld19wb29sIC0gc3RyaW5nX3Nw YWNlOwotCQkJICAgIH0KLQkJCX0KLQogCQkgICAgICBzdHJpbmdfc3BhY2UgPSBuZXdfcG9v bDsKIAkJICAgICAgc3RyaW5nX3NwYWNlX21heCA9IG5ld19zaXplOwogCQkgICAgfQogCi0J CSAgbWFwW25tYXBdLmFsaWFzID0KLQkJICAgIChjb25zdCBjaGFyICopIG1lbWNweSAoJnN0 cmluZ19zcGFjZVtzdHJpbmdfc3BhY2VfYWN0XSwKLQkJCQkJICAgYWxpYXMsIGFsaWFzX2xl bik7CisJCSAgbWVtY3B5ICgmc3RyaW5nX3NwYWNlW3N0cmluZ19zcGFjZV9hY3RdLCBhbGlh cywgYWxpYXNfbGVuKTsKKwkJICBtYXBbbm1hcF0uYWxpYXMgPSBzdHJpbmdfc3BhY2VfYWN0 OwogCQkgIHN0cmluZ19zcGFjZV9hY3QgKz0gYWxpYXNfbGVuOwogCi0JCSAgbWFwW25tYXBd LnZhbHVlID0KLQkJICAgIChjb25zdCBjaGFyICopIG1lbWNweSAoJnN0cmluZ19zcGFjZVtz dHJpbmdfc3BhY2VfYWN0XSwKLQkJCQkJICAgdmFsdWUsIHZhbHVlX2xlbik7CisJCSAgbWVt Y3B5ICgmc3RyaW5nX3NwYWNlW3N0cmluZ19zcGFjZV9hY3RdLCB2YWx1ZSwgdmFsdWVfbGVu KTsKKwkJICBtYXBbbm1hcF0udmFsdWUgPSBzdHJpbmdfc3BhY2VfYWN0OwogCQkgIHN0cmlu Z19zcGFjZV9hY3QgKz0gdmFsdWVfbGVuOwogCi0jcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBv cAotCiAJCSAgKytubWFwOwogCQkgICsrYWRkZWQ7CiAJCX0KQEAgLTM4NCw4ICszNTYsNyBA QCByZWFkX2FsaWFzX2ZpbGUgKGNvbnN0IGNoYXIgKmZuYW1lLCBpbnQgZm5hbWVfbGVuKQog ICBmY2xvc2UgKGZwKTsKIAogICBpZiAoYWRkZWQgPiAwKQotICAgIHFzb3J0IChtYXAsIG5t YXAsIHNpemVvZiAoc3RydWN0IGFsaWFzX21hcCksCi0JICAgKGludCAoKikgKGNvbnN0IHZv aWQgKiwgY29uc3Qgdm9pZCAqKSkgYWxpYXNfY29tcGFyZSk7CisgICAgcXNvcnQgKG1hcCwg bm1hcCwgc2l6ZW9mIChzdHJ1Y3QgYWxpYXNfbWFwKSwgcXNvcnRfYWxpYXNfY29tcGFyZSk7 CiAKICAgcmV0dXJuIGFkZGVkOwogfQpAQCAtNDA5LDE1ICszODAsMTQgQEAgZXh0ZW5kX2Fs aWFzX3RhYmxlICh2b2lkKQogICByZXR1cm4gMDsKIH0KIAotCiBzdGF0aWMgaW50Ci1hbGlh c19jb21wYXJlIChjb25zdCBzdHJ1Y3QgYWxpYXNfbWFwICptYXAxLCBjb25zdCBzdHJ1Y3Qg YWxpYXNfbWFwICptYXAyKQorYWxpYXNfY29tcGFyZSAoY2hhciBjb25zdCAqYWxpYXMxLCBj aGFyIGNvbnN0ICphbGlhczIpCiB7CiAjaWYgZGVmaW5lZCBfTElCQyB8fCBkZWZpbmVkIEhB VkVfU1RSQ0FTRUNNUAotICByZXR1cm4gc3RyY2FzZWNtcCAobWFwMS0+YWxpYXMsIG1hcDIt PmFsaWFzKTsKKyAgcmV0dXJuIHN0cmNhc2VjbXAgKGFsaWFzMSwgYWxpYXMyKTsKICNlbHNl Ci0gIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnAxID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikg bWFwMS0+YWxpYXM7Ci0gIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnAyID0gKGNvbnN0IHVuc2ln bmVkIGNoYXIgKikgbWFwMi0+YWxpYXM7CisgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnAxID0g KGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgYWxpYXMxOworICBjb25zdCB1bnNpZ25lZCBjaGFy ICpwMiA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopIGFsaWFzMjsKICAgdW5zaWduZWQgY2hh ciBjMSwgYzI7CiAKICAgaWYgKHAxID09IHAyKQpAQCAtNDM5LDMgKzQwOSwxOSBAQCBhbGlh c19jb21wYXJlIChjb25zdCBzdHJ1Y3QgYWxpYXNfbWFwICptYXAxLCBjb25zdCBzdHJ1Y3Qg YWxpYXNfbWFwICptYXAyKQogICByZXR1cm4gYzEgLSBjMjsKICNlbmRpZgogfQorCitzdGF0 aWMgaW50Citxc29ydF9hbGlhc19jb21wYXJlICh2b2lkIGNvbnN0ICp2bWFwMSwgdm9pZCBj b25zdCAqdm1hcDIpCit7CisgIHN0cnVjdCBhbGlhc19tYXAgY29uc3QgKm1hcDEgPSB2bWFw MTsKKyAgc3RydWN0IGFsaWFzX21hcCBjb25zdCAqbWFwMiA9IHZtYXAyOworICByZXR1cm4g YWxpYXNfY29tcGFyZSAoc3RyaW5nX3NwYWNlICsgbWFwMS0+YWxpYXMsCisJCQlzdHJpbmdf c3BhY2UgKyBtYXAyLT5hbGlhcyk7Cit9CisKK3N0YXRpYyBpbnQKK2JzZWFyY2hfYWxpYXNf Y29tcGFyZSAodm9pZCBjb25zdCAqdmtleSwgdm9pZCBjb25zdCAqdmVsdCkKK3sKKyAgc3Ry dWN0IGFsaWFzX21hcCBjb25zdCAqZWx0ID0gdmVsdDsKKyAgcmV0dXJuIGFsaWFzX2NvbXBh cmUgKHZrZXksIHN0cmluZ19zcGFjZSArIGVsdC0+YWxpYXMpOworfQotLSAKMi4zNy4xCgo= --------------52r0QQ0iA3AL60NPoWLcu1vD--