From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4052BCA101E for ; Mon, 2 Sep 2024 01:36:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C87598D0060; Sun, 1 Sep 2024 21:36:50 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C371B8D0052; Sun, 1 Sep 2024 21:36:50 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A8A238D0060; Sun, 1 Sep 2024 21:36:50 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 886C38D0052 for ; Sun, 1 Sep 2024 21:36:50 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 4C506C17D2 for ; Mon, 2 Sep 2024 01:36:50 +0000 (UTC) X-FDA: 82518084180.02.F941E71 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.20]) by imf16.hostedemail.com (Postfix) with ESMTP id AE0EE180003 for ; Mon, 2 Sep 2024 01:36:46 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=KBFKb+xp; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf16.hostedemail.com: domain of feng.tang@intel.com designates 198.175.65.20 as permitted sender) smtp.mailfrom=feng.tang@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725240903; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=8HKXK6DD7NhkVSbVtT80UiZMX5fD7OrbeoN7/hy8HYg=; b=h7pzQQ/U+UeKeh9HH+JuOq4y0uyzBsCm+U+vg/lwI441kJ/PG/VmDLAtCGFmNbrWQeasOl 9RGtXSjw3fyOV5o2Kk5e/vvz9NZagssMDyZOsn6k4WSRaWCptvvuzmuZtPMKWDxfct7Re9 CBcaa0Qd8H8gJhflZEYp1RbaygHyRiU= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1725240903; a=rsa-sha256; cv=fail; b=GNRgeNClPgy178y4qb/GZQkdXgBB0AGghR7aogkH0Ixr8vAOXy39XJxBCq8PpsHKSR/hg/ Zq/HeEAkPn54PNMPIZ/y7oK2uiMxsW6IRuyuc656n4sLVwPCFT5XSkmgQG/DF0e2EffMW8 SvGdpRcg7mi+OaqaMHUQGjT+NEnQoo0= ARC-Authentication-Results: i=2; imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=KBFKb+xp; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf16.hostedemail.com: domain of feng.tang@intel.com designates 198.175.65.20 as permitted sender) smtp.mailfrom=feng.tang@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1725241007; x=1756777007; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=w2+lgzDckiY5LZyIcFRPhl0tgqvfAd36BGVkll+MKZE=; b=KBFKb+xpl0K/W4rWDIPHrnZXO86IM6MhRLH9JxJmeK93tCirK6wjuFdL kNtiaktIG+RXpVI+n5Hodcxjx/rrylis3YOv7tKPqw8kuNc/HwUz/scdD PiEI5BmqABshYFmRNZl6XIq6zNYoSpRrjQ4LoYm3Rh7x3G4FRcQH9iymF CO2P38JaG3602CIuhjR/8WbjC/if3AGl1U+l0dirztcViVHZwMNn4CFoa 29/gK7hBieo1UvTFPyKgDyJHABmvNHWT10PbpkBq8IGwjiFy5A0p8imF5 PvKPzTBS08jIoZBpV7xZQA7oi5+JoCYmhlxPtggwerx8wKLWzv1w97FbM Q==; X-CSE-ConnectionGUID: 3x9aQ0CfTviD56xRoi9HtA== X-CSE-MsgGUID: z9KyYN1WRV+d5ZXFGy6uGQ== X-IronPort-AV: E=McAfee;i="6700,10204,11182"; a="23615973" X-IronPort-AV: E=Sophos;i="6.10,194,1719903600"; d="scan'208";a="23615973" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa112.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Sep 2024 18:36:45 -0700 X-CSE-ConnectionGUID: EqwIhpLZS+elOPn/8ptQKA== X-CSE-MsgGUID: 1MwIEqm9SJC1MTPmuzFPQw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,194,1719903600"; d="scan'208";a="69352360" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orviesa004.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 01 Sep 2024 18:36:45 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 1 Sep 2024 18:36:44 -0700 Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Sun, 1 Sep 2024 18:36:43 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Sun, 1 Sep 2024 18:36:43 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.177) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Sun, 1 Sep 2024 18:36:43 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=e2mk5j7VdyrOPyynRAqTrIbsN9c9y1KPqrZ+03mV+Qg60m35leP3EMLlc6mZOMww8qkE6tYnW6Q+NgZ1U9hlvugrWeAF7KzXUCH2u3C/NVrG98BRZ4t+vA5IM0DY5XNareSGFjgU+7EJVnUKs0VdMQSGSsScW/UIkAyjnriiS/mD4nEaY2cFhuvWWE7FcdoIgpTGq5nctlH8dycHTfUV9V22HtjdxMp4fBbHMLqMfnd+oCUs0cFRAKXTvXTf9WcE1IgvP+ilIU90NuCkTUPMoxKng2Tu8s0c8+e5BV2XrFcVHdPAe7ZNS9U4XpmQBWD/MYwG94YNavHrqBSyw9Ku2Q== 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=8HKXK6DD7NhkVSbVtT80UiZMX5fD7OrbeoN7/hy8HYg=; b=mm2R43g3v9mcBTJ5W7KV8X9Bsk27F1TvmcduzMGc/orF28yc8TNcsLomXLT+/jkl9yf5bfN7Sb+n3YHmfOn8OcJv8tJ7PxLkbqURxHLJoLqqIW70+cjndRgUOS8vKlRYBWIngOwwJIAYxkJDiweZYfYGcjWOd70dIq9TfFZiP4+mWdFGiZ2JaXiqNQCytlGd0/woXx39h5nkT8fx2O0Yfl/B+npBw7FBEcGyMQe5HgWW9Zg2c+DUp/hJ6kdPU1+mt6Bk6p4+p/4HAmV+YLH7ZOBiPf/a8AbnTfsvqasd0/qL93aSSUonN2EyJnAH7Z3CHTYnyajLobGYwn9F6NSnhA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from CY5PR11MB6308.namprd11.prod.outlook.com (2603:10b6:930:20::8) by PH8PR11MB8037.namprd11.prod.outlook.com (2603:10b6:510:25d::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7918.23; Mon, 2 Sep 2024 01:36:41 +0000 Received: from CY5PR11MB6308.namprd11.prod.outlook.com ([fe80::9ccb:43bb:9d04:14ef]) by CY5PR11MB6308.namprd11.prod.outlook.com ([fe80::9ccb:43bb:9d04:14ef%6]) with mapi id 15.20.7918.024; Mon, 2 Sep 2024 01:36:40 +0000 Date: Mon, 2 Sep 2024 09:36:26 +0800 From: Feng Tang To: Vlastimil Babka CC: Danilo Krummrich , "cl@linux.com" , "penberg@kernel.org" , "rientjes@google.com" , "iamjoonsoo.kim@lge.com" , "akpm@linux-foundation.org" , "roman.gushchin@linux.dev" , "42.hyeyoo@gmail.com" <42.hyeyoo@gmail.com>, "urezki@gmail.com" , "hch@infradead.org" , "kees@kernel.org" , "ojeda@kernel.org" , "wedsonaf@gmail.com" , "mhocko@kernel.org" , "mpe@ellerman.id.au" , "chandan.babu@oracle.com" , "christian.koenig@amd.com" , "maz@kernel.org" , "oliver.upton@linux.dev" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "rust-for-linux@vger.kernel.org" , kasan-dev Subject: Re: [PATCH v2 1/2] mm: vmalloc: implement vrealloc() Message-ID: References: <20240722163111.4766-1-dakr@kernel.org> <20240722163111.4766-2-dakr@kernel.org> <07491799-9753-4fc9-b642-6d7d7d9575aa@suse.cz> <44fa564b-9c8f-4ac2-bce3-f6d2c99b73b7@suse.cz> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <44fa564b-9c8f-4ac2-bce3-f6d2c99b73b7@suse.cz> X-ClientProxiedBy: SG2PR02CA0039.apcprd02.prod.outlook.com (2603:1096:3:18::27) To CY5PR11MB6308.namprd11.prod.outlook.com (2603:10b6:930:20::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY5PR11MB6308:EE_|PH8PR11MB8037:EE_ X-MS-Office365-Filtering-Correlation-Id: c3e8636d-b534-422d-fa38-08dccaefb133 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?zOxWJObiCKc/UZpCiclxP5SAwjibJe1ArctvfttaYBDIcQpFJOP+7Rjj+uTT?= =?us-ascii?Q?VR2X2h+UKb0SxldfJb0xuveklBn939ekz/BpgP4VCaIBtBaUsDL/pSgd6+FN?= =?us-ascii?Q?cuBj1CYLTPLax5r0veqc0KyUQ/02PTrhZmypkpTDRMbc6RSxLWVPovvWaLs/?= =?us-ascii?Q?K5CYA+G083eB6nLnWEo7NM00s4ha4ebLBlmvKqJ+KJwz70AlhB2DKNDERMRJ?= =?us-ascii?Q?zgzBBQ09HlduwE7ipDMq1OQeYBVEFB9eVIcjvdpoE/R5psjqj0jV2Bh+Fx9r?= =?us-ascii?Q?mOWHyBkUBO3EQ2RxkdiSJzVjNpF6wefd1z/u3psr6wcBQhn+/rYxQypc8cir?= =?us-ascii?Q?kFhUCd8FrSqseVNxGejjbu6WGUMNK4tvA5HP2lNtPMDUlJQ0QyPsQTCH1KOY?= =?us-ascii?Q?Yl52ZbeT/DBsc1GDJny0e1g8uM6YLK11iOJQuJu8uafqTkDGBGOZh/YyfB0S?= =?us-ascii?Q?pFzMp9WB05yGLlfNyDzu2/9yrKH1fkRR7DoCFiVYonzrpZ6RWjCEHNIq14C/?= =?us-ascii?Q?AYSEmFUOWsFlkN36zEDHbrwvAOyuSAgv6CGLjop5FXLwZq3V/V1e15peL/iG?= =?us-ascii?Q?Lbz93N/1QsKgSaMcVihp5e+7P7USyqaDP6jYCA+iwiA+4ZI9zshz8rtnmV3b?= =?us-ascii?Q?TWCFKcKmeHj1kDBXcQH2GvWO6VFKieQGVECIRzgRuq7Uz2yCzZmPYxSCrmsC?= =?us-ascii?Q?UZwixKg21hY37vkGFmb1U7LEhfho2L+Iqe3gNJFnUzNbco/D3hSXZDqD7Uw9?= =?us-ascii?Q?4pFHsMqkT+PlxMIyeSzKMLhbVVsTZag7IlvjglJ8c/C735eg6/l7cD+Zzp50?= =?us-ascii?Q?DqeOzjXATId6FlTj5U2viXUzxfx+9dTAv7nORkM1u+KhPzhvtNzgZrbSgf5d?= =?us-ascii?Q?rT/FqOh1UdSp2toAnXmzPaQkv7VGsef1Saiv96MXUes2gh+Ul4pbNVwSktHC?= =?us-ascii?Q?2Ex3sPF/gzbbCccBZxwUJ34yNYfYq9uA4xjtce7eRuhqUuyOf3LYG1mjGZkd?= =?us-ascii?Q?w9lpCLfhHYxrNhNFChWHj+CjGVMpZcmVy3CtGxeSmVO0f6WOQT86cWYnYIWR?= =?us-ascii?Q?vHvdyy/iahAUDW4KDbA3XNInDFbj7ga0jw5ewuYWX6++65G0r0orT0sj60Dm?= =?us-ascii?Q?PPdQLl0shhU0haVmuXnPSI345KGWTZXOeCmoGyrqo78FhA4APJZM8bNG726h?= =?us-ascii?Q?4nOIe6TG+2QYvQDtHwbb0L4NUUvSUFxSzfempHMljDVPMYHryQfH8P2tjmQ/?= =?us-ascii?Q?Jt8ogiVzqW2irV2lFTfYFmARkP4X6NwtcpjiY4jjuxnU/gP22dMiI7kNIB9r?= =?us-ascii?Q?xh6cyY1ouJNtNcGotdbQASU93fYtsYQRHHGKzzDSyV2ATQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY5PR11MB6308.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tG5bCCyQn+NtAe5DN/p5QIjGXCy4nPlAs6m5YbMpkUb1jEJEIPu+898voA0J?= =?us-ascii?Q?VAyE2LbAYW5tUMpr06RavQNJps6ntFGZvjCmN0EKJ0HUJZvOS8dwffVqL2Uk?= =?us-ascii?Q?kwHs7nhMFHH5nvb9J4YdXQU1mg0623y6c4ZitSJH9o22r69BDxJSMgV6aTNf?= =?us-ascii?Q?x8wyaUuPBefNOtLY+uD503STfNwry2bXQoSfiG75qPbTB8IfQVBnEApki5Uo?= =?us-ascii?Q?uI/+MTd9x4Wp/RqssjZ9cyVHBHHh2OU8hmT6JrTGFBnfBD5hWY9ygcMjDz7j?= =?us-ascii?Q?O7HoPMNylLEnoGsx8PKAg55mrDZEvaIxfeR3Ye5HBaqb8om3VekIGP9fTRF2?= =?us-ascii?Q?tnZzGJzJ9Jqys5Xo5/vEVR3DgUYmWAILguYYD1DpP3vJSiNTJyUljLWNxg+a?= =?us-ascii?Q?ltaOVMOQLurRMdC6jvuU4vKaNnwgiAUIcCb1nTWew5t9oVmH6O2JeD3f1NBA?= =?us-ascii?Q?Fb5f6zrTlh5NmZls3nhqGbVeVu1Mk+txgpgpnWuSHp3TqPvnLBFX4lTJ1nGr?= =?us-ascii?Q?wcx8TefvlbmxrJ4uDpY+XquH1oz52wIa7LuPc0Cmra7rHcw6glDFAH3MBQdm?= =?us-ascii?Q?vtmoV9h+d+GVQPcxGKEBKQljkr9NQFSBC4hlveAsyFiWN9BDQiloxnguTlsq?= =?us-ascii?Q?OcAmmROcu4izLjsNnPbn05LvgvjHlA9acl71OY2TKyyDZ3hnYq6n9tMLY63i?= =?us-ascii?Q?aSxjYAycigummNxU4HTpCRMyZUlFSo7WgLIMaho5w3/bzpYzYhCetkYSJ/h1?= =?us-ascii?Q?SPmlsDvl8wpsIUn7Y93rASf3766wfPTzjxExfmdbrOpXM4dMofD7rahHPVyn?= =?us-ascii?Q?IB6tNUnceGKoAIWNe4Va3JNWtbEhCVmsXgETOKU+ORdXwqnay8wTYFCmwa6R?= =?us-ascii?Q?4eNhKnilGYDZBSkKT6TxhcImmq2t9EzW6lP/wBiCcLB3hCtC/7U98+EVl6Fl?= =?us-ascii?Q?hCJS4r3osyE/H7eJ0g1N2yQPiQN0sbci9LZXlIVQhrBP6g4S+iCnpCRLEAA1?= =?us-ascii?Q?AEGc00R6SPaA+gIPiwMPXLLY+R57RPEaMxwQ5OFBikCYzRnhoD4nwFeT/dDV?= =?us-ascii?Q?N6Fc57tPkV309iogu2Xu8YSotVu6HfM8qn4v3nSCkeBkEdoEcHK5FlXKngGc?= =?us-ascii?Q?6RLvK1hINFNB1XPvuFyxjzKVYsa+wrhNekPh0Jlq80D8bfJLqjJbIUdUDFn/?= =?us-ascii?Q?8dmHMOEpNwq1kWHq0fiYKvEpE+xu22MgdS8emkMbWqPg4Sg3V1NR9PBVbodw?= =?us-ascii?Q?VGhk2dPTViRUS4hL83iGlQRfUdVNHiZwMalw1tZGciIqNXjcz1/qnNtMVwtS?= =?us-ascii?Q?6c+Nw16FjQcb31ZYbT3TGirUuQc8x5p5Sk6wEMbPPsvqPV3xlN9v+eP5PsFL?= =?us-ascii?Q?E8BKH5Rm7+weac7vHUxj1zPvsZISuDMVe2BeVPaewu1V67+Ws30e5ylB7rT/?= =?us-ascii?Q?tLAG1IJhMZzS+a+ygtRCMFP89gd+58cOjTnyP6ySmMLQdf8I+QvlZ6ER4cRp?= =?us-ascii?Q?Uhp5nh6E3TwOeT2zWejmWTYUweH4UeUJfZLdS5dt43lCzVp4RaPQFyoo0aVh?= =?us-ascii?Q?rWTLDwvXQGA8ElmGFnzlYEb5CQsrTkqPyAqddhrx?= X-MS-Exchange-CrossTenant-Network-Message-Id: c3e8636d-b534-422d-fa38-08dccaefb133 X-MS-Exchange-CrossTenant-AuthSource: CY5PR11MB6308.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2024 01:36:40.6384 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ljD6ttfBSVlOK4LN0JAkTE06q/lN3SPEDmJEo1P8tc9nCsWjUFIo7r4/uGRF921598k2tjW3uQm2yvEUPt2T/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB8037 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: AE0EE180003 X-Stat-Signature: 83kfdnb7it8cifgz1nf4fwkiccehdaa8 X-Rspam-User: X-HE-Tag: 1725241006-800001 X-HE-Meta: U2FsdGVkX1/kx651EX7o9rHVHomez/O8sE3bHhpt0JXfxuv9/l4RrdtVXw1SzxMnYZzmhV/npRfjbu/gv7pcZIbDuBkXuxLha/XGeHQQpKTOEOE0VQt68ku3OvlqqZ1dbMVazpycKu+hdF7rABvdy34llHHk3uei+faLRvEVjdaUktx8+A5L3d8j+n8b9AzWI1DbRqbtENKBYOCtcsWa/+CreC5XXpAQiy9VSVI5WytS/e9DVQGFS5xp97YrByDtSetW98zL6V9OfS4/T62G4FOwwFaq/2RYPpIpO45O2Os2fpaarn03jKEx48+jCqcDIBS8z75YSob+ZIuJ9u/xgtCerdszmdJPrVTut85MRPjko+WDbJbNp+2Ra2qrHryT/AiMhXlxHmcSf25gGsswPEyxmGSXgcVwZFflOCQGQcjYVqiTQYBvkcbNMiWlohTsbFW8XnLqI16wS2gLv2lif0U40TCotSiRG7nJitUXMD+FtszN5kwhYBI7FetW/hxl/qifCr0fVTJet5OvKtUJ09Rws1icVxYyDT9z8AVG4VksEjGIgiZszYpyKN4+AxRahRK26yVvcVc+9mPQHsr4feEn3l9s9VOprMH4rF5cEdmh3MN7qqUTaRcQ3PLVz1nsSB/OAZonJLDlIAkT59+Oaz+0ftaxLsfz/G6ed+7oO/x5f12aFSauMCPg8ZEdLY8FGsKumUWS/9TEIE3AbLuJLrHvHG+O9VsEgDcb4a85J7pyTZtyTPX1VgSnZHT8dxJe55euYHknnbpmu5RXW+1o93Nqp5943Tp48buI6r+TQRolwFSEAe3nvKsdnQokfDlQPEjeizflMZKFyuKLJT3aCmd1RMbo5gj/YnKopiPMXjHcTdkZqZf7St1xHC5T7wHOPZpELMZDkh+IoHvK4YBuqd9pH6Cvf/WkWMeVUvpeNg8emmcHmbQquP7kFn8CcPYc1jB8Gp7mcp6mCzxWen8 yJ9mYAGt CJEpfrqR+RXS3I5uSH9RvrdWLd3T4q3JRVRHRWA9gXkQ6zHEQMFA1lpAKcVbD3mE731cNV1OLq0RmI/yi3iMOxctewpWmctSCO+RDJ/L/tINiIKUviJ1IAq3mR9ymAt74/CwPj4Ia6gc2GWlr04pihceh17GGKQS73QTnEt4TSJ7Pzvx/WSjf3MlwUcUUBbV1eWk/vvRYVji5clLW/rNxRFRe6OljlJYepSIPj/dRW1VEGUSJIph6LGimJSpJdSbPCIrrHSWvsfwO8IySWXTXUb525YT2n9OG0DsOQ0rgCJS8G51r1F2WRrZxAYntWnrabeIt572+t8zpaJEz/HLreTSNuHeAKojQvVIjA0HMMZonuLmtWrCnXysgdrtr2ujgREdJkGod7rEdfk2mcZTMU29UXcIQITQHihKCq4E4DBdN6MTW+O7TJXO/Vg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Jul 30, 2024 at 08:15:34PM +0800, Vlastimil Babka wrote: > On 7/30/24 3:35 AM, Danilo Krummrich wrote: [...] > > > > Maybe I spoke a bit to soon with this last paragraph. I think continuously > > gowing something with __GFP_ZERO is a legitimate use case. I just did a quick > > grep for users of krealloc() with __GFP_ZERO and found 18 matches. > > > > So, I think, at least for now, we should instead document that __GFP_ZERO is > > only fully honored when the buffer is grown continuously (without intermediate > > shrinking) and __GFP_ZERO is supplied in every iteration. > > > > In case I miss something here, and not even this case is safe, it looks like > > we have 18 broken users of krealloc(). > > +CC Feng Tang Sorry for the late reply! > > Let's say we kmalloc(56, __GFP_ZERO), we get an object from kmalloc-64 > cache. Since commit 946fa0dbf2d89 ("mm/slub: extend redzone check to > extra allocated kmalloc space than requested") and preceding commits, if > slub_debug is enabled (red zoning or user tracking), only the 56 bytes > will be zeroed. The rest will be either unknown garbage, or redzone. Yes. > > Then we might e.g. krealloc(120) and get a kmalloc-128 object and 64 > bytes (result of ksize()) will be copied, including the garbage/redzone. > I think it's fixable because when we do this in slub_debug, we also > store the original size in the metadata, so we could read it back and > adjust how many bytes are copied. krealloc() --> __do_krealloc() --> ksize() When ksize() is called, as we don't know what user will do with the extra space ([57, 64] here), the orig_size check will be unset by __ksize() calling skip_orig_size_check(). And if the newsize is bigger than the old 'ksize', the 'orig_size' will be correctly set for the newly allocated kmalloc object. For the 'unstable' branch of -mm tree, which has all latest patches from Danilo, I run some basic test and it seems to be fine. > > Then we could guarantee that if __GFP_ZERO is used consistently on > initial kmalloc() and on krealloc() and the user doesn't corrupt the > extra space themselves (which is a bug anyway that the redzoning is > supposed to catch) all will be fine. > > There might be also KASAN side to this, I see poison_kmalloc_redzone() > is also redzoning the area between requested size and cache's object_size? AFAIK, KASAN has 3 modes: generic, SW-taged, HW-tagged, while the latter 2 modes relied on arm64. For 'generic' mode, poison_kmalloc_redzone() only redzone its own shadow memory, and not the kmalloc object data space [orig_size + 1, ksize]. For the other 2 modes, I have no hardware to test, but I guess they are also fine, otherwise there should be already some bug report :), as normal kmalloc() may call it too. Thanks, Feng