From patchwork Mon Aug 4 17:13:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 117603 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 452D73857C6C for ; Mon, 4 Aug 2025 17:15:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 452D73857C6C Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=PUcbmeVD; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=PUcbmeVD X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013011.outbound.protection.outlook.com [52.101.72.11]) by sourceware.org (Postfix) with ESMTPS id 00BD53857B9B for ; Mon, 4 Aug 2025 17:13:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 00BD53857B9B Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 00BD53857B9B Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=52.101.72.11 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1754327640; cv=pass; b=mkR3u8OQg2VsfkfQr5X64/+OLV8c+9MrcGZUqO9oL+9Vhj36TTcNtKvI8Hm6MCbKMgOdjRMnhbbQEh1MN7uheMRg9QnIioCzxolnbCvLJOZcE/IP0tJfFjK1gY1anFHsUlXnmJQnBP+QQoywAEkn1wQJByVDH2xg826T41WrWBk= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1754327640; c=relaxed/simple; bh=IwFFuSxrN+pUhKE6hYonKfKua4Ioz9D1rmuJMvG9Hns=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=dWM4wtPyStQw2Wa+Q9UM3eDOdrB0qLF10PKUlP38/zZXt/zu2WNT+jGuXW3JCkQDuV4OmAH7gIqrgM262YRh7GXrRMIK3mTvscTHwfeShpuZ1KDBpBOriXwOPB4z+Yb/lhHII+B9To/vSBzWKSxl76C9KyWqR2LP+gtU2Ps4pok= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 00BD53857B9B ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=mv6Rw7RpVlNzqu51tRwh4n30uZM6GpFNnCjqZiGK+PVZwntHo729mLznZph6v3rw7EoXEc693LmZvJyLIk+ywfo7MffdnnZ1lUHK2/QJ9Rg0xW3r2cWxXus9SODXM7t3HTLpb0B0g8K1WdvzNgMcVbbOQAYjbiCUT0eVdFgTZthYVNG2Y+iDfnPjJkfxnvqmiEzX3uoNXBvMkAuasWtbTH96+D32DTMZ2/Cq+h2qP8lUC9Rq9/Z6EwbwjdDPNPslI5z9pBCzIf+OfUiPcuanao9p5YyNV+CAvh9wjnKWXDxk67UkgUuAg3b5/6lcN+YqQS6Z1EGDS+RYfgOw1LtBfA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=14yFm2RvM1iPfop7Y8Uy/dTFg2dMVud146pEo+NnIVk=; b=RDqungoh4uPRm+Qc6DPjdlaWrwlA9XlNbsoy4K8j1wrB6OElfRYqXaHMlSu1zmZPww2ufYW+u0CtymOm0r28BORmG+IarHgqzmUllEsLPi1XjO1dcxTNxk/CQhGdoabLckC2TdHRMITXS0xusWdG2gxYPP7mYWCmd+hPntX+WQ+utgTbys4npDdEYYAZtHy7d5G9xC+lOu1Z+BdV1hw86vPhX4F3PvtBvxoErmYAC1BibpgnjGFsMfZd+PnOLnf3Ga66pY65BLY7oP7rcusVPZBy9fej0eLdVBclDdbR/SOzVC2NBU2Fozg0NpY0ZI9woVTgD9G1L1ExHqUldH3AYA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=redhat.com 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=arm.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]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=14yFm2RvM1iPfop7Y8Uy/dTFg2dMVud146pEo+NnIVk=; b=PUcbmeVDTebomTubnnGq8f7xbavRTnRtu/IX0vNmIcUzqnaCREncpCeffaFUwxIdLTBDkXZ5Hod3sETwyvD/fwa0Q9f/4G/6o+kzlnC03hqKfN8gOJAwptaDtMuAOZfn/6X2DeQo8kyo9Twgt4vzFHZvJHhqXsdznDAd0L+zPKU= Received: from AS4P190CA0002.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:5de::11) by PAVPR08MB9578.eurprd08.prod.outlook.com (2603:10a6:102:310::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8989.20; Mon, 4 Aug 2025 17:13:56 +0000 Received: from AM3PEPF00009BA1.eurprd04.prod.outlook.com (2603:10a6:20b:5de:cafe::b7) by AS4P190CA0002.outlook.office365.com (2603:10a6:20b:5de::11) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8989.21 via Frontend Transport; Mon, 4 Aug 2025 17:13:56 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by AM3PEPF00009BA1.mail.protection.outlook.com (10.167.16.26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9009.8 via Frontend Transport; Mon, 4 Aug 2025 17:13:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=v3CuQbHRwK9TVHhktlwAJtCklWwvtWVkDog8z4gGKz0GzbYgttZvFrTsI4xYBBcf/o7mPXtn28d65OlyyBlZtaNcox4wOr30fmoDfyKWTl8m4z6gf0hw4/JwK8c47CSC3pTBSrRDxKezmls+nGi86x1GLjTg74m3WetEy0X9l9bIxMAKeJPRNZX3EXf68ApcCJghfP8ldrqukbIDpRCn1XBBA1SwnisU24skAmTXdatUqpYd3CQgJwo4Lcz3+rcF63J5ujGBDW0csPFlp6lFUP7THUgM91LVqEvEc43IG7QAHHEiN+R5sNXwaa20vjSVsWp6Oosl/2LROMkQYXeO6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=14yFm2RvM1iPfop7Y8Uy/dTFg2dMVud146pEo+NnIVk=; b=wMulQdH3q26vanZ0VhWWS9LNljLwBAUPjbUwtT+2fI0CfyGOfJ01C74BMDMsBOSlTTH489wAj0qdn/E+1Upx+oP/lxZm4aGXPRRCwf3eKwFUDu68J2Xcc/7EiOiY0pi5BU2enKIhoJ6Ow3soj7njroMWFn4YNuWrksIKbJd90BGZnX7w3Hiim0kd8jw1x2UBoXmuyp0CB7am/LAU9JJugAxlChUHgCQ8yLnqQUl+kZe0HkbYQUFbH0LGLxcjvl9U+KWPPehARH3x3loX81c3f72Z7EEdLZ8HednJi8Ag+iOWqKjKQ7xlX+salO+27lkNSHD0DgV7Sa12cDHA/P7wlg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=14yFm2RvM1iPfop7Y8Uy/dTFg2dMVud146pEo+NnIVk=; b=PUcbmeVDTebomTubnnGq8f7xbavRTnRtu/IX0vNmIcUzqnaCREncpCeffaFUwxIdLTBDkXZ5Hod3sETwyvD/fwa0Q9f/4G/6o+kzlnC03hqKfN8gOJAwptaDtMuAOZfn/6X2DeQo8kyo9Twgt4vzFHZvJHhqXsdznDAd0L+zPKU= Received: from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) by AS2PR08MB8336.eurprd08.prod.outlook.com (2603:10a6:20b:558::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8989.20; Mon, 4 Aug 2025 17:13:23 +0000 Received: from PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::b366:6358:236e:352d]) by PAWPR08MB8982.eurprd08.prod.outlook.com ([fe80::b366:6358:236e:352d%6]) with mapi id 15.20.8964.024; Mon, 4 Aug 2025 17:13:23 +0000 From: Wilco Dijkstra To: DJ Delorie CC: "libc-alpha@sourceware.org" Subject: [PATCH v2] malloc: Cleanup libc_realloc Thread-Topic: [PATCH v2] malloc: Cleanup libc_realloc Thread-Index: AQHcBWMV2QKi2bT74Eu97MJMhQ/r7A== Date: Mon, 4 Aug 2025 17:13:23 +0000 Message-ID: References: (message from Wilco Dijkstra on Tue, 29 Jul 2025 15:22:52 +0000) In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAWPR08MB8982:EE_|AS2PR08MB8336:EE_|AM3PEPF00009BA1:EE_|PAVPR08MB9578:EE_ X-MS-Office365-Filtering-Correlation-Id: fcfb4a8b-cb95-4a39-6dc4-08ddd37a4b07 x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; X-Microsoft-Antispam-Message-Info-Original: =?iso-8859-1?q?wmMGjr871QIszOknK?= =?iso-8859-1?q?QT860B0O7aDngBQKPE42/18nuDaW7a4LjtjockEW0ERDxkOSW+mwZHg1jcrf?= =?iso-8859-1?q?WsJrlxFTbCMwj5T4QTeCod/BZJX5YYuo4WwBseQl+qBkYf/dwf9olesS1Mvw?= =?iso-8859-1?q?M4UzNo0O2Jwfb5M6ABR2YxtT0K9nTMUfkWazySKTd4PJsg97kUW80Ge8thgu?= =?iso-8859-1?q?KqmkI759meJOob9MrlM7BYAgENKwIPdKZ22KW5UVSe282TRgmXMb2DXZT+dY?= =?iso-8859-1?q?CSxkui8LsW7nrf2vmJZK10ti3llJsx8i8WbMSd+hh01zBROTId/vCMWkDFoq?= =?iso-8859-1?q?I4s0QM5DxFW5VX6ogjGYPHB0cGqvcjQRcoEESz31AMWclkMH/E6O5/ZYSZm4?= =?iso-8859-1?q?Ycc+Q9/LZA3vZgm6qvo0/oNvjxHgWo9lKNbIYat1E27APgrFMJFPLQuGUgeI?= =?iso-8859-1?q?p4Sr5UvnbpwFA1YrcspueCkqC+hh5ISVXIGBVuIUmb9suZnvy/t2b3BRG10B?= =?iso-8859-1?q?4efGKIiTNcyckiqADKTx2IuLYH3Bb2WXbpLGYvSTq4oyTwe0o57d7zBPCVjI?= =?iso-8859-1?q?haMOVwyHTbO8HaTj/tGM+fPgiNLAD1LO2ezTj/kRs1jrgtsO5CKnyCCfkMtK?= =?iso-8859-1?q?AvRSy/mUZSdUy3kytOl8IDcfSZpNTVo6OSPUMrvfAXCdOLGQwtzGbDGm5lO6?= =?iso-8859-1?q?mEDA7vT64DqEWnoCoG0cnBzRV4NrriWn4rHQbx333/Avli/PSW1uJmCil7gq?= =?iso-8859-1?q?z1RFIg1D+6lGH7trYfEe6UDfUv2AdZR4GCRY7LL7P5/Cz4fO9m4yJCuAvM1K?= =?iso-8859-1?q?ZeyLZY3lqbEagAbs2xnfTHkY0FlKsBcmhxwn9MqoT9UTGrK6Dv2cGv/ZTbZC?= =?iso-8859-1?q?2zNE7Xy127bqTE5Lirx4CUPxfVvzkwOcrnR8+6JBHwFo82orwLGAuAX7Y0tx?= =?iso-8859-1?q?4SA6Up7HkeJGTygi+TpbhQz06uBl6/3amAezG3LWOuR9Q6KtgQqyohi73IYf?= =?iso-8859-1?q?SZxhbSLKzi7AnSvbln3GG3OIkJLb6OiZqrSaYf9EibVc0MFsHHL1dyTpkkPJ?= =?iso-8859-1?q?9FcjlSH11cxHpT6Tst0aRH09nn+cnvvJxY9ykezgo4Jw/t6EQme/74OdTfqH?= =?iso-8859-1?q?mZrAC8Wr1Sb8k6aArAHa5/36JsfMiiCSobokWHkjJIEwZHCM0sAPSf6W9x45?= =?iso-8859-1?q?QvIXHjbgGo8pShJnUdVI77jibTDZn0B0TmVelrbpzbXHa3/7qNxSmj58Q7Nc?= =?iso-8859-1?q?8684P9kGt+PPboYlYwhXJIEhmx3oFWj8VFeGRafxXwHpX47InFnDeGPrPXs8?= =?iso-8859-1?q?tkogz6NlnnxM/qsw3TlTefdjvxurCsDQaOTGtefIpFSHfl48B4+XxnPZKZgQ?= =?iso-8859-1?q?M/eN97J9IOVtDyEOwOJE9l8S8/ke/BB+Y3v7bgzMdGyOHsjoYunaY+DQMPsu?= =?iso-8859-1?q?2Tbt7mwruOGw+7O1Dosr+4oqujKeLsE0CqfYElZb/96Q0iUU0R9zRVr3/O96?= =?iso-8859-1?q?LJiR4LWZObMN4zdtdJvEIUJeRohUL8uIAvn4PvYoIhiCpPUPd2f0XF/2hs?= =?iso-8859-1?q?=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAWPR08MB8982.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8336 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF00009BA1.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: dd1389b9-d258-4354-f31b-08ddd37a37bd X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|35042699022|14060799003|36860700013|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?iso-8859-1?q?C6BfoNT5Xa1R8nBQDyOklkPzEA?= =?iso-8859-1?q?HIdAhenPl0MhcVhWXZWrgbOR7ViLPBlHAdzkcyAdHgxwDO/DL3hZi1xCk5A5?= =?iso-8859-1?q?BOassa4UI9AjUWZDcZ3AGR3j6HudmDsAG1l61WKyxXUPv/syy168R6Z41zbg?= =?iso-8859-1?q?Q+62b3a/asf3VPwOx5dgHyNJqcdhZKwsbfLxDsJcuqSv3s+r5ywvqi8RC0ob?= =?iso-8859-1?q?7TPWgiP2eBc7uJ09EORe8ggkBave7uEKcNZPWtqeH83lpvbKYOhQPEvtiRfk?= =?iso-8859-1?q?ZyH5s6N7lzI5bKxk8pFg4lsimDRML0ZvkSWfp4m3PG0oq1kANUH2D5x1f/++?= =?iso-8859-1?q?LqB+vfVyj8OHhKOB0hotIcYatIrOHUiLYfSuHFgZ/bzIpdM58CTOuO3v27UE?= =?iso-8859-1?q?XSqGslZJ2RsRP61ZhClJTynj4Kd+3lkRUUnruTE7Cus+n5VAKf+5KYuTw/j5?= =?iso-8859-1?q?UcVLsW9KvIzMZVxIdYlIicag+BqsI9hbGR/79wtxsWFT1xkpU3f2UwMM8U3Z?= =?iso-8859-1?q?0aKP6K4wtX+WvQ+67eGf7MJITA0y9sZf5dVuIbpXiwhRP7V6htXwGTBrD9+m?= =?iso-8859-1?q?EM5YpQriVqN1wo24RciD9OBQuIqt/A/MAhMCwkY4rKlnV+I75vLAY8Hn+ZFV?= =?iso-8859-1?q?THNfYZ8mytjK5bFOt+ZnRLJHqfecVPb+1IFDqccQ9KBcppYR2pDV1JYcWENC?= =?iso-8859-1?q?f0e2Zlx7xo9Kle0HUItlX+qJdw9KZfqPukkUENj8YTLRLz0VBlfLTM7CDgI3?= =?iso-8859-1?q?cQ6ApBM90uMUwNACkp6PfWQKgfGhOHHV+k5LR/d22fJMdq6b98ucw0J3qkeQ?= =?iso-8859-1?q?oFEG1gFeuqAtj5RJqQ316JUcTSHoszKIp5LzBzY86el7O7APQSqkhJOBY6OT?= =?iso-8859-1?q?hRlJOXtn2wHMrwdogIlQDLhYoiFFMA+lV7N3mF65/L00KQmCQNVe+KcYVwPO?= =?iso-8859-1?q?JyvrB9eIp6gX1Y9PdKgD3ydRb/ZZ51kHvHrpmhtseMjJ+l3XBMIFygI1kN4R?= =?iso-8859-1?q?kmLZM45Rfx/8yhzWAHwAgfRPSdmhY0et7XwYgsPZp+tZZ5qvOk/c/N7cl1DY?= =?iso-8859-1?q?5tznV6M+kY2xvUUIETweWIWkZeD9mR/L65tq6UGrkrSXCSUQHCiZqJBGtcou?= =?iso-8859-1?q?MQDjxpY8KRNigvryfY/v6diINUIjwc1YHn4SMVlOagV1wSY4dsE9jc/k9Q0n?= =?iso-8859-1?q?yaOQIyQf/mNzDqG2Jdsomjl2PdbOHgzLBsxrU9NeT9yZjM4BbrAxQ1c0rrft?= =?iso-8859-1?q?/ObKAgqjKT5yqb85xjspFJBj7G6LrjL3EOiS6k0rkfKvlxo628CDQm5YZPOO?= =?iso-8859-1?q?Kl3TJ2sLOKTstsnqVgQywU8vmy91gy6k6YyWN9j4HQeHILwD/Fhd6DzVnytS?= =?iso-8859-1?q?HF7WZcQ6Niv6co1WkllBrWEGZdrSgT3Q82S9K5HvpSA9588naD5UGj1Nmnc4?= =?iso-8859-1?q?Yy0T79m6rNL6lMX+fB55DN8AzgMVrhH8ldJrnQ6A1A7tFpzlCWlCVXs7ADb0?= =?iso-8859-1?q?RIU6pLoVkTb/mAj9iSHHWaRvZxX3w8ReLb3y1UK4H0sJSUyY/HzLsxMWCixA?= =?iso-8859-1?q?78ZqHHn8BF?= X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(35042699022)(14060799003)(36860700013)(1800799024)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2025 17:13:55.4219 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fcfb4a8b-cb95-4a39-6dc4-08ddd37a4b07 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: AM3PEPF00009BA1.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9578 X-Spam-Status: No, score=-8.8 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, RCVD_IN_MSPIKE_H2, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_PASS, 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 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org Hi DJ, >    if (bytes <= usable) >      { >        size_t difference = usable - bytes; > -      if ((unsigned long) difference < 2 * sizeof (INTERNAL_SIZE_T) > -       || (chunk_is_mmapped (oldp) && difference <= GLRO (dl_pagesize))) > +      if ((unsigned long) difference < 2 * sizeof (INTERNAL_SIZE_T)) >        return oldmem; >      } > Why is this an "unnecessary special case"? Because the same check is done in mremap_chunk already. Basically it does not make sense to have several special cases for mmap when there is already a big if statement that handles everything mmap related. Note the 2 * sizeof (INTERNAL_SIZE_T) is not quite right due to the minimum chunk size being MINSIZE, but I'll leave that for another time... > -      /* Note the extra SIZE_SZ overhead. */ > -      if (oldsize - SIZE_SZ >= nb) > -        return oldmem;                         /* do nothing */ > - > I think this only applies to non-mmap'd chunks, so ok. This executes when mremap doesn't exist or fails to work. I think we may need this for now, but I'll change it in v2 to avoid relying on internal details of mmap layout. Cheers, Wilco v2: Rebased, change check for shrinking after mremap Minor cleanup of libc_realloc: remove unnecessary special cases for mmap, move ar_ptr initialization, first check for oldmem == NULL. diff --git a/malloc/malloc.c b/malloc/malloc.c index 9d646abae9a74106c81e3b78dd3ebd4cdcdd4808..e9c1a9224234d1bcae3f92042cf0cc0e350b4d1e 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -3504,17 +3504,17 @@ __libc_realloc (void *oldmem, size_t bytes) void *newp; /* chunk to return */ + /* realloc of null is supposed to be same as malloc */ + if (oldmem == NULL) + return __libc_malloc (bytes); + #if REALLOC_ZERO_BYTES_FREES - if (bytes == 0 && oldmem != NULL) + if (bytes == 0) { __libc_free (oldmem); return NULL; } #endif - /* realloc of null is supposed to be same as malloc */ - if (oldmem == NULL) - return __libc_malloc (bytes); - /* Perform a quick check to ensure that the pointer's tag matches the memory's tag. */ if (__glibc_unlikely (mtag_enabled)) @@ -3532,19 +3532,13 @@ __libc_realloc (void *oldmem, size_t bytes) if (bytes <= usable) { size_t difference = usable - bytes; - if ((unsigned long) difference < 2 * sizeof (INTERNAL_SIZE_T) - || (chunk_is_mmapped (oldp) && difference <= GLRO (dl_pagesize))) + if ((unsigned long) difference < 2 * sizeof (INTERNAL_SIZE_T)) return oldmem; } /* its size */ const INTERNAL_SIZE_T oldsize = chunksize (oldp); - if (chunk_is_mmapped (oldp)) - ar_ptr = NULL; - else - ar_ptr = arena_for_chunk (oldp); - /* Little security check which won't hurt performance: the allocator never wraps around at the end of the address space. Therefore we can exclude some size values which might appear here by @@ -3577,9 +3571,9 @@ __libc_realloc (void *oldmem, size_t bytes) return tag_new_usable (newmem); } #endif - /* Note the extra SIZE_SZ overhead. */ - if (oldsize - SIZE_SZ >= nb) - return oldmem; /* do nothing */ + /* Return if shrinking and mremap was unsuccessful. */ + if (bytes <= usable) + return oldmem; /* Must alloc, copy, free. */ newmem = __libc_malloc (bytes); @@ -3591,6 +3585,8 @@ __libc_realloc (void *oldmem, size_t bytes) return newmem; } + ar_ptr = arena_for_chunk (oldp); + if (SINGLE_THREAD_P) { newp = _int_realloc (ar_ptr, oldp, oldsize, nb);