From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2061.outbound.protection.outlook.com [40.107.20.61]) by sourceware.org (Postfix) with ESMTPS id 9BDD03857030 for ; Thu, 14 Jul 2022 08:31:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9BDD03857030 ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=PJRQFberIQJnxYF1ImBE6bUOtI1oxK9DQdqGZ0YvlTw2/oaNRlNrH03crSYnjwi9mgJmUJ/VU+yVXp7k711C7TEb+dHXMWFbqqtieBbTlWFLAiZDvnBDdiXFtTCBQAmWp5tFudaWYnE021oRYgU2u0siVQSGCxOUCTxi9Mk/14f1sth6puczZ2FTj/3MjtKYu86b+pGeF/fQomdocOeIarddOLxuYtBbcdxQd0919+Bsf9TgHp1YfucinszzZE+8Lw8Ud0lBozZLHRqCiDoozECszb4Kvb+CTMfNxeUHp10yydSq0lAWJ5zMw5mXNpkVtiKmHEfKv8qn3NB0ZjkVjw== ARC-Message-Signature: i=2; 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=6x5CyneTDSNzTtjFtypSMoeVwsXzd6S8Oxk+2OyGxLU=; b=gh6+O/kRXjJYMqTUAkUesftGyMmJ28N6xdpy/KBmFhqS4nag5Kug3TBfrmbUGdKQw5gTTFg+xU7WxSmVNEreATcXt01tNGryg6fIQjZyiSaDe0aBk/dLvlPmNGxqAHjSqC6/4TyP2aTc9fblCIUIPMBf3Y8nyjOjCkgemY+Sdk83hlVf0b1lHUQediDkRJxngefxvQvjWGtiTt/36KESmd+n2XQr0B968Ej0uO/3/mSFmWFMtT4MPWqbpbKs7L7DHE+FSDTlzg9HkibLOGgm2dTRNQFs/jjbYalZctIthFBGYAYCi3Wr5mh+Z5R0uQiL6aPzeQwwvRzVdwbWHQJG8Q== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) Received: from AS9PR06CA0012.eurprd06.prod.outlook.com (2603:10a6:20b:462::34) by VE1PR08MB4752.eurprd08.prod.outlook.com (2603:10a6:802:a4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.23; Thu, 14 Jul 2022 08:31:02 +0000 Received: from AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:462:cafe::12) by AS9PR06CA0012.outlook.office365.com (2603:10a6:20b:462::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.14 via Frontend Transport; Thu, 14 Jul 2022 08:31:02 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT049.mail.protection.outlook.com (10.152.17.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.15 via Frontend Transport; Thu, 14 Jul 2022 08:31:01 +0000 Received: ("Tessian outbound f9f15f9daab2:v122"); Thu, 14 Jul 2022 08:31:01 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: adcd7795fff053c5 X-CR-MTA-TID: 64aa7808 Received: from 4757f1d3aa47.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 393EE82F-76EF-4832-B704-594BD392087A.1; Thu, 14 Jul 2022 08:30:53 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4757f1d3aa47.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 14 Jul 2022 08:30:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KN4LlzjN7C3OrY99uLMhWttHlaWd/Jk+RROYXx2TN2Hv6qSiAsUJoBZJyb8ROHDAdfkz4oWSUXCCMLFsrOXhMJzsMT/H47qpTVLWzXC8UQNLJFc2RnIMTUJoyZ2PAJB2HOpqQQQELs8RBftGWPp7E7PPKB0mQWkpiX91sqppzhRi1O6hnMhzUV/0E+6ZLGwH/UeKk3yYRV5sZQhzBsLU1rU2TFnydXNfJ+uJW6EtWZY9RtmktPuhlXRWxZpe159Zs+JO89oc7l/H2EpMG3Oqu5Sm+/BTf7HLZPX9BcQVKZZZkNNMBgEQdhtljKUW3J7jz06v+0rG8t0n0856AvnEBQ== 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=6x5CyneTDSNzTtjFtypSMoeVwsXzd6S8Oxk+2OyGxLU=; b=OYvi/GQBN8ejteR1gVR4Mkcfidr9uYaMYRaFCXi5wVMPoa1LfSZBl0UW0DozjBYkCi4RygP0Uk2tfftBGKMVcR5RKTbwc+w5UciTq/ife7K8TZlcOMXNTg160/BIVT+OIOMQg2ZFVcJJDgUID8+2FNPBztewuIPFMwnU3CWIgQURZa+7GaF3jmH9DbO0huBDZNKXkUAo+oFkAQgrPYrotgkeKzWKTOWAaaAQ5R+9PKB4JP1OHghjicGw/vnQQFADg/HVqSoAhHhN6wZ0S1GeLRK9m2UmE4eydc8p4wpm3asvuT8qenc6LuljEDEUG+lLTbR011qyaTDSCD2DfTc2Yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PAXPR08MB7172.eurprd08.prod.outlook.com (2603:10a6:102:20a::19) by DB6PR0802MB2581.eurprd08.prod.outlook.com (2603:10a6:4:a1::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5417.17; Thu, 14 Jul 2022 08:30:50 +0000 Received: from PAXPR08MB7172.eurprd08.prod.outlook.com ([fe80::1c73:e270:3c45:2444]) by PAXPR08MB7172.eurprd08.prod.outlook.com ([fe80::1c73:e270:3c45:2444%7]) with mapi id 15.20.5438.012; Thu, 14 Jul 2022 08:30:50 +0000 Date: Thu, 14 Jul 2022 09:30:32 +0100 From: Szabolcs Nagy To: David Malcolm Cc: Florian Weimer , Szabolcs Nagy via Gcc , libc-alpha@sourceware.org, Mir Immad Subject: Re: Adding file descriptor attribute(s) to gcc and glibc Message-ID: References: <260f0b41c663133cea96eb64bd85e8ba16d8a936.camel@redhat.com> <5769682d0d17579cbd72f72a4001bfa8444b80a8.camel@redhat.com> <877d4h1alh.fsf@oldenburg.str.redhat.com> <6460438cc9e634d0b5e40a1438038c9adce151bb.camel@redhat.com> <87tu7lyuvv.fsf@oldenburg.str.redhat.com> <71f2ff67c5e81ab98860d28232cba74a96c1f441.camel@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <71f2ff67c5e81ab98860d28232cba74a96c1f441.camel@redhat.com> X-ClientProxiedBy: SN6PR01CA0001.prod.exchangelabs.com (2603:10b6:805:b6::14) To PAXPR08MB7172.eurprd08.prod.outlook.com (2603:10a6:102:20a::19) MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 039b8531-1fec-49a5-bcb7-08da65732f93 X-MS-TrafficTypeDiagnostic: DB6PR0802MB2581:EE_|AM5EUR03FT049:EE_|VE1PR08MB4752:EE_ x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: ocueLidq4qXP3W4uchaiu7E1t1X7KhWEpK58OMjCtdx8c2la1q6QfdpajRnKgD8LXjax6oiAgyiWEIDv4gg2mxuFelKfgl0S13pkH/nVqIg/L6uOAeDbdoi4B0qONbZXrrg31R+q8d/1Be3b1WsUycSru3K+VuNxpp8qj0j8FkXwc+ymOJ4kF8+f53HW8ywLM5nMir04krKQGRjmn1xmwFrLfILauOps8SQ9Mls1xrDWQAFDWWfg4UQmSavc28VUKD9wbSBcEQI853I3sPrXoWofehkJWNpoWjXSv4CUEAIaLqIvXp/KcL5iKm0Jclp3dNwfZqFvO3kXbpfO0v8VE3PZLcQOpaGN350nbUtL1xgidmzkeBHlD9y7hvEdqF3BwvUv3Y1PpYrADac5Utde6U6w9RGDVg+pGvq3hMFY2egZp7yIIBpTstKYmDAW7CVkbXU/+FbgvFODm8DEkeslXDeGpcvja0P0z/eddALwnZZvVa4+zcejVIxi8a5lkU4CBXnrap2aAUfskS9eLbbNQRRMVuqNlO3H32RtFuWTcFhls+1O2Ksy5EcCBV4jMpcFAF4YRwUGX6AO66C1MmpLf/93eTrFNyqpkxaL1vm5LV5AgpgXRzxgpZKHLZlZohruC9bglXnsk2mgyqYrbwf0xDR5WiLZuC4dlciY8VnTOciHmMIaIN+uEmWJ+z3LwPIYuJJwkmWZVg4wTRVex9kM3s7QaEQNxfUIzPGc0BC2Z7LORViuqTUJaawm4jW7mNdAwfpcSsaGwbDtps/3lWabPg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB7172.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(346002)(376002)(136003)(39860400002)(396003)(366004)(41300700001)(66556008)(54906003)(478600001)(66476007)(8676002)(6506007)(316002)(6486002)(2906002)(4326008)(36756003)(6916009)(6512007)(26005)(6666004)(66946007)(86362001)(966005)(5660300002)(83380400001)(38100700002)(2616005)(44832011)(186003)(8936002); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0802MB2581 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 044d988a-d4ab-4b5f-3bb4-08da657328c4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kX8A/UiDPRQZMe7A1QWxY8tFshs21W0QmImYxKPTLgtUr8np8wB5sOjImfh3rAi5Evp9cdNSpCa6nfY3H31rTutKT6KV7qMwH+fg1UjmnziuN5iaiOcesXRIeskVZPUd71dEj+4/+k7xHdBLxw+b0bIbdrPFULyJk1tzHsU7ckIXDt7BINd8Os5PN2Syrf+tiWLfXAK7yoX946aiET8USia6kGLaZFvKShOEH/V5/c9/T8iU5dMnalP1ahqjroHq2RM+t3T3Oexl/yb/+SeL2g8EG+tg6p9EyMeLD4Wcm3JOaQF5GnZVmtiaMAUy4j9quxbArTcXueM3pqK3IGRgoUxrwfAiOseNIgRfV0uFOqTFkZqo4SXN8BHx40gcbj+/wvqXk+XbnbbGxEz0x2h1W+xK9RkFUPR2rTiM/qVYFVzA/RuEImFWDPJFeIJTa6x5iMRxZ69i5CZxOxzzA9ElfwE0xiFYZ9FpYbOodITaVgxU9INocAoh4cxS6gyQnfBI4bKgKTlj54j8O4WmWYZAPbnRFW8tqk5QJJ9RcPJXcEi656dPcFBlfjIsDc2Jzt+45CRs4ugVbAvw/aDiYOJprUmA1NMdI+nbi56tA8TOG7rJnXZm6sXFHH7CgRZjlsZEaq5SMoIisYP8UGaIRWT+GXX4Oz6tWYIXsxl5QKORUkM35ibel0CT3934YgV8hcNtiiyAwVhJ9XExX7jD8/JC3Rs6Bh7k1gY4iIxeFVesc2nmXBl4JjVn5KE+1BU9/nWgVm0lACkRYGQWV815HyukhRXJZK4Yu8bzuwVSZFbA08KvnVhkSOQteCrzS+hXilREOnwd3VuuYJsCQIEMzseFtMww56W8VQr9gFRrC2IPpT0= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230016)(4636009)(39860400002)(346002)(396003)(136003)(376002)(40470700004)(46966006)(36840700001)(6666004)(356005)(82740400003)(336012)(478600001)(6512007)(6506007)(186003)(83380400001)(86362001)(70586007)(47076005)(107886003)(82310400005)(2616005)(8676002)(4326008)(966005)(54906003)(6486002)(26005)(8936002)(316002)(40460700003)(2906002)(36860700001)(40480700001)(36756003)(41300700001)(6862004)(5660300002)(44832011)(81166007)(70206006); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2022 08:31:01.9577 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 039b8531-1fec-49a5-bcb7-08da65732f93 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB4752 X-Spam-Status: No, score=-6.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, KAM_DMARC_NONE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jul 2022 08:31:08 -0000 The 07/13/2022 12:55, David Malcolm wrote: > On Wed, 2022-07-13 at 16:01 +0200, Florian Weimer wrote: > > * David Malcolm: > GCC trunk's -fanalyzer implements the new warnings via a state machine > for file-descriptor values; it currently has rules for handling "open", > "close", "read", and "write", and these functions are currently hard- > coded inside the analyzer. > > Here are some examples on Compiler Explorer of what it can/cannot > detect: > https://godbolt.org/z/nqPadvM4f > > Probably the most important one IMHO is the leak detection. nice. > Would it be helpful to have some kind of attribute for "returns a new > open FD"? Are there other ways to close a FD other than calling > "close" on it? (Would converting that to some kind of "closes" > attribute be a good idea?) dup2(oldfd, newfd) dup3(oldfd, newfd, flags) closes newfd (and also opens it to be a dup of oldfd) unless the call fails. close_range(first, last, flags) fclose(fdopen(fd, mode)) but users can write all sorts of wrappers around close too. > > Are there any other "magic" values for file-descriptors we should be > aware of? > mmap may require fd==-1 for anonymous maps.