From patchwork Thu Oct 9 17:37:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 121596 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 10E583858427 for ; Thu, 9 Oct 2025 17:38:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 10E583858427 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=VjVAxIn9; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=VjVAxIn9 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013023.outbound.protection.outlook.com [40.107.159.23]) by sourceware.org (Postfix) with ESMTPS id CF7E13858D32 for ; Thu, 9 Oct 2025 17:37:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CF7E13858D32 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 CF7E13858D32 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.159.23 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1760031463; cv=pass; b=XO6NllEjHpQU/DIODXeiauwLD9MAuWoL66chP5jKGvQukS7B3C9v6dp9fFW+FHnlNEdwrZtS7rpKzurFcUp5ddhVMp4h81UV0O2jofvWK5ZUOBWICk6My7CkWsA4zntcE3jL6bvmpq0GETzLDrA+J9GBNBQqL+XSGimUY6UYBLI= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1760031463; c=relaxed/simple; bh=uTaDWtV3kLxZenW5tOSIET/e6At0L1sX8OIFwb6wqu8=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:To:From:Subject: MIME-Version; b=w0O5EVUKL5ufJmCNuS3myX/Q/T5vR0m8YsdCZu+nFk2/drXoZSpNt3pt5iKs3wWPEKMHcv4jrqg/Tv3VHJNjCPbk9KjLzes4IbWIrEsDCg040g7J7neOIHOyOjJo7wwdT3EJxAh1fPvK04YMeegO4gMNzxMU6NGJz82W/apce0E= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=R5eNYRvMHxFQWJZVyLhKiGkXF8e+X5qEsvnt0pLYKmkTBz2gLSkT1warT69i8472fr1wWFFoTqFuqyv5Nx4z1by67KHIZZncpTqRoQbwaAPp5yHPCJfV9Qd5P25gn5bumMKVbOHQkPmO7/nzrldl6GLt7ZSE15OjoocOOEzIPoa0G/odZjjIGjIclvPnCLKBqBwLmBY6nYx/mc+FPpmPNuSG3vw+ntNuMQ27rS52gqR1tAxP/IJEu4KMgB5BOPxxqMTTC7wipjQyae2HFDptXvV8bvj/CGgiKE+foRi0QTZHoJgkDIhyLx3Sq8my5VHfPMrtImSZWHO5DQ/a3jzT4A== 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=vWytygg6fGzUzsAff1Tr/YKmy5qzHdrZDNMFvnpXMnc=; b=fygdvKtjkp5eYRv12TtwmK0kYiv+tgFvtGB08gyFIv3EOLwIly/E+k0CDkXV8PMW4wcNaVhdOGDOFK1CPVAyENIxU5W03Cc/LAKQ7rMryuqM5xmxk+tly0HU73dZFhkEXUNJRj1VJolujUkYctxi/gzbNQx49IsicVSqEDEMw/f0u8/YI8DmR4aqd82KuiaGe/TaBY7JPCrmHPcwAFmQOQyu0LFKRdawa7BqL4snl3mBRCGmj9BBqEFa3R5YHOYrTrtIjKGcC4RArTjEpxUtkAuVG3KAcWHvDj4oU6NWWsq9U/9NbJg56CdwiyZ6g08F2d62lLD5M4FdyHEOWckH2g== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=linaro.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=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=vWytygg6fGzUzsAff1Tr/YKmy5qzHdrZDNMFvnpXMnc=; b=VjVAxIn9kI/vhAo8rEneKX54zqJAFob36jJyicNyvXT9TmNn+eHjjCx2DkE8knWEd/hWxa3B3Ij+CB1My07dZaqIQN6w4Tpfgm7/16nu9nShmwbHOkC5tgrZgSqf5T311S9ZHqQoAjD3ZF4kKjPIk4Ku/QiaWhAvGFqaaxxwS8w= Received: from DUZPR01CA0033.eurprd01.prod.exchangelabs.com (2603:10a6:10:468::8) by GVXPR08MB10544.eurprd08.prod.outlook.com (2603:10a6:150:153::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Thu, 9 Oct 2025 17:37:37 +0000 Received: from DU2PEPF00028D13.eurprd03.prod.outlook.com (2603:10a6:10:468:cafe::ce) by DUZPR01CA0033.outlook.office365.com (2603:10a6:10:468::8) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9203.10 via Frontend Transport; Thu, 9 Oct 2025 17:37:46 +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 DU2PEPF00028D13.mail.protection.outlook.com (10.167.242.27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9182.15 via Frontend Transport; Thu, 9 Oct 2025 17:37:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=df5FcMP+yx5X9zGHhx7dj32RCNCbnKMBrdlfb93dHxH/z/imtWRRnuXRu4uws184gf+7wPDLOzOdci1gb+cktH2pQKpHHvLWBGAdvtjDyT6rXGqfzIHuV+Si9iGkmExWlUNCMuhUnqPvIMGTHj0TYUzOJzJdLiFWxMGaATAD7mUg1aXoZOOaFkeXVu7lDVhPGzeD4URWORIHl+NXqaRGKRQYInaOLNfvS2UnzUKjdqaW3XFoT2rHNLGx0ZASogDhDqDQ2mOHQiIsNHFxlr19Rhh/t2sdCVe2nztnFNAvqB2wGEEpjHJjhr6pp22NpuyLOO+0hJcrBmNV6F6W+zOuLg== 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=vWytygg6fGzUzsAff1Tr/YKmy5qzHdrZDNMFvnpXMnc=; b=v4Jq8iqshOcyRalw+ZghWD9630YV7wASWpbFF9e01NvLqN8N5oIW0KruGxbhdlbJF5s3pRmnDQyaGzMx4nR/bSIwQyePmuGwpaHHCq8j8lnPP7yAOiLotz/OV3hNzMPzUUqcNYSOT52lJk316leN3GnwiYguKvsRIJTt4JGsvoqBbnG2C5+nw30vxUaiEU4RFxBtYb77Rgnis0UhNVv0r5dzCayOQZRlQdkjPDH0JCQY64ajnUVo7mhG+YSBxowWp9OU01XF70jPEXJAzTXvixNH/oVvFqB9uU7jOceA2XiIDj7CuZsnVJW16BYLnWNa9yhhLXkrZ4RVROkrLotvFw== 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=vWytygg6fGzUzsAff1Tr/YKmy5qzHdrZDNMFvnpXMnc=; b=VjVAxIn9kI/vhAo8rEneKX54zqJAFob36jJyicNyvXT9TmNn+eHjjCx2DkE8knWEd/hWxa3B3Ij+CB1My07dZaqIQN6w4Tpfgm7/16nu9nShmwbHOkC5tgrZgSqf5T311S9ZHqQoAjD3ZF4kKjPIk4Ku/QiaWhAvGFqaaxxwS8w= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) by AS4PR08MB7782.eurprd08.prod.outlook.com (2603:10a6:20b:516::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9203.9; Thu, 9 Oct 2025 17:37:03 +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.9203.009; Thu, 9 Oct 2025 17:37:03 +0000 Message-ID: <8dec8191-0ece-4966-b367-cec68a734b54@arm.com> Date: Thu, 9 Oct 2025 18:37:02 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: adhemerval.zanella@linaro.org, libc-alpha@sourceware.org From: Wilco Dijkstra Subject: [PATCH v2] malloc: Cleanup _int_memalign X-ClientProxiedBy: LO4P265CA0224.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:315::8) To PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAWPR08MB8982:EE_|AS4PR08MB7782:EE_|DU2PEPF00028D13:EE_|GVXPR08MB10544:EE_ X-MS-Office365-Filtering-Correlation-Id: 35595670-dcfd-4e14-0264-08de075a8985 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?q?DELrV6g+3VUTuANUpxSEVa?= =?utf-8?q?0w09/4OE7KbqMElnBJnqFtb+GyEvjAQ1SuLpdXx2siE4vsiEAW0E/vtMZUl7qD3JN?= =?utf-8?q?uSq8I86hQsGuQ9l9zMs0qWBwi16/z/EYxs4HIbu+OSUozdJ2iDsd6sxvGBnypYZxL?= =?utf-8?q?UKtRgvUzSRd9vEE0FBzL1JNPBPQcbKlHHZdqgxeTwO17R4BvADmatzq1K/VnYlfd0?= =?utf-8?q?bHOqIsctxlWEOB/gcA8bmXKXCm3mBG56IfPZ/YNwK2aMbpmaMeUGNe9bOQJ1dUm/3?= =?utf-8?q?W3aXffexqYN+1XNr/M2D/SwUAU7dQ4FLKOVVo+Zl8ILBgiMnAlEbRIpb9Nx8Gkmt1?= =?utf-8?q?9Aas4A9FG7jQOsQuSpVpvy/SghQoRDmBsIS0F0wid1DX8BhwDY0SnmS0SiO7Qa1XL?= =?utf-8?q?pq19dcigkWNZIQNsbqj7GHypMauNny3XSK7L7BXTw+tEnetm/p3J/5h1EZuXRxAD9?= =?utf-8?q?ejp4snws0nB21Do9jIaYsgn90Z2h2dE5N7sw5E31roRBE9Zb1TTzYI1y9fKKLeElp?= =?utf-8?q?PFP7ETceu0HXOLPl14+T5Cupktl1cd36BKedpXRJNPSKKTaBoFHLLAu1SKgPwuv99?= =?utf-8?q?ZDJXQ49K+r4ws5CgSz+JIZdtPQ8aZuic2BCNpMC9YbZSN57Wr2jDGfchtyhRGexYO?= =?utf-8?q?Doycg5CxhXHptcgENdQ0E5uDKp8N4T+O4+tLrVBO2GfUzFJKAjkdw7IKVvkNkVmmV?= =?utf-8?q?lQZfd3eKEMcehR6SYJKZW5ufQipIo5lodNcUU28zskEng/GBPINZge0QcRDoJ0TGV?= =?utf-8?q?JcVzsmhisnnYNeRa5al2hRJ+DhLZ6wNRaXuSin4DKaJ52WJ6UnliQMSAPUFXr/3Lb?= =?utf-8?q?MoHaeT/WwbqUmsIV2jvZuDBO17dDD7R/GCGbA/VXlhePKVqX/gobrz/76pBg09WqX?= =?utf-8?q?SI+3XomRXXnZCeU9iQL+chK5Aipmtnt7UCfwJYV9zJtmMHS0yCr1AB5guJunXhOii?= =?utf-8?q?fOE4097X3YcwuoAJkIFiIaKbYd7iIzFGOs1BhhcmUXNHG2JFhac/XOyN+X15Xj4l3?= =?utf-8?q?s4xgV1Wu6riuw9kg05eJV8GOYTxkm5PtXTKp4k+ckXuc33QdG5HEBXn00a4PX/71W?= =?utf-8?q?9uqBqMzxXF2EqPFjNgwa02CnkFQ8gifeYOagA6l0UOx9gsJaDV9LfGuA66+jT0+xN?= =?utf-8?q?UrwEmmywYC8AeONcwaTHxtqf9l1xwL8C03Z5g1SVEcaE9YirI4NjePoNz+EwOIPcM?= =?utf-8?q?/hlSoJZX3GgHsxcJkBdXRT8qT2tROmabDFv96FfT0zcQ2yPOR/z/68VHLQRhurf0Y?= =?utf-8?q?UfVg2rO59eE5MoS3zUQlGzeq6RAb8tMIu2BzCnu/nrJEHZtl/Y83rSuZqnumZs3f5?= =?utf-8?q?FijJHMrswEREPyWwKy6KL7IArLw83CBTENApE+7w/5sAW+QNVE0nL3anCHFvf1kkr?= =?utf-8?q?UjR38XY1EXL9qc/mcZEs?= 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)(1800799024)(366016)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7782 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF00028D13.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 1791a00d-54bc-4252-972e-08de075a758e X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|35042699022|82310400026|1800799024|36860700013|14060799003; X-Microsoft-Antispam-Message-Info: =?utf-8?q?w6Pi2Wqfhm9o924Ve1+ZVx4L7o2Yvlm?= =?utf-8?q?zrfjb69RVRJgIwy6AfFU3DXGd2fFgl77WXq4wXGO7tmbyl+33E+qfMB4ZRuBpfWXL?= =?utf-8?q?33lsvV3a0u0ypACrgT/xKipDsTFc10AxRVStD/rtqZmdRd1ZLJ1nzcMqorBb5Fwjp?= =?utf-8?q?WGVoe7N4cHXcRHxcGWd/WmvXkUWC37o3fweJh1q/PmeWukL+uHexPMYTjpicTonE5?= =?utf-8?q?jiRLch6hag0r/SUzXnEhtAd+aIDHuc7RGR3f6Fw5YCASDjPLsIFh2VgG1Hpp+6dgF?= =?utf-8?q?NLog5Mo366RjBzN6JMC6PbwEWFYyiAnWiMhcEq77q80ZZUi0gCAtQLZz6qF4rMkwT?= =?utf-8?q?jDpBfOs1Ut8/57F7ZqEODKk1eBicOQsfIotaclR1S30hwQB2L3KxXf0j8aIUUhSds?= =?utf-8?q?KWHgImfXeY7MHtqWkcElAsIUbKem1Vh9mWtIKGAOQd9Ajp+yGHskGG3CIKns1OTyi?= =?utf-8?q?0oQfu/lKV9y9FsTRdOw5LeaKD9//ABKQSJlD4v11AYmzJpnlSnyy2MMBrecN3ffUU?= =?utf-8?q?9PqurdcH+9FkQwqaj9QMAuId/6RK1P0EvR2+7rdNSLy8pLnCN5famVSrmwQptV++1?= =?utf-8?q?8ZRd68ct7kfoa6pfFkfObT73rzTaW06K4iMfjtNMDjqzfHzSPRyOTvyyO/1QV5UtY?= =?utf-8?q?3DsFVsYe8bsuzIYHwdl0YR7q8tAJrFI9hkKepUIZCTxYdVx8rye1pLrgwWEUuB/t7?= =?utf-8?q?2Dp/rguFPye8KajxfBNWTGIWluytXcrSt8Ec7lnCNevtpzmlK1TKCYumZPrLZnr3d?= =?utf-8?q?4GAANDy3gGPyCwpMgmw8wSZyfa88PlIFflWvk5DRZ4FtEQze23CQUwxuDzhKS55i9?= =?utf-8?q?EkTgTrlmUMI9toSZIrfZ3fxtRSwNEsw3J7EhtPS5Pgr9MDVKmKDI7JrgIoszoF/Id?= =?utf-8?q?67ZBK6AKpVzG9B+wTJPfGizKtqqgB9XtRg9FG8IOrjy6QM4YipQ/l+ewh9Z9lcNEy?= =?utf-8?q?JUKmZohSGsLZSSl5115WzO8Ln3lp5Sz/CbDbvDWM91WqH3vfOj9V3ZBQIHGgkhqrs?= =?utf-8?q?KJCFmCuVY52P3cac3wCLT85dTf7O/4SOGx/iAPHepAz3Y2XqnjoVJzIO8lkOqueUx?= =?utf-8?q?Ist/74RtKGcDVvMchwhGAqf+7k67pLX7JjI3E2A0bA+6Z1u3vJIJHmShZVMW76+Cq?= =?utf-8?q?Wlqs2WYYaBiAuE7lQwJ/KObRYRUK+d3waKQE1PhVxt8K/InAwsY4btAvkcL5YTOU5?= =?utf-8?q?cCB9nw2Z/MLcgqwK1UJ7psWhWx0vgKO5XwfTQyAXecbopBn5Pnq/i1KJ+YcWoXWOC?= =?utf-8?q?LdGAVzqcY7uwkBfq7wYThAbQVKKhz3euFArJRTmnKicYHo8FOBILp1nJfubItaLsi?= =?utf-8?q?ORZ2qNWc7FkffAQaIVbTGPlX4KB6w/3L2ujRk3xkIdOs+q3p+/nOPqdbzCyFHDwnh?= =?utf-8?q?hF8/urZciFUslRlDUkHnfbrTKDiP/bEIMkD7AHjDG78lthhQK+pNKdp+/gVxEMB8V?= =?utf-8?q?wqDoyHxx1+InkxKEDSLvTgU5W6dW36USjr1WhFgj1+7GpQPPrBpKs=3D?= 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)(376014)(35042699022)(82310400026)(1800799024)(36860700013)(14060799003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Oct 2025 17:37:36.8274 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 35595670-dcfd-4e14-0264-08de075a8985 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: DU2PEPF00028D13.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10544 X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00, 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 v2: fix mmap offset on x86 Cleanup _int_memalign. Simplify the logic. Add a seperate check for mmap. Only release the tail chunk if it is at least MINSIZE. Use the new mmap abstractions. Passes regress, OK for commit? --- } check_inuse_chunk (av, p); diff --git a/malloc/malloc.c b/malloc/malloc.c index 18aa546ec585f87d1a6e8358f6fbf2ba05095a44..98a38ab26b8a82aee39021143b865344c3ffab95 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -5101,107 +5101,64 @@ _int_realloc (mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize, ------------------------------ memalign ------------------------------ */ -/* BYTES is user requested bytes, not requested chunksize bytes. */ +/* BYTES is user requested bytes, not requested chunksize bytes. + ALIGNMENT is a power of 2 larger than or equal to MINSIZE. */ static void * _int_memalign (mstate av, size_t alignment, size_t bytes) { - INTERNAL_SIZE_T nb; /* padded request size */ - char *m; /* memory returned by malloc call */ - mchunkptr p; /* corresponding chunk */ - char *brk; /* alignment point within p */ - mchunkptr newp; /* chunk to return */ - INTERNAL_SIZE_T newsize; /* its size */ - INTERNAL_SIZE_T leadsize; /* leading space before alignment point */ - mchunkptr remainder; /* spare room at end to split off */ - unsigned long remainder_size; /* its size */ - INTERNAL_SIZE_T size; + mchunkptr p, newp; if (bytes > PTRDIFF_MAX) { __set_errno (ENOMEM); return NULL; } - nb = checked_request2size (bytes); - - /* We can't check tcache here because we hold the arena lock, which - tcache doesn't expect. We expect it has been checked - earlier. */ - - /* Strategy: search the bins looking for an existing block that - meets our needs. We scan a range of bins from "exact size" to - "just under 2x", spanning the small/large barrier if needed. If - we don't find anything in those bins, the common malloc code will - scan starting at 2x. */ + size_t nb = checked_request2size (bytes); /* Call malloc with worst case padding to hit alignment. */ - m = (char *) (_int_malloc (av, nb + alignment + MINSIZE)); + char *m = (char *) (_int_malloc (av, nb + alignment + MINSIZE)); if (m == NULL) - return NULL; /* propagate failure */ + return NULL; p = mem2chunk (m); - if ((((unsigned long) (m)) % alignment) != 0) /* misaligned */ + if (chunk_is_mmapped (p)) { - /* Find an aligned spot inside chunk. Since we need to give back - leading space in a chunk of at least MINSIZE, if the first - calculation places us at a spot with less than MINSIZE leader, - we can move to the next aligned spot -- we've allocated enough - total room so that this is always possible. */ - brk = (char *) mem2chunk (((unsigned long) (m + alignment - 1)) & - - ((signed long) alignment)); - if ((unsigned long) (brk - (char *) (p)) < MINSIZE) - brk += alignment; - - newp = (mchunkptr) brk; - leadsize = brk - (char *) (p); - newsize = chunksize (p) - leadsize; - - /* For mmapped chunks, just adjust offset */ - if (chunk_is_mmapped (p)) - { - set_prev_size (newp, prev_size (p) + leadsize); - set_head (newp, newsize | IS_MMAPPED); - return chunk2mem (newp); - } + newp = mem2chunk (((uintptr_t)m + alignment - 1) & -alignment); + p = mmap_set_chunk (mmap_base (p), mmap_size (p), + (uintptr_t)newp - mmap_base (p), mmap_is_hp (p)); + return chunk2mem (p); + } + + size_t size = chunksize (p); + + /* If not already aligned, align the chunk. Always add MINSIZE before + aligning so we can free the chunk before the aligned chunk. */ + if ((uintptr_t)m & (alignment - 1)) + { + newp = mem2chunk (((uintptr_t)m + MINSIZE + alignment - 1) & -alignment); + size_t leadsize = (char *)newp - (char *)p; + size -= leadsize; /* Otherwise, give back leader, use the rest */ - set_head (newp, newsize | PREV_INUSE | - (av != &main_arena ? NON_MAIN_ARENA : 0)); - set_inuse_bit_at_offset (newp, newsize); - set_head_size (p, leadsize | (av != &main_arena ? NON_MAIN_ARENA : 0)); + int arena_flag = av != &main_arena ? NON_MAIN_ARENA : 0; + set_head (newp, size | PREV_INUSE | arena_flag); + set_inuse_bit_at_offset (newp, size); + set_head_size (p, leadsize | arena_flag); _int_free_merge_chunk (av, p, leadsize); p = newp; - - assert (newsize >= nb && - (((unsigned long) (chunk2mem (p))) % alignment) == 0); } - /* Also give back spare room at the end */ - if (!chunk_is_mmapped (p)) + /* Free a chunk at the end if large enough. */ + if (size - nb >= MINSIZE) { - size = chunksize (p); - mchunkptr nextchunk = chunk_at_offset(p, size); - INTERNAL_SIZE_T nextsize = chunksize(nextchunk); - if (size > nb) - { - remainder_size = size - nb; - if (remainder_size >= MINSIZE - || nextchunk == av->top - || !inuse_bit_at_offset (nextchunk, nextsize)) - { - /* We can only give back the tail if it is larger than - MINSIZE, or if the following chunk is unused (top - chunk or unused in-heap chunk). Otherwise we would - create a chunk that is smaller than MINSIZE. */ - remainder = chunk_at_offset (p, nb); - set_head_size (p, nb); - remainder_size = _int_free_create_chunk (av, remainder, - remainder_size, - nextchunk, nextsize); - _int_free_maybe_consolidate (av, remainder_size); - } - } + mchunkptr nextchunk = chunk_at_offset (p, size); + mchunkptr remainder = chunk_at_offset (p, nb); + set_head_size (p, nb); + size = _int_free_create_chunk (av, remainder, size - nb, nextchunk, + chunksize (nextchunk)); + _int_free_maybe_consolidate (av, size);