From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-il1-x134.google.com (mail-il1-x134.google.com [IPv6:2607:f8b0:4864:20::134]) by sourceware.org (Postfix) with ESMTPS id F1A543857016 for ; Mon, 5 Sep 2022 12:14:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F1A543857016 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-il1-x134.google.com with SMTP id b17so4596002ilh.0 for ; Mon, 05 Sep 2022 05:14:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date; bh=HYrv0YtfTRbHW4zyNLw0lf2+V1uPqMS6TTuRYGuejHA=; b=PCgt+5XBA8V4RGDHer4MR3U+PUN4NSOm2iTFAHL9ancZziMMBK1EEQ/nPitlhnuQkL yYq/jVNEvARiRbjB1ozP7plA6RKqaa/9ZW74vorhXma4Eyg+AuwiEPb2m7sjdRaJEacR M9Rr6S7lETfb0ZPIpia7SSJjlQyed0Ex15EhH16M/Opw+PdV/KALIn8/oLOnaeHo1eBV 3T5LZ2SqxWqQh4x+hCUstZVX99bb1A5RPNbMjFzAGnCcIEM+TIHDnDcgpu0n5tpDWUQP eIgbu8ZKaV4YGCPBmnVnJe4Z86XgUQgSVtMYMdoLdANrdDQdkI1cKjfYeL2FLq2voS7V /EIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date; bh=HYrv0YtfTRbHW4zyNLw0lf2+V1uPqMS6TTuRYGuejHA=; b=M9gVRsXKR30FdkiXtZhKw4j3qG87TzAs7rV1nirC0GjO4r9iOiDcIhi3rCYueuHah1 EWFCtrIrJ60tTyVfmFY2n4x1YnQPIReLOf/rnHs0PY6L72Ia2agEfmPw8B0L8Ggmcr/l sW4Q/8s/WtPBfIpDHZrDKLxPfv6D75XWy5GRsx7X2PUp1SHZD+CqwOuzZ+M0UGULvj43 /ylbSlQu5MWbTALmbjb16Cl7AGv2YRFXL/BG8fvPipjsXANg9plkBysoffjKzdGJdST9 Tj6m9vQ2oxrfkZN7NYoCinnzbAXNwDMm+Bct9nYq1gyF1VQDWvPeruvdd0SBS6Rm/9fa LbGw== X-Gm-Message-State: ACgBeo2ySUNCTHTjWS+Hq+V7YhNJ3u5X28IHtDZ8lqUPsKppLcUMGvOp 1VWcq0auJrc4CzqaKUpH8iFQ2D0bgT9+DpaFeQ4hiAG3/eU= X-Google-Smtp-Source: AA6agR7YVv2AYlyJEWRznzckYCAhdf3HxtYFpnRFCfTwt4ec94FEIPA8zJhuSxfeOFAE8TCj78QaroZClnvTL59uIKA= X-Received: by 2002:a92:dcc2:0:b0:2e4:38f2:a9f6 with SMTP id b2-20020a92dcc2000000b002e438f2a9f6mr25866682ilr.130.1662380061233; Mon, 05 Sep 2022 05:14:21 -0700 (PDT) MIME-Version: 1.0 From: Yuri Gribov Date: Mon, 5 Sep 2022 15:14:10 +0300 Message-ID: Subject: [PATCH][sanitizer/106558] asan: fix unsafe optimization of Asan checks. To: GCC Patches Cc: Jakub Jelinek , =?UTF-8?Q?Martin_Li=C5=A1ka?= Content-Type: multipart/mixed; boundary="000000000000082c6f05e7ed0565" X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000082c6f05e7ed0565 Content-Type: text/plain; charset="UTF-8" Hi, This patch fixes incorrect Asan optimization in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106558 . It successfully passes bootstrap-asan, regular bootstrap and regression testing (on x86_64). With this patch number of optimizations has reduced only slightly (146062 -> 145824 on bootstrap-asan) so I decided to skip the more complicated alias oracle-based approach that was suggested by Jakub in the PR. Best regards, Yuri --000000000000082c6f05e7ed0565 Content-Type: text/x-patch; charset="US-ASCII"; name="asan-fix-unsafe-optimization-of-Asan-checks-1.patch" Content-Disposition: attachment; filename="asan-fix-unsafe-optimization-of-Asan-checks-1.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l7oq2zpr0 RnJvbSAzYWViZDJhZGMzMGUxNjQwNjUzMjdjN2QzODIwYWQ5OGZlNTljYWQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZdXJpIEdyaWJvdiA8eS5ncmlib3ZAc2Ftc3VuZy5jb20+CkRh dGU6IFN1biwgMTQgQXVnIDIwMjIgMDg6NDI6NDQgKzAzMDAKU3ViamVjdDogW1BBVENIXSBhc2Fu OiBmaXggdW5zYWZlIG9wdGltaXphdGlvbiBvZiBBc2FuIGNoZWNrcy4KCmdjYy8KICAgICAgICBQ UiBzYW5pdGl6ZXIvMTA2NTU4CiAgICAgICAgKiBzYW5vcHQuYzogRG8gbm90IG9wdGltaXplIG91 dCBjaGVja3MgZm9yIG5vbi1TU0EgYWRkcmVzc2VzLgoKZ2NjL3Rlc3RzdWl0ZS8KICAgICAgICBQ UiBzYW5pdGl6ZXIvMTA2NTU4CiAgICAgICAgKiBjLWMrKy1jb21tb24vYXNhbi9wcjEwNjU1OC5j OiBOZXcgdGVzdC4KLS0tCiBnY2Mvc2Fub3B0LmNjICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCA0MCArKysrKysrKysrKysrKysrKy0tLS0tCiBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1v bi9hc2FuL3ByMTA2NTU4LmMgfCAyMyArKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDU0 IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9jLWMrKy1jb21tb24vYXNhbi9wcjEwNjU1OC5jCgpkaWZmIC0tZ2l0IGEvZ2NjL3Nh bm9wdC5jYyBiL2djYy9zYW5vcHQuY2MKaW5kZXggZTlkMTg4ZDc4ODkuLjEzOTQyYTBiMWRhIDEw MDY0NAotLS0gYS9nY2Mvc2Fub3B0LmNjCisrKyBiL2djYy9zYW5vcHQuY2MKQEAgLTgwLDE2ICs4 MCwxNiBAQCBzdHJ1Y3Qgc2Fub3B0X2luZm8KIAogLyogSWYgVCBoYXMgYSBzaW5nbGUgZGVmaW5p dGlvbiBvZiBmb3JtIFQgPSBUMiwgcmV0dXJuIFQyLiAgKi8KIAotc3RhdGljIHRyZWUKK3N0YXRp YyBnaW1wbGUgKgogbWF5YmVfZ2V0X3NpbmdsZV9kZWZpbml0aW9uICh0cmVlIHQpCiB7CiAgIGlm IChUUkVFX0NPREUgKHQpID09IFNTQV9OQU1FKQogICAgIHsKICAgICAgIGdpbXBsZSAqZyA9IFNT QV9OQU1FX0RFRl9TVE1UICh0KTsKICAgICAgIGlmIChnaW1wbGVfYXNzaWduX3NpbmdsZV9wIChn KSkKLQlyZXR1cm4gZ2ltcGxlX2Fzc2lnbl9yaHMxIChnKTsKKwlyZXR1cm4gZzsKICAgICB9Ci0g IHJldHVybiBOVUxMX1RSRUU7CisgIHJldHVybiBOVUxMOwogfQogCiAvKiBUcmVlIHRyaXBsZXQg Zm9yIHZwdHJfY2hlY2tfbWFwLiAgKi8KQEAgLTYxOCwxMSArNjE4LDMwIEBAIG1heWJlX29wdGlt aXplX3Vic2FuX3ZwdHJfaWZuIChjbGFzcyBzYW5vcHRfY3R4ICpjdHgsIGdpbXBsZSAqc3RtdCkK ICAgcmV0dXJuIHRydWU7CiB9CiAKKy8qIENoZWNrcyB3aGV0aGVyIHZhbHVlIG9mIFQgaW4gQ0hF Q0sgYW5kIFVTRSBpcyB0aGUgc2FtZS4gICovCisKK3N0YXRpYyBib29sIHNhbWVfdmFsdWVfcCAo Z2ltcGxlICpjaGVjaywgZ2ltcGxlICp1c2UsIHRyZWUgdCkKK3sKKyAgdHJlZSBjaGVja192dXNl ID0gZ2ltcGxlX3Z1c2UgKGNoZWNrKTsKKyAgdHJlZSB1c2VfdnVzZSA9IGdpbXBsZV92dXNlICh1 c2UpOworCisgIGlmIChUUkVFX0NPREUgKHQpID09IFNTQV9OQU1FCisgICAgICB8fCBpc19naW1w bGVfbWluX2ludmFyaWFudCAodCkKKyAgICAgIHx8ICEgdXNlX3Z1c2UpCisgICAgcmV0dXJuIHRy dWU7CisKKyAgaWYgKGNoZWNrX3Z1c2UgPT0gdXNlX3Z1c2UpCisgICAgcmV0dXJuIHRydWU7CisK KyAgcmV0dXJuIGZhbHNlOworfQorCiAvKiBSZXR1cm5zIFRSVUUgaWYgQVNhbiBjaGVjayBvZiBs ZW5ndGggTEVOIGluIGJsb2NrIEJCIGNhbiBiZSByZW1vdmVkCiAgICBpZiBwcmVjZWRlZCBieSBj aGVja3MgaW4gVi4gICovCiAKIHN0YXRpYyBib29sCi1jYW5fcmVtb3ZlX2FzYW5fY2hlY2sgKGF1 dG9fdmVjPGdpbXBsZSAqPiAmdiwgdHJlZSBsZW4sIGJhc2ljX2Jsb2NrIGJiKQorY2FuX3JlbW92 ZV9hc2FuX2NoZWNrIChhdXRvX3ZlYzxnaW1wbGUgKj4gJnYsIHRyZWUgbGVuLCBiYXNpY19ibG9j ayBiYiwKKwkJICAgICAgIGdpbXBsZSAqYmFzZV9zdG10LCB0cmVlIGJhc2VfYWRkcikKIHsKICAg dW5zaWduZWQgaW50IGk7CiAgIGdpbXBsZSAqZzsKQEAgLTY3NCw4ICs2OTMsMTAgQEAgY2FuX3Jl bW92ZV9hc2FuX2NoZWNrIChhdXRvX3ZlYzxnaW1wbGUgKj4gJnYsIHRyZWUgbGVuLCBiYXNpY19i bG9jayBiYikKIAogCSAgbGFzdF9iYiA9IGltbTsKIAl9Ci0gICAgICBpZiAobGFzdF9iYiA9PSBn YmIpCi0JcmVtb3ZlID0gdHJ1ZTsKKyAgICAgIGlmIChsYXN0X2JiICE9IGdiYikKKwlicmVhazsK KyAgICAgIC8vIEluIGNhc2Ugb2YgYmFzZV9hZGRyIHJlc2lkaW5nIGluIG1lbW9yeSB3ZSBhbHNv IG5lZWQgdG8gY2hlY2sgYWxpYXNpbmcKKyAgICAgIHJlbW92ZSA9ICEgYmFzZV9hZGRyIHx8IHNh bWVfdmFsdWVfcCAoZywgYmFzZV9zdG10LCBiYXNlX2FkZHIpOwogICAgICAgYnJlYWs7CiAgICAg fQogCkBAIC03MTgsNyArNzM5LDggQEAgbWF5YmVfb3B0aW1pemVfYXNhbl9jaGVja19pZm4gKGNs YXNzIHNhbm9wdF9jdHggKmN0eCwgZ2ltcGxlICpzdG10KQogCiAgIGF1dG9fdmVjPGdpbXBsZSAq PiAqcHRyX2NoZWNrcyA9ICZjdHgtPmFzYW5fY2hlY2tfbWFwLmdldF9vcl9pbnNlcnQgKHB0cik7 CiAKLSAgdHJlZSBiYXNlX2FkZHIgPSBtYXliZV9nZXRfc2luZ2xlX2RlZmluaXRpb24gKHB0cik7 CisgIGdpbXBsZSAqYmFzZV9zdG10ID0gbWF5YmVfZ2V0X3NpbmdsZV9kZWZpbml0aW9uIChwdHIp OworICB0cmVlIGJhc2VfYWRkciA9IGJhc2Vfc3RtdCA/IGdpbXBsZV9hc3NpZ25fcmhzMSAoYmFz ZV9zdG10KSA6IE5VTExfVFJFRTsKICAgYXV0b192ZWM8Z2ltcGxlICo+ICpiYXNlX2NoZWNrcyA9 IE5VTEw7CiAgIGlmIChiYXNlX2FkZHIpCiAgICAgewpAQCAtNzQ3LDExICs3NjksMTEgQEAgbWF5 YmVfb3B0aW1pemVfYXNhbl9jaGVja19pZm4gKGNsYXNzIHNhbm9wdF9jdHggKmN0eCwgZ2ltcGxl ICpzdG10KQogICBib29sIHJlbW92ZSA9IGZhbHNlOwogCiAgIGlmIChwdHJfY2hlY2tzKQotICAg IHJlbW92ZSA9IGNhbl9yZW1vdmVfYXNhbl9jaGVjayAoKnB0cl9jaGVja3MsIGxlbiwgYmIpOwor ICAgIHJlbW92ZSA9IGNhbl9yZW1vdmVfYXNhbl9jaGVjayAoKnB0cl9jaGVja3MsIGxlbiwgYmIs IE5VTEwsIE5VTEwpOwogCiAgIGlmICghcmVtb3ZlICYmIGJhc2VfY2hlY2tzKQogICAgIC8qIFRy eSB3aXRoIGJhc2UgYWRkcmVzcyBhcyB3ZWxsLiAgKi8KLSAgICByZW1vdmUgPSBjYW5fcmVtb3Zl X2FzYW5fY2hlY2sgKCpiYXNlX2NoZWNrcywgbGVuLCBiYik7CisgICAgcmVtb3ZlID0gY2FuX3Jl bW92ZV9hc2FuX2NoZWNrICgqYmFzZV9jaGVja3MsIGxlbiwgYmIsIGJhc2Vfc3RtdCwgYmFzZV9h ZGRyKTsKIAogICBpZiAoIXJlbW92ZSkKICAgICB7CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2MtYysrLWNvbW1vbi9hc2FuL3ByMTA2NTU4LmMgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1v bi9hc2FuL3ByMTA2NTU4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LmQ4MmIyZGM3YTgzCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21t b24vYXNhbi9wcjEwNjU1OC5jCkBAIC0wLDAgKzEsMjMgQEAKKy8qIHsgZGctZG8gcnVuIH0gKi8K Ky8qIHsgZGctb3B0aW9ucyAiLXcgLWZwZXJtaXNzaXZlIiB9ICovCisvKiB7IGRnLXNob3VsZGZh aWwgImFzYW4iIH0gKi8KKworaW50IGE7CitpbnQgKmIgPSAmYTsKK2ludCAqKmMgPSAmYjsKK2lu dCBkWzFdOworaW50ICplID0gJmRbMV07CisKK3N0YXRpYyBpbnQgZihpbnQgKmcpIHsKKyAgKmIg PSBlOworICAqYyA9IGU7CisgICpiID0gMjsKKyAgKmcgPSAyOworfQorCitpbnQgbWFpbigpIHsK KyAgICBmKGIpOworICAgIHJldHVybiAqYjsKK30KKworLyogeyBkZy1vdXRwdXQgIkFkZHJlc3NT YW5pdGl6ZXI6IGdsb2JhbC1idWZmZXItb3ZlcmZsb3cgb24gYWRkcmVzcyIgfSAqLwotLSAKMi4x Ny4xCgo= --000000000000082c6f05e7ed0565--