From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com [IPv6:2607:f8b0:4864:20::729]) by sourceware.org (Postfix) with ESMTPS id AEA833858033 for ; Mon, 21 Nov 2022 09:57:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AEA833858033 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-qk1-x729.google.com with SMTP id 8so7655565qka.1 for ; Mon, 21 Nov 2022 01:57:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=tARY0b1fl0n9k7xRGBjtwuwsY7E9FoSP1SA/OKA0G2U=; b=aG1jGhVvfnJui8n8jklRtucIBEZCneMlcTPKGVx/2/jY+IXlPeDybTm2yqXLMQcelo gSsWGQmqjrT3Icc2FJexPlmNwyLvdGzwVuWcz0773zxmsX+qWwL8BQuDhtAZwQTR8Htb 4Wk22CjmT46foYlxURQ8QbX7+c9yPnbk8djBmaZOi6VfGtcPum5DThjTAkN+UaTRokp8 Hnb0Tawei6ilxRjIqHG8jOgKBPcJSGPji4S/3wA7O3cJ4MNgxKkzgIZYX+aKNvS3NsUz RLJMZGFpx30bhuSRBqvT00GeN3Ja4KIxlEYGXPPlKSQTDNUFSZz+LXjwSjWjLZ0FyM5X oj/A== 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:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=tARY0b1fl0n9k7xRGBjtwuwsY7E9FoSP1SA/OKA0G2U=; b=EWmljAVP4eaG+3WSOLSnQ2PXnZLpRwHJnJnbewou26S41ocEFYlJVmJ0jveF7a8YTq +UXuowHcXlkPnS/TjpnyZig2ZkwqVfMuENubzxf8ZUNoEj9sG9eJ8YtOSYZ0FoTr3nRd F1qLmUT4xgxNYLcJMETg2twSh5q/+Va5IR8FTi7C/FhOp4Nc1VA8JE0wpQm9CVK46DYC Co0/a5fTX0FCetgHTRA8Ch24xanpmNy3qXD67OVADCNJKmGDnhWY7skyy/GLbImGemyF ksDQ0kHgsyhzZsSUl//oUH6k0KtqmQXGhC8KdxT8lvjwd5xWcAlekgmMeN3/ybVHvCop BMKw== X-Gm-Message-State: ANoB5pm5wA/xBbB1EaLQ8jL0Xhi0d3rlJlVmJcfO+oRmXx5p4VDZs+In sd7U8ExqL+6r/7bo3FZprMBr8yhVrayDAJwcsDaKX9GX X-Google-Smtp-Source: AA0mqf7YxK5kYlAP2JakUcqD7JnlaSYdyHI3ZqO12eohGwvVgdEK6lHowxTYBf4pWNalSPBmDIDjLLhWE3ovbcsEAd0= X-Received: by 2002:a37:e20d:0:b0:6fa:8e8e:1ee5 with SMTP id g13-20020a37e20d000000b006fa8e8e1ee5mr15400845qki.45.1669024647108; Mon, 21 Nov 2022 01:57:27 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Yuri Gribov Date: Mon, 21 Nov 2022 12:57:15 +0300 Message-ID: Subject: [PATCH][PING][sanitizer/106558] asan: fix unsafe optimization of Asan checks. To: GCC Patches Cc: =?UTF-8?Q?Martin_Li=C5=A1ka?= , Jakub Jelinek Content-Type: multipart/mixed; boundary="000000000000368d9a05edf8152f" X-Spam-Status: No, score=-10.3 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 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: --000000000000368d9a05edf8152f 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/amd64). 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 --000000000000368d9a05edf8152f Content-Type: text/x-patch; charset="US-ASCII"; name="0001-asan-fix-unsafe-optimization-of-Asan-checks.patch" Content-Disposition: attachment; filename="0001-asan-fix-unsafe-optimization-of-Asan-checks.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_laqm2r1i0 RnJvbSA0NzI5ZjJkYjNmMWI2YjQwZWYwMTI0ZTRhNjQ1Nzg4ZDdmNjZmNDI2IE1vbiBTZXAgMTcg 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= --000000000000368d9a05edf8152f--