From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 5A7503858D3C for ; Tue, 28 Feb 2023 16:13:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5A7503858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 31SEcibs018882; Tue, 28 Feb 2023 16:13:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=Z+Uyp9UC/sFGZBUwppA3f/D42hNe+MKwjA+ipiHCpkw=; b=GS22+fc2snqRWeT6DVFnAt1wr+vyu86SOJLcKdWiLk6QzKOIrewP3nEin2m11nUQuVyQ cHxkyHn94btRYvBztlxbjsW6G7/9xow/VsNnIDCI0M/BE3WmCWpAeShrWPizNmhotK7i KDjP4WGVo+QrNPjMpIiNrXN0pJ4hSG6YW2Le4h1As4YpmHxLEvHNfmaVk+D7+JhGrzYg ZP7quwxsCwY2RacMrUuOIztItOm5aH9ic58ubSZ77VSUPl1yzAyFUnJqVfhthcCmHKY7 dL323FCvsbipP8Ok47eukbazduoOldBYK5ukSeYi9ELZ3RebLZnL2n3Mjuk81FGJlm/F TA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3nyba7eja3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Feb 2023 16:13:31 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 31SFUCYJ001096; Tue, 28 Feb 2023 16:13:31 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2174.outbound.protection.outlook.com [104.47.55.174]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3ny8s6rvwk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 28 Feb 2023 16:13:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gwf2NlUWfGBmtvw3TiW7J093cH3pRf4M+34OlthjqwExbaZhjOqGjE7raGzBgmWrmuaFUQ4VFsqDedyMgREad50DCYASHRVn25KCCUa0XLmOGFSPWwxSdQZVg6j8N+MOdCc3NJzIQ9u0ZgRkb7acfyal8KWDrextF3evig/PeT6b1CJYPp066Nxe1KxrmEQ8By6LCB/hYpaARD0Kx68mLWWgTsRs4Zn3F7hQTn34ynThhqAd8tFeqjOr6hgC6iVEaOvqd8mng46moM3Jo3HD8uCOtLHlCz9HzupYb6DlqLMM6Eld6MamjM9E9+pHbCA+LFnYAhXNdIHnF3yQSf3ZOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Z+Uyp9UC/sFGZBUwppA3f/D42hNe+MKwjA+ipiHCpkw=; b=Vqe3yIAt6b6JNXQ7eHj8esmH0YLmp5EeUalBFaBUzbj1Yvdo/9qkzO/9+gT+iqy4J03QOmtIIkrJJZG511EoDIiISqoBV4ni4dRLBlajhZbtvQTatdblXNYuy1UZ9CHjVS4+GNuXzVl0efnOoX7BS7PBkNXBzcpNUqpZiPm8v+uTfJYcgcrSKv5Hh+tQZv/So0+VBdcK+cclJGsGgSEq7rBZ3/v0GSZe0mPV+3Hl2KZNB9ywOjx5U48hVcYVaULySZ55K9jU3mKFmNksVzYGzcBsqQO+IJpSjeS+mqEULdNI6FRHhwIEx7QQ5rrcj5V93fOI03MHyIsEZpLPPo3N/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z+Uyp9UC/sFGZBUwppA3f/D42hNe+MKwjA+ipiHCpkw=; b=EPXJpaTVkX4+tKpxskFf16iwllOissyqllhYZtpz+oHmcbaRYNa1bHne+F2uFGF9FhLXSBc6JQyTl/9XVe4nkYLn/4T/I8Sgks+3mnJbknHdEIV2HSe0CC3HWTnMLQ95ELPxnMB1VxMjKLfqaI1ujgcc3+PJRh4zO54AZDq6/sU= Received: from CH2PR10MB4344.namprd10.prod.outlook.com (2603:10b6:610:af::19) by CH0PR10MB5161.namprd10.prod.outlook.com (2603:10b6:610:c3::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Tue, 28 Feb 2023 16:13:28 +0000 Received: from CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::7030:ed2e:20d0:cd5b]) by CH2PR10MB4344.namprd10.prod.outlook.com ([fe80::7030:ed2e:20d0:cd5b%6]) with mapi id 15.20.6156.016; Tue, 28 Feb 2023 16:13:28 +0000 From: Qing Zhao To: Jakub Jelinek CC: Richard Biener , "gcc-patches@gcc.gnu.org" Subject: Re: [PATCH] ubsan: Honor -fstrict-flex-arrays= in -fsanitize=bounds [PR108894] Thread-Topic: [PATCH] ubsan: Honor -fstrict-flex-arrays= in -fsanitize=bounds [PR108894] Thread-Index: AQHZS06ZcLWOALwC30+WBgtlb+CEUq7kiJCA Date: Tue, 28 Feb 2023 16:13:28 +0000 Message-ID: <50C5DFA0-F8A5-4E1A-8353-FBF3CABF3F4B@oracle.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.120.41.1.2) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR10MB4344:EE_|CH0PR10MB5161:EE_ x-ms-office365-filtering-correlation-id: 82f4a755-f357-401f-0d36-08db19a6ba45 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Jv+oVdViaX9O84O3NxFxBH1Hv3XmUkqRJlrMrItFFVkGxjv7oPdQE8LySovfGikmNo2hCfFuz3TrAlaLVhyabF1vkax9HBLcxbTGrurtqWp05ah62ylZJln4WQD00dYwGGEJF+3SxXWlCo8rIYYoG/jYMvyNKR19YobOig1N1m9q40J062BWm8eM9pN98OBboVNPMWCulXN4m+WVWYg33Yw5fezbPxheRUey4PB2XZOihm5U8z7mZkaDdD0Uvy02uiehvTHzQ2idUxCc1Q9bevsC6iHo58sjDK0GlY3nQlpSyDzj0LzuIH7bPzexG033XAAh48yiYK4oTq1zatMEH3/NbA8tNaXajD8gXIoPTsDFZWVZdfXKT3KVlnnDxTdZUaNybBaxLJZ2i5Tig/PpgW3r8E1RR2I2LcFVVBb+zP68NQq8S6gKxVufjsCVkHS8zh/13k0pukmwVgXGPPCbMV6RJpdouZDtKjVdpQIus13RJhnFI9RC5940dP27+oLJ3Z3YBfpNWIIygd56YifLV3bpQGkCyR+Qb4VIwM8fd2QDPqSQTaYTTjqxHZ1d3/P3aC8bJ0uRW8c3x2zVvemGoj71U9m183nmoX52fRntcUqNz+ei3zmltMQfgy0CHZr7dL4u3kKxUPxvBWNcKTLV9B6SN3KYV2MJnLyQi8b8FsnqNEuvbpqrLCnumFHQu+ZyGTF8shicOuYzbZWlaQ5r1h1C3FXcWpLhU6ZOmaIHUXo= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR10MB4344.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(39860400002)(396003)(376002)(346002)(451199018)(38070700005)(38100700002)(122000001)(86362001)(33656002)(36756003)(44832011)(2906002)(5660300002)(64756008)(66476007)(66446008)(66946007)(66556008)(8676002)(4326008)(41300700001)(8936002)(6916009)(76116006)(2616005)(6512007)(6506007)(53546011)(83380400001)(26005)(186003)(91956017)(478600001)(316002)(54906003)(71200400001)(6486002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?Dh9+W44CcD0QAq9YyvzZLldiv5Z5I3HfGrXNHqrq35yFYldhuVSgih+7RXus?= =?us-ascii?Q?VklShhdH0DjPoICNipSgVEB3Q2SLjw2l65mLpzm7hMj6TFEk54YcKlIw2XQZ?= =?us-ascii?Q?8/dAcdb5D8q9sYOeNIN78NcIWvQjuIo/RfgV5mme+UtZSkeBgl0Ems+4X2UX?= =?us-ascii?Q?D87AcPrPG8ZgLv1a2YR06tgVz3Zpbt7hrO/Y140/vB2o0kh29W3HYqkFwi+N?= =?us-ascii?Q?5ROJI/ysvFWgG/4oQjWDguCQECDj6jNgsHdsyQFyNr/hIieBg7Jm1pGWiAAz?= =?us-ascii?Q?Q7jFg7k2op6xkJL1zLCbCaWsJwPr4Kf6UImf8gwS+aBQLp70Ii9D9AtkEw4J?= =?us-ascii?Q?AuivJ0cJoZU/tBYVMomF/K4bI21GszxdJrPpU9XTkhldSeaidoybExDTUCBd?= =?us-ascii?Q?3/5SkMV78kZXsvUi7a0VhosOgm/eJla9DkodgMKz8Brcfux1tgDZTH5mmQ0r?= =?us-ascii?Q?iaczmMHzzsaAML/UFE/8gqkwxTWJj47xOZ8yWEDpZp3FwOb0HQcFMR684f40?= =?us-ascii?Q?1lEx9ZAmEtgn/vBufZkb+YP5r36qjbQk95ZPVNCKf0yOt3hemCRNLEZG1DeQ?= =?us-ascii?Q?Rx+X61kgmwwPojWDqevKyUCJ92Zg+blh5Yr3oyZEKS/4VeCd+DvryFurJI5H?= =?us-ascii?Q?SgUm+cZICEPtlOOniIllWzkTWEBqQ3NoBzdGOT3EUwUvpQZERQR2rrJfbYCh?= =?us-ascii?Q?9+URot5wXDs45cYy1gyrGVKFm89ddWwDygvPdx6RuGWqNDzLQtfh84zwmSh/?= =?us-ascii?Q?Uy4Ih8owg2JV6u522EutPdfCSGBWmZSpqn+7eODQtlI+LFFMY2rMXmoyz2ar?= =?us-ascii?Q?E1pPdiqbxicHXCu/3I0nE0tjMSv8HqBQ7JzAY/ZcGohgDn4nj11fAfQB9MHa?= =?us-ascii?Q?nIpvlu7y8nPhThK0N4j8rXiQDHq/HZj+lI5HXWgdJYi8l8OPoNf5ruScCsLy?= =?us-ascii?Q?MKUJULZ7DP7tz2XF3vgDmRJBwQnyvA/M+vo8cPqW4DvivoFRgNebbt2aYQjI?= =?us-ascii?Q?i17HExNJqJoPYzcqGlkWoLFt/QXUYpsRh3LM35PNgDWiDZtl3e5RjdFARDO0?= =?us-ascii?Q?DUc1Z/m6whABTE0zdQ0hBJlUBG/KWqdkwiOv5+f28+L98mo4IkEP/flVKOEH?= =?us-ascii?Q?NkNla/01dREVgFuay9TF8AMSCwrMsMiO92YbWcRHdZBY1G6do8B2/9UpQ7o9?= =?us-ascii?Q?B5Q8Fpy47Ca2AVBcK23JhUJ4KG7r/IeJl/SYQ/5SfOQjy30W8BBvUoLI0ioi?= =?us-ascii?Q?5YitLLCM+YKsMWdnBCPQ2YFjkQjY5lpRT9naLtsAgPPnXC0w7KS8jrwZ1TrB?= =?us-ascii?Q?Gg31o2zxpFI+p5aroIp503T53ugzXUKu493vwybPb7vrAqdD0x1kmWMjE4dq?= =?us-ascii?Q?vEHQb2fm9ilUKS8qhdMMfcKYu2G7zHIFadX6zvTxdYeFDqLyNYLmTnd9ICwH?= =?us-ascii?Q?csNPgvJlT2gl2LG4zwC5PDDJ8hwDJYC95pbt9Wr1AtS4HDJF4obuV8nrztOg?= =?us-ascii?Q?1OY6QfTYrlud+dDIT4kUDQJ2cd0KFYzu/i8PS4819z8vhAKLS3S1EZWGTRvA?= =?us-ascii?Q?j5YIhiV4YNCo90wQ1U7k83LyA0UVk1tTwDsBfiSG71/jb05KYXThEohz0znb?= =?us-ascii?Q?2A=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-ID: <9152A6969A022842AA00B677A450923D@namprd10.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: E8BdoSTOEpTr11TO2OMXqP+o2gbzj5+grp4fxMkKFApnzKWIYRmnF6iucMcx7P4NkBTtDmg+b/W09JIxjjMlUJp7S8JzRvRQprxZafnttmYpJwD+zpLWzBihVEJerkSQgW1rhMKg4LKHFe+16VFAlbraA/Dg/ULVL9TuogNSxkAiJx2UlKFBev827kKRqDjc7I+QjQ+79YbYRUhNJIiMxmpXwkb6Ck/wwiRraFeSiNqLSxPu85y0Okrmk9zRE/Ui8SlraEP2LeumR0/n5Hys8fCHPPO3Tlr8JC+7c/Dj1ebWLk4ak2g1qJH+WxFpp68ZOih+21erKNq9sF01+iGDmLChMdoY5fv0iLLxHQkFeydrUw+mipB0EzXpiOJl9Z6EciP4PiKU6xL6Ef1IkLlYGBZzBDJf5Vd3o0eHAyp7uoAeMGFz6E242JS36Kil86ksjFdZmePg5BJK2VGLtAAcWIJBFjIP8A8eQP4aNZ2lucqu1eoSRrpRG37QRU/ant11gZTE6+g2FcsHqZa/9RcKCP7crWdS4rf53rM/jJcZ0xhlDIYw3nHG2FeAxFNd2TQMVKP8HuZCUuJE4zcQ5OJFc/8+qqizRdbVpLDtH3DJE7Sijp+MKHKwgSFyY+Yg203pVPSBufYLXW/H996CFpQe+b+5QjlVcSqfXVf5HnioxjOc0dUr81Vi11AjlwfH2hq8IIQ2DQ+8fRgKUvX+inHCSws9+IaJqCYkqk05OeEw6zq/sXH3qDGTShQNMZzGTuRMmCIVnIPh8jKKV8wAPA+ygxPPnp2MFviP7ERzey/A4CM= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR10MB4344.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82f4a755-f357-401f-0d36-08db19a6ba45 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2023 16:13:28.3253 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pNV4KFS2DQ8vCsyF06oSQLXl/WIdPqqTyPfCvoXHtFQl2RIbhelTW8ok19WYg8ZImzei2xNpCJgox14q1DNR2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5161 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-02-28_13,2023-02-28_03,2023-02-09_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999 phishscore=0 spamscore=0 adultscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2302280134 X-Proofpoint-ORIG-GUID: OBu0KkCJB4NJSLycoa8SEtUFugzpwahU X-Proofpoint-GUID: OBu0KkCJB4NJSLycoa8SEtUFugzpwahU X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,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: Hi, Jakub, Thanks a lot for fixing this issue. I have several questions in below: > On Feb 28, 2023, at 3:26 AM, Jakub Jelinek via Gcc-patches wrote: > I think -fstrict-flex-arrays* options can be considered as language > mode changing options, by default flexible member-like arrays are > handled like flexible arrays, but that option can change the set of > the arrays which are treated like that. So, -fsanitize=3Dbounds should > change with that on what is considered acceptable and what isn't. > While -fsanitize=3Dbounds-strict should reject them all always to > continue previous behavior. As my understanding, without your current patch, the current -fsanitize=3Db= ounds-strict behaves like -fstrict-flex-arrays=3D2, i.e: it treats: [], [0] as flexible array members; but [1], [4] as regular arrays Then with your current patch, [0] will NOT be treated as flexible array mem= bers by default anymore, so, the -fsanitize=3Dbounds-strict will treats: [] as flexible array members; but [0], [1], [4] as regular arrays The same behavior as -fstrict-flex-arrays=3D3. Therefore, -fsanitize=3Dbounds-strict already implies -fstrict-flex-arrays= =3D3.=20 Is the above understanding correctly? >=20 > The following patch implements that. To support [0] array instrumentatio= n, > I had to change the meaning of the bounds argument to .UBSAN_BOUNDS, > previously it was the TYPE_MAX_VALUE of the domain unless ignore_off_by_o= ne > (used for taking address of the array element rather than accessing it; > in that case 1 is added to the bound argument) and the later lowered chec= ks > were if (index > bound) report_failure (). > The problem with that is that for [0] arrays where (at least for C++) > the max value is all ones, for accesses that condition will be never true= ; > for addresses of elements it was working (in C++) correctly before. > This patch changes it to add 1 + ignore_off_by_one, so -1 becomes 0 or > 1 for &array_ref and changing the lowering to be if (index >=3D bound) > report_failure (). Furthermore, as C represents the [0] arrays with > NULL TYPE_MAX_VALUE, I treated those like the C++ ones. For [0] arrays, why C++ and C represent with different IR?=20 thanks. Qing >=20