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 258893858D1E for ; Mon, 9 Oct 2023 10:28:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 258893858D1E 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 (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 398NhvQV029334; Mon, 9 Oct 2023 10:28:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : references : date : in-reply-to : message-id : content-type : content-transfer-encoding : mime-version; s=corp-2023-03-30; bh=VHUFF2LIcv2aEoelmfe1CMJl/z0FN4twJbmQ6QVeMKo=; b=n1IW6F6lXOCXJ5mR0DDFY9X+F7tfiLULEY5FRiiY8jcbeb6Jf/wOFSVK5uXyOS4jmYK3 eRFYHW7hcz/b7364LvslsYS0wAszKaO11gaEx6fPheBpl5q9wSb18VWqipNhBGoBDdDB +OFSuYfwMBdIMi/DNI1aF+91DniwuvCqseYMWMmpWxmchwE49kJ5SNTEHDNsdO2M387z sD3LBWFikzQl6L9D7iczWOvtz542hAMZJ11BJPM4DucSebK2HTUG5Yo4RUX4Qyql757+ NLGWLnGxT0K5+hP8O3sfZzMsnAc9jVaiCFgUPOU8yYzkymFEvUXvDQgVW6zgo0GByKa9 KQ== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3tjx8cag2c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Oct 2023 10:28:05 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 3998bYpr014880; Mon, 9 Oct 2023 10:28:04 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2100.outbound.protection.outlook.com [104.47.70.100]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3tjws4vr2n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 09 Oct 2023 10:28:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WTSV4T6R7iX03Iv9rUiXDw97b/KI2Bco8gOvnl6eb5LSfw7mApHms2VJV42QwL6RzDSgAsv3Gf3qWgqRluQzJKmAOL5ZR2rcgN7HmWk9BpLhe1BvAREj2r8HsyypmognGdefklNXrsjMA4eB5ORpYdiEfmrs8NPNpKOtTEBM0WfH6cbuaw5mFqIKZVw3GdJMGc/JnavV82/kdnBr7qIWM9coiCjiaoEMGAPrCwAduMQ2CLNybRgbnWEMewXZWdAo919conszmPM6BGatsV19RG1Y2IXfY5XWRnyHS61e/xvHPIaTi+vntVSPy8e76e/4ch2zQmr/m8N4FQKPF/yNxA== 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=VHUFF2LIcv2aEoelmfe1CMJl/z0FN4twJbmQ6QVeMKo=; b=dX8hu94pYNxnzmlpWprc/9JDYYWe3xjo7852SqxaTY79o8efZgIh7D/iKoBlMRCZ7XDy5G0UFnND27CLPKH+m4/JlbLX4cl8xUFQQBmIhuZMjXS2ED/ntDSd+BYK2r6ZckbnTEOEnpa+by8oWPRpMlmX+Y0yK1WE4RUy8F5zURkNni/DlAFN+Yd0RQuSTaSpGtn5aMT1g57jJuzm466bda8Y08z3h0WZWLsyn3j4QT2P6S4fSIm1u+O4pEprHMUNK3rhj0jTcbsv7hVo1kZuPy/sQR4J2Dgf2wxMfMtX16VITyCzBDNqlOLigKALtZji4NNynqorA/hOJljiMYgrVw== 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=VHUFF2LIcv2aEoelmfe1CMJl/z0FN4twJbmQ6QVeMKo=; b=xc5bwpk95A/BQ1F677NdMUHQG3RyCtO7evSAPm1nUx2Y+ijBAsTPYizoqYo1V+wWCVGY/kr9eEX/bJdoEG+k4NcgAFn8ELiVERIIricvsz48XoeXsJ/9/V3wr0Yw7xkTGlkNUntY/4KHT/2HHJyB4Kq/Yh+EJ68nsh1LLdGsu80= Received: from DS0PR10MB6798.namprd10.prod.outlook.com (2603:10b6:8:13c::20) by BN0PR10MB4950.namprd10.prod.outlook.com (2603:10b6:408:12a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.38; Mon, 9 Oct 2023 10:28:02 +0000 Received: from DS0PR10MB6798.namprd10.prod.outlook.com ([fe80::19ff:c8cb:d04d:8b5a]) by DS0PR10MB6798.namprd10.prod.outlook.com ([fe80::19ff:c8cb:d04d:8b5a%4]) with mapi id 15.20.6863.032; Mon, 9 Oct 2023 10:28:02 +0000 From: Nick Alcock To: =?utf-8?Q?Torbj=C3=B6rn?= SVENSSON Cc: , , , Yvan ROUX Subject: Re: [PATCH v5] libctf: Sanitize error types for PR 30836 References: <87jzs3l95z.fsf@esperi.org.uk> <20231005083920.2676339-1-torbjorn.svensson@foss.st.com> Emacs: if it payed rent for disk space, you'd be rich. Date: Mon, 09 Oct 2023 11:27:54 +0100 In-Reply-To: <20231005083920.2676339-1-torbjorn.svensson@foss.st.com> (=?utf-8?Q?=22Torbj=C3=B6rn?= SVENSSON"'s message of "Thu, 5 Oct 2023 10:39:21 +0200") Message-ID: <8734ykks45.fsf@esperi.org.uk> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.3 (gnu/linux) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO4P123CA0504.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:1ab::23) To DS0PR10MB6798.namprd10.prod.outlook.com (2603:10b6:8:13c::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR10MB6798:EE_|BN0PR10MB4950:EE_ X-MS-Office365-Filtering-Correlation-Id: 296ced8e-e642-49e0-3bc9-08dbc8b26a6b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oN1MhRmP03ygoGLaAH6WWaYXUeTdRQ7ngigUjWLLARPLTE0oNUvus+NbADrU6nQXuXV6Z1tH2pc1aKjvwJ6n/wUbNJ+8SrDn+oiHPUA2wNvzWsWBk7g2SwYYHASeMKkZQ52rKJp66wjlcBW4w4IKlEWpHzXpmhc2SEg9hM1e3+n9h4ymEc2ZcdxkGimXjJlGw+5sw0EEZka1hLD4XfTtnyLWvoKUKrKcDnuFCz+WuK2KGmsOqrN/qr6xHgkaEgKNaysp7NaAcu2Oy7rg9Vm4vLcnLJLHJTmP5/Cy0foLU406Hu5b3dRY/ymNzQpje5X772dmTLteRWKI/W4uJAi6RTUvX695iwm6wW6JQYQHsDUZM758fy5yGvgn9bBYgUCQvE0tUDBnkRUa2j7fDCT5Ss4+MB59R7ehw2IdWykSn111MjhDX/fJhVj6BQvy2rcicveptpVoIAyvOysmDpCcSkYxL0N5hI2xxPH2BQpstL8WXdXUKvxCdNANvFYqRxCyOPf2kLqbMQ6NFG3ykjwULVMgwhGyBM/Jo/hzKfpvsRjByN23CtdlNoJjm2VSIWh6 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR10MB6798.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(376002)(396003)(136003)(346002)(230922051799003)(1800799009)(451199024)(64100799003)(186009)(38100700002)(86362001)(36756003)(2906002)(9686003)(6512007)(6486002)(478600001)(41300700001)(8936002)(5660300002)(4326008)(8676002)(6666004)(44832011)(83380400001)(6506007)(66476007)(54906003)(66946007)(66556008)(6916009)(316002)(66574015);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NEVPVjVwOEg0Rm1sSFpPSXFHUlBaRU45ekNQNnAyZXdhUFUrVGltbjl6RGJi?= =?utf-8?B?NWFNVTZUUmRnc245OEVnWkt3bmlPYlorOU1PQmRXL0xQdWpKcGdrU21sM2FV?= =?utf-8?B?MEN4N2xCR2ZsUk11SWxORVI3RkVnMWlTUllaVE9OODJUck5pVVZ2SmVPVjV0?= =?utf-8?B?eGNoS3p6c2t4MEFsWDFTeGN2Ykh1S1BXbnptK0w0WDZKZlhkcHc3aEw4Nmhk?= =?utf-8?B?cjEweWlnS2JVQWQ1VUVSK0dhYUw2WTNNMk9lbU1hZjZNSFhoN00yeUl5a09U?= =?utf-8?B?OHp0YXV5ZUs0Z0V4ZEtxZTI2eTFreEVkbXVUVWs4RXE5bE9GR3orZ2YwbHla?= =?utf-8?B?d2xXVmxhMks2N0FKVnNVMWs5YWJjeWU3dUN5cVJXbnVHdjR5bTBuZEdCQkcz?= =?utf-8?B?QjFUeFhXUGRBRTVrRmdhTi80SHFld1lHb0ZKUGVmS3lNakFvaHp2YWMwbHVo?= =?utf-8?B?eEF4Vk80ZnRkREpwZHRURFltZS9GdWZVeW1ZTDUzZUZ3L0pTSUVuRGtpeXlV?= =?utf-8?B?UEFCMHBLRWhxc2IzK1RJZ2dkVTdBTVY2ZGY1eVFFK2kwNVZ6bWE2ZytQUmE2?= =?utf-8?B?cFVSeFVOSFBtYTZJMDI4V0ZzUnQvY0lWcXNYcXhMR1V6LzY0MmxrUjNnTXlX?= =?utf-8?B?ZkU5RHZMdzRPTGlLR1ZyL2duVUtFOWdiRWdjbSszdkQrc1p1amdkNnVsS0dO?= =?utf-8?B?TW5BVXlUVFU3WksxZys3TnNFamx5Y2ZiRkluR2FxTEZ4dm4wbXRydVFoaS8x?= =?utf-8?B?cW1EMXE4a0J0SUR6TTBXdmRtOVVnTURCeUtxai9WMU5lOWpabU1uWmtPeDVh?= =?utf-8?B?VkxDOVZmZ3J4MXVoSGY4cjlDS3QyR2xmbDJMU1dPYmIyeFZqdEMweElObU9E?= =?utf-8?B?M0pmaS9ucmJGak5TdUcxMkRmMjRGSjVoTTUzS2tkcVJFWS9VTEtyNENCeS9Y?= =?utf-8?B?d3JtQXErMGVmeE1wTWJMVHIzRVd6NVA1eHFBZ0Y0RkhjcExwM0pHV05wV0k0?= =?utf-8?B?cEx6QWowaGtEOHBSVk1NM1ZIQUFkZkRqM2pkTXlmdmJ1NUtjYXorTlBjYVI2?= =?utf-8?B?K0ZMdjdSOVJiYkN0Qm0vei9XNHNILzd3ZS9GNGc3MnJDdDlsdVhNZS9mSVdt?= =?utf-8?B?VmY2R0RaZ2tYeHpxYm1wa0JMcm5MUi9uS1EwYW1GY01iYUUwb1huSmNTeGZK?= =?utf-8?B?RHB2cEVxSGFsOU52NUpSMTFhM2xLLzQxSGY0UUlVZlZJQnYzNnJpcXJGaHYz?= =?utf-8?B?VUtmcWkxUEdDd1A2ZUVMZmRHQ3UydU9rNmJrT0ZXZkxSR2hnWW5JVElSa01R?= =?utf-8?B?RUJXYWxValBUWmI4dVAzR3lvZDJUZTlmK0dLNWJTRVFtOXZVZmNtVmV6eEEy?= =?utf-8?B?aUhaUUVkbjczYUVHQUV1Slh0cGoxVXBLaDVQR1ovZG1DSEQ2bXNVTG9hQXJJ?= =?utf-8?B?LzRkQ3JhQU5QOWxjbFRZdklpREoxT1QvREFEU01rczBkdENJNjc1U3lDdHBX?= =?utf-8?B?VUVnQ0hKVlA0RVFGdFcwd0txclRSRjl5L1AwZWZDQmZlUmE5K0F1cmJQcGxD?= =?utf-8?B?TWQ0U3JHa3NyQnpyZ0ZlUnc1cFlwM0ttNEg0b21temg3dVMrb0xUdDZFSncy?= =?utf-8?B?QjcyemtwQ3ZwUHZYOGl3TFQ0S1RhTy9DSkIzckFWTm1sU3pEa1ROVjY0aXFL?= =?utf-8?B?OVpWTEdPYU1CZHJIZ1MvSCtjVG5OSkVxZktyY3FQY1VsZHJ3RXdwdlhUUTdC?= =?utf-8?B?amxzVXpaOHhXMHNmYk5xb2t2bGxLdFBrN2twQjQ2WmRncU9sdzNkQ1ZJYjBy?= =?utf-8?B?WnZmNG5hUndOY0hndDgyM2dJK2dtQmx4VW9YY1FPOG9UWndpaTRYdWo0TlUv?= =?utf-8?B?T01wUXBHTzNoTUdSb3NqNHJpa0sxUnYyU0R0M21VSWFZVGtqZDdpTTNPS0Yx?= =?utf-8?B?N3lqTTN1OXI2Ykk5RDlMbmdaeE01ejhJV3p1VnpCOG1NMHRGb2J4TTB4VWhX?= =?utf-8?B?aFNQMDlKOXJPRDVHQjBIR2dKbncrSXJxcmdKL29qdXFXa1ZwNVVXd01Zemhq?= =?utf-8?B?UHdZQ0d0bUNoclR3dXNIb3lhalZzY1ZxMDZmQVppN0Ira3hPdlpNNWd2alpo?= =?utf-8?B?WGFzQ3g3ZlRGRWJMNkkzU0NEb1NPcWx0TFpHS3NobFZid3ByeXJxU3pwN1V3?= =?utf-8?B?NVE9PQ==?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: NHplQKVtfLgsUwp1j0wiITP55AQFJqL+g2qWqmxaJxnjKa3+R0cFnQo31DBFCaazwdY/7hW3S54Vl7vwEZQFJ8TaJzwW4MeYwVtXIIRt0tgEttWkRhTsLDW1WAoXl/R0nooGsw+IyKWwgiA4l2HZsmeOjew8Sz3/Hm9MOoVOPsVxQMdibIFQqp0UMU0oSLS9eUQkKLMT5noI4vcBww/SANkY+ZSQxS3moEmR0pzjQgAKKfbe5UzVXiwdMYI9j1OYIjnqEobDeqfu1yAmPvShFXTX4V/aQ79UQ0Eo9XHfLXzQ/5GIcd5DbOTdvKI30nnyWF/yIxUazmz8xbeCuHGybc1+Ad3in0xDqgk7FW7LVDJ0RhaKvMcVu/aBcloHi9GzjQjSZbFEyl5niDvts+RlbGq3OxWbnabZwILplPOPTTyZOiNvxaeW3ss5quZn8t4uV6sAgsMUxszXspH/Q+8bTpZQcjBrSev9zTA/COjBAA6+NzblSc7TI6f4Q4hoQOKAhP4HZnfE1nPGnFr8HX9zST7XDsCWt6b5v5hH/x6SRUedoluY6sW6HfPuzNxQ592YhgQzbU32qDsbE+JqEmH1NeLgzXPca1m2mz03xQX2+wYj21tPg/NtmodNle/k0sYOgXZiODMHBxqlnx2xWpQtxkVX1e4D2eUPD6CEBV+iO6aqw2VP2pAw33DV70UAqSCI3kOiT9qedYGelSwi08g0OcIQAmOJ+PXjirDwYIg2k0RohwUOZTBMsqoTesOOGTh/b36cVEwY4mRpCq6QIpHANo+Aym9G8yXNPCMemR+XwzeFZasv+7CGB6ENFfyNDDd6 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 296ced8e-e642-49e0-3bc9-08dbc8b26a6b X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB6798.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2023 10:28:02.0354 (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: KaSL7pJygV/ITL9sIibDvN4etawH/RcFbB2rRHmMyC11uO+SOiFfF1OIW9+wNxIF/ZCS+lqQfWGdGXQ95haYRQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0PR10MB4950 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-09_08,2023-10-09_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 mlxlogscore=999 mlxscore=0 bulkscore=0 phishscore=0 suspectscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2309180000 definitions=main-2310090085 X-Proofpoint-ORIG-GUID: ueg7ZUFIpkWTQyR8VdmsFZh7eFDHa7RT X-Proofpoint-GUID: ueg7ZUFIpkWTQyR8VdmsFZh7eFDHa7RT X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_NUMSUBJECT,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,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: On 5 Oct 2023, Torbj=C3=B6rn SVENSSON verbalised: > v1 -> v2: > Changed all functions with signed interger return type to return -1 based= on > comment from Alan. (integer) > v2 -> v3: > Added ctf_set_errno_signed function to return a signed -1 value based on > comment from Nick. > > v3 -> v4: > - Moved ctf_set_errno_signed function to ctf-inlines.h, renamed it to > ctf_set_int_errno and converted it to an inline function. > - Moved ctf_set_errno function to ctf-inlines.h, renamed it to > ctf_set_type_errno, changed return type to ctf_id_t and converted it to a= n > inline function. > - Updated the changelog entry in the commit message. Is this list really > required? I don't think it give much information in this patch and 'git l= og' > have mixed commits (some have the entry while others don't). > > v4 -> v5: > Updated in accordance with comments from Nick. > - Changed return type to void for ctf_set_errno. > - Inline the return on every call to ctf_set_errno. > - Merged ctf_set_int_errno and ctf_set_type_errno into ctf_set_errno. > - Droped log entry as it's too many places with this change to make it > readable. > - Corrected a few places where -1 was returned where it should have been > CTF_ERR. > > > @Nick: Can you please try this is in your test bench and let me know if i= t's > ok for trunk? ... I don't understand why we even have a ctf_set_errno any more. It does nothing that fp->ctf_errno =3D FOO doesn't. (Is it just to keep the commit size down? If so, that seems sensible: either of us can follow it up with a patch removing ctf_set_errno entirely as redundant.) Alternatively -- and I promise I'll stop constantly changing my mind in a moment! it's just this patch seems likely to be pervasive enough that I'd like to get it right first time -- since nearly all functions in ctf-api.h return either ctf_id_t or int, we could just do what you did in the *previous* patch and have two functions for those: ctf_id_t ctf_set_typed_errno() for functions returning ctf_id_t, and int ctf_set_errno() for functions returning int. The original problem, those few functions that return other types, would still need to do things "by hand", probably by setting fp->ctf_errno before returning. I *think* that would work for all callers and let people just compare with CTF_ERR for ctf_id_t and unsigned types and with < 0 for all the others, like they're suposed to be. That way about half the call sites could stay unchanged, most of the rest only need one a _typed_ added, and hopefully it's easier to grasp? plus there is less need to introduce new { ... } just for the sake of setting the errno value. We still have a potential problem with functions returning unsigned types that might be wider than ctf_id_t, since CTF_ERR isn't suitable to compare against to detect errors for those; thankfully the only one of those is ctf_archive_count, which cannot return errors :) Again, really sorry I keep chopping and changing like this, but every time you do something I think of a possible better way. (Unless I've missed something, which I probably have.)