From patchwork Tue Jul 29 15:42:33 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wilco Dijkstra X-Patchwork-Id: 117200 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 DBD493858D29 for ; Tue, 29 Jul 2025 15:43:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DBD493858D29 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=iQFHpAKV; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=iQFHpAKV X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazlp170100001.outbound.protection.outlook.com [IPv6:2a01:111:f403:c201::1]) by sourceware.org (Postfix) with ESMTPS id 0E3113858D3C for ; Tue, 29 Jul 2025 15:43:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0E3113858D3C 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 0E3113858D3C Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:c201::1 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1753803789; cv=pass; b=XwwvriENVvtuAYJzp78D9TYdJJ1bOwanfCHyDSo74I6R1f8edAm4kMSZzeqlvK1hFPDpbPoIrXf7Dg6H5lM4pLzTTCEtnJzLzlVH8n177LBE80TlpH9qfCu4tJ7xQz5opZgYrUJbh7PC0+9xa5xeUKXAi3R10td5wvs25nUtFLw= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1753803789; c=relaxed/simple; bh=1XkBCPe7J+GpDgFgPmPdWyeceNskFKwHQnBSZ07k3ak=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=EAm7ce3vqCxPs7uGLOl0SkqB3/jIK+0e4dCrhtNQZwBHvK4u6TJJy4l2cYeag0dXbaAsswBaDEnDnV0cBf+EsqGmg3O2cmVlF4U75I3zo8xNdTLKer9SzEIV2NU/F/NlyrePNzj+ac9PSUWAczJBbBLN2l62DWKncZm03Pp3Yv8= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0E3113858D3C ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=WsTYFIDceRwM2z5WZKeFtT5PFCmY96jkEEVYTVMXHplcASY1xmUX4OrVvTh/kxWTyRXl9JBJBSFWM0w20GReyyabJo8nbdhSjD0nMpSWv9tIM7MvCybGiCUMwHYmEJgQRREdmruU/twLPzmppG7Nc9X8JRjJK/dyEEaITmJ3y5Xjngfqne17LinFQ5FtsoBVfF5HfYytC9shFtKnJvTUJDg9x9kmHoPVaK1hd+I+FW3oRqQnyCANDCaHh/5WFu5ISjOgq+8h6FCcX1j+8bzuy3vsg17UaV9MTMvdBd4D4aabVPJ1C0aToEQ5rjGPuh58UJo0fxi1CrcWoEi2JKvjWA== 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=+XmzwuU3HPMIFe0HhNwQsRi9h6qZxjzxN+ayVrfKQ5w=; b=i1Kjfc8C/VEcFUxk0nAJbojRhVXfrOlROtb24YDoIElvqLkT6plpRNvqjJ+bMAvN+8tYjirgmbqu4u6HtaP91IP2BQ+6Ejkq5+qjHhkxKZ3W/DtCKi/RrRe5DF5P7QJLJ+OfnEusVG+/uK0C3kUF3V5X1htUZxi3p8g5azXWrk/AF+kRePbBEi2knqHIKFiEcDfb4oLic4IJCgWzsduhx2sQkvU0vur+A//2JY/qkRU1WrgdCtpKg1nJRB1kUe9JHcw94Fm9hlJw2XxhnpkFYjCu3UZosYTiOy9WoWtaofNnvmZtpmraww/NPedKg+fz72TQTL+0mMBltpbGe6pFsA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=sourceware.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=+XmzwuU3HPMIFe0HhNwQsRi9h6qZxjzxN+ayVrfKQ5w=; b=iQFHpAKVrjITjgZp5whsNmOkdmi8T6AmRV4mRPGeZ7NCGn+bw53bEtvVGpBsSXvfitWo5/a2yHscrpJQur01prr4lIMdymMp2Knoi/OPayroWMFyxy5qTQpjVp4GCymrcV+mH7ZduoVpe62TbfBl6O+uRIzktQtvEkLLZAuxKyA= Received: from DU7P191CA0013.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:54e::17) by DU0PR08MB9052.eurprd08.prod.outlook.com (2603:10a6:10:474::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8964.26; Tue, 29 Jul 2025 15:43:06 +0000 Received: from DU2PEPF0001E9C6.eurprd03.prod.outlook.com (2603:10a6:10:54e:cafe::4b) by DU7P191CA0013.outlook.office365.com (2603:10a6:10:54e::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8989.11 via Frontend Transport; Tue, 29 Jul 2025 15:43:06 +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 DU2PEPF0001E9C6.mail.protection.outlook.com (10.167.8.75) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8989.10 via Frontend Transport; Tue, 29 Jul 2025 15:43:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=srSXPQ9Wm1T0uASkWw5lJnGm+/3gt1bbH0rCu6J7Iqf1WpvlZk4zQC+mBSUba3EwpJBbCfks7Fd+/qXvTmNY4HmR6DJP+DwQ+lvxK7XAo/49AeRwcgA7Nx45YnZfYg3lVUFBWjz4JJjg+RsQk5mSE/w4MGFBiW8/RhIpxtCBgCNz1S1EoMVHgfslgDRYC/9qiA6ZXtLt8oj5cur7sUYIGemwy4R6CzAi2NbmYV7owNB34lzFe87MBWLa8efY60dANkjbHuwKpQnx5DItud1FD86DfG5JaY/T2x7VjG6CkFQxMp1y+elFb7ls6ncu8YNzhpDDcrkdGuBitdv39a5WwQ== 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=+XmzwuU3HPMIFe0HhNwQsRi9h6qZxjzxN+ayVrfKQ5w=; b=LcXTZteNskViGYQXgt48EdJuvqSThQv96lLxuu8vTuVEwR7d+6jGGQZI7MEwrjAWvLfdChrPAHKKq51jVXw6nxur7hx3q6vi8MFpCWM55s3TwmDQvl5vvrW/Ny1sS4MzQWuDI9b/kP7UXqjdBcqsbETXG2xZkKXvAZj9bv1YHND5oPyuLJFv2zPLcE19JTfU9bUMytU940uDtJ7gdRdlt+obr1lhzp5B7Ad7IncRA68nhjTGIUV//l10+qLLoYtK2FyShL8pH7hFU6jJCWHn+TAgnCngY51mJnqZfUuCR5l+luiIhk5rLZGUa7CeEOE9M983pp0rgvZDTh93BV+xaA== 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=+XmzwuU3HPMIFe0HhNwQsRi9h6qZxjzxN+ayVrfKQ5w=; b=iQFHpAKVrjITjgZp5whsNmOkdmi8T6AmRV4mRPGeZ7NCGn+bw53bEtvVGpBsSXvfitWo5/a2yHscrpJQur01prr4lIMdymMp2Knoi/OPayroWMFyxy5qTQpjVp4GCymrcV+mH7ZduoVpe62TbfBl6O+uRIzktQtvEkLLZAuxKyA= Received: from PAWPR08MB8982.eurprd08.prod.outlook.com (2603:10a6:102:33f::20) by DU2PR08MB10131.eurprd08.prod.outlook.com (2603:10a6:10:490::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8943.30; Tue, 29 Jul 2025 15:42:33 +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; Tue, 29 Jul 2025 15:42:33 +0000 From: Wilco Dijkstra To: glibc developers Subject: [PATCH v3] malloc: Improve checked_request2siz Thread-Topic: [PATCH v3] malloc: Improve checked_request2siz Thread-Index: AQHcAJ8EnEYVQVGGwEWXmkHAyiUUtA== Date: Tue, 29 Jul 2025 15:42:33 +0000 Message-ID: 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_|DU2PR08MB10131:EE_|DU2PEPF0001E9C6:EE_|DU0PR08MB9052:EE_ X-MS-Office365-Filtering-Correlation-Id: 999da741-6fcd-4b88-a21a-08ddceb69bf0 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|376014|1800799024|38070700018; X-Microsoft-Antispam-Message-Info-Original: =?iso-8859-1?q?FNHloQtO3CMVrP1oC?= =?iso-8859-1?q?CxOovLyW7ij7z/VF6xh5y6tgY+b/buF4NANapF4aK3Li1oCQf59B3IkRjLgB?= =?iso-8859-1?q?0KeigZdVW+G2CcOWBtXBwJ7S3VmbdDAox76OsxqRb/U/tdp4/k1UeNbFIeLv?= =?iso-8859-1?q?wvZJ0Fw0pJVZ4sRdJUG8QvDMyusb1L3+eBtGPT++sKq3s95Kxo/JU6qj0qA5?= =?iso-8859-1?q?zqCMpMGsvmp3CUye4PdRuVcM7xTvz8Ver8M6ffaQIXJDxQmniFM6lQKcfUix?= =?iso-8859-1?q?fCVUwHPQEzXwqyab7v2+jcjNbwTE3Y3B0BDaoFNWFH5xMkj0nn3Ojp9zkua2?= =?iso-8859-1?q?mhTUjbxuvp1/wrk8S0IH5efBXROt9Ao8EZ3f5cSBKVsZ+eraKaviizPIbM62?= =?iso-8859-1?q?becvWtvTBS49ttsoVXcfEHaAJB//j2wQkK9MHDNtQA+MyRtwbM+eB9Lw//Cb?= =?iso-8859-1?q?uqWmgXBXjIMgPX1kbwMLEvsxLLvTRA7kQmqNN6ywWfUp+xNh44X3PXY3V6bH?= =?iso-8859-1?q?DcdU6SEsqQUg7cKYAEahfGaSTwrcU9lI6/M8B7L0UNN45piqJcc6oe60cBEt?= =?iso-8859-1?q?DZ0LZxx4N0hSqQtAjehqfEXzRLfZOxv/03OX1R7n++LkKE2v4peEGvfuBLYC?= =?iso-8859-1?q?SxTArcuMLDSZpvXS0Kk9tZ+9YYN72P58SxQ31ebc04iVJopUvqvSF2ECakWw?= =?iso-8859-1?q?o1yQFB3YtSR/E3u+EzTjSXOGFYJJwXb/EtorHZf9hMLDxOESLBNqXsbnXmX+?= =?iso-8859-1?q?OXC4KsIKkLY+CkvpbYGW6G/y3fAtNPhYgm+67tsHI80lUoWDhrFSQbrZlCCr?= =?iso-8859-1?q?22Chen0MfFOjonoAflUgpzQnsrm8EyMzCxG+cu/B4YiGhfQ2q/5gPRkLSfqm?= =?iso-8859-1?q?cpyzduVi0wsLGCM21Wkp9i9gIkP8sRd5VHObAfrx8Gx8uwIF7LEgly3PVoNb?= =?iso-8859-1?q?OjjaUiUepUCZBjQcLYJy8tOZApam5Uw8NZa0IqDC/wn7PSpMhiY+SPBivtwS?= =?iso-8859-1?q?i/N4vVtzdU5tC3RhCTZxYMCnIT+sDG6VaVx3Oo0LEAXwB0qdMRBK8+Ustcvp?= =?iso-8859-1?q?KBdD/UFHKAOUHDFf9tgRyUVgkxptWbA0WDxk/uwnF5/avPtJ8x4ooIBKd1Os?= =?iso-8859-1?q?PZRZyD1+VlKopfudGCUURYO9bF6DY5dLEK1TDGIv3uZrmKXQz1umaeE6ej8k?= =?iso-8859-1?q?CWDLhr6BsDRMwng9ygvEzdbOMSXcW6AzSiEgPj26nfp77nVqgdF7qmVy0gD7?= =?iso-8859-1?q?NkB+4BbsMdpjbjpwJ/CW/0UcLVfoYBH4k9NrXhC56Nm5TbaQHFHvDzFdmC8Y?= =?iso-8859-1?q?bi+ZwytIGbf2ojYFP40MF+azfMaXT1TF70ZO+Uth5OyFsdutwCp0dth9s6xu?= =?iso-8859-1?q?nb3r67uM8Zlm0FgyOrXh5jUohOz2rBoMjrRjjOOy/5aq8u//ivWwLKiCVbEx?= =?iso-8859-1?q?DWy+gjZsHz7UzMkJM4VcbtytQx21aUtm9KKFAvq5NzF/mHZeDGbC4X3aBSzF?= =?iso-8859-1?q?0g2mzC5HRTaicNyrbl48YVmkiLY3kkMlGppfw=3D=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)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB10131 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DU2PEPF0001E9C6.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 483ae6c9-8962-4ef7-468c-08ddceb688cc X-Microsoft-Antispam: BCL:0; ARA:13230040|36860700013|14060799003|82310400026|376014|35042699022|1800799024; X-Microsoft-Antispam-Message-Info: =?iso-8859-1?q?idBNu08zGiKQs7PbKTbVf1MqKC?= =?iso-8859-1?q?hwWwPBRgHW4W6o/FzQuSAwyuqf1T1MuFfH7uoqdq6mn1VjBOifWHI9hp0tag?= =?iso-8859-1?q?sZ8duF5B19Q4XS6ExRIv+gFtaEYSyotlYos0p6w7/XnGrO5UkjvgHhXDIUhc?= =?iso-8859-1?q?8qYWWbWhtsAqxrCpjKuIJtFB8A1nY1A42b1dNmIqFqfmhhNrh1p6orixnNe/?= =?iso-8859-1?q?Gec5RN+7jIxZBsP+EGkrjq3b3M9pDYkGJi4kn2i/tOYtENSkSXPXff8MdjoK?= =?iso-8859-1?q?JplHJHPKZuC6uqvK6ZfCQHvdKjzfxzerLU+sabW1Zo2EI2eoMGGqtNw7MeCU?= =?iso-8859-1?q?jAjLFzHHGS51xuSUREbjPIrmF8tt4KVNpHe5BPuDRjsu8PSE2nq/MWHlP8er?= =?iso-8859-1?q?XViz6L1FCb3db1zbPfFPtPiCaPw87bkGbvhI+NMb4sBI9vCCmU8eHq65ScoN?= =?iso-8859-1?q?4NGsDSGcDUpd0OklsqLPTx2j1LEkiG8UrbbnlfGFQ/n8qmM83g/rhR+KDuPT?= =?iso-8859-1?q?yo+I5h8tOe4X2zsLbJxExX04+p5RqNjt69KePv/thQTfE1IO5BZCz7Sf538s?= =?iso-8859-1?q?ujvIARBh7C0sbcevdIkn3OB3NdHdQ9CDu6Urxe0y6oSGiz+eyWsAOzMwr6sS?= =?iso-8859-1?q?XWZl2hzwU5xzTnTfuuvCS7TugiwIBko24JyjVm2dTSuOoeJVP1UCGYFExEwE?= =?iso-8859-1?q?nRDIx+Bl7P3iq08EcO/pOWxkLsbIYMiZPbu47Jb2hax9jLdG2J03JJ8vOEJ8?= =?iso-8859-1?q?15GJ8D3qdzCCWjyxAzSQIAg+PkBs2Sni5InchOT9SfBjFrXaIlcvgqpS9FZT?= =?iso-8859-1?q?vgme+LzIEpHJlLGlhKlJ7LFCJaO5zPbIN7Asq6FYkoJZUHLjHeoQLn7j+ZpP?= =?iso-8859-1?q?N1CH9nrIhA4rdT4HNghRi664L7FbgXvkTGdyDUMh3XyB4HNyCR2iPlchIeU9?= =?iso-8859-1?q?Z2pEm9Tv0IUMLUlRUU3H2AuJxgrI6Cjl9yoZdiF3Kunw8k+POMViXvZAOj1v?= =?iso-8859-1?q?l4sJqsTSe96PN5kKulxtabfmVYr8XurSV29IFcV0uwVE3dKf741mpm9wXozC?= =?iso-8859-1?q?0Pi+EAAjWyZMlLA3eV+vVciALmIGrISmeRb4t+I8c18k7HqTlCzDgf7a+QRx?= =?iso-8859-1?q?1Hqcidp6wS7VHmUpEE9uyXEEcqjdh2psKDOOsDsoZtiFYXVdpHlN0nbaUBbB?= =?iso-8859-1?q?1aWtiNEM2LbMD5TJdiWH7+2yAGrzEmDavGt4CnGo2d90svU1egh+dqqNQm76?= =?iso-8859-1?q?DYJU7zxKuX905OHajpU00kC2t+NQfiHr6BF55hpFwppWfO+PBkSlsdvABG91?= =?iso-8859-1?q?3XiPi36SYsopTSJ+Mzzpy7ldLqba7b4w1nevKhYx0VZKa6jNWXJUUgQZ+wub?= =?iso-8859-1?q?Nrul0hMcuM/cdGfDWK9W1tKAIT7xYkxmvzPJcQeB+8Xdap3FJJs0jnhjuJK1?= =?iso-8859-1?q?b4i6ibmy/ysbRllUn2iGfKlCi2mgIQAwKCcg3OXbre+EWB8jUtS6A3zwiAPY?= =?iso-8859-1?q?7Kluee8fx/0VpQPVEBH4hBwl4CYfi896R/QfTG17OMH3xxa7fURzmyslEtcD?= =?iso-8859-1?q?KybBM4oZ+A?= 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)(36860700013)(14060799003)(82310400026)(376014)(35042699022)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jul 2025 15:43:05.1747 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 999da741-6fcd-4b88-a21a-08ddceb69bf0 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: DU2PEPF0001E9C6.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9052 X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, 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 Change checked_request2size to return SIZE_MAX for huge inputs. This ensures large allocation request stay large and can't be confused with a small allocation. As a result several existing checks against PTRDIFF_MAX become redundant. Passes regress, OK for commit? diff --git a/malloc/malloc-check.c b/malloc/malloc-check.c index f5ca5fb41ca03dddc21bf92c78d8a34d1cb496d5..9532316a298c4b6ef779f3ac8ee7692d78d5e1db 100644 --- a/malloc/malloc-check.c +++ b/malloc/malloc-check.c @@ -275,12 +275,12 @@ realloc_check (void *oldmem, size_t bytes) malloc_printerr ("realloc(): invalid pointer"); const INTERNAL_SIZE_T oldsize = chunksize (oldp); - chnb = checked_request2size (rb); - if (chnb == 0) + if (rb > PTRDIFF_MAX) { __set_errno (ENOMEM); goto invert; } + chnb = checked_request2size (rb); __libc_lock_lock (main_arena.mutex); diff --git a/malloc/malloc.c b/malloc/malloc.c index ee4ea71d7323bf54da708c9af5fb7d2bcc2a33b5..330f4f11e5981c0656d2e94da5e7c9fa6d1f821b 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -1323,8 +1323,8 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ /* Check if REQ overflows when padded and aligned and if the resulting value is less than PTRDIFF_T. Returns the requested size or - MINSIZE in case the value is less than MINSIZE, or 0 if any of the - previous checks fail. */ + MINSIZE in case the value is less than MINSIZE, or SIZE_MAX if any + of the previous checks fail. */ static __always_inline size_t checked_request2size (size_t req) __nonnull (1) { @@ -1332,7 +1332,7 @@ checked_request2size (size_t req) __nonnull (1) "PTRDIFF_MAX is not more than half of SIZE_MAX"); if (__glibc_unlikely (req > PTRDIFF_MAX)) - return 0; + return SIZE_MAX; /* When using tagged memory, we cannot share the end of the user block with the header for the next chunk, so ensure that we @@ -3471,11 +3471,6 @@ __libc_malloc (size_t bytes) { #if USE_TCACHE size_t nb = checked_request2size (bytes); - if (nb == 0) - { - __set_errno (ENOMEM); - return NULL; - } if (nb < mp_.tcache_max_bytes) { @@ -3620,12 +3615,12 @@ __libc_realloc (void *oldmem, size_t bytes) || misaligned_chunk (oldp))) malloc_printerr ("realloc(): invalid pointer"); - nb = checked_request2size (bytes); - if (nb == 0) + if (bytes > PTRDIFF_MAX) { __set_errno (ENOMEM); return NULL; } + nb = checked_request2size (bytes); if (chunk_is_mmapped (oldp)) { @@ -3751,13 +3746,7 @@ _mid_memalign (size_t alignment, size_t bytes) } #if USE_TCACHE - size_t nb = checked_request2size (bytes); - if (nb == 0) - { - __set_errno (ENOMEM); - return NULL; - } - void *victim = tcache_get_align (nb, alignment); + void *victim = tcache_get_align (checked_request2size (bytes), alignment); if (victim != NULL) return tag_new_usable (victim); #endif @@ -3918,11 +3907,7 @@ __libc_calloc (size_t n, size_t elem_size) #if USE_TCACHE size_t nb = checked_request2size (bytes); - if (nb == 0) - { - __set_errno (ENOMEM); - return NULL; - } + if (nb < mp_.tcache_max_bytes) { if (__glibc_unlikely (tcache == NULL)) @@ -3997,12 +3982,12 @@ _int_malloc (mstate av, size_t bytes) aligned. */ - nb = checked_request2size (bytes); - if (nb == 0) + if (bytes > PTRDIFF_MAX) { __set_errno (ENOMEM); return NULL; } + nb = checked_request2size (bytes); /* There are no usable arenas. Fall back to sysmalloc to get a chunk from mmap. */ @@ -5157,12 +5142,12 @@ _int_memalign (mstate av, size_t alignment, size_t bytes) unsigned long remainder_size; /* its size */ INTERNAL_SIZE_T size; - nb = checked_request2size (bytes); - if (nb == 0) + 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