From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 122678 invoked by alias); 20 Apr 2017 14:57:50 -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 122656 invoked by uid 89); 20 Apr 2017 14:57: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.3 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= X-Spam-Status: No, score=-25.3 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=RCp+hWFyKyEZJY3ySmQdY+TOcQ5w+44wZkKvys7lkpU=; b=QpKr8ww9RtNNBYQUzGLIGk9TZQVOPA8GmDH6mFE9EIg1088xFeuzaJtgiRxJrEGga+slzjB6IXJaznQmKOgZHTimFx+B1zN7Zxisa1KTCKpyPECwCW9/eLRLCT9UOPY7UCymGQhAx2e5sCUY2IWwcpgY/gWqnMWuJwXaopPEXVg= 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] On elf_update, remember when we mmap() To: Message-ID: Date: Thu, 20 Apr 2017 14:57: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: HE1PR09CA0047.eurprd09.prod.outlook.com (10.174.50.15) To VI1PR0201MB1870.eurprd02.prod.outlook.com (10.167.206.148) X-MS-Office365-Filtering-Correlation-Id: c0415358-4a6f-475d-e854-08d487fd9aec X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:VI1PR0201MB1870; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0201MB1870;3:2buGFpP+U3QhFTmUTnxEvXv+XT7kiP+lON5YUw85RxmgyOxy87gZIr4ybMmpIrH59dGMMwJlckRNrHOs1nBBDfJLsHkYlvEctnhrCXhC9OgAl7nq6z2UxVf+4PIi8/vz43H2U0dzbydbQzepHAVgZ6LyV271fLJAmFGIK+GJBGpLvGHXZJkC6g2bsAYVO++twSPyTJtMUvnI43dSQDN8P4ey3vCz+nw0UWN/f9PrQ71aBoHOaSO/DMrYajsTL2JYBfn6N3TpBDs9Nzf01t2zK2RpcGkH0Z9XCJvQXpbgXClwKImggWOc9Fm7RPs4J3yOM1Y1uWHCBM9/DUChGkuNIg==;25:xJm2ZEa4u7RDnO4P322O/75X3/d1OKFkGbBNK+drvniFg3HW46sKsvC9yLg4gR0HXwDgHkcKsIHR2P2jjlcLT5I+UNsDyS0Zc76+4h+hBVGFzhQpdgN6ZugxfUn2HqBmxAn+Yd/kf48BNyXH1tDWGKLK1cwziYvQHTtymjN9li7KVArdSAEIcp+v6Wi7wOp3kBfOEGheFgUUX/iHH91I0+8eUnO8caLpu8zLYCfQU5P8HQCtNIKV2xVQkvYhoOoQAgEwQD9PAkm7Dxh0h2vJ6ymchSC4e5WWJygr3HF5fZdtfCUjZ4YNWhEMbXNp3Sw7yXo+nVODau8NyQ/kZKmEK2iI0kA+ZYgRJwoMYqFrU7NcywNsP81uZIf6R8Yt0J6ttgkxETpMeGqn9ipfna/IEBU+thORueNHGOvV97+lwBoFzBxlQB9ES0xUfHb/TrHA5/wV1GPbRv7a/r0pUwZcRw== X-Microsoft-Exchange-Diagnostics: 1;VI1PR0201MB1870;31:7KU8YzsgF0gQEWI97mgku0RPXukgz+kC+TqDdey+L0WHJQq5SlQilLnp7mH6BjGkg6GNUCfE+SXvZ3wCmYGpsCR7qk8szqwDkz7PLNSSieDguIGsSUl+jfCANtqgqIyRsG3GkK9rVNuBRioKHVBKyJdtSMC7MxYby1eatHyqlvqB0V855CGTeloRBFqvfUJWA/ltPaYgiA4Dl5C1q+galHB5xYJvU6tgYQ84mIjqlya/hSz2hCxza5ue9rkYtSFy7VL+eFGdlpc+EHVveXphQw==;20:QzGcJxYHQ3yzwZCJqcYHQG337DyQcoQuThdYa2Aft7xAnTDYGu+iC2X+u07RvwK8WA+hjEwITBkxZp/C7GLNgtXbNFKu3ijjcaq+YOEVGI50tBibm6012IChAqRh5vxX+OOBP9FM6ok2UAJh4Qu8FoQFpd1TK1DQk7ZbUFJVb5xCkAN7i+G5sgfuUNsqhZMGB55jcAOvwiOGdWAIrQtV4xkeWewyVfLYegUFd+nE3T5QS4a40zcRmHrIK+2bncHt 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)(3002001)(10201501046)(93006095)(93001095)(6041248)(20161123560025)(20161123564025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(6072148);SRVR:VI1PR0201MB1870;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0201MB1870; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0201MB1870;4:A7C6fVyYKToGdTtIyR0cJOZaiyLQnBmxHreXRnvuCgupQmmOt1fuQv40XwXmlljmr/o9uvZQtSZp4Vln0CxSVJtxW7PXk6Hj5Tl0yZBYBmeIu4Gd3Tb4bKGnJW7xO4lyFi43X3XcvJZSxY1DygbK4dypSqtnnMVSKkrTA0bC11DyQeAuX0XZqtSaqPwzBgvmEDXYrVwD9kmjoSUujpfL096/wAVA99gSDQxdcMoKnZbGc3hon6J6AI4oa+2PhYh6jQm7bDuwJ5oCPWMSeLsgq4OfCmoOnud7BwMhyz2HrNd8JQRotcazkEczGpb80kgOkxqb2oFeTm0LVIIr+DyAPSqO+K6QOLqBZ28PsgXN0VKxBgKa8MVw32JC+pDvuXqGvXJSg+duS4q2dWwC1aImPo/josQQOfos6mg3ygd8OmM/FcsomLudB7xFJBrL6hknhxdFFNcOOMu7njMpnxj12kAqlSY4MMsUkDni/DVfxHnZPnhp71OQUq7K+qpjT40nHwmADQZ+bYyjoa3eBoD3q1/ECqfu5VNmbm/fHR+nFa2DnsmPKEzt89XgPtu+/dRbzITngXalkmviZStKHZNmPpNNpFNK8byuuCoVYh7RalaNrgPRGlf4IAHf2F9p+bLMkQ5FqL1UfltSwk6Cmo3FSb5xqBKBF28TjsujSQYGzTQyITKckRdI1dcLGsB+4KTNLd1NfitGerc3N4E8YRchmg== X-Forefront-PRVS: 02830F0362 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(39830400002)(39450400003)(39410400002)(39400400002)(377424004)(53936002)(36756003)(47776003)(81166006)(6486002)(230700001)(77096006)(50986999)(8676002)(2906002)(6116002)(74482002)(3846002)(86362001)(50466002)(5660300001)(305945005)(6666003)(2351001)(7736002)(189998001)(54356999)(25786009)(38730400002)(31696002)(110136004)(23676002)(6916009)(66066001)(42186005)(33646002)(31686004);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR0201MB1870;H:[10.9.78.56];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjAyMDFNQjE4NzA7MjM6a01TWHZZbU5RUEo2K0dobzE4dmpIS1BT?= =?utf-8?B?eWIwejdsQUVtaGVOdVU1a2FOVkwrWlFORlFBQVFvcmJ4M1AvbWNnbWZWWG5z?= =?utf-8?B?NUlVamRqRmZCT2plU1FMMkFGcUROTlpFTWwyZlhQYUtQQ2NudHBTSGZzSkFR?= =?utf-8?B?MXpxVUM2T1ZscUFEN29EeGJQWk9RWnR6bCttUTRNTHBSSUNySXJiQlpDeVJD?= =?utf-8?B?c3MzN1g0UzJFdkxMQmxaTzVVM21iMmZKbC9YRUtLRlpPRDFsUlM3V1dIVFlo?= =?utf-8?B?ZVl2N1JPTzJPelViVEpjbGhPZkZaeG9VQmZEOTRGdUVoaEtpZlhMMWdWQng2?= =?utf-8?B?NVVkZk5aMEJWNDhPZkFIcW5vVGRmR3ozUkowM0F6VjRaRzFBSUQxNjdHTW5m?= =?utf-8?B?R0FwWnVVSUpBU05mLzJMVERKdFBKWWxJcG82L2xmOHFBNmpFZy9OMmxpaVVB?= =?utf-8?B?RkJ4VjNQdlMrUDJ1Y2tISWpWLzhqQjhhMXhCTnVpOG96UUpVY3lNRVA2SnZR?= =?utf-8?B?MjhtTW56WnVxcDNpYUt0djcyUXZsS2hxVnJvc3lRTUhCTXZIWmc2NDZFckFu?= =?utf-8?B?ZGFFcW1MeU44NlhLZTlyTXJEWGdjRzJQRE1xaURDMG0vTWdrVktXTFZsU2Ev?= =?utf-8?B?ZEwxY1ErbWoyL0ZkZE5ScHZIMmNVZU8vVlJDdExzMmIyeENrVWFSTnlJQnRk?= =?utf-8?B?dGozVWlPUDBWczdldS9pakRST1grcm9YVXZnMy9xRnlFc096RXdwb3NOaVNL?= =?utf-8?B?Q3ZnakdhM3crWE5ZRHo2UVNQWmRGdXhRNm93WkxKeE53RHdoMUt6ampvRm5I?= =?utf-8?B?dW55WkJSUm96R1ZrZGVXaXFnZmgxeFFib1JDTVpTM3lTcTZmSk5nWDlsZXVs?= =?utf-8?B?TVIrUEdNK1NBeW1ZQTRxM1RRTVNnejhCUi9sSkYvQm5pMllmR0wyNStpVzdD?= =?utf-8?B?a1NzTGhHK2xqZWNva1ZDbnpvaDdmVitnRGVxQ1RpM2ZDdzVKc1M0UzMrYkp6?= =?utf-8?B?Y0c5Q29XNnozdFlCZFVxcXdVd09mc1ZZdjE3L09qRzR1bkQxWFhCak1tOWQx?= =?utf-8?B?UytWWTJqamNLdXF3Q21hMld5Q1JRWmkrdTU0ZFMwYWF1a3FtRGg3VTZNWXRB?= =?utf-8?B?SnNuRWJEa05iYmZYTWMrekpGWXVGMHRmaVRlMmcrTFhQVWdFbm1RRHZOUHAr?= =?utf-8?B?UVhEditWSzBPYUE1U2FrSWI4OCthR29FaysraVBrY3piRndkVUtVdUNxNllK?= =?utf-8?B?dHY2TUphdlh5OHkxOWUvdEx0YS9Nekl6QTlhQStMZ2tneGdFTGM3QlU5V3E5?= =?utf-8?B?eDZTN2srY01wOU9SSHlHVnNoZzVpMm9vekZyVW1oZDRDVkh1VFVFZEJtWVY5?= =?utf-8?Q?2MS3mMSB+W?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0201MB1870;6:HUC8PLww+eDxsKKt5+N8g0iWHrma49dHhZU1tomRj3t2KQFZ+OniDwqX6P3NDIb4A+lWiTFhKzjFAhMDtLHGZ63EhPXm3oQwgmwGVWNdom7ZSuv5A5YypId+YQ2GfpOrIViUDAheTs7/weRx9LcnQT3YvFo7zrHPjN2GI0euvBWE/6qrHR9kICU/Bmmo6/+jpPS6zVx6cgKkaEptz0rDVbfALgbivYJ/nPyLtTftidcAEGBjFGKL7vELIogsTcWXSwND/1JfP9LmpAA+JZQTcJimxbCOtBc0z/3KLRuNKy9vByunJ2djn+IcfrYG3e1YqBojlLjNZNJJLUUeMIjy3dLlAtMRLG2uhoF4y3oDrQMo0XqRJlNwKJ2Ru00cH91KZo20tnXYb5WsIPEbDrgisH9PyxL+klEJBJTkVDlfVZ47V2SEHORJCj+joTLEK4rUndveHVLECv9bj9ApN/oZ+KEqP8uONpsBxtKd7xHvHU6VFItxLcG+EbXD/uehkBqgpAQ4mBEUhyqv9/rCfsr3UA==;5:8KNsF29a9T4KumfWi69FOQ3p6cWgEcrGPcgLUwyuJyL8XM9oPu7kow3Zqvj49FrVJcIUKzqe4l5fy+HjavfdCeKqMgBA/QboCdRSXyJWddgSZosWXfZQLBpCBmfUk0vFyzw9ffY+H9g1e86p4WhjMg==;24:bNdpFXvCVTeH/m5oD1HGxlsKq8/H06w7S/K/j+Azje1NXRA8HZgK5qXrx6/8znNbB6QQo11POPHyqmQ6Yfo0sa3CJ6mQSwe3zxsbODh2OoI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0201MB1870;7:T15Ip0/5wjoMb9F6AhYIkCzm9QR6eO+qFlkR+Kj4J+ea9YruOB8gGcnMyKJXzwwgbGLRhNuq67HstxOuG9HbUzPWH8YbWp8KiMLyiMf+pymDUQ+JGAzEte9s/6hdm/GIUgrW4pNzD4z2l2kn+GVi0LPCWb03XWVIf9HcVB9fLiIMDunVgSv5qcemfBVBrIJkyss+8fV93v3JgX4FKBUygjilHWhZnWWDBMvqowufTyTwu8ZQElgNSOy4yGidDTD15Qn4yqhIyTlpbH787GI+euyl6mWvQsK5tsX5i6dxmkETJ49cTEaGv9h56YaAhVQ1QiaNKg0O4Hn2xg2qA1zFTg== X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2017 14:57:45.9223 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0201MB1870 X-SW-Source: 2017-q2/txt/msg00065.txt.bz2 Otherwise we skip the munmap() later. This leaks resources. Signed-off-by: Ulf Hermann --- libelf/ChangeLog | 4 ++++ libelf/elf_update.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/libelf/ChangeLog b/libelf/ChangeLog index fa768f8..225c7c8 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,5 +1,9 @@ 2017-04-20 Ulf Hermann + * elf_update.c: Set ELF_F_MMAPPED flag if we mmap from elf_update. + +2017-04-20 Ulf Hermann + * libelfP.h: Don't include config.h. 2017-04-20 Ulf Hermann diff --git a/libelf/elf_update.c b/libelf/elf_update.c index c635eb3..8ce0782 100644 --- a/libelf/elf_update.c +++ b/libelf/elf_update.c @@ -74,6 +74,8 @@ write_file (Elf *elf, off_t size, int change_bo, size_t shnum) MAP_SHARED, elf->fildes, 0); if (unlikely (elf->map_address == MAP_FAILED)) elf->map_address = NULL; + else + elf->flags |= ELF_F_MMAPPED; } if (elf->map_address != NULL) -- 2.1.4