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 972CAE77188 for ; Fri, 10 Jan 2025 12:48:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D7B278D0003; Fri, 10 Jan 2025 07:47:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D28048D0002; Fri, 10 Jan 2025 07:47:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B55318D0003; Fri, 10 Jan 2025 07:47:59 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 848F88D0002 for ; Fri, 10 Jan 2025 07:47:59 -0500 (EST) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id A1809160A56 for ; Fri, 10 Jan 2025 12:47:58 +0000 (UTC) X-FDA: 82991519436.20.ED945C9 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf14.hostedemail.com (Postfix) with ESMTP id 4266E100008 for ; Fri, 10 Jan 2025 12:47:55 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=U1Blz7If; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=V3rAQjEj; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf14.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1736513275; a=rsa-sha256; cv=pass; b=sbmWvlYiF3trzYlq4qRIKmYH5TWuD/GlFJOPQoyWOCuw1Eo+dNJejhfMz8morQ9jjVqtXI h4Y4w7jU+yQimFrWHr8ZPwpLe7jcwxgQggHxZDmYg/p0684UYGNGew2nID2Ra2I7RYPrzp hYybGR/iEee51S1k11lKuv1Ti1XVy44= ARC-Authentication-Results: i=2; imf14.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=U1Blz7If; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=V3rAQjEj; dmarc=pass (policy=reject) header.from=oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf14.hostedemail.com: domain of lorenzo.stoakes@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=lorenzo.stoakes@oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736513275; 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=UWczTCt6oZWkQXBEvd23Jb5JSlyLTZfXx0W49mOOcFg=; b=BSR/qfXcQAXYYJUo5yeoPI6lBhEXatkyJKQQAyKGneIs3bh8VJ2o6+a7rz5i6+pOURKPD+ K6PRp1Ai1m6edF+iIOD0ieybFrJp3vZwxk8KGFAkCAjG47eFFIDpLtxVyxn+gTpHBYzJXZ 9JTF7aDlLH5A/8xCW3V3l/Lc+gHZI7A= Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50A9Bosm014690; Fri, 10 Jan 2025 12:47:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=corp-2023-11-20; bh=UWczTCt6oZWkQXBEvd 23Jb5JSlyLTZfXx0W49mOOcFg=; b=U1Blz7IfG8lvkuqYKPYFZk+9pgf72pEVwd hPhZQqspD7Z1uJBBp7B+c+nGc1KRwMM3sQylQHYqNtgTo5A1EHaKQsUa7WtA0Cc1 bGSjeY1kZW/I8h3xKXoxBOw5Iji8nDl+rXijQf6tXuJx8YSHgvKsazd7nAEhOgE1 r3eiRaH0xxgOZbjGlr/1gyhhnpFnUJ0pdjFNgHK9dKabne9Al46vlpQzpUMCqNug LI/nAXhtyBC2X6IwZ0IB8dE+t9cel7k/GKuyegtdLU+2maZAetaabvv1J+VmEuoZ AGuVOSsaScwjStcSxIAE/N1mFQF04/WTYEg9aNLLT3EMoNlpE5zQ== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 442kcx9egb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Jan 2025 12:47:52 +0000 (GMT) Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 50AB0JYF008536; Fri, 10 Jan 2025 12:47:52 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2174.outbound.protection.outlook.com [104.47.57.174]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 43xuec8psu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 10 Jan 2025 12:47:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ibQ61KCjJCKOlNUSz/s1dVLuVKi4XPK6qjFpveirrnU1JnwLX4YOzufzqqaMlNS4XQhwpuByCDFEivuYhCgjyMSpMk4+XbryrDRu+x9yD8+ofhdLU5H+DFQzcOV46Y3BuEyNby/SDXPYpJ98DOA/YtDtxXJmGgIQI9WMyDiP5N3WEU3DmXD2Zzz6vHU1ydSVdbdeNd71pfKih1kN77ZabBdbg5YSFB28JTugwpJVwnn12xWWi4q9iorKPaZzg8uC55iVJvLFR0nsriPhPcWZy605/udglKTm4tybItYAfjuVTqocf8RRGJwmb8ecJaz/9x6G39NyE/nwVgSV8K+QoQ== 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=UWczTCt6oZWkQXBEvd23Jb5JSlyLTZfXx0W49mOOcFg=; b=qQR2XEUQQCUMLeLGJ4DBuudv/Nj3xl/LA79xgP+MUg/brTHO3TszF9Hv0NqLj9cSR9nUVRn1Ef3xOzRgotlFdPT3C4MWcmmTXhkbqrvEjerJ6kuVakpfe+DY/Xs/eefsaSGr4eP7wJGQTdggRdr7bXUGkBmUH91IRJI0qQd3MopBzNXZTopLjq6Sma/8lA3JFUeU76mLxIE5Y3f7ycPHjq7Gl1Yev7C71K9gpcIDVhs7o91FLC+2Ik0nMmiPlnryVjgVJ08JwNV3jslcmHFmdqzzG2aIneOT9X8KCI0hkskSP0OJo2o9PoHsIpu2uPWEBhajVXKbFxJPJLAKD3gp3Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UWczTCt6oZWkQXBEvd23Jb5JSlyLTZfXx0W49mOOcFg=; b=V3rAQjEjeA8RRYv02NaYWQy6Egj0E1yMh24K6jh2JTS7XXX8lPRicJHu/03vhdm/m6/r3tJk7G8Xtcj/pN5k18Kh08gNb+zwJTPKta++PyYHTMDM6HePNufO5fM/PdszXriCvlVjPK/rcZKuK896nfxPN66efY3hZeagdlgc+jo= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by CH0PR10MB5178.namprd10.prod.outlook.com (2603:10b6:610:dd::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.12; Fri, 10 Jan 2025 12:47:49 +0000 Received: from BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9]) by BYAPR10MB3366.namprd10.prod.outlook.com ([fe80::baf2:dff1:d471:1c9%4]) with mapi id 15.20.8335.010; Fri, 10 Jan 2025 12:47:49 +0000 Date: Fri, 10 Jan 2025 12:47:42 +0000 From: Lorenzo Stoakes To: "Isaac J. Manjarres" Cc: Andrew Morton , kaleshsingh@google.com, jstultz@google.com, aliceryhl@google.com, surenb@google.com, kernel-team@android.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 1/2] mm/memfd: Refactor and cleanup the logic in memfd_create() Message-ID: References: <20250109185908.1006310-1-isaacmanjarres@google.com> <20250109185908.1006310-2-isaacmanjarres@google.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250109185908.1006310-2-isaacmanjarres@google.com> X-ClientProxiedBy: LO6P123CA0055.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:310::12) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|CH0PR10MB5178:EE_ X-MS-Office365-Filtering-Correlation-Id: aea97fad-0126-461a-6107-08dd3174fd12 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024|7053199007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?ekzt3jvZwM2b/g0qs06WjwD9bGbv7N8Tt1RaZHJdckdsE6lRPnHpxJvhHTCF?= =?us-ascii?Q?xRYhn7DuVI6vWAzw6zO7pUU3NKGNxmQZwmLwqdOiacB7ccxcrW02Srk1zfzI?= =?us-ascii?Q?jj+ZuyMcBbYktc+7JRRISvND/V4Y58KWuz0lpLhyJbQORgTIpF/P2SHavew4?= =?us-ascii?Q?L/VRtrftTaLWgUw1uuySCDgfKkAiYfjW5S38scDo3A3h/4G/WOBA1z44ndJg?= =?us-ascii?Q?u1XD7XuiWx0CRVbhmv3MNReWJzF/9icwJxYeq1kEpXu0q0fyznoyEdWR62tq?= =?us-ascii?Q?Vp2P2ema1S2sobCDbBIKN2LTq3kRmELEQ7m41lDawKJ/x5aVwuE4XUQ4pFeI?= =?us-ascii?Q?gVeELvmw5ZOaUIY8YKwKTzGW1kg2lTee3PtMRg6tqTIT+ZIrdeOeucxkvGXx?= =?us-ascii?Q?erF8CxfX0eOZEwsvXpQPCY7ZKuvOKhdYCGhYiPd+9r6NoEfw+IeU1LgOiXL1?= =?us-ascii?Q?p5+3l5ViqAxWmqeg+yhftwzit0NHi6a7thSmYlETmeTLikUAkLN5vW4dbGra?= =?us-ascii?Q?kgSeoFaA3oItxd+s0pvcbtoGarFYoQs59zVc+OPDfPsXawuVbFbFi0QdRlcF?= =?us-ascii?Q?TsOLip7NN2O6DmwGFDlfnhG54NQWboIBoUt+WrfxlHCbV9osrTE33qiW1IKU?= =?us-ascii?Q?HnIJ2J5VLsxEBexTBLO6cT0sGiRv2dHIEvNuAXqYHwxMD3lP7q6inQ+tKAy+?= =?us-ascii?Q?gRhc8ThNp4VAqXnB395tl1YTZqzPraWQ6SNvuZB5bMWv87wRdc8HYlay18rE?= =?us-ascii?Q?LB00eWrs0v2Y3AOVviNn+JoGWUuRBwwe0aNi/QvAiy+8NOR2lGA5YrEfGHt2?= =?us-ascii?Q?G45BLBFeFiFFOnGH+C57C5qWfkit6MZIUZ+5wcwL6wseznO7vUrfK38xNkq7?= =?us-ascii?Q?/YeHBgtY07MKIpTvofbaWt2PTMWfhgaI04wkbXO9k0DriK+EAOVtD3iNfzSr?= =?us-ascii?Q?R5lZ4UkMWTgSTtSELJocuRWRhBm/I9l7bZgSi/kENa42uBs7qMhXp1nH7Wng?= =?us-ascii?Q?0cBx+HAnN/BA9w0b9tumDzp8CrOpngCuRxxhwFF/BDrEBJYTF/Ku0PF/epsZ?= =?us-ascii?Q?fmTkJgAlPk0hHL2Lsl/NacX33gS4IzLR9aE0p6wu+hoyV8D6tFFU/M7D0r1P?= =?us-ascii?Q?gBVARpNCE96AvjMjhhsKZowPcB3ojyqE77Fr2a5mgV3YhO78DXUuosGEv4Kn?= =?us-ascii?Q?oE5q0syrtecrJN7VPqjRK/wydD88+GzWOGYtF7/xLO5VY+fcB0UbXWk+S9BF?= =?us-ascii?Q?z0jRQjmWPa3DA8RDgRT8vsVbtdRHS1TFbMbDmzEd7T25XhM5SmLHPSuSqLqC?= =?us-ascii?Q?qPXbGj4Qvg5j6Uthjw7TW1Vh7jP976Js3ok1mUaUr9iflaqZcN7Ij0/Of1hg?= =?us-ascii?Q?hjuVAV/nFqgtRVHYulTX8N24eCtK?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR10MB3366.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(1800799024)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FCLm3kvj/QoVf3/Ek36pGdQhv6Sqwhv3KVOjkVSpqI03t4CJ2efRkdhHcBhS?= =?us-ascii?Q?X62KqXSeHbaKIb7Ji3t7fqxR0u3P+EoGCyWSFbhk3Z34blxbxkLmxQxtdqwn?= =?us-ascii?Q?kVa06z/SLjgmwF2aaSsIWpwWxCRPiVbqXf3Jganz1U3Iavr8Fl/i6eut2hkt?= =?us-ascii?Q?dSN+EMZYizwtW4XpLvIZL27lcOfJhOA1bz32XyHWsV/4dAN/dKIhVmMtTTuD?= =?us-ascii?Q?AwPRSS4eOEWCvUDrLOf4zpLhQJjZi3INyIt2es8gac8/kzjTxtOneCyb2O4y?= =?us-ascii?Q?LZGimVVYX4mPZR1tu4E1np7i5ips7uyKD+nB3V6yq78IXE61uqEENAm3HbTz?= =?us-ascii?Q?QatnJ6Gpmy4PqCLB+eWfxhdI08+BmSiKkCbEmtr9TjzxfzSr6Olvgr+Wt2JY?= =?us-ascii?Q?28dt2yygG2kmBkNYqh0J+7bpouId1VexofUapiQVNuSTfova0TpYG4Z4lExn?= =?us-ascii?Q?UhFTyyIZ6k63YBuUB6sTNOkW2zAPmUTQPrzwCHw47O0Ol7ESdGQG8W/VK6iJ?= =?us-ascii?Q?jAtPqfckCoafNFXC/2yW3LbvuPOJWGc+IrABIyPU0LADyM1OCt7ES0D1VWeT?= =?us-ascii?Q?BcLNzXWxBuz9lDNyjsquaakEPwy+p4ofEOnm7/qOEyHhRMkEwFLlpVSzXJqA?= =?us-ascii?Q?q+Km+ZPm6o+sq1IlAAB4DezIuxobVM1FgkS2+th1uK9KyTfgKxL1L+r46g7+?= =?us-ascii?Q?6eKrmeFW+sp6hmM1oltAxqfG5AjBFnQEv1sRsgxApUag+kAchrIK9tew8gxi?= =?us-ascii?Q?52VqEbla92w3z5uw7s6x91tJxZGtf515lIB0///nRpVpQ9lBMwASQyoWfoXD?= =?us-ascii?Q?S5GXdg0CyySPCT1AAKEJNFEpvlYcf2cUE3RVRkmJNDBGp00GjhPINbZSv5lM?= =?us-ascii?Q?s7K/s9G2BwH51dgWln7mXsG7MsYjWxFQ3LRxZVKvfnbNET1QQ8U1qWY8obiG?= =?us-ascii?Q?q5VRIgC4Bg+rZ0tBiXVmRhRRNJQAgT4bAFiywwkN4JcTaOrHJdNE7HEw4dCL?= =?us-ascii?Q?2Ok0c7xTz56IQT5BnqshdUqb7/nD6zT6YOdQrIp/usJSUdzBW0ose1UeOmFU?= =?us-ascii?Q?WpkUnZPsK40ReXe+j3TDR/PMpbq3Z8tHH2Z7tTzBNxW9hsU9GBp0tXNad61S?= =?us-ascii?Q?GZbo6QwBFDtOsZdfTRyKnry11y6lBEroGb+gWUVIqVgjFQg6IDK6dUwIol9p?= =?us-ascii?Q?aR1XQeuSftDn2Qy2LHWGt3PFvryEoI5otqOzfTTGuZPwRTONP1fQO+ZNHL7b?= =?us-ascii?Q?Q2Ug0CEV0wiWhbnFDGSFtfOZxrfwGwdMLX0YEbUVB3ozGobBaNdh/dmwoAje?= =?us-ascii?Q?juWnBKBRK8XBGq9oSC8ZSlsKIqANSbcO3DrB5zKXGBFJXs4fux5I+b8AEnYA?= =?us-ascii?Q?ZJBVZTa2/RMrUmOsSVct3phssKUXV+jYBaH+1+fEe6X0dinXdcrTSbMzRNSE?= =?us-ascii?Q?kulVRhf4RYKMEp7XzKhNtJR+oo/yJVj/yZ11TbSG9h+ZkUFzrFcRddGR/te2?= =?us-ascii?Q?dsbZ4CLj7q4EK+FcUKRnMVO5Wmv7IpvJUZyJOQnB/OeCv6hmWyqIzXkONXCt?= =?us-ascii?Q?UYxIhmOD/6pnf2YTjsHZOZDmJKDTLTJ/gFZ/D0KpI4oqEup4t9uZ8TsdpQY+?= =?us-ascii?Q?rQ=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: JzCT3yQZzcDVsVQgeMV9oJYRdQ8MZfg1/UHveo4EhgdYpaZk9htyryEus8AbhwUnd61FgoNhvw0hQHJx3ULCkr9qxFeeNmFYfF7euWARLckZNqjwk2A4PyAOwI0ECd1yBdSykR5qW9QEeP0mfendhiEfWuhWBGujGIlCqQ+Abw+z4E7Y5jGuoh1ZCXjM/wdTXL/Hgb8rBwemWSbIQQim1AChmlOYbBXmVn6T7+ORVGu3LkwK+BVIgpXbfwnc1aNdWosP1XlSCFDgQqZcGvsdJT71DDH27oquHqpkqbNSIP4EtSxXtuU3taq7g1Ov7Mzj+QKXnHC6hnzZ2GCklDokbU+QZABboeXpwi8Vc3yK8FInUWCOjs5N3RMsUGzTlUR0sZS6IsvIvhp+dcCOYYotMDdGHtlnijJ6UcaEMFu/7v5ptpsaY4ejDM3MlCW8OCTltiVsVRcg+8E9G+fgH4Pi2UOt+kLpjk3HnAv8j4iqpifeMkdj5EsknrFksb8cY+D5iizR5SrIjCnbFgsCVa3D7M4HdzY6mJfaKGgMWrfzEFL1WQ0QtnKvP+ofWQ7gQDjaWAWbFRsaktPJC1Z52szLJpwWDZautkJsam/xFlSF2K0= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: aea97fad-0126-461a-6107-08dd3174fd12 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2025 12:47:49.0305 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LNpzxB0RDMuK39LJ5CdA67I1mkh3Pmz4sj4r/xCepE7qkLX+FLYD3FQMe64Ohi0w88JMD8Byoq70ArlzwsMQegonzLMqmRX6Zc5Y6cTCOKI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5178 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-10_05,2025-01-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 malwarescore=0 adultscore=0 mlxlogscore=999 suspectscore=0 mlxscore=0 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501100100 X-Proofpoint-ORIG-GUID: COFHHWpXs81Qxb7kVXWuRAvahcT34Bg2 X-Proofpoint-GUID: COFHHWpXs81Qxb7kVXWuRAvahcT34Bg2 X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 4266E100008 X-Stat-Signature: sibtxyjwz8ib3x8pwxzzr89hmepzs8z3 X-HE-Tag: 1736513275-435204 X-HE-Meta: U2FsdGVkX18GqTPuLWCauuX4NIHg7spjDAKXcElXLatRQbnif5e73QGT8SiaI/j7+ObJef5nkFI9snuAh8rEJv8hRvdll14EIzLhtYLa9NVnYmgNhMeUdIRFeFjp0Ke2qdVmzWDbc2MvRRtq9OQJcJeziYQo4xDrW4CyIYDk/2BGuJb6i11UhxKsEtpcvl4pmJcJtiVV6QN1xCPFmhrc3APhH6EZUJcdiBsEFwBbDFPDtBqmg2jq+j/oDVWpoCoiDGv1fO3zGFB8V+yrL5BpkwFtGYu/JzV8OwgKnWhSq6yziAPoneBRe3JG+F/IzVUXY815H7++S9k6NSp2tAZSOTTW/sSk6OgclrNBQ45weiohK8B/auRx5wciEhEBW9Wkzc/cal9P2iWv98vfuwRSnq4+dlgiFJTn0JNs7xcx/wS+cY4vAV+/JYAkvnCxNzTy95NoTcy2L5oJnRumYM4H8C5BGHHPFzG3JCT7EcSo8Xrujt8p54Bk1zh6TW/9LtRhlIknQ9d4okD4HsIdR/ENcqSewNbpQJ9r/spIr8fJXCtupLvbTOkYeCifZ3DzFV2LMEel8EWFZ1tlhEJN6AWZkiVqECDsl27TEp9txAalJrVaVtF1QvDyPHjS0BIw4aFE339dFA6qTdH9AWgeXGK3dyX5j2oUSxGQbaOOlcbd0941tiEpre/4VYf/j+L6lKnbro7U+pSQwfCPnVMuZzxJJe24p2PyHUsFodcjOLw8NS9diGh1HHondFGemK0Cysrp39Humt7McxozS38iNcKNhKe6y1veZpfqoInFXOu0GO9Pu0Smn+QLvl8BSl+n2D0rBru+8oXImk7flgATKdeUfZPY2ENL7uAsPRCMJmuQnXd/YjYVa57dqfp7mQf+RMS0+mLXTtYUurOgRIKtchV6zMF0rtW7xRtubqDp+YOGSKhyShRPWoKgk2YPdCMrqA8vtaPkST9GiMM0J7yLARJ 3tQn4ci2 PxoTiiU0aaeqeCfAImseIMrYxTY25df6xLox4eLc58K/+tUGumMWuNd9gpp8iiRxBjC7o4srPq40nUYWN+PYCSiVZHkiMAvddbbitjpBr/71fRVD+ekl/qaLVJ9O0JE2s+NM8tJgHftCr51nlT0bdqH8ykI7euQ/ReJySn36yyGvBS0QGk962c7n34gSOZWD7Y6ubcC2xxUSMNilHz8TKzZX9daiW0apzCwzgQd3V0SoeTRxs8vfVigV4IQ8zmvMdDKQQq9sEHeXcmttJPM8qV7SztE/ODfIHSHov6LX4skT0dDTN8OVQVvoRZcBp5nvtGUm2L15uprFxw9IrxruxMP4sHG/ZutJX7nb1+nKBvDoCqZ+Sck0ElNI5htX2jXTyVGn4K4QDkrOmaoXyinElug9CcUjuEfTSZq2oLeX/k+qlru3ICIcRuWo7ITYfhQSOv0y7/I8MSB4dtrQO9/mQwtqeYwcjIM18B6dHBdkGhc+8BFn46yhxnuPXFeJhl02BI3JNk+1aSYfgg5vr02o3VnQdWUbBNOpHPRmAmSjM48NtFyW+2b7Ot3cOZrNCEUtF9ObvMjShLN7Fgfp2IGWsVfbjZwwMheLpEJPJ7O403kDKY6Ve9pKb4rSaPAZxSm0+DqJCmyxOZb7UuPk= 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 Thu, Jan 09, 2025 at 10:59:04AM -0800, Isaac J. Manjarres wrote: > memfd_create() is a pretty busy function that could be easier to read > if some of the logic was split out into helper functions. > > Therefore, split the flags sanitization, name allocation, and file > structure allocation into their own helper functions. > > No functional change. > > Signed-off-by: Isaac J. Manjarres Great this looks good now, thanks! Reviewed-by: Lorenzo Stoakes I agree with Alice that the comment re: kfree() is superfluous, not critical, but if you want to do a v4 feel free to migrate tags to that. > --- > mm/memfd.c | 82 +++++++++++++++++++++++++++++++++++++++--------------- > 1 file changed, 59 insertions(+), 23 deletions(-) > > diff --git a/mm/memfd.c b/mm/memfd.c > index 5f5a23c9051d..bf0c2d97b940 100644 > --- a/mm/memfd.c > +++ b/mm/memfd.c > @@ -369,15 +369,9 @@ int memfd_check_seals_mmap(struct file *file, unsigned long *vm_flags_ptr) > return err; > } > > -SYSCALL_DEFINE2(memfd_create, > - const char __user *, uname, > - unsigned int, flags) > +static int sanitize_flags(unsigned int *flags_ptr) > { > - unsigned int *file_seals; > - struct file *file; > - int fd, error; > - char *name; > - long len; > + unsigned int flags = *flags_ptr; > > if (!(flags & MFD_HUGETLB)) { > if (flags & ~(unsigned int)MFD_ALL_FLAGS) > @@ -393,20 +387,25 @@ SYSCALL_DEFINE2(memfd_create, > if ((flags & MFD_EXEC) && (flags & MFD_NOEXEC_SEAL)) > return -EINVAL; > > - error = check_sysctl_memfd_noexec(&flags); > - if (error < 0) > - return error; > + return check_sysctl_memfd_noexec(flags_ptr); > +} > + > +static char *alloc_name(const char __user *uname) > +{ > + int error; > + char *name; > + long len; > > /* length includes terminating zero */ > len = strnlen_user(uname, MFD_NAME_MAX_LEN + 1); > if (len <= 0) > - return -EFAULT; > + return ERR_PTR(-EFAULT); > if (len > MFD_NAME_MAX_LEN + 1) > - return -EINVAL; > + return ERR_PTR(-EINVAL); > > name = kmalloc(len + MFD_NAME_PREFIX_LEN, GFP_KERNEL); > if (!name) > - return -ENOMEM; > + return ERR_PTR(-ENOMEM); > > strcpy(name, MFD_NAME_PREFIX); > if (copy_from_user(&name[MFD_NAME_PREFIX_LEN], uname, len)) { > @@ -420,23 +419,28 @@ SYSCALL_DEFINE2(memfd_create, > goto err_name; > } > > - fd = get_unused_fd_flags((flags & MFD_CLOEXEC) ? O_CLOEXEC : 0); > - if (fd < 0) { > - error = fd; > - goto err_name; > - } > + return name; > + > +err_name: > + kfree(name); > + return ERR_PTR(error); > +} > + > +static struct file *alloc_file(const char *name, unsigned int flags) > +{ > + unsigned int *file_seals; > + struct file *file; > > if (flags & MFD_HUGETLB) { > file = hugetlb_file_setup(name, 0, VM_NORESERVE, > HUGETLB_ANONHUGE_INODE, > (flags >> MFD_HUGE_SHIFT) & > MFD_HUGE_MASK); > - } else > + } else { > file = shmem_file_setup(name, 0, VM_NORESERVE); > - if (IS_ERR(file)) { > - error = PTR_ERR(file); > - goto err_fd; > } > + if (IS_ERR(file)) > + return file; > file->f_mode |= FMODE_LSEEK | FMODE_PREAD | FMODE_PWRITE; > file->f_flags |= O_LARGEFILE; > > @@ -456,7 +460,39 @@ SYSCALL_DEFINE2(memfd_create, > *file_seals &= ~F_SEAL_SEAL; > } > > + return file; > +} > + > +SYSCALL_DEFINE2(memfd_create, > + const char __user *, uname, > + unsigned int, flags) > +{ > + struct file *file; > + int fd, error; > + char *name; > + > + error = sanitize_flags(&flags); > + if (error < 0) > + return error; > + > + name = alloc_name(uname); > + if (IS_ERR(name)) > + return PTR_ERR(name); > + > + fd = get_unused_fd_flags((flags & MFD_CLOEXEC) ? O_CLOEXEC : 0); > + if (fd < 0) { > + error = fd; > + goto err_name; > + } > + > + file = alloc_file(name, flags); > + if (IS_ERR(file)) { > + error = PTR_ERR(file); > + goto err_fd; > + } > + > fd_install(fd, file); > + /* name is not needed beyond this point. */ As per Alice, we don't really need this any more. > kfree(name); > return fd; > > -- > 2.47.1.613.gc27f4b7a9f-goog >