From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6AC9A12EBEA for ; Thu, 9 Jan 2025 11:32:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=205.220.165.32 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736422337; cv=fail; b=KqGkuLlzm51tdROenC7fqlR6Csiu7GjgctbnVXKWxKO6VvhWgzxRb8OBC59dfdFF/51W7DUqEc5Pus6WkVb4UiiWgmXf4xIkAKesPgISAtoCWVeagqgUc25ouhmK5i1AzANHyvlhe1EHLIHBYlljunXjvhE71fiF0MJnCCcSUjo= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736422337; c=relaxed/simple; bh=hNIYvx+iV4rT6Ox6lNM+QOSXld5LR6DYU6iGpbwoXao=; h=Date:From:To:Cc:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:MIME-Version; b=A6gPa/oKnEJsDAYGeDswcRfI2Wvib+LPMtD12yCVZUA2TaF41bk1FIy0f9rvwfl554VZst4uaDwxQcD0TAg8IBnQ6BNiHan98nEza26pe61XUnLbBkle5H+pVimdlqntBuDKIHv8/CSRX8j4rKf+JBBJ2iPIOllOunRAO6OA1JE= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com; spf=pass smtp.mailfrom=oracle.com; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b=DtSlD41V; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b=Nn7Eu8GQ; arc=fail smtp.client-ip=205.220.165.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oracle.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oracle.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=oracle.com header.i=@oracle.com header.b="DtSlD41V"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.i=@oracle.onmicrosoft.com header.b="Nn7Eu8GQ" Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5094gFe5002194; Thu, 9 Jan 2025 11:32:06 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=Zso+naKMkyNWqXJgQc v6SJqum62sETMrMITUmQVUfU4=; b=DtSlD41VWaZWwA8jwG3v5QzfYADuaN37ax DmeBI1RDqX8kcEt2EGKruSAcS0hinu0XTJltwfQiPc5iqhg+QI9Jtk5VXu9sWUjd PilgswhSVuQ/osJ+DpQC07cnRRGq3xmqPBhZIsiYf5al4q3FzPLzGJxxGXaTVzje 02RmRE+et6qgrwf7NzhkSR1YEVP1dp88hKIUUGwiIHSYHoqnVAn4oJuSzb8HacJO mTVD52xB3G4ZkjcKYXMvq2DbAzlNz4wNn6yAfKSYceFKdve5Q5/KCCSZ/DRalB4N lxoCHuEX84ymB6N4fpoSuUiKmVQWlEQh1zm3YLaDhkBtbetEp9mw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 43xwhsrj0q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 Jan 2025 11:32:06 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 509AoaUE020040; Thu, 9 Jan 2025 11:32:04 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2168.outbound.protection.outlook.com [104.47.57.168]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 43xuehb0nj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 09 Jan 2025 11:32:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Jt5L4L45pr6HeKM0xhp9sRXP/sy1kJFpLq2tutEIhidElbm1QwDhnTx4RsixGs9iGxgyA7T1Kh6rZOJrWfqUJjkYPlwZYvKDfcHvhhpzccmXn/1zA2SSs3I15ZbGWIpBhwpzItyjR5Qxo4lQUY6DJn+vnmhBB0ctzoBy+37m0iO4QVFEId2ROaBqQZN5kaC2JLdARN9+GWQqycTQGkRULzFypYjYIWOFJwStwFj3MrW/o7qugbsOgKsqcRjL6VDOIB0T3li0Ms4YZPOrQLQTF++/T9WlGrg3SVfROvPedt1B3UePbxbRuiXazH/Qh7SVGaxCESyE4x60R1xm3IIMNQ== 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=Zso+naKMkyNWqXJgQcv6SJqum62sETMrMITUmQVUfU4=; b=pQzrMfaLRMoHge9hHg9s4wKnteP1COA4ZLHal3yMzEZmqMmky74KZyPKmI5UIZRnECRfZvuEhkoaNCH+7nt5FvEZURvSky0b+/sSE1blePFX7HalXS7RiEb1wT2kT8AiPKfrwXu9mSEZz2UPWPwtMzZMdpJ1kSurPgdipEkHc84G7D46RalT9YG2ETBWf0cuRvAUgMd9E1TZgNTAbdf1iZ39T8maywqfJWV5Rn9XaYmZn1fH2cHOIp6vrzHYW2ZjXKW0/flC/GhC8AAh/SadfALLpcFdZ9lXDFluBCcTfemzmwEwBTUGIbF2qXLEVGoYiE85/3imHQuN2Xy73q4RPA== 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=Zso+naKMkyNWqXJgQcv6SJqum62sETMrMITUmQVUfU4=; b=Nn7Eu8GQIlRNZOz+stwnNwg1y9wYxLUX6HXDRSMbIFh86fL97yxTsxOZRiHRo9PtUN5aQ3OHcamY065w3IIOwTE6RL54PRRxaSeBH6tQkdoB5dCwg/mFC6VljV66s5kuVAnzSYnfBQjSg8CIAtTfcQTmYHVq7Z/JfbPMwaef8kA= Received: from BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) by CH3PR10MB6737.namprd10.prod.outlook.com (2603:10b6:610:146::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8335.10; Thu, 9 Jan 2025 11:32:02 +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; Thu, 9 Jan 2025 11:32:02 +0000 Date: Thu, 9 Jan 2025 11:31:59 +0000 From: Lorenzo Stoakes To: Isaac 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 v2 2/2] mm/memfd: Use strncpy_from_user() to read memfd name Message-ID: References: <20250107184804.4074147-1-isaacmanjarres@google.com> <20250107184804.4074147-3-isaacmanjarres@google.com> <4291d9f0-4483-40e5-a54b-d006eb52c8cb@lucifer.local> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: LO4P123CA0070.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:153::21) To BYAPR10MB3366.namprd10.prod.outlook.com (2603:10b6:a03:14f::25) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR10MB3366:EE_|CH3PR10MB6737:EE_ X-MS-Office365-Filtering-Correlation-Id: bd5e2119-5936-48b9-249d-08dd30a13ce4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Vp2gmDHC0shAX00uelILTPB2zP1AiAS7Aq/bKAbQvhtQqJxK6QBECSu8jG1B?= =?us-ascii?Q?7m/FeN7mn/Izt+S2dXuKGV7yFPvnt0Z8kGqS5ESN5oc2gnZeGfngkykixMOq?= =?us-ascii?Q?tGzKL5TGqqOlxxCzV7KOA+bPVG1HfZgxBgpQdj9iEqjzG0sDDWDKtaSs5NdQ?= =?us-ascii?Q?l0Y9CEtT3uXK4CF6Q2ES1BVWFr1j9meneSusHMEAIPCDXiagQiapdfXu2ofE?= =?us-ascii?Q?SF0NCoNxStK5NXKJ0CQ4WuUSUnpPKt2w2a2pr9Mx1siXlnAzezOrDggAOhWZ?= =?us-ascii?Q?OOLn0toQokj4nGr4Coxb75yR+Oh8l4223DQC9d2MZ7xCnQutRFSfkIWGsw1S?= =?us-ascii?Q?szt2I6U6X7jyUGaTkfnlJXuOWWwY8l+8lLUet84gJKvD3j5b1ip+LsvVnhXu?= =?us-ascii?Q?YEpU2mjLcZXTHejR/dQBrekDsU9i2J+RY6aL0U/9ogTQPHIvOcsV/DYmiXJB?= =?us-ascii?Q?+nFYgWMU6HVKGWUk9V39zvZvwuDm9ymUbjQYtppovt/S+8m9r3rfYgTqLXz0?= =?us-ascii?Q?yIPwhYY1aODDO+pv1bOc3xMliA90RfxcWnb8oDZa4hZy2Bmzs47SvAvWSyYd?= =?us-ascii?Q?yFGPgVKhUGY+qy92xROZx8OaRciiHIWUpeQX32VDgX8578s4reDp2NgXYOy0?= =?us-ascii?Q?GChBnyi/5ReJ+9u48TzyedvmxtiXOxeoqv+lZuR6cS9OSchdYRHubJ0jvl3p?= =?us-ascii?Q?O8Ut/4JeVnoqLRSOwBV2zUQ1YMo1qXcTHdNg4Lx3b78sbV/CtKyJt9Cs9kM+?= =?us-ascii?Q?383xCThMRetA3HlY7gK///mGFa3DszlcuE9RB51H8E9zfYKCuPryV4J+9W5+?= =?us-ascii?Q?BQTQJ5FikZpxYK7vDGApk+3r7t00PqO0f3VyOv2nwlYb1SojUYqDgaQ6mFb1?= =?us-ascii?Q?tPttGn+VRsz4KnMp+Up/rPPtB4DI9rwAqM0clrHygfpwIPZNMEioOac/Ecd1?= =?us-ascii?Q?pUucM+2uWYtGTpWhnVuCYze2ymH1Ydu8Grj3WdT3dLoAdWrefZrtiBskJhYc?= =?us-ascii?Q?DQeUZqumf6lh7RSBFOKus3dtayNc0TTlPjhNHBHzihNzI/LGFG113resI7rf?= =?us-ascii?Q?X2kEsypexQK0xncfKqsZFbF/6X6VVG9WWzAuryQtsMUxukDiFhNwd3l/1iuK?= =?us-ascii?Q?4CyfFVYHvZ93Yk8DdxExmPW2ZIUGQmgKMqdAGcsxEcrSvX+sLZPCqnfI6Cwz?= =?us-ascii?Q?tUUZecTk7OFnNBzwRe3tBVOyZ0BEsQ+JCWoRFOLbY4w4s5oj9CGDCFNT6hx5?= =?us-ascii?Q?xzuKCCGgQcb0ZoFGEE5fnLk6wbiUwIa83G7M7y9s6akemABV75wh80CsG3Qa?= =?us-ascii?Q?+CqEZy7NDWu+glZZmnhlcHRo1bR7K88t/QBQpEQsLYrwrU7+ZubqFvT3PWG9?= =?us-ascii?Q?Euh0P9pQ7vq6q+2epfF+DuA9OvlI?= 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)(366016)(376014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?eGZf+Oa8qQUMlnYVePGu6KjiiHJtFgJK1AI2FgmzWBxIlRaOLOoiP5WRH7P4?= =?us-ascii?Q?7/6EAh0q4B4KR4MmEmCfcbKMcKvFNFtwM8vCeLU9yEpbId5wDj3Ec3vA4tMV?= =?us-ascii?Q?HES7L8aN24R8o3gPR5VuPFRbEA8nB0WxTqQUtYkiP1ClhrJdmV5FOS1rQyQU?= =?us-ascii?Q?frTU4uOazez6/WdmYaqEVdOQr/YqXCBEowZnEj6kEhPMpafEpvZJVg73NOTN?= =?us-ascii?Q?O9pB0ST9NxN+8sWrz82vxZJ4jyqWNPXYfZMSy7YacKFdwJoRYt9FWsnRNu3A?= =?us-ascii?Q?9CMFrLHYa9s/CGv7SCUkiD8GWkPsS7Q+9ps5hQtyuBI++Va9zGeHdZpHnZWy?= =?us-ascii?Q?QSWNxHjwAbh+vfP/xLLdPRCh4WnUFmJXB/TyAt9OFD+jrflxXdei0I1XPerQ?= =?us-ascii?Q?Yb3iOmGd7bmZlotunX0nDLzXA7ZGiOstCFnttbIDZ44+fabBoObd7oFOOzaB?= =?us-ascii?Q?JLvFKfMwGWzabN+dXoVXYiiylGt3M7SlyWGefOshG7FFHXYH9lVJW5RosQe1?= =?us-ascii?Q?hj1zyUKFLfRRxey+YxJHrU30iKpx8yjtDTsvm1BJjy75yciF/X+Veb7aNaSl?= =?us-ascii?Q?EJ6gchlb5qszSiJ67dCtvzoUCBDig43tgLjrudoZFdY9vt9rLAzjsd7uPZo8?= =?us-ascii?Q?92JHoOhQGYIc5UBsXuPPAPlgvHl/MEs0XY1kUcz3EDSzmzQqbZtXYZsCIm8a?= =?us-ascii?Q?Xfphi1XRNAHWO9cuexIjiG99ot4bbkJ7zoriLXvoO/9YdQ/FzMdzrP/X0p3G?= =?us-ascii?Q?fXnTGZDvsTEkUjcZIHIJ/zXefvsE6XYREDNghjs7GvlHOw41tyPZLIbtfcXi?= =?us-ascii?Q?xWaloKViWx5K+KXw7irn7EaLcnReXZqqKiH4kSuS3PydAbgtIEBqT2O4jGtz?= =?us-ascii?Q?MW5GvErf9msWkFjnrx2a0j2YmWZrRbHwFaxVTzyJK9kgRL4gEmjCg5h5uOhj?= =?us-ascii?Q?08jTzhdIUQ5GmxCtHe5Aeb/b4lVBt9FN8R0yrvktySlHdBm/WWiw6GKh0la0?= =?us-ascii?Q?Aq6MvZONhF4D+9/4g5dl7ZUHCP1cdEh4vjWkAwiighmTN9U+A2rvB9jkpBSu?= =?us-ascii?Q?z3clvRpMhMPiloaxoBZlLF5fhQfg6LcHkQHlUAHYaU2U8FgDrNrPjEqgrHBK?= =?us-ascii?Q?zejU2ut7NAGdk/DNtfiH2IL5zl6T633jRu6yE7cMLxru/e2ER2yztefSE9hJ?= =?us-ascii?Q?ZbSCWkZeO6BHj/Bb8luWnZ/fAY/+nNEwsM9mmEKzFJjgvi19vQB8sbhK3zot?= =?us-ascii?Q?g6/VCH3PUVHZZ/96T0jTFbBDruQmIqAQXw+XFyi8XPeJGeLkANL8CYxi5+lL?= =?us-ascii?Q?D1/POiZJNbx6rv70WLeoFWpk4Z/x/SDo2QuAiRPuMTnXh+eaa/dECdalpmdr?= =?us-ascii?Q?YiSOf9OkBZRwAd0oVPnvbrKb9FTvz3dwc0bnOl35VURZmGDoHCnXOroTgu5l?= =?us-ascii?Q?X6hyDLpapzPn/tRbyvm3wVoAtQziLDn/l+WMtiYr5o/WsEZw8VqViSBQC3D8?= =?us-ascii?Q?VEPvPFfVf7725duv46hVXvEGL14cks+l7e/6zlq2xNQ9dzFVN8ym1jq8jfzd?= =?us-ascii?Q?tJsd4aR9URaJFPxPjWRyq60/gZSCeCV32nqQ3xcCLP/qI64v+rypibTV4dai?= =?us-ascii?Q?WA=3D=3D?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: aR2gW/F+VLD+YnTCzjY/+m80NCvfpHlhx8FqmtasO4wDuqQsyOIYMKajl6Q5owXntnq0EQet5MivcfnbIG1OwDCvcoqsh7AtsJWQK+//cH41WqkBJHvpt6r+RKYtabFF1MkzKbNnXmi7gVxXRi+NDmqztTv5N9lKNzFBn2GFvY+7B57UDrPlnqzk5Ecrg3nUSJ9QuDQ7j3/lZXJ5hG12ZeE5Bk3rgXGGBTqP3HYG3RXDp9Ly7YlICW6ywpPADsVH8d9qW0YozzbinTi+qzHXuF2yMB4bU9BF5qgrFzdkIycduOdDDna+fDH9jXRfW9C40yGKNRxOL7mDvts2F2toIOxNRelNBa4k5g2NpMzJZDwy8sy8qYoAs930RCyF8B0BPPBICDY34/oOTNHF5XtCvwIZHGyeKnb3vz4XNO94C5lt9rNYt7YdsXoQx4UJjO20OHNNJp12K+P8GcJOIhC2BjbuertJohotBumGKshx4GEbKJL+SeMwhiX2MSRTUyuCiqKISXJPwAga6V+Fun9WafoatCud0By/EGvyvQNxR5O7yp130QnovE06IX5BqY69Ha9Quxnalh0o9RbWcgsAxat7mTHxQFaSz+UtnjtgMmc= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: bd5e2119-5936-48b9-249d-08dd30a13ce4 X-MS-Exchange-CrossTenant-AuthSource: BYAPR10MB3366.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2025 11:32:02.8408 (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: nzcobFvBWyMkpfFWzRO84CH6zQoAb7Ob++FHz6ltctW5slWaGgaWVsgotU8XOdrjq+r9NMW6UetX9tOEv4xwmlcTH4AufDMhyEUw6Bu6Y+Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6737 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-09_04,2025-01-09_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 adultscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 phishscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501090091 X-Proofpoint-GUID: BjFB0MHOocfLbziD4tVhj8eCY1FFxBbY X-Proofpoint-ORIG-GUID: BjFB0MHOocfLbziD4tVhj8eCY1FFxBbY On Wed, Jan 08, 2025 at 06:15:36PM -0800, Isaac Manjarres wrote: > On Wed, Jan 08, 2025 at 06:58:00PM +0000, Lorenzo Stoakes wrote: > > On Tue, Jan 07, 2025 at 10:48:02AM -0800, Isaac J. Manjarres wrote: > > > diff --git a/mm/memfd.c b/mm/memfd.c > > > index a9430090bb20..babf6433cf7b 100644 > > > --- a/mm/memfd.c > > > +++ b/mm/memfd.c > > > @@ -394,26 +394,18 @@ static char *memfd_create_name(const char __user *uname) > > > char *name; > > > long len; > > > > > > - /* length includes terminating zero */ > > > - len = strnlen_user(uname, MFD_NAME_MAX_LEN + 1); > > > - if (len <= 0) > > > - return ERR_PTR(-EFAULT); > > > - if (len > MFD_NAME_MAX_LEN + 1) > > > - return ERR_PTR(-EINVAL); > > > > See below, but I think we should reinstate this. > > > > > - > > > - name = kmalloc(len + MFD_NAME_PREFIX_LEN, GFP_KERNEL); > > > + name = kmalloc(MFD_NAME_PREFIX_LEN + MFD_NAME_MAX_LEN + 1, GFP_KERNEL); > > > > This seems redundant as: > > > > #define MFD_NAME_MAX_LEN (NAME_MAX - MFD_NAME_PREFIX_LEN) > > > > So MFD_NAME_PREFIX_LEN + MFD_NAME_MAX_LEN + 1 > > == MFD_NAME_PREFIX_LEN + NAME_MAX - MFD_NAME_PREFIX_LEN + 1 > > == NAME_MAX + 1 > > > > So this should probably just be NAME_MAX + 1. > > > > Thanks, that makes sense to me! I'll update it to NAME_MAX + 1 > in v3 of the series. > > > > + len = strncpy_from_user(name + MFD_NAME_PREFIX_LEN, uname, MFD_NAME_MAX_LEN + 1); > > > > This is sort of nitty, and actually optional honestly, but personally I really > > find it a lot clearer to do: > > > > &name[MFD_NAME_PREFIX_LEN] > > > > Here, rather than pointer arithmetic, as it then clearly shows the offset. > > > > That's reasonable; I'll make that change as well. > Thanks for above > > > goto err_name; > > > - } > > > - > > > - /* terminating-zero may have changed after strnlen_user() returned */ > > > - if (name[len + MFD_NAME_PREFIX_LEN - 1]) { > > > - error = -EFAULT; > > > + } else if (len > MFD_NAME_MAX_LEN) { > > > + error = -EINVAL; > > > > I don't think this can ever happen? It just truncates, looking at the code > > for strncpy_from_user(). > > > > I double checked, and this case is possible. The maximum we allow to > strncpy_from_user() to read is MFD_NAME_MAX_LEN + 1 via the count > argument, so that includes the NULL terminator in the userspace buffer. > > strncpy_from_user() then returns the length of the string without the > NULL terminator. The check is for just MFD_NAME_MAX_LEN, so this is > meant to catch the case where the string, not including the NULL > terminator, is greater than MFD_NAME_MAX_LEN, which is invalid, as > well as the case where the string becomes malformed/corrupted mid-copy. Actually you're right :) apologies, I misread the strncpy_from_user() implementation. So I think you should be good here - have you tested this scenario in practice just to confirm? Cheers! > > Therefore, I think the cases that were caught before are still caught > and handled in the same way. Is there something I'm missing? No, it seems I probably missed sleep/caffeine at the point I made this comment ;) > > Thanks, > Isaac