From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from PH0PR06CU001.outbound.protection.outlook.com (mail-westus3azon11011035.outbound.protection.outlook.com [40.107.208.35]) (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 BFA1C1A4F2F for ; Sat, 25 Apr 2026 02:09:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.208.35 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777082948; cv=fail; b=Qt9MHU6ePTr00mtLOPtwnvSMI/jDHntYAvJ+E1YL0LhW4j+dZsjryF+y4U1mTzn+DSCLggmKlEAyo0FzGE190rcsAJPUY124QVatfMeJFlugWLlY8apYQZ953KsJklyhSMaVfsPojsA9UA+FYFc0JcJmeBVcREAJ7U6jy81zB9M= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777082948; c=relaxed/simple; bh=GMmVtyamMn/yVCSEHcJeCJb0q5hT9N9wPPSBYbmWCqA=; h=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version; b=l/QF8tUwaTA8rBrxEtHzTuLKXLzgggsH0NionLUfUjImx7bVJGXkivRF1iRPuzvbaz+Z/AbopZzxZT1IQtAXQJ9EpTbxE5OtU/BZ+a+7kDokHYw/3iS2y/k1gn5Jlz/+vhOsy89b57ynxHjH5owUM7yDKFCrbf6HU/GFcx3VUkQ= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=KTz0vLb9; arc=fail smtp.client-ip=40.107.208.35 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="KTz0vLb9" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wmeiYWZOGm3SvDenKiYc6rya/nVpsCMKFLiMquzjRG9yFbamCS5D3pVQ2rw2JTzxsTRd/vHH4Lt9VLqCOXMtzw9dH0ZSQc97tlKExQBLKyF79XHj0LSlVRj/GPZ+KQfajj2AVVayo2HKNrwFa+q8hBkBVUXCMXTDNM7O6chfK0Xq2fm4RTbIw8xbi/2lAPvrVD3DEIP3ZhNip+wJ3pmwR3WGKn4Xk8d/t3Vc792PY0jrS1dILn9V96aAaLx/XjrvelEDmvnSXF+SnK7Im7oDmZVUG0v8akrh+py++0C9/iKi5wuUusZqxR22wPlI+4fZ8oNEFw/pMdhg3M9HMdQGDA== 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=twjuuFv32njkH7GP3Sf1VGZQFegEFrJf1QWP4ZpwjS8=; b=C5ZSluhEWILs8A3V5/jdX/RkRtqR7vQR0nsFboui8Gj4JPjshmU8K/sLVUwB2Uxyoo5So62jFMhclkKG5S/RfU5FviE7D4QXyQqwmPSXWAy1ImSCtQ3YO91wrPimJbmEaM0C/gMVyiCsPTUyKyfM82K0COlHT6fd+fBa764Vl0eQXYaKwseOPcGMgdTzyImXtL2ulu33KBhtRYw2GkVfADPeK8XiqOMgQaRfGqkH5HCRqjp0EexVLm4XnPqoS/P4OXPRhp2YNDFC/Hr08JWMj9i0LfQOP7FXgve1Ta6BuwMi8Zs/7TZUms0kGPYIzTqLbShRHWei8NcWo8eLc9kRWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=twjuuFv32njkH7GP3Sf1VGZQFegEFrJf1QWP4ZpwjS8=; b=KTz0vLb9guJGVLdXmwv/JDdzoxA+nzD50xayARu3dXMq/h21Fo3OMAgJFZrvJPUiwrxX8mj4e3nA0LYtVepuQSiUW2y3opYoh5IAw1moaeZvrN5JZw4/I+gbiqb48+cjKXLnYj0CshBXMic2U1rJ74+ZHkFOOkM3f7NrlMqJ+lXoT2kKGPUhL3glFJ/tJRSMw3I9qX0lNv2/YfKnWUqyBmkObw3iZMUzW5mxkRJL6a4CsLpggdcSvd3oFsMlkRdOW0C4nc5oFGx3kLeGBTsQyF43uU0VWJywpe2LD5DQgBSiOjOypYG5tJJc6GcGH0XpzI2CglWBgMuZqI6PkmBQaQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16) by IA0PR12MB8227.namprd12.prod.outlook.com (2603:10b6:208:406::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.22; Sat, 25 Apr 2026 02:09:01 +0000 Received: from CY8PR12MB8300.namprd12.prod.outlook.com ([fe80::ce75:8187:3ac3:c5de]) by CY8PR12MB8300.namprd12.prod.outlook.com ([fe80::ce75:8187:3ac3:c5de%3]) with mapi id 15.20.9846.021; Sat, 25 Apr 2026 02:09:01 +0000 From: Yury Norov To: Andrew Morton , Thomas Gleixner , "Peter Zijlstra (Intel)" , Mathieu Desnoyers , Alice Ryhl , Viktor Malik , Randy Dunlap , David Laight , linux-kernel@vger.kernel.org Cc: Yury Norov , "Christophe Leroy (CS GROUP)" , Yury Norov Subject: [PATCH v2 0/3] uaccess: unify inline vs outline copy_{from,to}_user() selection Date: Fri, 24 Apr 2026 22:08:54 -0400 Message-ID: <20260425020857.356850-1-ynorov@nvidia.com> X-Mailer: git-send-email 2.51.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: BN0PR03CA0012.namprd03.prod.outlook.com (2603:10b6:408:e6::17) To CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16) 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: CY8PR12MB8300:EE_|IA0PR12MB8227:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d083216-9129-4d92-37d5-08dea26f9e21 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|10070799003|1800799024|7416014|376014|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: MqWhZw54A4a7RA5yB4bs0Nuu5Bvzu22n54HiV8Vs96kkNtjURfr6b43nhl6lizmvD/8n0Zy3KSB2pziN1+ngO4/4ra3w2Hywy+Er3nYRrDM59DpGWRJYJaQio1AFEeBamoVK9W9OtDIkcfZcuA1NJsC8YExLsck+VXFHffbyo+QYOwxg+3iUDFSV0yCzVaJd/uWKegKEVMciVaPkV9UB0JU2yHPcC8MZdybaA5w5HSCCDOn4Aa3+sToQgc3IA2GUI5+Z79lsfzOXOg5cQjFJz/qJE+jDocuG9enXIQixOsLW3SFrEMuWV1xEqjCV8lqQQ19aFQ5elehfCjUrO7R31hFCvEzX5DBVQ+9D1B8iIouFOJlsNA5ujp0wSfL4PvHGRslCOKtnL/4Rf8h4R5foGA8QO6P+Zj9vzsyaRVMr9RlZfGeRpwEE6fHSzG9AQmxPYHoeoeFkmJZ/+ljfsjgnBjj6yiZDF1y5P+U4xk6IXsLPdzcc1u75R7vY/tRdieWta1OZGlOjnB0bdtpAzyHUfOUeAAN9ZjCO4hDbG4GBQ+nBdHjRMR4IbmtGtGhdBXT9pG8xp+SQVr2i2LsFO9UhXVtkwWlrlrqpUM38OdoM2rnKGclH1HtCNf11Pyn5emgfct4lPXysUi3beXsVifQ76YVVkvfxHgslY9hZeON3lnYZh84R0h357maYl/q9hB1LopUBs16yLPZMq1JAlHQpV4GiJzYxcwY6zB+6Pi3Cg38= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY8PR12MB8300.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(10070799003)(1800799024)(7416014)(376014)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rs6ukdzApKY4+kImlxopXfXZzrZlA2MSWi5MURdO4+W5PhvHZ9X4+qJVYMCw?= =?us-ascii?Q?Nss1POe/szkBawAmoHegdOhQm5fUpcvVt5VzE1QQJL3UpLPFMFyyXI44ddIC?= =?us-ascii?Q?bxbVB/87nHt0jWgzqYCRx8VkPSpeJJlfd+i4y4rVQzafM8EXuXuvpLemiB28?= =?us-ascii?Q?v4IEsxvrKawypdCzVv/dzr6M7LiOF1b8ikEGSZ0b6jDEIGXl1VTD3q3xo2Yz?= =?us-ascii?Q?RJ1sb83LajblMCYZe9x9ej5Fjn8eaJCBChxLUCKQkThTXTqhZY35k6kaYlCU?= =?us-ascii?Q?o953gcumqAwVHqTs8zlkjy+58e0UPu6Bqd/w8a1snd/ZmUyTQMlvGcm4FxK6?= =?us-ascii?Q?p8ABw4tnOEkTTuIsrIIGrhc2eRTtxVFmLItnRSWdSqEyfQDa6fG4CTvBqgD9?= =?us-ascii?Q?Qm5/8orGZGvcbOwUJ5toJahXnD7fhFpjW6bWvu3o00U8cSe7C6K2SCG9wzEV?= =?us-ascii?Q?EXTqlwR5kqnEeh4By2OeJL105LrWdFg+WC9Zi1yt/mjJM4WNedF4UgsXDql4?= =?us-ascii?Q?tMnAbIPICo1ZoY0oB1oFVVFRmqyl24VIH7TU/b9DHECb6+fF0bFBrsLi6HcV?= =?us-ascii?Q?y5uXna5+gCJNVPqCvpAMilgUhQW5gUxSp98rD2oEs5WICHL1nq2bfShDKo3j?= =?us-ascii?Q?7XCbcSnr3WIVcLFdMYhzJg9yFQyE9+sY9i0gyN0OF4D9WwM8xYdOuG532e8e?= =?us-ascii?Q?XXR+GHi9DSbsRlAX5bLlH3wy1+bL2UhGwUU2aelld8bTg9KrHSWMDpnHSQKJ?= =?us-ascii?Q?GOqWGymkn+nFw88pm3+ZvVVwcs+qcXOSv+MucGuHHCZk8LfEpIsbf7+IS2pY?= =?us-ascii?Q?5LbMeEBWYiLoLAAd2KpD8D1NtvHQXKJPcE59O5sLlhcJUVXri1GqeeNIDTG4?= =?us-ascii?Q?J59Q3Mm97uFx0x56laclN7gkh50gmtKUX5uQm77ILHJaW5YtID84pVCTFt+V?= =?us-ascii?Q?hOIaMf4tiPrTUd5OD/WYvkyVVebCuFMIJXqIUX/7NkHG0hqpBBFoB+VSf0w+?= =?us-ascii?Q?/rN/4bBalwjmOwU+YeZVMag1AaFa5x57HOzguo6OJvUJZseERDL1oiubJ8YX?= =?us-ascii?Q?vIPOgCQYZa3vwNuuatKK5whSgqshde2VvzrO7JrfiZiPi8MpBi+162/9ONwC?= =?us-ascii?Q?MBlseDYSpLr5n+/AJ2QyZNLQT6FItQCNZMAO0bs5mJsW+EfXm+QQ5TOkT+d3?= =?us-ascii?Q?drGDB2+n6wAWOS3LytrgKSuvM+H953rmrblk15DZ0A0Kam+xM12JvZYNjPqH?= =?us-ascii?Q?pkbumrV+/eTg+lS5KSunVhNGXOECq73anuZj4/tQ6B4wsykl92yQzAcP2LVH?= =?us-ascii?Q?k3FYDVLGFZaf0CSR0BjPYdhwclrGYpM8RasSgA3GQqTer4jztdoFPTmW6vEA?= =?us-ascii?Q?PgxsjeE+XEQAEJTa0bIxs/EWCtQ+TjFP9z3ow+zBrpuxA3vYEj4snIkeOzyu?= =?us-ascii?Q?f3h8SP/+zaaGKHwfrgpOntH9DjyUobFnfz/fWB2MP+IjlAgurWCuuukZ1VLw?= =?us-ascii?Q?W9hhwn7El034y3iqZ3s0i6bfqmY9lym2cVNxOZI7WPfC5yJ+MrydjoJNg5We?= =?us-ascii?Q?31Tje0FQSvppQxYjgIDAmevLbQ2Jrmr/aesOGHFlPXpRuBA7qrrcdbjVqNJf?= =?us-ascii?Q?s5iVNqjjEE+TyiV6Wl0Eq+KN24zbBfEdyGxmGIojXBFlCazAo6EHD3GUEi3m?= =?us-ascii?Q?1jBK24nlp3vCcY8UEviJyiSue60Zmht7TwCkyUoKEH0qenSb+Rxg7cq+ogRv?= =?us-ascii?Q?Eq6JmJTe+OnjUtV7VGmvtAUU5oDSrRgIv5QHWZGF+ywtGZOMxJot?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d083216-9129-4d92-37d5-08dea26f9e21 X-MS-Exchange-CrossTenant-AuthSource: CY8PR12MB8300.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Apr 2026 02:09:01.3084 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0+NIDAi4eT/AokEb9bxC2z/9LxWVUnyyki78AsYrriFtoNbjX4BBC2hiuCd75ldo3KH+Th5YjDJ03aon/bOj0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8227 The kernel allows arches to select between inline and outline implementations of the copy_{from,to}_user() by defining individual INLINE_COPY_FROM_USER and INLINE_COPY_TO_USER, correspondingly. However, all arches enable or disable them always together. Without the real use-case for one helper being inlined while the other outlined, having independent controls is excessive and error prone. The first patch of the series fixes rust/uaccess coppy_to_user() wrapper guarded with INLINE_COPY_FROM_USER. The 2nd patch switches codebase to the unified INLINE_COPY_USER. And the last patch cleans up ifdefery in the include/linux/uaccess.h --- v1: https://lore.kernel.org/all/20260325163313.749336-1-ynorov@nvidia.com/ v2: - reword cover letter (Andrew); - add v2#1 to fix rust/uaccess explicitly (Alice); Yury Norov (3): rust: uaccess: use INLINE_COPY_TO_USER to guard copy_to_user() uaccess: unify inline vs outline copy_{from,to}_user() selection uaccess: minimize INLINE_COPY_USER-related ifdefery arch/arc/include/asm/uaccess.h | 3 +-- arch/arm/include/asm/uaccess.h | 3 +-- arch/arm64/include/asm/uaccess.h | 3 +-- arch/hexagon/include/asm/uaccess.h | 3 +-- arch/loongarch/include/asm/uaccess.h | 3 +-- arch/m68k/include/asm/uaccess.h | 3 +-- arch/microblaze/include/asm/uaccess.h | 3 +-- arch/mips/include/asm/uaccess.h | 3 +-- arch/nios2/include/asm/uaccess.h | 3 +-- arch/openrisc/include/asm/uaccess.h | 3 +-- arch/parisc/include/asm/uaccess.h | 3 +-- arch/s390/include/asm/uaccess.h | 3 +-- arch/sh/include/asm/uaccess.h | 3 +-- arch/sparc/include/asm/uaccess_32.h | 3 +-- arch/sparc/include/asm/uaccess_64.h | 3 +-- arch/um/include/asm/uaccess.h | 3 +-- arch/xtensa/include/asm/uaccess.h | 3 +-- include/asm-generic/uaccess.h | 3 +-- include/linux/uaccess.h | 25 +++++++++---------------- lib/usercopy.c | 4 +--- rust/helpers/uaccess.c | 2 +- 21 files changed, 29 insertions(+), 56 deletions(-) -- 2.51.0