From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id E3FA43858D33 for ; Thu, 18 Apr 2024 21:29:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E3FA43858D33 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E3FA43858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1713475802; cv=pass; b=eig7Eig0350/crZr/DfptOEAaw4tO5Z5y/tL/oPx5f2uJTv0JPP2kFSZ0EjYMRIviyV+e7olR06lfmm3VccTSyrZfy/DSsUPm0LV6ycmdc4Dhoz78vNgfhWM+/famHDbPLuB6yppyBiKNIDv6iqEKuH1M0NEaikSq4JCuBIJ15A= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1713475802; c=relaxed/simple; bh=t/n+C6rA/FNOzPT0EzDo9QRwlA6yZkMvZdcMZpeS9jI=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:To:From: MIME-Version; b=LQYxCp3CRs8e6RUQ5OGRcZA+KFXbZabHiRmtTDbjm1cRx9QmzmZj8CWpy3rogizBHNZA5A6H3v5jN4u7dcNAWUwshrZpLSFBGbyw5WRnHU9zbuQdoD32NXi3ZBBJgTKQplcYGLmT4hJtdW05MHn8ZpAFO8YCEKzHZbYFibwDYIE= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43IJi79w029036 for ; Thu, 18 Apr 2024 21:29:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2023-11-20; bh=53cynK2Aohki0IwI7qVqC+m/clUULzlT7J0NpHRADBE=; b=Ujvigkkl1F+4BVvyuIaqo02Is2Q5w6x0NsaLKxsakkqAwGyghiEtFcCGJgjOXKj/sVu0 ExnS2SeL5Rkf7zfcnSIiJvkB4nCExaOY5r8M5LWcFGLshN9HoZW+fxoDF2uZbhQDoUC9 Qim1SbOgdc82EVmtxUmawItTJg7gOagkSH6sbYODv1hsLTuBPxoJSr3A+c61+IAuXkTt uR2BHLOhn7c+pG9WuCDPaOELgI8oyAMqM8lMnArCjjuzZXHhm83toWLUorhgZ437NuC/ jF5I2r8AHbh1MOZV3QVfeX9B5PzvNk28GlO2D7fukW1IdVLYeNiq1c7I8HkpNVP7MNky TQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3xfj3ebtcw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 18 Apr 2024 21:29:59 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 43IK0td2004350 for ; Thu, 18 Apr 2024 21:29:58 GMT Received: from nam10-mw2-obe.outbound.protection.outlook.com (mail-mw2nam10lp2101.outbound.protection.outlook.com [104.47.55.101]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3xfgghahvb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Thu, 18 Apr 2024 21:29:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UBW0qtNDHr8LQFq3l2XHF7rarw6rYs1bflCeVTRKXPFwqIeqfVXm69i+aqEPDGuiQ3eNHfykgwPgb5WsApKpC2p1X5QRYTudZFaLIlMVQsJz3QLvgsT/GVBZLWeaDKCXCKTmsoaM2HrP1IhjJB8f7IoFYqI+BG1oyXZQVLVtndlHwkznr4b875OwOWZefohspIn/QK33AqQYNuOsaJS6EmraZ/kce74xHcWv0ePwNjFy8miH6WAbg4nHAX/pvjZBX6yei69nQV36+UKTo0H8G8D7sFNSFwNvM6Zl4F7AyIPuHCovaL8McYchXBonaX2bHPGNv94NAXL5B7i0y2gwKw== 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=53cynK2Aohki0IwI7qVqC+m/clUULzlT7J0NpHRADBE=; b=KpIJr2acppFjgp7izLrbNjlSEGumkcGdO6h6pTNFO4azPFgLa6N3hZzDe28es3TzfZlaRQYZ+CsIBpe8bFphaHZvxngDm8LVE6RZo7ReBZ2Nvedz6xNLYJpE2gpXi0cl7t2M6ntPrWdBxBb3AOqt4S94AZhFoJHVyXYZhiZJhGcRUdGlZekKSIQkSPfP8DC3krLm9wfazZsGDrnseZN8r4xjGedfHzsyWHxX8sh27f4EmytBYmkzU9EXSPOgbIcabkqT7Ac4sUAKZwme6rnsdX6XqUd3tJpFmbz4/aeKa6c7vTBPIDkFND/iZN+6MnyHO93kZuEvnWjL2WU1C45/NA== 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=53cynK2Aohki0IwI7qVqC+m/clUULzlT7J0NpHRADBE=; b=nRTxs6rUlbkZuvXY9dm3lxO3vqMQhT5LFwMlHqvr4OsGU0S/Q1jiVmfivXoQbJSNQhCmtnmfzTzlKHs5zh6Vc2y9gOriX8eBx/BSQqyEaTNaGJeNQSD3E/H1PDWEjfkl+/jLehsNrkcn92L+z+Db+PTK6d+42nqjvCZ+2vzIuTA= Received: from DS0PR10MB7953.namprd10.prod.outlook.com (2603:10b6:8:1a1::22) by BLAPR10MB5076.namprd10.prod.outlook.com (2603:10b6:208:30f::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.40; Thu, 18 Apr 2024 21:29:55 +0000 Received: from DS0PR10MB7953.namprd10.prod.outlook.com ([fe80::ddec:934d:1117:499d]) by DS0PR10MB7953.namprd10.prod.outlook.com ([fe80::ddec:934d:1117:499d%3]) with mapi id 15.20.7409.042; Thu, 18 Apr 2024 21:29:54 +0000 Message-ID: Date: Thu, 18 Apr 2024 14:29:52 -0700 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3] bpf: remove huge memory waste with string allocation. To: Cupertino Miranda Cc: gcc-patches@gcc.gnu.org, jose.marchesi@oracle.com, elena.zannoni@oracle.com References: <20240418205821.366065-1-cupertino.miranda@oracle.com> From: David Faust Content-Language: en-US In-Reply-To: <20240418205821.366065-1-cupertino.miranda@oracle.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SJ0P220CA0002.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:41b::10) To DS0PR10MB7953.namprd10.prod.outlook.com (2603:10b6:8:1a1::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB7953:EE_|BLAPR10MB5076:EE_ X-MS-Office365-Filtering-Correlation-Id: ddaf2770-e03e-40e9-2900-08dc5feeb057 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Mm9EK0h5L1MzQStvWDdQTGpLT3diaG9EVlNYZTlJY2svYU9kclFqN216dzBT?= =?utf-8?B?U0FIL1Y5ZkUyRHYwM0NKK3lHdVV2QVUrSkhybDhpdFdRNEZFcWtoNmU1Ykxx?= =?utf-8?B?NTVXWVp1dFdkRmRKTUc2SlMxanMzbHZaTzZKSXZINFpLZjUvemlzRU1Kc1l6?= =?utf-8?B?SUJDYyt1ZWNWMmRrMjIxVDY1bU5mMm5LdEttTEdYcHJwZGFKV0NBTXNpR2Uy?= =?utf-8?B?YVV0U1V6QU5wd2FEeC9SSHYvNktyVk1KdEY1RTdFZDJoMmFUOUhCYWFVTHI5?= =?utf-8?B?aW5memlIY3c2UGo3ZUE3S2p1dm5CR0ZLdnYvRlF6U0hia3AwOXQrbHZ3UnZV?= =?utf-8?B?Uk1KK0NBN1JYUnZwZ05YMDMvOFRoMGtueWRWL2ZKbWM4M29veVROT2ZSa2dt?= =?utf-8?B?U1BXam8yY2Q4c0dPT04yMDh6NHErdnNrRzFiVVI5OHFOaEx4NW5EV25rR0sx?= =?utf-8?B?dUVIT3NaanRVNGZyTm1scFIraGVGTnZJWTBoY1UxQjlsb29XQUxPaC9QL3Na?= =?utf-8?B?ZU1IZkNUK1l3bTMvQ3ZZMUdoeHh4d3pGOUJpc2drd2xYRWJCZk9Eb3AzS3dH?= =?utf-8?B?a0ZkVEJ6K2RDYklzZWsrTDdTVTJZNkcxU3lrSmZ6ZnpoUjIxaUx4bFVVdS9w?= =?utf-8?B?eHhaVGlVQ1dvRUd0SkpYQk94TG1QWEx4cTc5NXQrUmUrV3VJWlFCNzNQNzQw?= =?utf-8?B?eHlBdi8rNHpPUFlqTE9nWDQySHlUdzk2aVFFczRjVTg0cnlTeFBUbnE3TXpH?= =?utf-8?B?aWhKMzc0c09kQ3Zpb0Q5UnBpczYwTlRHM3VJK1FPV1d3Um9KblhhaGVSd3N4?= =?utf-8?B?a1MwbGtJdVRnSTlKclk5VE9iL2c4S1dEVjhvQ2JjWmo0YXpnRVF1RCtjUDIw?= =?utf-8?B?VE1Pb28xdFg3SFNHc1FreTcxbWljUW13RE5tK0oxajF0bHJzOXFYS3hxU3dJ?= =?utf-8?B?cnR3Z1l6K3B5ckEydnh3bEtFRzk5c3Rkc1oxV290SFF2M1JKa0l5RlJSUDJL?= =?utf-8?B?ZmJnNkk2OENPTXlBQ1JCeUJkWlJkcG1Pc2twamZOM0xuN0JLcjAwVFl4OFJT?= =?utf-8?B?Y1lqdzdnUUQvQUFZV2FnaFJCQzBJUWpnM0FwVVpRVE12Q0thYjFxc09tVnJP?= =?utf-8?B?WDhSWEtxSGFyUFpaMWg5L3BBbGxvakdmdUI4Mkl1R2cxZEhhMHYxRDdCU1ZS?= =?utf-8?B?VlJJbjlCc25tSFVLcDJtTHhhWXBVZTdGVUlxdkJVbVpyU3BJR25pTnFUem9X?= =?utf-8?B?c0wzZTVYNGVHdmJWNWp6SnFNajZnNVh3TjBoSkt1R1d1WTBwb1dtNVlmRDZp?= =?utf-8?B?ejg5WjNqMXBZWWlPRkxSbGpXYkNhMHVyMVFBdU9GSXVuRmFaa1dub3B5Y1A5?= =?utf-8?B?cFdsY3dBdVNEVUJXams0K1lBZFFxQUhVQjlFdHdkU0Jwd3VJRGFvTjlCMnRr?= =?utf-8?B?clM0Z3BlcCtvZ1ZTWS9UTU8wdU41VTV2eXdwemYxWkhFdHpveVYzaU8xU3J0?= =?utf-8?B?bDNtd2JTcWdnRlZaVDR1eXE0U1o2MVczR01tcnRnV01GekFFR3d3TFVuajVt?= =?utf-8?B?UnI4VHFBTFZWUEJkTWpqbU9pN2NDZ1RMUkM3Z3V0QmtBaUw1blhWaVQyRkM1?= =?utf-8?B?aEpwM1ZCSndCMzIrTnZmUGNHTU44ZkVwMGNrMUdpSDRHK1dhNVdETFdtSkdn?= =?utf-8?B?UmJodjFsTGJFcUx3MVpRNXFXT25Vd3lwYWczbUZrOXlmVU43bCt0K2FBPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR10MB7953.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(376005)(1800799015);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VENxaDg3UThLVDN4U25kNm5jcThLNFpsM0JyRWZ3aC9YNGc1OWJyQTNkM1R3?= =?utf-8?B?THZSZUw2M0FFQllYdXVLVWNrRDdKSE4wTDFsN0FiOUs0U0lIeG8zbCt3a3pH?= =?utf-8?B?bG5aZjlBSmZlM3ZHN2pQY09CeFROR1dGSkhRaVRnUEp6eCtqT0FVQlEzRWF1?= =?utf-8?B?R0ZiQmtFTk42aGt4KzB6VTkvQmJPcWxqNU53NTNYa1c4OW9WV29rYUVKcldY?= =?utf-8?B?YTUyd2VZTGM3SUR2M1QxZzZJSTVEb0FUTGw4bUVtRkNyU05BQ3hqTndjRXd2?= =?utf-8?B?ZjZpNkdsUmhuMm1Ga290cXdXclpGZWdZVFFlOUl6aWNqRzBOc1BrMDFOVEdi?= =?utf-8?B?alZaajhDOWw5eGN1SW5NWm1JczFXY2VjMXQ1MTNZdjJlQ1ArRzhackFpT0g2?= =?utf-8?B?UFI3NS83RkRKanRFTXYyRmZ1YkVXT1BjazhaU28vZU13YnU4K0tRSzBMc2tw?= =?utf-8?B?bEhodTdTYStyVDJVd1dMKzJjdEpGcUsvQ1FJbzE0Sks1NEk3dThWbGhCNkNw?= =?utf-8?B?VlFqZVFMZ0lyTCtaSkQxOTlTVFBoRGdINThXTkhsdUkyMjVlMVcxZHNyT0JP?= =?utf-8?B?Y3VJU3NXRzFVZXFCdWhwMWJPanduRTJqTDI1YjFrTlBuNnVMTUIyTTBUSkFw?= =?utf-8?B?aENQSUE2T0hXWXJNdHV5L29hL2ltRGpOUWYrNU9EbGNsRVZOVHJjS090QWRq?= =?utf-8?B?MU1HRUNrTytpaXlPTFhPR05vYmJxQWtMZ2swSkNpcEtWaEhHZ0UwbzI0aEJE?= =?utf-8?B?TFRtcnlhTDRTMCtZemJ5b1QrUG1LeWI4aFltVHp6WitwTWJ6Smo1WnVwZzdi?= =?utf-8?B?RVZUdnFPTXRjWkFrdDB5WHJaTWN3R0hiZHl2Q1hmaXg5dEpZN1AzTDRqcnR3?= =?utf-8?B?OXkyd2lhYURDd0pHOXQ4eGhyT29iSXIrdW1hZFMwU3R6UFl6Vmp3LzlwRnYv?= =?utf-8?B?TFRoS2ZOS01qSm40YnpWaFY0aHNVdUpnVFk0Z2ZRWWlIaEtvbkFCTFdwdUNQ?= =?utf-8?B?d0pWTEQyejJUSWpRTVp6SnFwL2NRek9TdFVUakxkUWF2V2ZscDI0OERwT2NQ?= =?utf-8?B?b1d4VWpxQncrREZ5K3hTVlZpRS9hdVh5ZGRHazhvaDJIeGxvb2tWZmgwd1Mz?= =?utf-8?B?MnNMUTdDNytXdms4Z0pPdGhWYXNtVDFJVVFSbHdmM01EdlZLbXZaVHVmb3BI?= =?utf-8?B?YmNCZHF6bTkralVBMkdjUnVWN3dPWTM0OVMzMXB1UEVqdGpBdjJOZThrbWVj?= =?utf-8?B?TkNETXZoZktlSXpMVkVGaHhuMGZtc2NOSUxjR3F4a3EwYnRKTzQ1Q3RtU0dl?= =?utf-8?B?eDZMcE1HQmRuYzEvVldNUUZ6NXc1cG1oeEkxSW5vL0VleHlwbUE2ZHdibEl3?= =?utf-8?B?YmJEeFhNcEtOSVBlc3VicXc0akxnM3RsZlJGck5vL1BKVHdsQy8vbUdFVnVo?= =?utf-8?B?RDhuVi9sZlo1WG5iVVdwbGllc3p5dk5udGViOVptbWpIZm5Ib29jL0MvK2VE?= =?utf-8?B?UmJxWklVcVFob0F5ZU1kUkJWdmlSSmRweDVWZyt3RmkzcHVIOWJienRUMW9t?= =?utf-8?B?VnhtdGdFdlZvb2szekRJdnl6cWk2clB2aVdaRTF6ZUo1Q3ZnT29SU2NPTjFF?= =?utf-8?B?bkJWMGdsWG1CZThqVEYyeTlvYmJFYVNTOHB6cmI4cjhGN2tFS1BaS3pNMmZ1?= =?utf-8?B?czhNZThJMld6aGtSeGEwa0lUZGdObGJleFM1a2tJYTBrR3RCZzJwSUlobXNm?= =?utf-8?B?dG1XU3pLWlBNL1RnR01CVmZVRjRkdVp1VGU1WWpSYytncVAxd0MzQ0tPdFAx?= =?utf-8?B?dmJUWXFCeHBuQkFIQU1mSWdsVFFQUzNsZjhveU9FKzU5TDhIUndTUHdBZVJx?= =?utf-8?B?VldPKy9ZYjE0OFpqV011M3g5SG1RRzF4Z0Z2RTF2S1JiY3dZSGRCRTFmYWZP?= =?utf-8?B?UGY5dndVT1hodkpleVp1cXVLVEpNeVJFVHRpZE9KUmpmeWNibm1aU0xKNVNn?= =?utf-8?B?ZlJjR21tUzAwUzBUb3E0czlNY0hBaUVGcWlDWHdabXYvOElLL3VKY05vclRU?= =?utf-8?B?cEFKbUtRaVZRM0dOdlVRdThqaU1PcVFSQmR3OW52czcxczhQVHcwTjBTNUky?= =?utf-8?Q?GDvQSjejQkrmT2IIUmewQIMGm?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: h6Jwrn6jbRs+0aSqcT7ItjtD0S9IirodwDFHMhK/1aWJd2aZtvOUWeVgIv1nMwfoeAE3U7ARDrGo4Na0ePmKCfzAtEl+72My7h02Qnw2C8x4TkD7OIo53wVCvCCIqkhUvnivYIWUekLf1gPbDBK86f3BG0NGr+fO4lsd0ywP5CJp/U9eJOKPZ9+1iFPsyZsfMn1Fhz3QrIfTu1XDGrdeFS/+qAS7Plkvki46JlWDYTxl+UNRe1RE0sQA3KABmyZC9zUDbptqR73GbUGoShy+nLdLvLN7sjfrYJGdjfA6dezWJn3H5mBy5w0TeJxAH8bh0cOaol0KvB6F7fC/GAWJMecftzqi208Dc9mlM3ueVncHL4XU4ksmKNX2FDWmhjsMnXvW9RuNtcgPkhPa/wgtCRijEnBYYcJHhc770ofEmdxLkD6pn6ohHNeBE0YiRO/lwdmjYIBezTd02zO7YVknv9ySl2mGlnQWLMbSh+63FAhHhsAxHx/Pc7jwsrL26LL+/vFMUQ8Jzg4E2Oti8CGS0eOCsPgs0j+w3syx6Wv0AxwVim+v3QgJI9f8ql3AxyGd9Oo7MwWMQQHEoUOuZLwBqi6thvxmq79lIB/+MGwmu7c= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ddaf2770-e03e-40e9-2900-08dc5feeb057 X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB7953.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 21:29:54.7136 (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: Cg8uIAE/N3cR0XxA8xnvzMuLyp1+Y3pim/42qEpM853E18LJ7yanxgtNdgWjk5rn2GeeT2xLEgt883ID6FUa0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5076 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-18_19,2024-04-17_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 adultscore=0 mlxlogscore=999 suspectscore=0 bulkscore=0 spamscore=0 mlxscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404180155 X-Proofpoint-GUID: Lta8-lge1s-SIWim0ga9R0GmJetyUpx8 X-Proofpoint-ORIG-GUID: Lta8-lge1s-SIWim0ga9R0GmJetyUpx8 X-Spam-Status: No, score=-13.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,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 Cupertino, On 4/18/24 13:58, Cupertino Miranda wrote: > Hi David, everyone, > > Following Davids last review I decided to properly detect error cases, > as suggested. > The error however should be reported earlier in compilation in > pack_enum_valud function, where all the errors are reported. > > Thanks for the quick and detailed reviews. > > Regards, > Cupertino Thanks for taking the time on this. This version is nice, just one little comment: > > The BPF backend was allocating an unnecessarily large string when > constructing CO-RE relocations for enum types. > This patch further verifies if an enumerator is valid for CO-RE > representability and returns an error in those cases. The second sentence is a little awkward and seems to imply the error is returned when the enumerator is valid :) Perhaps "...verifies that an enumerator is valid for CO-RE, and returns an error if it is not" or similar would be more clear? Otherwise, OK. Thanks! > > gcc/ChangeLog: > * config/bpf/core-builtins.cc (get_index_for_enum_value): Create > function. > (pack_enum_value): Check for enumerator and error out. > (process_enum_value): Correct string allocation. > --- > gcc/config/bpf/core-builtins.cc | 57 ++++++++++++++++++++++----------- > 1 file changed, 38 insertions(+), 19 deletions(-) > > diff --git a/gcc/config/bpf/core-builtins.cc b/gcc/config/bpf/core-builtins.cc > index e03e986e2c1..829acea98f7 100644 > --- a/gcc/config/bpf/core-builtins.cc > +++ b/gcc/config/bpf/core-builtins.cc > @@ -795,6 +795,23 @@ process_field_expr (struct cr_builtins *data) > static GTY(()) hash_map *bpf_enum_mappings; > tree enum_value_type = NULL_TREE; > > +static int > +get_index_for_enum_value (tree type, tree expr) > +{ > + gcc_assert (TREE_CODE (expr) == CONST_DECL > + && TREE_CODE (type) == ENUMERAL_TYPE); > + > + unsigned int index = 0; > + for (tree l = TYPE_VALUES (type); l; l = TREE_CHAIN (l)) > + { > + gcc_assert (index < (1 << 16)); > + if (TREE_VALUE (l) == expr) > + return index; > + index++; > + } > + return -1; > +} > + > /* Pack helper for the __builtin_preserve_enum_value. */ > > static struct cr_local > @@ -846,6 +863,16 @@ pack_enum_value_fail: > ret.reloc_data.default_value = integer_one_node; > } > > + if (ret.fail == false ) > + { > + int index = get_index_for_enum_value (type, tmp); > + if (index == -1 || index >= (1 << 16)) > + { > + bpf_error ("enum value in CO-RE builtin cannot be represented"); > + ret.fail = true; > + } > + } > + > ret.reloc_data.type = type; > ret.reloc_data.kind = kind; > return ret; > @@ -864,25 +891,17 @@ process_enum_value (struct cr_builtins *data) > > struct cr_final ret = { NULL, type, data->kind }; > > - if (TREE_CODE (expr) == CONST_DECL > - && TREE_CODE (type) == ENUMERAL_TYPE) > - { > - unsigned int index = 0; > - for (tree l = TYPE_VALUES (type); l; l = TREE_CHAIN (l)) > - { > - if (TREE_VALUE (l) == expr) > - { > - char *tmp = (char *) ggc_alloc_atomic ((index / 10) + 1); > - sprintf (tmp, "%d", index); > - ret.str = (const char *) tmp; > - > - break; > - } > - index++; > - } > - } > - else > - gcc_unreachable (); > + gcc_assert (TREE_CODE (expr) == CONST_DECL > + && TREE_CODE (type) == ENUMERAL_TYPE); > + > + int index = get_index_for_enum_value (type, expr); > + gcc_assert (index != -1 && index < (1 << 16)); > + > + /* Index can only be a value up to 2^16. Should always fit > + in 6 chars. */ > + char tmp[6]; > + sprintf (tmp, "%u", index); > + ret.str = CONST_CAST (char *, ggc_strdup(tmp)); > > return ret; > }