From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2058 invoked by alias); 20 Apr 2017 13:58:52 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 2032 invoked by uid 89); 20 Apr 2017 13:58:49 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=suddenly, productive X-Spam-Status: No, score=-25.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: EUR01-VE1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qtcompany.onmicrosoft.com; s=selector1-qt-io; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=/N7CDZt1jCxsGZmW4gYbpG3UJm08KwCdxgGZ4/coTTA=; b=W6CdycCenwcqfbpkdASKJpLkmgrOtfPeBY7sz9g2nN7+ZcU+7Dpsf1FqnjvxTO+poc3Ummde6+Vq8ceLXDyhSVWaZ+4FapAm0+WcdcJEICme2ESuUbrww5CC03oDovuIavYk4qUO6x4nosHhNLFVbMfULb85AIHm+85ChC3Op1E= Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=qt.io; From: Ulf Hermann Subject: [PATCH] Use F_GETFD rather than F_GETFL to check validity of file descriptor To: Message-ID: <046928f6-6f30-4b8f-3f46-b7497bb3327f@qt.io> Date: Thu, 20 Apr 2017 13:58:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [62.220.2.194] X-ClientProxiedBy: HE1PR05CA0017.eurprd05.prod.outlook.com (2a01:111:e400:51f9::27) To DB5PR0201MB1862.eurprd02.prod.outlook.com (2603:10a6:0:32::20) X-MS-Office365-Filtering-Correlation-Id: dfe87204-881d-4f54-721f-08d487f55d43 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:DB5PR0201MB1862; X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1862;3:XwtGhaiQe74Wnz9aq+AisB0tTv9j1F+ni/9vf1zUnN/2x37wVSRmPc62dUNfQqcqWCC7Zxn+LF4VpP4UlHwQ2qNz1TEwrEZIshk6ITZ/HQHxfq8bVvIWz8gHX8Nni5Tnf5Vy8Tx1E2ly4zo5BawwmzltblUIRARzgXkzZpznRQ67e7EU6AImWyaDqGUmkD2mBjce/1rxAjlCzUlc/XLQne7uoRtQg+tMuNTC8Xw34CsJYGVS+tWoIR3MqG1e8ck4zl60AurTi7VDeyaBdvbY88jpm0/VNwtLI1+eLJT/FglaU/KK8AOaq6OAxd5AM12b99/waeN0W8rT8Ew7+jVYBw==;25:FuxcMTd4yUcol/rbGEczPiw+OjH3OQoc+Y6qK6OL+XItWQwOIT/ItYGhXmKtvRxoAJMz0Sxn2OAsyxyxTgZDwYW63IWAZ6RQUPtH1wQUZ7tA/ru+7Rnza+x+r6FYvHugWV0w2LpRFb1z4O1JSnurRN3J+bobaEF6DKTIAGPI1L6JYEtvTKPDQG1BB1gB+vUhMxHKD0oEhrVT40MASqNEpYMDbRpseJYo82AnjD8e60QCfDNnF5+rOMVZFzyAzwHgn0pEa8icOdOm+JalCQ7VB1ombErt9DqQhaeWfj9M8MNWosk03ppWl+UxlUL95dqzOwfQAnAkUaNE4u04YXc8aejPiuVEsJjLRxS7UJWdMoSjDKZrqounpqQxGk6iYDeDXQHTdwEQa4vYC9UWGDdacYZkQXGChH1xvN2Kt4bgFigN1MqoSByVeZMBPaanDi5blfBnEtsoLDt3fm+PDgUBEA== X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1862;31:+yvwAbilALo985ijadfYJUHauSsi77XhyrgjYlwjmXTKuK/eKvz4RJ+OeQiNPU+3ng2ISb6qfq02JCS8tYltS38ndxHUoG0cT2/SpndLPmZxYMHHL68i3d92b8iwoPtYS79Nr0On6JjFT4I6N7ZHVSBTXAMPN11RdvzZBAO4Eq8ON0JQbPmAYG1OHFaPiwpQvHCKiMLDkxZ8zFc0q4yUokoMjMmcAeoeBKSiOAtC4f07lwZ6fsyq2boZhHkfwj5Ggf1w534cj/5Zu+y5oPH3Wictbrc9YfV0H4hWPiAeFFM=;20:CD8ED0V+BdeCjClZFbfLor+bWRc9RVqeLZMAee/ZIyh5f2GWqZBmli+6xFA+JQS9P0rOB6AfqAJgpDKQmBI6I8D2rBlU04/+bZokfaj47OEkQ+vckAtxRCCCOLKIHnle5oq+S8sK1QMhWV++3GphhgEDm6bVARWdVItrciZIlYaHziVsHPMYX6vjm9kbXm5bOBNDGCzNJzWgOoS8mFhwZOE768Old+HMKeu1Y1uJTTWWN8i3h2GWZPy304ENPnwE X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(93006095)(93001095)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(6072148);SRVR:DB5PR0201MB1862;BCL:0;PCL:0;RULEID:;SRVR:DB5PR0201MB1862; X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1862;4:7Ir9Jat3NfcEC+QRvXBcqignP6FO4vxlTKUf77KoTdkUqwpiOQitIJf6NEynjFfBT6A7kpYLGNI43dflLvy3AWQQM8ePbuV8ZeE7kmtUaZSa/US4ZBgnYPo8petVkM38sPD1DXxPYZ66lKUY1Uk8/6KERrGUP+GCY40lZVf7iBrcfPKc8hdav26GRcDFk4QQUyC88k6NN5yhyuIMkRKp2AMuGz++/OIfuzmn9WpvH4TXAIIjati85jYBJp1I5UA5k0N5Z11nEp/b+u6InxKriT2ufP6YmG0WbNF87L68+bVSkpWw7NlvMo0mKMs+MiR38Xr2OXuEsrTkJ/gnqp7CuOTxwbkXXqm+PlkFVki/6uosxnEj+et0Mw9OGlvCAli84Wtc3REFTzQ/Sg+5qmG/3QEnh+hfg0YcIgEwp0bRRoqqPWG2dYewPKBbHnVK500tKDEA3EpLfiwpAuw4zQtDagoUDDDa4dfG6a/ab63DirWfHC640/QpQhF5sLoySen1hYtrDrGzn9ZsebCCxtSkx+eL2n+x2ISFyqbf9vkgz6kFtXLZtovyT6mJ+/4ycJa4fKngD1tJHh5AjgWZDxBsVYCCa9IEGBIwzUQP3nipYEnc2086czxDC3jFy1JlAK9tOa97KQhjphgQx+t3wu0+DC3KOogfz2YdRK4IlRWxsFMVbnXoc7JVF/7xTkKoW6Z/9JovKBqahy6MSGcsg4me6A== X-Forefront-PRVS: 02830F0362 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(39450400003)(39830400002)(39400400002)(39410400002)(377424004)(6666003)(110136004)(6916009)(230700001)(6116002)(38730400002)(3846002)(53936002)(7736002)(305945005)(25786009)(81166006)(8676002)(74482002)(2906002)(83506001)(4001350100001)(189998001)(23676002)(50986999)(47776003)(2351001)(50466002)(66066001)(33646002)(36756003)(77096006)(5660300001)(6486002)(31696002)(54356999)(42186005)(31686004)(86362001);DIR:OUT;SFP:1102;SCL:1;SRVR:DB5PR0201MB1862;H:[10.9.78.56];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjVQUjAyMDFNQjE4NjI7MjM6N2x5dFhWcG1LRlJuWVVySE44VkVYVFly?= =?utf-8?B?UDhQZW9QOVplS1BBTnVjRnZxeDFFS01GV0E4YnhZbUhPUWF1dWxZUFlOYVBq?= =?utf-8?B?dGt0Qkkreml1UWQzcVhhQmRsazROTEdmcGNCZTVjUDR6bWcrZlMxQTRmYmtN?= =?utf-8?B?aGlYMGJnUlg3QWZnV3ptOFg5RTdzVjlWOUo0TS9YY2RXc2xXaUN3bmtXTjhH?= =?utf-8?B?anJ5TGVqdFcvL2VzRnlQWkZNa1ZFWjl3M2czY1RtZEdvb2pvME84bURDcFBS?= =?utf-8?B?M0pBYU1mUUY0TFpjRndPT1hpTE5oRUhTZW1Bc0xlSi9xUVVtQkZUcnN2dlRh?= =?utf-8?B?ellteWI0ZkVOMGxIeUlGNDRjYkJpZ1AxS0JjV1pvVjFmUEhLVFNzYkhZR2xo?= =?utf-8?B?bmJTT0tjalJ1UDRYQm44MzNMczhZS1p2cTBhV2dmWldweDkvb2ZESHUyQjdk?= =?utf-8?B?OTd6eGI3ajVkbHRmOS94VzJ0WDl1cm5zZ0xveGNUM09nNnlpSHMrYWRaMlJz?= =?utf-8?B?eUtMWmtUNlFBanJxWDRqa05QNkNtTGdIRXpMc2FXYXM1emFsVCtKazI0b3h5?= =?utf-8?B?OU5mbFRaTTl5TXR1YkRuWHJCL3RBWE9STHpXVWNnSk85RjBRaytVYTlxYUJz?= =?utf-8?B?YjRMMkR6UVlsb2pDS2RqZ1RrRHJDVnN5ZzduOEJ0TTFoVFRyVzdhaFlzeUlt?= =?utf-8?B?YVhhQktkV3dKNkZTT1kvem01Z3VtUVh6dDlKSHlISWVVL1NBTEkxOFRKWEVZ?= =?utf-8?B?RktEczZ6dWY4WTZrZjdqVGpSUVBxbzQ3MkJBcG9kYkJMYWxvU3Y1QUlXdkx5?= =?utf-8?B?M2l2V2dSK0lMd0llc0tmc1pPY0JlUElIMjA2K1o2N3NrTGNtUVVxR2RsUzUr?= =?utf-8?B?d001QkZTZ1k3QjJYWTZ3Qmp6cWppZWpUZnhYRExBNUYxWkRwVW9YSFNlV1Ry?= =?utf-8?B?NmFpV09YLzhIVkM1NFpMQlZJcHN2dG1zOXNMajRqMVNYL0pBSXRmL3hCRHJr?= =?utf-8?B?NEs2ZmZiUXNmU3Q0L1ZHbkU1VEE3YU5ZSmEvSnZNOFBWVUlJUVFBWGoyNGY5?= =?utf-8?B?T2NmTjBLVTdpWERtU010TnJGc2FxOUhna3FDYVRKYzNsaWhoVGZwRk40dlNy?= =?utf-8?B?cC9vdDc4VjByK3JJd2Z1MkdXQmE0cmdJT2JFYWl6bFV5Z2treVF0TGxvY2tY?= =?utf-8?B?R3hCRWRKcU1wWnRrZVQvemNtUVVVRkpSTDFqTmJGQUIxUW5sT3RTRXJKMFJv?= =?utf-8?B?OUFJVjNmSzd5amtWNmhlM2hlL2dCS3NVMC9ROTFVTVRFdXlKY1Jhc2FBYXVD?= =?utf-8?B?YUNVOVF3K1lJWWsrNVFyL0N4VzVSOWFQMHAvRncyWXd3Tml2TGxQemtTeldJ?= =?utf-8?B?V2tpQXJ4YkhHaFIxVzdoQ3dYaTl6VWxQTU9kS3pveWs5SmZGK1lQQ2xNcitY?= =?utf-8?Q?1YOOjIxk=3D?= X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1862;6:DHAFYL43gmRsqNJJ1MGdymT1dL1w91z7Io9Aqpa9NoIxRNln+2ru9wZOPKHazI7moct6vdnkTikHrqW7FbPgVW7PsixwBU/ulaCOsjmA8bJ3R2hCzqMImjnctToTQF4t1UmCDnM2o5Ukv1sAzcfYAzAc5c87HwlFTSvuqKSaGtDTLz2eL/AVJhipf8FtP6h6BnaVoRW8K7S4T6/jLXn5UeeAu0P/x1NUe+Pz8F9fiKKx31quo36ReXQYezIc13YrUq+1MKzWsebPbZAfQj1VNTuj/xToAdl5Z2zFvUNKxN5WfeTkaScp+/9N2aayvsBm3jLjpFInVan21mG39T8R2FBR3nOgQlAU0pk4EeUPvb7fyEOztA6eU7p7smGJqIzYsmVKn5ifx40QedwwVc22hn7BaDUS5h/I2gEf1LZlwJgFLQOS0+cP4Attf2dbIT7sYpagum9ymxuX/rnqJH7g3douThCkXHNC5gt4g7Zl4FFm/P8uWwRHNUW3FOOUGZ6zFJRR1RV26GpHmfN1RvqsiQ==;5:PZ3+apmbKnha0YwaiNwnGTcQad9M3fbBI/c8I2qrnBiQXF3gx4C+jT2aDPQcFLK0bsEE3g3dN5eWRKTuFVBI6EY6ah7FhtPnZixXUMkg5FxXXs8OzVb8SN7AA7NbiobD+yM7RY8IP8NHXZwHD3U8ww==;24:w7wXkxIkjRPcpspTUqTu4AxSTIqgZB39uNm14f5BeXE7hITo8VCgQ+YOcD0qcltORIqAu+N1tFZe2hktaN57ZzirdJOZ8x+GRxUntMyc3mg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1862;7:d8pJiDMf9zDfxTLAjpNA727CB12Aksw06WaRJa7b08Q67x9R4BrHYBd26OIFlpuzsmx31Gy08D9QOwfBEFdl1kOmVU+jxGVJE9+C2h1JoBGbdItpGldkHRZ8qkcNyR1T/4b2CX5gZ0QJ5kHfAknQ7rv+R37VbUOGu3JstmD0DUCn3rWGy/xOADJwWV8EeyLSaiy4ZlXMfWiDDz0/tGR4QucU96LRrfKQ2ekJ6FOeEPqEVyAAl5XOHYpMWpS4zqdYH1lkbkCIg71Q8TD53XmodlS6P92mOJunrUMY6f0itrJzq7RJ3otzayL64V3U1sufLvOFV8skKmlMT3nZnzNlAw== X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2017 13:58:46.4552 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR0201MB1862 X-SW-Source: 2017-q2/txt/msg00056.txt.bz2 F_GETFD is both cheaper and easier to port, and otherwise has the same effect here. Signed-off-by: Ulf Hermann --- libelf/ChangeLog | 4 ++++ libelf/elf_begin.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libelf/ChangeLog b/libelf/ChangeLog index 23cd942..e32590a 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,5 +1,9 @@ 2017-04-20 Ulf Hermann + * elf_begin.c: Use F_GETFD rather than F_GETFL. + +2017-04-20 Ulf Hermann + * libelf.h: Define macros for various function attributes and use them. diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c index 5e9099c..6f85038 100644 --- a/libelf/elf_begin.c +++ b/libelf/elf_begin.c @@ -1075,7 +1075,7 @@ elf_begin (int fildes, Elf_Cmd cmd, Elf *ref) if (ref != NULL) /* Make sure the descriptor is not suddenly going away. */ rwlock_rdlock (ref->lock); - else if (unlikely (fcntl (fildes, F_GETFL) == -1 && errno == EBADF)) + else if (unlikely (fcntl (fildes, F_GETFD) == -1 && errno == EBADF)) { /* We cannot do anything productive without a file descriptor. */ __libelf_seterrno (ELF_E_INVALID_FILE); -- 2.1.4