[{"id":3682857,"web_url":"http://patchwork.ozlabs.org/comment/3682857/","msgid":"<ae-j2_QirCySZD02@yury>","list_archive_url":null,"date":"2026-04-27T17:58:51","subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","submitter":{"id":92516,"url":"http://patchwork.ozlabs.org/api/people/92516/","name":"Yury Norov","email":"ynorov@nvidia.com"},"content":"On Mon, Apr 27, 2026 at 07:13:48PM +0200, Christophe Leroy (CS GROUP) wrote:\n> At the time being, x86 and arm64 are missing unsafe_copy_from_user().\n\nNo, they don't. They (should) rely on a generic implementation from\nlinux/uaccess.h, like every other arch, except for  PPC and RISCV.\n\nBut they #define arch_unsafe_get_user, and the unsafe_copy_from_user()\nbecomes undefined conditionally on that.\n\nSo please, fix that bug instead of introducing another arch flavor.\nWe'd always choose generic version, unless there's strong evidence\nthat arch one is better.  \n\n\nThanks,\nYury\n \n> Add it.\n> \n> Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>\n> ---\n>  arch/x86/include/asm/uaccess.h | 29 ++++++++++++++++++++++++-----\n>  1 file changed, 24 insertions(+), 5 deletions(-)\n> \n> diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h\n> index 3a0dd3c2b233..10c458ffa399 100644\n> --- a/arch/x86/include/asm/uaccess.h\n> +++ b/arch/x86/include/asm/uaccess.h\n> @@ -598,7 +598,7 @@ _label:\t\t\t\t\t\t\t\t\t\\\n>   * We want the unsafe accessors to always be inlined and use\n>   * the error labels - thus the macro games.\n>   */\n> -#define unsafe_copy_loop(dst, src, len, type, label)\t\t\t\t\\\n> +#define unsafe_put_loop(dst, src, len, type, label)\t\t\t\t\\\n>  \twhile (len >= sizeof(type)) {\t\t\t\t\t\t\\\n>  \t\tunsafe_put_user(*(type *)(src),(type __user *)(dst),label);\t\\\n>  \t\tdst += sizeof(type);\t\t\t\t\t\t\\\n> @@ -611,10 +611,29 @@ do {\t\t\t\t\t\t\t\t\t\\\n>  \tchar __user *__ucu_dst = (_dst);\t\t\t\t\\\n>  \tconst char *__ucu_src = (_src);\t\t\t\t\t\\\n>  \tsize_t __ucu_len = (_len);\t\t\t\t\t\\\n> -\tunsafe_copy_loop(__ucu_dst, __ucu_src, __ucu_len, u64, label);\t\\\n> -\tunsafe_copy_loop(__ucu_dst, __ucu_src, __ucu_len, u32, label);\t\\\n> -\tunsafe_copy_loop(__ucu_dst, __ucu_src, __ucu_len, u16, label);\t\\\n> -\tunsafe_copy_loop(__ucu_dst, __ucu_src, __ucu_len, u8, label);\t\\\n> +\tunsafe_put_loop(__ucu_dst, __ucu_src, __ucu_len, u64, label);\t\\\n> +\tunsafe_put_loop(__ucu_dst, __ucu_src, __ucu_len, u32, label);\t\\\n> +\tunsafe_put_loop(__ucu_dst, __ucu_src, __ucu_len, u16, label);\t\\\n> +\tunsafe_put_loop(__ucu_dst, __ucu_src, __ucu_len, u8, label);\t\\\n> +} while (0)\n> +\n> +#define unsafe_get_loop(dst, src, len, type, label)\t\t\t\t\\\n> +\twhile (len >= sizeof(type)) {\t\t\t\t\t\t\\\n> +\t\tunsafe_get_user(*(type __user *)(src),(type *)(dst),label);\t\\\n> +\t\tdst += sizeof(type);\t\t\t\t\t\t\\\n> +\t\tsrc += sizeof(type);\t\t\t\t\t\t\\\n> +\t\tlen -= sizeof(type);\t\t\t\t\t\t\\\n> +\t}\n> +\n> +#define unsafe_copy_from_user(_dst,_src,_len,label)\t\t\t\\\n> +do {\t\t\t\t\t\t\t\t\t\\\n> +\tchar *__ucu_dst = (_dst);\t\t\t\t\t\\\n> +\tconst char __user *__ucu_src = (_src);\t\t\t\t\\\n> +\tsize_t __ucu_len = (_len);\t\t\t\t\t\\\n> +\tunsafe_get_loop(__ucu_dst, __ucu_src, __ucu_len, u64, label);\t\\\n> +\tunsafe_get_loop(__ucu_dst, __ucu_src, __ucu_len, u32, label);\t\\\n> +\tunsafe_get_loop(__ucu_dst, __ucu_src, __ucu_len, u16, label);\t\\\n> +\tunsafe_get_loop(__ucu_dst, __ucu_src, __ucu_len, u8, label);\t\\\n>  } while (0)\n>  \n>  #ifdef CONFIG_CC_HAS_ASM_GOTO_OUTPUT\n> -- \n> 2.49.0\n>","headers":{"Return-Path":"\n <SRS0=bkbm=C2=vger.kernel.org=sparclinux+bounces-6735-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","sparclinux@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=JEzvcYXQ;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=bkbm=c2=vger.kernel.org=sparclinux+bounces-6735-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=fail smtp.remote-ip=104.64.211.4","gandalf.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","gandalf.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=JEzvcYXQ;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=sparclinux+bounces-6735-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"JEzvcYXQ\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.52.39","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nvidia.com;"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4BLx3QPXz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 04:05:45 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g4BLx1SM8z4w9r\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 04:05:45 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g4BLx1NG2z4wL4; Tue, 28 Apr 2026 04:05:45 +1000 (AEST)","from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g4BLs56vFz4w9r\n\tfor <patchwork-incoming@ozlabs.org>; Tue, 28 Apr 2026 04:05:41 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 4A55C304759C\n\tfor <patchwork-incoming@ozlabs.org>; Mon, 27 Apr 2026 17:59:55 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id B937A3EDACC;\n\tMon, 27 Apr 2026 17:59:08 +0000 (UTC)","from BL2PR02CU003.outbound.protection.outlook.com\n (mail-eastusazon11011039.outbound.protection.outlook.com [52.101.52.39])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 615B93E92B9;\n\tMon, 27 Apr 2026 17:59:06 +0000 (UTC)","from CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16)\n by SA0PR12MB4352.namprd12.prod.outlook.com (2603:10b6:806:9c::9) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.16; Mon, 27 Apr\n 2026 17:58:53 +0000","from CY8PR12MB8300.namprd12.prod.outlook.com\n ([fe80::ce75:8187:3ac3:c5de]) by CY8PR12MB8300.namprd12.prod.outlook.com\n ([fe80::ce75:8187:3ac3:c5de%3]) with mapi id 15.20.9870.013; Mon, 27 Apr 2026\n 17:58:53 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777312748; cv=fail;\n b=b4TLatg3zyOa1OhlflAS21g47m877pY/VhKSf6B/pPCbZsMFUQaGM5Eoq5efpqzQ9owW8nNuyfLSn3s5NSek5XenM1dykT8oHRGxcv84rf7XuHbj7Yp8wtIzJgfZQJ6goMVzKpNTo6DOzABcBwYUFO6uImHwGApWVwZ03fC7LfQ=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=dwpVDJgRLpkyPrfWdsCpP94nHFQqYhYYfzZrq3/Y3eNMNV9kiDiO/lbPQcnh84Kc9KV6mYkk8nn970vbv0+7s6iPEYVW6K4EoChbQ41Qt789Udh9qXYG0iRgkAlDfrPUTQ8sayrAf1ja/JDhQMouPOkZWD58nKWYqpFBMo1DDNj8wVNgDK9FxRdlDaJopLZdzHGxZYNJ5taZ4f+3AlBWDxckohAjQSiNvLpxdNeatx21GsEOk2kuIxck61/13uzdWjKAIWRN7lHpHYgB1JwAWYdhnI0JhIPLSMLkKBOcW0uKNe5jsqRdVec4b90SQh3bBTkUz0ka/PlhmT5JsiSnTg=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777312748; c=relaxed/simple;\n\tbh=PuFAP3hMj1cXVAXj0lTuvnZCyiOne4/d0V8P6ehqzx8=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:\n\t Content-Disposition:In-Reply-To:MIME-Version;\n b=KIcj1o8grkYAa7GA1e9WZZ6j3tPeotfEabZnwYc5xrpQzhQRJMESd+uXoBBxtZ2muj8D3QTq2Gp+iIfCSG6bSoO5MoeuXXzsJFeGxCWmYvm2RUofVc7315Yn6WX1Tbb7lCMVeAeFpP0K/fmEKPpX1nR/As/aaLAPLPN80bJjAoM=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=YWBdJXFvUsRNS535pCc24v4leweSht+XdLI4YB0XzRQ=;\n b=JzUtnzYfifHT4anVN/U1LZ+ey7uTRcx8Nn6Nm2hS9ao6k8XZlQLiaLdpmpmADTsoF0ln9yrZ43mTgzp40gS4qmCP3SHZse2kmq2eYIeYuMuHwoWEH5Vv7fhlfZ2f/diNwlwlNxlMKsTb0izAMGGMQ4cYn6SIIE/MJoDjMtlx4eVbTb6wUFNjAz0H8mGu6ee9kYZLwb1h4NdHsUxdFPnysIwTjLgK6AvD73khRL2k8fi7iymz8mICE66X711dcKdxGAaSE87cWJD8y89JkEkcX+zpl2DCijx6ZDalEAkq61Vdd/L+W8dfRfgTksTcDbvv+E+khdr+3nyDPvxgL3L9HA=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=JEzvcYXQ; arc=fail smtp.client-ip=52.101.52.39","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;\n dkim=pass header.d=nvidia.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=YWBdJXFvUsRNS535pCc24v4leweSht+XdLI4YB0XzRQ=;\n b=JEzvcYXQdwVjYZQlnStgbJQRfUGE245OkUv62d/erL7f0QOnr7fp+plL1zfa5mv2O11r5j+JLE5qQdINthQPR+Bj7wYWw46AWrQu/eYz6ED1n8xbwCAyvlDxh9XEzqZC2g1/3KWQVSH/DH18jJwgAfYkttpt/Blmd/pUHyEDc3Wkd3edhlrvX1h1qaZ6ZPmQk/87myHHQ3TrQ1ak0Xvkilcg5V0KT50UAZqYfZ39xcshyA39b5FsO98OY/S/YtJ/myHG6I+ftEFEH6NVP/B7k+6+4RVku7Lrcmp3zsQ+ArtGrvl5bXoyxfgJj2OT6m5rwYJbHAOe8gpGdj72kjww1Q==","Date":"Mon, 27 Apr 2026 13:58:51 -0400","From":"Yury Norov <ynorov@nvidia.com>","To":"\"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>","Cc":"Andrew Morton <akpm@linux-foundation.org>,\n\tLinus Torvalds <torvalds@linux-foundation.org>,\n\tDavid Laight <david.laight.linux@gmail.com>,\n\tThomas Gleixner <tglx@linutronix.de>, linux-alpha@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,\n\tsparclinux@vger.kernel.org, linux-um@lists.infradead.org,\n\tdmaengine@vger.kernel.org, linux-efi@vger.kernel.org,\n\tlinux-fsi@lists.ozlabs.org, amd-gfx@lists.freedesktop.org,\n\tdri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,\n\tlinux-wpan@vger.kernel.org, netdev@vger.kernel.org,\n\tlinux-wireless@vger.kernel.org, linux-spi@vger.kernel.org,\n\tlinux-media@vger.kernel.org, linux-staging@lists.linux.dev,\n\tlinux-serial@vger.kernel.org, linux-usb@vger.kernel.org,\n\txen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,\n\tocfs2-devel@lists.linux.dev, bpf@vger.kernel.org,\n\tkasan-dev@googlegroups.com, linux-mm@kvack.org,\n\tlinux-x25@vger.kernel.org, rust-for-linux@vger.kernel.org,\n\tlinux-sound@vger.kernel.org, sound-open-firmware@alsa-project.org,\n\tlinux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org,\n\tloongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org,\n\tlinux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org,\n\tlinux-sh@vger.kernel.org, linux-arch@vger.kernel.org","Subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","Message-ID":"<ae-j2_QirCySZD02@yury>","References":"<cover.1777306795.git.chleroy@kernel.org>\n <0ee46bb228d97163fbdc14f2a7c52b93d8bc34ce.1777306795.git.chleroy@kernel.org>","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"\n <0ee46bb228d97163fbdc14f2a7c52b93d8bc34ce.1777306795.git.chleroy@kernel.org>","X-ClientProxiedBy":"BN1PR13CA0008.namprd13.prod.outlook.com\n (2603:10b6:408:e2::13) To CY8PR12MB8300.namprd12.prod.outlook.com\n (2603:10b6:930:7d::16)","Precedence":"bulk","X-Mailing-List":"sparclinux@vger.kernel.org","List-Id":"<sparclinux.vger.kernel.org>","List-Subscribe":"<mailto:sparclinux+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:sparclinux+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"CY8PR12MB8300:EE_|SA0PR12MB4352:EE_","X-MS-Office365-Filtering-Correlation-Id":"33128524-511f-440c-0040-08dea486a4e3","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|10070799003|366016|376014|7416014|1800799024|56012099003|18002099003|22082099003;","X-Microsoft-Antispam-Message-Info":"\n\tT80DamO5jzLhtBsxTULWy0efzaMbF8i7bT0PZKZ+UW4Z1vXusNNCyeFtPNKLbujbu9HADo2BygF39wi6lx74qp3NIinqoXF6o8xZWMAAFsZmucFOM22V5xO7kTuoG3Q6DbZQuR99ud23XQ2FkmrxQgMHmfI3XdFsqYAVjCS9aGVDF45G53+B/x+14PhezRjA9hqQvcw9EvJb6nHARdhsgHJSbcoZorjI9T48oVUEponu+eLNKghANZW7qOCu576IfZ6NRYzsY8ql1Bj8uCnhHA2nhVrKxbbZHG6LptctXV/l6KubZ/U3ZJxrPqPY1X92d625k4fagqEvx268olGcNZDaxDxTtIunEves9hFv+KACk+0uW+ma5OsqtlX5HthzXN6Acbz5tPRPmIKZ/YCyosbcqxLc7ZwX6TI/oKUfq/0tyKExxJEp/Vfc/ZG4cPWp456yUxuQQ7c0zO0EIJ+8b2gQDonWZCvn2KJzNH3N0drPOUzCQcDDQjndG2yh9Ke573Rkt//8VoZT4MTwoNB6z6b1QOagadBkLNDtxDt0AE1XfaIibN7XpAHe5nsEIn2aXs/8ZEHWz0Zv0D5+n5iwRxATzlfDoLqw+IUuN8nm7pwCMHkXF52Sms8QQtJ2rJZUXeJqLYfMQUF/D3X8mn4B7tCVxc1mKoVLz9/1oBAf2bseKRBX0rfB9ZeVX7GBdP+qZAYwkxdtBveQtq9fZ/UIGHDRO8YYxr5lavOVhUA40rc=","X-Forefront-Antispam-Report":"\n\tCIP: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)(10070799003)(366016)(376014)(7416014)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n 6ev31P6fGlLQLOmFhG9wf+2ZENF2CJrasImnLdTMkk4B07wVpIqdqcEhUwVrVcuKpfWBww+Qglw6NKPvrbqw/iKodwZS6hoQ2ezn6gKQJTXowcVzIMKKmPVICaGe2PzzTfbrd+1/kBuQd5inX41eLfMXGSMB4El+/BGeY7LidWaO2U6MXIZlTo5KMHCCmaxaSW+0abx+uHxslGaDNGAxlD0ajEnVCyj2PyGw8gfavgZvUBeC31Pn2vGdNJPTEao0o8nkBbqzRysmZBZFRsyFAwtcHiF+LMJewEDkGWcf3C7DMhvHUO7rY2T4Gp8yOxYlhdkCQq0m4ykawDCJw9P3w79tbrFqeU7DKZcc6SvjgpUdDiMP1u+wbi6ktqsa2/SBsCawL8yd85/gdX8JeS4P5U//2zVMdqlbS5oFOm8kn23qHMWd1W0xp+L9zqhhURuKBI3C8K6/P0P2OiLTdsZ7lPLULvDBkdZfUKjydMyY/3pcrF3sadi8xEKK6PbOoyabovH4OGdbUvrwD7GG4qRTd8pK59oCsnIKpVz1xKnwCa6xY5VnFP5/u/JjDPLADrD/WslKg8YXRFtCzAtBrdImcj0f8yOAh4lyWUDPVX2WM00ySuZhGhvO+v6NJ73vz9XlsUfOsWyYZ9DOEzjUfhbH0YLtM7C7LxhLfanXFKSW+D7acdbl8uANIv2lLYjkqPUxgpfNe8f+7W2LB5Nn7Np0MclwQhDcY1GLCNhmF+qQmAOMVCLRhyHjLhLWkRHgj+alwIysbQ3EuYLN5yHcsNNjsFo0wDyhRUVx5wyCMlW+Z4NGoPr32ydxiktuCQaON6kbvoanfM01VM4/fS2+speM2tcePSAnjiQa5qjOFuYZ0VtZfeGTBIZ1yXD2cHpN1ixZN0RzL/dQY0op7e/9Yk5F3A4lFGTivTaixUSEIjTezh3qI+wT/tBYEl0Z0XCO2hjUsFOU7EJ1CIL6HbyGijpDH3Yp4I8rMW9VuNbKDzbyWnaJJg9tVdo0/XIJrdAhvVKIJZb+31gwlMVE1kXLTM4rt1jmj4rcA1rNCuw4fD++YKU0KqxirVrsn6kClZa0X05s4hYIlo7g4DALYttelKqcNX1HEGU6vO71rQrVfydGtRIQzA8hZ8rQO80VU2eqMYB7eYpBItWytqLFV33JZ/cuulFCjhdnG06CQcNI6/4ovyhT3Aa8PiZXBZphvtTKhhJqQ1c7RRKZs8niebQgxVT+NqLMFlyPhkta2YjjpBXgNIIxh+iPSpkL/BZ7G18/IWgE5T5t9GEq5s5xWwSmey7027/BRYe03neS8L78GvQZ5ceRI/ymV7A6xiSGKp4h0GdJvHPIvbvLvAXTNPJXPyEy/lkYzUg06m/F5PpxUcqpyqpi7uPkJEjc3424leqnNg3d1TwAm//hlnXAadNRP0K+njbmTw4CpTe24HHWlSZ9YpBEw+Ohv14Uf9RwjiFvVAghctOlWmh5sz2AhDjQMGMs8VSWcPgVCT54kkzGd7BsoQ2aPoLVEhjPxQJKnRuZKDOQB6HL77e6jo+Karv0u6QI8scU/P+zWIUoY7Vp26Mnav/FMyG/vDm64Qhe7JrRNaXxdZN6cKMY0RccPxeEvM6Kcokd+q0bbXdS3sEK+pM8MrC/A2+EernBjELOWvLW6UNcdosIRiZXx3jxfYAWNoTKA/lHF00/AFzSuUQZeA/Bt64WCRihJQrbIN0bhLrfQCWWaLbXoiNjdnxtOgQB96s+EfSA5RhJu/4bwnEHg5Lb6TZfXmPjZN7/WMw6zB/yunPn","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 33128524-511f-440c-0040-08dea486a4e3","X-MS-Exchange-CrossTenant-AuthSource":"CY8PR12MB8300.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"27 Apr 2026 17:58:53.4408\n (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":"\n DFLDrWxkcKDSdWjcRZ0FWTXyKov5/udW2ySQZAiU/0h1WJYCpRdFgW8eHZBY8qsOSQ9+hnLtwBfn4bjMnIR9OQ==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"SA0PR12MB4352","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}},{"id":3682868,"web_url":"http://patchwork.ozlabs.org/comment/3682868/","msgid":"<63a4d0f6-0eb3-48cd-9f98-bf7b223b2606@kernel.org>","list_archive_url":null,"date":"2026-04-27T18:20:38","subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","submitter":{"id":92089,"url":"http://patchwork.ozlabs.org/api/people/92089/","name":"Christophe Leroy (CS GROUP)","email":"chleroy@kernel.org"},"content":"Le 27/04/2026 à 19:58, Yury Norov a écrit :\n> On Mon, Apr 27, 2026 at 07:13:48PM +0200, Christophe Leroy (CS GROUP) wrote:\n>> At the time being, x86 and arm64 are missing unsafe_copy_from_user().\n> \n> No, they don't. They (should) rely on a generic implementation from\n> linux/uaccess.h, like every other arch, except for  PPC and RISCV.\n> \n> But they #define arch_unsafe_get_user, and the unsafe_copy_from_user()\n> becomes undefined conditionally on that.\n> \n> So please, fix that bug instead of introducing another arch flavor.\n> We'd always choose generic version, unless there's strong evidence\n> that arch one is better.\n\nBut they both implement the exact same unsafe_copy_to_user(). What is \nthe difference here ?\n\nShould that function become generic too ?\n\nChristophe\n\n> \n> \n> Thanks,\n> Yury\n>   \n>> Add it.\n>>\n>> Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>\n>> ---\n>>   arch/x86/include/asm/uaccess.h | 29 ++++++++++++++++++++++++-----\n>>   1 file changed, 24 insertions(+), 5 deletions(-)\n>>\n>> diff --git a/arch/x86/include/asm/uaccess.h b/arch/x86/include/asm/uaccess.h\n>> index 3a0dd3c2b233..10c458ffa399 100644\n>> --- a/arch/x86/include/asm/uaccess.h\n>> +++ b/arch/x86/include/asm/uaccess.h\n>> @@ -598,7 +598,7 @@ _label:\t\t\t\t\t\t\t\t\t\\\n>>    * We want the unsafe accessors to always be inlined and use\n>>    * the error labels - thus the macro games.\n>>    */\n>> -#define unsafe_copy_loop(dst, src, len, type, label)\t\t\t\t\\\n>> +#define unsafe_put_loop(dst, src, len, type, label)\t\t\t\t\\\n>>   \twhile (len >= sizeof(type)) {\t\t\t\t\t\t\\\n>>   \t\tunsafe_put_user(*(type *)(src),(type __user *)(dst),label);\t\\\n>>   \t\tdst += sizeof(type);\t\t\t\t\t\t\\\n>> @@ -611,10 +611,29 @@ do {\t\t\t\t\t\t\t\t\t\\\n>>   \tchar __user *__ucu_dst = (_dst);\t\t\t\t\\\n>>   \tconst char *__ucu_src = (_src);\t\t\t\t\t\\\n>>   \tsize_t __ucu_len = (_len);\t\t\t\t\t\\\n>> -\tunsafe_copy_loop(__ucu_dst, __ucu_src, __ucu_len, u64, label);\t\\\n>> -\tunsafe_copy_loop(__ucu_dst, __ucu_src, __ucu_len, u32, label);\t\\\n>> -\tunsafe_copy_loop(__ucu_dst, __ucu_src, __ucu_len, u16, label);\t\\\n>> -\tunsafe_copy_loop(__ucu_dst, __ucu_src, __ucu_len, u8, label);\t\\\n>> +\tunsafe_put_loop(__ucu_dst, __ucu_src, __ucu_len, u64, label);\t\\\n>> +\tunsafe_put_loop(__ucu_dst, __ucu_src, __ucu_len, u32, label);\t\\\n>> +\tunsafe_put_loop(__ucu_dst, __ucu_src, __ucu_len, u16, label);\t\\\n>> +\tunsafe_put_loop(__ucu_dst, __ucu_src, __ucu_len, u8, label);\t\\\n>> +} while (0)\n>> +\n>> +#define unsafe_get_loop(dst, src, len, type, label)\t\t\t\t\\\n>> +\twhile (len >= sizeof(type)) {\t\t\t\t\t\t\\\n>> +\t\tunsafe_get_user(*(type __user *)(src),(type *)(dst),label);\t\\\n>> +\t\tdst += sizeof(type);\t\t\t\t\t\t\\\n>> +\t\tsrc += sizeof(type);\t\t\t\t\t\t\\\n>> +\t\tlen -= sizeof(type);\t\t\t\t\t\t\\\n>> +\t}\n>> +\n>> +#define unsafe_copy_from_user(_dst,_src,_len,label)\t\t\t\\\n>> +do {\t\t\t\t\t\t\t\t\t\\\n>> +\tchar *__ucu_dst = (_dst);\t\t\t\t\t\\\n>> +\tconst char __user *__ucu_src = (_src);\t\t\t\t\\\n>> +\tsize_t __ucu_len = (_len);\t\t\t\t\t\\\n>> +\tunsafe_get_loop(__ucu_dst, __ucu_src, __ucu_len, u64, label);\t\\\n>> +\tunsafe_get_loop(__ucu_dst, __ucu_src, __ucu_len, u32, label);\t\\\n>> +\tunsafe_get_loop(__ucu_dst, __ucu_src, __ucu_len, u16, label);\t\\\n>> +\tunsafe_get_loop(__ucu_dst, __ucu_src, __ucu_len, u8, label);\t\\\n>>   } while (0)\n>>   \n>>   #ifdef CONFIG_CC_HAS_ASM_GOTO_OUTPUT\n>> -- \n>> 2.49.0\n>>","headers":{"Return-Path":"\n <SRS0=VPV5=C2=vger.kernel.org=sparclinux+bounces-6737-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","sparclinux@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=J2scZpbK;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=vpv5=c2=vger.kernel.org=sparclinux+bounces-6737-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=104.64.211.4 arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org","gandalf.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=J2scZpbK;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=sparclinux+bounces-6737-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"J2scZpbK\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4Brr5C8xz1yHX\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 04:28:12 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g4Brr36ZCz4wHs\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 04:28:12 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g4Brr31jdz4wJS; Tue, 28 Apr 2026 04:28:12 +1000 (AEST)","from sin.lore.kernel.org (sin.lore.kernel.org [104.64.211.4])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g4Brm5mytz4wHs\n\tfor <patchwork-incoming@ozlabs.org>; Tue, 28 Apr 2026 04:28:08 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 0E36C3020861\n\tfor <patchwork-incoming@ozlabs.org>; Mon, 27 Apr 2026 18:20:57 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 700CD3EB7E1;\n\tMon, 27 Apr 2026 18:20:54 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 20AD83E274D;\n\tMon, 27 Apr 2026 18:20:53 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 3CCCFC2BCB5;\n\tMon, 27 Apr 2026 18:20:40 +0000 (UTC)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1777314492; cv=pass;\n\tb=AuQX/XDyTEm/TtzIy4akx7gvvelW/frnaKhQmwJv36j5vrLbeKmNK9K8X0UjyqPunsjNuQHOQce2UG6QTqKiH//c1AJCWdFF2IhEoYUOORV8rq9yoxL2Y1nzE9QcyR0UAICMO2VXIfvxKABRG15kXtUrrhlFAs9qLWuVxDju5mtGAnSutK+YJIu4lRFS9Qy99tDTDpoWw06OG5Ogt0jeZKpbXOM+kL6dRHeVof2H09c3g4GCq3QDzCu27FjOnWfffpZBOIQfmhM42T0/gkhe+ArM0f67k9Vr3EPLdwq5zvOdSxWFaiebcupcUhrHl4NW8+ZSKeJXZerOyAu+ZZaXKA==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777314054; cv=none;\n b=u1/Ds/LwShlIadKzXh+lhNI4gPsN9exef3ie1BjXf1WAoD2miBL1hJLkSmjiQgFnkwueiKw1ZE39Eh5sZqwKyghwgVBf9T+vWcRQ/13dBpNuCMgX9ogM/K0pcG8KWxEesYHqnIe5mg2OvSvN6I6WvoH2aQOhDsmlwbKWSrX6Jow="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1777314492; c=relaxed/relaxed;\n\tbh=jRL0edEqnjRKMMuAf8kNDWGdxE3K4+zobIK6wBqidRA=;\n\th=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:\n\t In-Reply-To:Content-Type;\n b=ggFV8pwiJjRAmeDn3VA5h47Ler2dMmuk10LKvqSB3Mv2xyznaBGsqr7nH4xJkT5Umjs8KTHFJ6VWcHS3TxhA1gKl7wub6RAxX+1D6ojASSz+zd21j4yZEqSJrZSzUTYlfXyaGVsLboxbKGlziKIWiMVVUPXYUElg6fXSaZOjElxrPF3kj28mHSQsV5l4HBw8wPd57mrJU7WV9NcX0DcbOlTvvGVJgyzXrcDuER5ereUF9ykEhglYudFlrF6VcGLZ40rc0gkpErY3jD3BuohkZWd2M82o8HkelUsOEafC8foYYp9LGlf1z5fVxdmaWKaYiS5Q3lmOz0aPW9Xn1/SDBA==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777314054; c=relaxed/simple;\n\tbh=fSfdZ5/fBIJBn92+lTQ8RknrFiSruKk4Zm5FPbyuhQI=;\n\th=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From:\n\t In-Reply-To:Content-Type;\n b=hZjCzRBOdWpzK3uvkI8gRjnAcZaKmKArWlmpDhiw0GgVB4zsMAYIXjZcAWTXdrpnG0sJUq1ajJCjvn36+YUmAjH6Vph2VJw/sM7s7qVdAR8PkRST9bRCOJncBwN1OtrW0UMhsYc5r6fSftL5OFZBrBgih5DvSnSbgr9V0twHDU4="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=J2scZpbK; dkim-atps=neutral;\n spf=pass (client-ip=104.64.211.4; helo=sin.lore.kernel.org;\n envelope-from=sparclinux+bounces-6737-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=J2scZpbK; arc=none smtp.client-ip=10.30.226.201"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777314053;\n\tbh=fSfdZ5/fBIJBn92+lTQ8RknrFiSruKk4Zm5FPbyuhQI=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=J2scZpbKenpOejPaCkxdr8Fr6c4RornKyxLjF0dKFYhSlw+matCdj3SDWlLeqEo9E\n\t a373XI9Iold2YwxLkAFI1OVkbxbR9JLgxu/comiCZJeBJjQK8IiPFbF3a0OQIu5zFJ\n\t z32D8XDVz5Fo00XfpR09lc3WO+fPx7ont3FOA+TL4jxGM7w1J5Z2cHWcv2Vi05coRU\n\t 6lIPjD/Eh4XtMiOh4PUlJfQ+hbcnF50oIaF0Y5is14Jb9Uy7pNbq6e4WVWxwPn3QZF\n\t F5175xYuXBtUSK+HvgeuPZTDTXog5e6524IUP62vgqpWl/U/vR5Pqvo+DbOYeGkne+\n\t cSOzK+yVIhXWw==","Message-ID":"<63a4d0f6-0eb3-48cd-9f98-bf7b223b2606@kernel.org>","Date":"Mon, 27 Apr 2026 20:20:38 +0200","Precedence":"bulk","X-Mailing-List":"sparclinux@vger.kernel.org","List-Id":"<sparclinux.vger.kernel.org>","List-Subscribe":"<mailto:sparclinux+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:sparclinux+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","To":"Yury Norov <ynorov@nvidia.com>","Cc":"Andrew Morton <akpm@linux-foundation.org>,\n Linus Torvalds <torvalds@linux-foundation.org>,\n David Laight <david.laight.linux@gmail.com>,\n Thomas Gleixner <tglx@linutronix.de>, linux-alpha@vger.kernel.org,\n linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org,\n linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,\n linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,\n linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,\n sparclinux@vger.kernel.org, linux-um@lists.infradead.org,\n dmaengine@vger.kernel.org, linux-efi@vger.kernel.org,\n linux-fsi@lists.ozlabs.org, amd-gfx@lists.freedesktop.org,\n dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,\n linux-wpan@vger.kernel.org, netdev@vger.kernel.org,\n linux-wireless@vger.kernel.org, linux-spi@vger.kernel.org,\n linux-media@vger.kernel.org, linux-staging@lists.linux.dev,\n linux-serial@vger.kernel.org, linux-usb@vger.kernel.org,\n xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,\n ocfs2-devel@lists.linux.dev, bpf@vger.kernel.org,\n kasan-dev@googlegroups.com, linux-mm@kvack.org, linux-x25@vger.kernel.org,\n rust-for-linux@vger.kernel.org, linux-sound@vger.kernel.org,\n sound-open-firmware@alsa-project.org, linux-csky@vger.kernel.org,\n linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev,\n linux-m68k@lists.linux-m68k.org, linux-openrisc@vger.kernel.org,\n linux-parisc@vger.kernel.org, linux-sh@vger.kernel.org,\n linux-arch@vger.kernel.org","References":"<cover.1777306795.git.chleroy@kernel.org>\n <0ee46bb228d97163fbdc14f2a7c52b93d8bc34ce.1777306795.git.chleroy@kernel.org>\n <ae-j2_QirCySZD02@yury>","Content-Language":"fr-FR","From":"\"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>","In-Reply-To":"<ae-j2_QirCySZD02@yury>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tMAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=disabled\n\tversion=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}},{"id":3682906,"web_url":"http://patchwork.ozlabs.org/comment/3682906/","msgid":"<ae-2yLWSGnfeTvh1@yury>","list_archive_url":null,"date":"2026-04-27T19:19:36","subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","submitter":{"id":92516,"url":"http://patchwork.ozlabs.org/api/people/92516/","name":"Yury Norov","email":"ynorov@nvidia.com"},"content":"On Mon, Apr 27, 2026 at 08:20:38PM +0200, Christophe Leroy (CS GROUP) wrote:\n> \n> \n> Le 27/04/2026 à 19:58, Yury Norov a écrit :\n> > On Mon, Apr 27, 2026 at 07:13:48PM +0200, Christophe Leroy (CS GROUP) wrote:\n> > > At the time being, x86 and arm64 are missing unsafe_copy_from_user().\n> > \n> > No, they don't. They (should) rely on a generic implementation from\n> > linux/uaccess.h, like every other arch, except for  PPC and RISCV.\n> > \n> > But they #define arch_unsafe_get_user, and the unsafe_copy_from_user()\n> > becomes undefined conditionally on that.\n> > \n> > So please, fix that bug instead of introducing another arch flavor.\n> > We'd always choose generic version, unless there's strong evidence\n> > that arch one is better.\n> \n> But they both implement the exact same unsafe_copy_to_user(). What is the\n> difference here ?\n>\n> Should that function become generic too ?\n\nThis is what Linus said when added x86 implementation for copy_from_user()\nin c512c69187197:\n\n  Note that it only does this [arch version] for the copying _to_ user space,\n  and we still don't have a unsafe version of copy_from_user().\n  \n  That's partly because we have no current users of it, but also partly\n  because the copy_from_user() case is slightly different and cannot\n  efficiently be implemented in terms of a unsafe_get_user() loop (because\n  gcc can't do asm goto with outputs).\n\nIn the unsafe_copy_to_user case, arch versions were justified. Just as\nsaid, I'm not against arch version for unsafe_copy_from_user(), but it\nshould be explained very well.","headers":{"Return-Path":"\n <SRS0=7APc=C2=vger.kernel.org=sparclinux+bounces-6741-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","sparclinux@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=YPchTHpL;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=7apc=c2=vger.kernel.org=sparclinux+bounces-6741-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=fail smtp.remote-ip=172.234.253.10","gandalf.ozlabs.org;\n dmarc=fail (p=reject dis=none) header.from=nvidia.com","gandalf.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=YPchTHpL;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=sparclinux+bounces-6741-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key)\n header.d=Nvidia.com header.i=@Nvidia.com header.b=\"YPchTHpL\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.201.69","smtp.subspace.kernel.org;\n dmarc=fail (p=reject dis=none) header.from=nvidia.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nvidia.com;"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4D136qTYz1yHX\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 05:20:23 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g4D136dZHz4wB9\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 05:20:23 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g4D136YbFz4wL0; Tue, 28 Apr 2026 05:20:23 +1000 (AEST)","from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g4D0y6xJFz4wLh\n\tfor <patchwork-incoming@ozlabs.org>; Tue, 28 Apr 2026 05:20:18 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 3DB6430421E3\n\tfor <patchwork-incoming@ozlabs.org>; Mon, 27 Apr 2026 19:19:56 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 058893EFD00;\n\tMon, 27 Apr 2026 19:19:52 +0000 (UTC)","from PH7PR06CU001.outbound.protection.outlook.com\n (mail-westus3azon11010069.outbound.protection.outlook.com [52.101.201.69])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 47A023E92A0;\n\tMon, 27 Apr 2026 19:19:50 +0000 (UTC)","from CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16)\n by CY3PR12MB9678.namprd12.prod.outlook.com (2603:10b6:930:101::12) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.12; Mon, 27 Apr\n 2026 19:19:39 +0000","from CY8PR12MB8300.namprd12.prod.outlook.com\n ([fe80::ce75:8187:3ac3:c5de]) by CY8PR12MB8300.namprd12.prod.outlook.com\n ([fe80::ce75:8187:3ac3:c5de%3]) with mapi id 15.20.9870.013; Mon, 27 Apr 2026\n 19:19:39 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777317591; cv=fail;\n b=tH6yuCJbrB/omk9PJIL34WJcrsRDVjNHxx46cokL5tXSyBllBDzxZS+1X6QDODQTemV6Sd8/NswWmUjjNwKlXU0KGZA9UPEtuVvWB1KVpDEjpj64/q47+gT+fH12dfp92xU0YBBaj2NXDaKePigT7kr822LZHI42fK5iqySP3SI=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=DVhEHbKse9FapnN2cz2aJUX+HTxcItqfquBUQFwLCiP5WPrtNQiNPTnGI4MIon3AgmkAQl5HhYuSQnuQt8IDeRYhgInyB/AOQdBwrpUiHITV3f694UVLHuUrOiv9b2cfG6r3+auR6MSVkkcLuQ4Y+tF/rhfDNeBCXess0F+F/TkXrV+dz92vsSLlL5tn1Ynl2fbpcNoIAef0KBxuv6gcdjE4t82LvHJAaDNASNUKyKFm7x4T0BsLAz0/sYnIg36y560VeNc7zOL4T4Ud5AI185ZovsKb5e37aJIb1I3/TkqG0ULl2gwnmAIb6WWT/tvMtVulTJ6c/93Ndgr0CuF4fg=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777317591; c=relaxed/simple;\n\tbh=QZFzIQdZ3YBkWl+pry9Vul/3AcxOOWxKfKh1ZrhYsFw=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:\n\t Content-Disposition:In-Reply-To:MIME-Version;\n b=uWc2Xus6gOAmT4Sm+7Thk/qLIGdcXfbCdX+C1ZeugXjwZdOkngjVFbezg23rsBNtJqFT8tryFNoYb+rlzGKqyvL5AsXo3h+GH0bXbWEqJFV/6rSeMHICIQdvvo91R9uNUFjTBfuaCJP9G7P6ZUd5/H+UHbxH9mt6VUsiO4ROIFw=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=/kehAw/qIO6D93HVE5am8hZKsLTTbdaFhcjGhCC5rQk=;\n b=barriPy2JoAhTOU2YWoiBczra9jgxyFIS6Vn5fMeLmZuoQbamS7hXIudelNBWOJlYCTT4fz6sLrJvnhUdW9BOtoGyJggKAsOzpYbdXTAoZYuiChGWVjjK4zj5T6ViLKFtxvsysAksVjZEfM7DJVmWiyYI9e45cpEy9i20IgZjrl32t2DE427qEOO5vlB9eYx56Yl/nXGgL4VLYapDOlIgCcuJftQuYsdND79AhJHc1YvPlUNuHXQ+n3CfukGLrY/uuf3W2l/Yujue6iK9C39RkCuvxgHmU04+3GeYVYQvrsxPBRvQZHz5V/LPu92hWZsyj93vuK0RwQezDTTJlGlNw=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=fail (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=fail (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=YPchTHpL reason=\"signature verification failed\";\n arc=fail smtp.client-ip=52.101.201.69","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;\n dkim=pass header.d=nvidia.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=/kehAw/qIO6D93HVE5am8hZKsLTTbdaFhcjGhCC5rQk=;\n b=YPchTHpLT9QyaGFbz/V/HaxoYwml60CPwBCohwTGccSxQF5xp4aCWy87+9L75FNFxG+fxrmiBfrijK9S2U71MhRFySlXZXPcGWovjvdfkNvvp25q1PAB1mr+HmzjdR2xRedKx7NR5nzOddAsQnNEGyggXH0WqDfgUQo8MCzVvhQJIRQ9THI7KbDluLzImajEqpi/FOh1jFu/Gzsx5Px0K5iD8tBWuFPua2hJduhxINK682Oc8hT1rNV3ppOrrAFmrK5A2egSfIVt/1zbLX+OPjABfYsc675DnlpFoxG5tXvBSDdEGGHoW1lpS7Myqc3PGBqojvAzWyzSfMH/AHuVBg==","Date":"Mon, 27 Apr 2026 15:19:36 -0400","From":"Yury Norov <ynorov@nvidia.com>","To":"\"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>","Cc":"Andrew Morton <akpm@linux-foundation.org>,\n\tLinus Torvalds <torvalds@linux-foundation.org>,\n\tDavid Laight <david.laight.linux@gmail.com>,\n\tThomas Gleixner <tglx@linutronix.de>, linux-alpha@vger.kernel.org,\n\tYury Norov <yury.norov@gmail.com>, linux-kernel@vger.kernel.org,\n\tlinux-snps-arc@lists.infradead.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,\n\tsparclinux@vger.kernel.org, linux-um@lists.infradead.org,\n\tdmaengine@vger.kernel.org, linux-efi@vger.kernel.org,\n\tlinux-fsi@lists.ozlabs.org, amd-gfx@lists.freedesktop.org,\n\tdri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,\n\tlinux-wpan@vger.kernel.org, netdev@vger.kernel.org,\n\tlinux-wireless@vger.kernel.org, linux-spi@vger.kernel.org,\n\tlinux-media@vger.kernel.org, linux-staging@lists.linux.dev,\n\tlinux-serial@vger.kernel.org, linux-usb@vger.kernel.org,\n\txen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,\n\tocfs2-devel@lists.linux.dev, bpf@vger.kernel.org,\n\tkasan-dev@googlegroups.com, linux-mm@kvack.org,\n\tlinux-x25@vger.kernel.org, rust-for-linux@vger.kernel.org,\n\tlinux-sound@vger.kernel.org, sound-open-firmware@alsa-project.org,\n\tlinux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org,\n\tloongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org,\n\tlinux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org,\n\tlinux-sh@vger.kernel.org, linux-arch@vger.kernel.org","Subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","Message-ID":"<ae-2yLWSGnfeTvh1@yury>","References":"<cover.1777306795.git.chleroy@kernel.org>\n <0ee46bb228d97163fbdc14f2a7c52b93d8bc34ce.1777306795.git.chleroy@kernel.org>\n <ae-j2_QirCySZD02@yury>\n <63a4d0f6-0eb3-48cd-9f98-bf7b223b2606@kernel.org>","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<63a4d0f6-0eb3-48cd-9f98-bf7b223b2606@kernel.org>","X-ClientProxiedBy":"BLAPR03CA0031.namprd03.prod.outlook.com\n (2603:10b6:208:32d::6) To CY8PR12MB8300.namprd12.prod.outlook.com\n (2603:10b6:930:7d::16)","Precedence":"bulk","X-Mailing-List":"sparclinux@vger.kernel.org","List-Id":"<sparclinux.vger.kernel.org>","List-Subscribe":"<mailto:sparclinux+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:sparclinux+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"CY8PR12MB8300:EE_|CY3PR12MB9678:EE_","X-MS-Office365-Filtering-Correlation-Id":"c742778b-fa9b-44f9-51b3-08dea491ed5d","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|366016|376014|7416014|10070799003|1800799024|56012099003|18002099003|22082099003;","X-Microsoft-Antispam-Message-Info":"\n\tshZ1u0REr6wDLRLPyyEdIcR7HSBaBLI9bkPwQrtikVH2FtKB2JxFo1blEpu1cI3NJl8SRfbhAKLYIVGCuUMzmvBnxw+FuY/TWQm+eDHPdr22c6rn1JUuzt3nYVxIbuuLTVTRWsq+e+SUyzbYaEEs9iTQJbTfJiMIr1QcnMs7HyZ09hEYM4Y4qXo4Dqr7nhb5zdIkE0fiLtqy/Zisxe0E2yKOvU4HmFcaFOiR7Aq6DJwZzTG+BR733bn5EC71RBcWvOANFgJM2znxVv/dOuQYufc4G4dUHtXgydGyNUS+fngDUjvyX5MkmDLhOMznjZqXlYqgeu5lMUCpG8HffRFHlOXhBcrYgf+ovMMHaCYbFuDT66UC1VDFvb4rz83Hk2Lnl6vSSpPTv8rxpTSPpx4cdJdNmo0Mn5Mi/3x46vGIX9O5JTAct5Ir50zvkKLZe7/Kp1qSfB39msc26Lzz7LD733/o3mPnQXyAGLurnHZgJ5jM3FLt650dCqhJcZlPMaXHq6+AjtwJTG6y+mX2JUt2792E1LYJn7KjXVu8/xqn/7IpL5oC4IQQUgghT221wDL3lrh3xCL1IuqFJShNLP2kKxWwgFBJzIfU0pnScVGPPU9YsipaXNEtmsuD5RQqnXWq43E7KCoMjIP73gvWalBIhJkqTKcX6NUkX7ot5JSYyuNq1A833Lgaec6O0C//zC9ubi3rz9CymfV/P6BrxHZIhmtQ5semmv0gY0c6C5hRnqM=","X-Forefront-Antispam-Report":"\n\tCIP: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)(376014)(7416014)(10070799003)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?iso-8859-1?q?T8W6XhUXwT9dv5kuj9kFMa1?=\n\t=?iso-8859-1?q?Pc+caKbpom/7i+ro0mWLEx/WsMCf7Uv+yLtgAyF6hz8bSDC1bWR1FTEkkI65?=\n\t=?iso-8859-1?q?aMUmC7iyx7e6/xfNDa3Fqe7SiC1j77stILrG24onu6fFBF8DWYf6MIuIlkdg?=\n\t=?iso-8859-1?q?rbAd2EiVVGxnofgYgHTQhw5136OB8qOCnzmyDAwjI33B1CjeJnNBBJkCzrks?=\n\t=?iso-8859-1?q?dZvxIcHW0uIe6E0PZHf537RLpIETMs+cBh7JvH4GNxPjZACl7GXrozKiFqXS?=\n\t=?iso-8859-1?q?wFIzHaU9Zd4jSjyzd0KPJpIHPKf8h/I+NEnIGw4Lnjlmh9mYKMwd0qS2GIHp?=\n\t=?iso-8859-1?q?VaOy1bH5MCjGmjowRaXjQ79bejGRLn+Oomml9guRrsFzOQ7DbbOlFy8pqy9R?=\n\t=?iso-8859-1?q?+D9ZnGVn8wEgYSRw75xgmry2ACNauoKPoUzpnRmfqW3sPF9JS/tvt2t2PPNV?=\n\t=?iso-8859-1?q?TZJLV6vuJBnNmyWilx/9uSrlYzTyazTZWIZbUeG2soKD4eNVokxFYJQoBgEs?=\n\t=?iso-8859-1?q?GEV2njiNv6HUubbi0pFVqp14jJqz5sSfFayA6WZcArZ+USE5vjanuqRtNQfd?=\n\t=?iso-8859-1?q?kNsKj0R4pEMc493o0NCXeFBw/ojt6aGg8g6h7tHIHZcYuw7ohhZUMOvg3ffh?=\n\t=?iso-8859-1?q?lK9u79tO7oKpC3uwiPOjYl6brt/0GKfD3iRNbrV6TRbbioNcjuDS7LZqgWxe?=\n\t=?iso-8859-1?q?6vMy7NndX+woAuRdr5blnc5k3cJWHAzCHgJ5WF2JWGApq1uyN9UWgvqNw083?=\n\t=?iso-8859-1?q?HRffGg6P5ixcG24FhHq+kscs9DSxIC+Aujk67lP+3jqbld/7XWy8cKm8qvSH?=\n\t=?iso-8859-1?q?wRqhWblhk2okcTJPbDNOuvYYOSGTPE+vmAEFbkK1UHPvMUY9ATxehETfXPZs?=\n\t=?iso-8859-1?q?7yjb3aqw3hdW7xtyg3/7tDEWG7+fOEy9FFT/gEBpvxotxF6oySrb2HXqp/fq?=\n\t=?iso-8859-1?q?rjhbq+CZwwgugua6eO4UL5qPz9hiIFbMAfNaGqRykJRiykn+pL+t1YHattmJ?=\n\t=?iso-8859-1?q?89+zMjzPmRht5LCTdelXGsXfPIKJiFXD3T9vDfN3lmWj4Ts7wlilxpgiOpMa?=\n\t=?iso-8859-1?q?Lp7E3h5ji6cLKiR9cNwmzJTNOGBx5zvsEG4+PNQXhBDGMpxOVgOl+EeAV9d2?=\n\t=?iso-8859-1?q?s3FGgMUZVYPP9cV5NsthWoh6iNfuRN7NkopE2q3yxMVZlN6dt7HdpbO1Y0fu?=\n\t=?iso-8859-1?q?25Ra/a3yy2XE0TtJPHqDm12P85rdM3CgNkUv822FbtecXgL64Qkuo5pbU1qr?=\n\t=?iso-8859-1?q?EG+LOPjM/jMvPhwRHc5ppnq/gaXYhFU5FH0G3K5d4d0ixkRyi37WvQFsdW6Q?=\n\t=?iso-8859-1?q?rX/SrL3DsdbaAqQnL1rxC0EQG3YCsMUYGRLPRYd9ad5xPY0x+Rqpi74xEsiw?=\n\t=?iso-8859-1?q?9PrH9X+6nGn6Y3d7VcpnV6Av8/J+hqLZLRt6W9B7IXfCaTIAV8KCRWdm4Exr?=\n\t=?iso-8859-1?q?gkDdvMYea8olZLEBlvgMeZtCVoxZ810+OR4vZKUUMbB37HagwC1ZTD4TpsWj?=\n\t=?iso-8859-1?q?GJNj5Ry/c9tX5RkpCdCKRBegPQIrqdU1WX41QArSPS9fbxDEYSUCFDpxyHnI?=\n\t=?iso-8859-1?q?l4mh4MFcUHTIxFSpQAIB1z5w75JzJg+rYBE9y0Z0uA2hx89znOZLi5+tvIZl?=\n\t=?iso-8859-1?q?dfaxSE1Dk0RrYzkMtqQuuDh61/I6rksRc2kt6jYughvJgjrdcklYMst8NSno?=\n\t=?iso-8859-1?q?rft9iaeq41s5Z02Our3r1w88xwCK/RrRq8aIdSRgpisMPDwKRAml31b4cWNg?=\n\t=?iso-8859-1?q?8wz9VF+bGszAp5BtKObcEufaeReWjiKmyXNV3qbI4euw+Po2OswoqiwgiX8x?=\n\t=?iso-8859-1?q?IAeThU5sXrO2JRJTwu37/nYFGOi2s?=","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n c742778b-fa9b-44f9-51b3-08dea491ed5d","X-MS-Exchange-CrossTenant-AuthSource":"CY8PR12MB8300.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"27 Apr 2026 19:19:39.4410\n (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":"\n 40kb2lLpGDA1U6OK1K/FxB8sAmuWJ+U6w4mJNOJ6ae5Bq52M+Y3YVxXlUqHMzI9liQk01DjxzLicYADua7DWLw==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"CY3PR12MB9678","X-Spam-Status":"No, score=0.9 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_INVALID,DKIM_SIGNED,DMARC_REJECT,HEADER_FROM_DIFFERENT_DOMAINS,\n\tMAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=disabled\n\tversion=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}},{"id":3683020,"web_url":"http://patchwork.ozlabs.org/comment/3683020/","msgid":"<CAHk-=wgPrLy0FR3sEWBYQuNAac1axDASYMnTuPuxEU0WytzL7w@mail.gmail.com>","list_archive_url":null,"date":"2026-04-27T21:52:05","subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","submitter":{"id":97,"url":"http://patchwork.ozlabs.org/api/people/97/","name":"Linus Torvalds","email":"torvalds@linux-foundation.org"},"content":"On Mon, 27 Apr 2026 at 12:19, Yury Norov <ynorov@nvidia.com> wrote:\n>\n> This is what Linus said when added x86 implementation for copy_from_user()\n> in c512c69187197:\n\nNote that some things have happily changed in the six+ years since...\n\n>   That's partly because we have no current users of it, but also partly\n>   because the copy_from_user() case is slightly different and cannot\n>   efficiently be implemented in terms of a unsafe_get_user() loop (because\n>   gcc can't do asm goto with outputs).\n\nnow everybody can do asm goto with outputs.\n\nYes, it's disabled on older versions, so it's not *always* available,\nbut all modern versions do it. And if you care about performance, you\nwon't be using an old compiler.\n\n             Linus","headers":{"Return-Path":"\n <SRS0=pzmL=C2=vger.kernel.org=sparclinux+bounces-6747-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","sparclinux@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=linux-foundation.org header.i=@linux-foundation.org\n header.a=rsa-sha256 header.s=google header.b=KMbVx6dF;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=pzml=c2=vger.kernel.org=sparclinux+bounces-6747-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=\"2600:3c0a:e001:db::12fc:5321\"\n arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=linux-foundation.org","gandalf.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=linux-foundation.org header.i=@linux-foundation.org\n header.a=rsa-sha256 header.s=google header.b=KMbVx6dF;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=sparclinux+bounces-6747-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=linux-foundation.org\n header.i=@linux-foundation.org header.b=\"KMbVx6dF\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.218.46","smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=linux-foundation.org","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=linuxfoundation.org"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4HNj0Wdjz1yHX\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 07:52:37 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g4HNj02pQz4wLV\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 07:52:36 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g4HNh6cXDz4wKN; Tue, 28 Apr 2026 07:52:36 +1000 (AEST)","from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g4HNZ6Lnpz4wLj\n\tfor <patchwork-incoming@ozlabs.org>; Tue, 28 Apr 2026 07:52:30 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 6ED50300C936\n\tfor <patchwork-incoming@ozlabs.org>; Mon, 27 Apr 2026 21:52:27 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 1DBA736EA93;\n\tMon, 27 Apr 2026 21:52:27 +0000 (UTC)","from mail-ej1-f46.google.com (mail-ej1-f46.google.com\n [209.85.218.46])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 9214A2857EE\n\tfor <sparclinux@vger.kernel.org>; Mon, 27 Apr 2026 21:52:25 +0000 (UTC)","by mail-ej1-f46.google.com with SMTP id\n a640c23a62f3a-b9c3a9fe80fso1581253366b.3\n        for <sparclinux@vger.kernel.org>;\n Mon, 27 Apr 2026 14:52:25 -0700 (PDT)","from mail-ed1-f41.google.com (mail-ed1-f41.google.com.\n [209.85.208.41])\n        by smtp.gmail.com with ESMTPSA id\n a640c23a62f3a-bb80b2adcf1sm9947366b.35.2026.04.27.14.52.22\n        for <sparclinux@vger.kernel.org>\n        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n        Mon, 27 Apr 2026 14:52:23 -0700 (PDT)","by mail-ed1-f41.google.com with SMTP id\n 4fb4d7f45d1cf-677f7c29af6so9392459a12.2\n        for <sparclinux@vger.kernel.org>;\n Mon, 27 Apr 2026 14:52:22 -0700 (PDT)"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1777326756; cv=pass;\n\tb=aShFsI6a6402MoQPIRuUByimOyqzv2jSSaQT8LOKgtSGOH6x5K9Xn9JiiUNqUWHK10Np7c1VYBLPJbPJkknNhazjlsR1dRGFATq9XHDmdjAqSyA6LPudlf8D+zcPK00a3GwOlDhi9LhsgWD0Oob0AY3dh9pr2jFRZ6mKzX8RAtjDRBoBe8khbDqtFgBZsjqjUovYRWSx3x++Vvg0/whkOadcIQ8fgwZexr/rgcvHJq9bmWW2bf+pmtnIoZf6XI+9AtKM24qL5KAgBKuC7rldSvfctmCspSGVvL3uzuvCQX/6xg0Ebtoukhu5y168kxDZWmous1Rhm99cyLhaP9xhCQ==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777326747; cv=none;\n b=rNoxuoTeCR1a7jsw/VRCw4IMyotvnZ5WBUaLf4IVP5EkIc8rXeQtgTF9K+oGcWrmLX0m06WlaIaOv60a8FEU21+2G46VjBsHk+FGj8PyN9zp0ZkSAfIbXhoJg7zDMwspMwrsuSsWSVsTTyPcyKk030n8MEnGxQe9oAVuy0fUYQU="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1777326756; c=relaxed/relaxed;\n\tbh=eodThUBj1SnOvacXe/3ftYxEWQMFbYqc4B0FCa9Alx4=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=RTbRvVbmO9yo2gWfd9cP3cpyD1vFzHHYmbBtzqEgD3d+edT7w1gG62czr+Pht7GjQMmKhyqbFmBwljFvb5lp457xw7VhuGMU0k3yaGgQS9jPcC6gjWp1QuOfTYi2cmn6LtNSF9M/5uoQvaeQlXyFSg98Lv4/mw0OOc6EO0jRw+tCryJK63/MEmtSj4ur6AtVppuk+iSlCG55Lsi/+feHOP/VVNor11oqUXbSGW0uiPw98x0lTXJWCMZwGf+swnuh3e3S/JjLIN6V551j0vg28bRDaWINEduEC32CHFxPhZGUpWFbI0INqHA2sOIe1nx2j6i4xaGzt3Ek+tabodkuNw==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777326747; c=relaxed/simple;\n\tbh=7P7VU36hQu4iMsGekLZKiPL3rBFQOW0TOaXA+fXfycA=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=KUg+bkNz3PNsID+LqtvEoHE2Sur0aNQjrJ7Tb7hwgiHTv/0J9D0srlCj/pcrFuOtmyuCZYrW5Tfwvhhryc9xwNG8nMPoevANjUco6/UoLFgbVsasF8SicespU6qE4UUG3QB+a/n7+XDeoDsr5nGtPh3IMm3/VYsojazh6nd8Fys="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=linux-foundation.org;\n dkim=pass (1024-bit key;\n unprotected) header.d=linux-foundation.org header.i=@linux-foundation.org\n header.a=rsa-sha256 header.s=google header.b=KMbVx6dF; dkim-atps=neutral;\n spf=pass (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=sparclinux+bounces-6747-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=linux-foundation.org;\n spf=pass smtp.mailfrom=linuxfoundation.org;\n dkim=pass (1024-bit key) header.d=linux-foundation.org\n header.i=@linux-foundation.org header.b=KMbVx6dF;\n arc=none smtp.client-ip=209.85.218.46"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=linux-foundation.org; s=google; t=1777326744; x=1777931544;\n darn=vger.kernel.org;\n        h=cc:to:subject:message-id:date:from:in-reply-to:references\n         :mime-version:from:to:cc:subject:date:message-id:reply-to;\n        bh=eodThUBj1SnOvacXe/3ftYxEWQMFbYqc4B0FCa9Alx4=;\n        b=KMbVx6dFZM9arFT+vWwXgJNIDxEsaYpVfVTVp8ZNJudkD23NzoKEPfV5b4l1sVHDHy\n         1E9VJHF6LPvCHv1nlCIip2g8hx/UIGaqcnSSh9gHSyUdGOb+ljfRE7VPgFqKrbiak5xZ\n         IlQdbBMZLahNFmE+ZA5y7YjiZhR6Z6yg/mGic=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1777326744; x=1777931544;\n        h=cc:to:subject:message-id:date:from:in-reply-to:references\n         :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=eodThUBj1SnOvacXe/3ftYxEWQMFbYqc4B0FCa9Alx4=;\n        b=PM7LttF1bi1wAzusxUxN7bCZ6X7C86rP1TbRbtwluh7o0Inc3tz85kE8VkMHWHaBSW\n         AQwHPKYpoCO1Lb/zUJDGVf6npHFkGj3VLnqYBOFvOlvDs60TCvi83UK/7PGXljzIntdF\n         +bBP6Raail27YjPIMd9jxhq4VAj1izh6rjxZVaMP1QZxtLXHFMwYpXtSeF5AczYU80zx\n         tDIxftnHdVtcCvQi147rLe6ucqT0PYYHxuWDWZz1ZfmOHCAvYfoopelXB5n3lQy4Hejm\n         mWO2gisNvprKrYZ5Hfb1HSFNqKSJ+bhFgvIL7Sg/U+BfbMdzq933uVwOdeZYhtMJoXmn\n         oMfg==","X-Forwarded-Encrypted":["i=1;\n AFNElJ/6JLwgGto4BPZVctXgqdjJ1TfrguM9dn/Fkymtp0C0WPUfv1LItqHDDjNNiMMgc98KClAIbJQAkQmt@vger.kernel.org","i=1;\n AFNElJ8NxRgOzOj9ISGu8Ox0x0+fPWakyTRoXCRq6bZwghF4QyxrLcx394F0qRQoYEEcBcMJq6pIe/qOlisd@vger.kernel.org"],"X-Gm-Message-State":"AOJu0Yyp9YUDCF49Fm24B6S5RVkjtFzSc3Yc6NblUt67krBmFuC37pxf\n\tHadGPYXgovARZtP2Sz/FPapC7dv8HuuCVG8hiHQLpF147B8oM8rfnSq0QRUbK6wQQ0EfU08NCQy\n\tE7Thi5MVK5w==","X-Gm-Gg":"AeBDiet4dewZaGSPZHwfr87fSkYDPhI5pS4tKG/PAwBiQeiZ604MtugJgOTT3yYM2cd\n\tIFvtNTQl59fWmGf2ss1QIUjSFkzn7AWuF3nUuKnG5gOyxBqV+fdbn5TuA/CCe15dYR/9r0Z+vSr\n\tshaaOjIVnj5KIBJl/RmeqPALN1silQGPc5C+tRhgvnpqbCsxXEGAmpdVUte6gj6DXQbAPDLH5b5\n\tq22HyI24arlYgTy1MLN36sD150DLg+iuzron27p1oJZkAxQ6G9LhwxyGgwiJGQB7EUmZrnNwqZP\n\tmZQEr5rBJmLv8AiTU/A96jhUyVWYPMgBo7C9ZY1/zYXRQxMpladsyO8ITkAO9YU46s0ilgZbSC8\n\ttVxcPAHygP13FBSwqxpNCaAE//ZqXa7IPeYZD4WzlA9XDlatQiNLrpQoMZmILAlaOoagmilrDmx\n\tPcYiMxm2M1KESgpT9K0jqNHjsJJ+kbKlFWvyP2JmniM54SM77egL+taAlKEJnKZqLPZACH2rlVU\n\t45u62AzrsE=","X-Received":["by 2002:a17:907:a781:b0:bae:d7ef:de56 with SMTP id\n a640c23a62f3a-bb80443e602mr28862666b.44.1777326743893;\n        Mon, 27 Apr 2026 14:52:23 -0700 (PDT)","by 2002:a05:6402:35c2:b0:677:270f:6f4b with SMTP id\n 4fb4d7f45d1cf-679bb04a8a7mr185115a12.1.1777326742385; Mon, 27 Apr 2026\n 14:52:22 -0700 (PDT)"],"Precedence":"bulk","X-Mailing-List":"sparclinux@vger.kernel.org","List-Id":"<sparclinux.vger.kernel.org>","List-Subscribe":"<mailto:sparclinux+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:sparclinux+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<cover.1777306795.git.chleroy@kernel.org>\n <0ee46bb228d97163fbdc14f2a7c52b93d8bc34ce.1777306795.git.chleroy@kernel.org>\n <ae-j2_QirCySZD02@yury> <63a4d0f6-0eb3-48cd-9f98-bf7b223b2606@kernel.org>\n <ae-2yLWSGnfeTvh1@yury>","In-Reply-To":"<ae-2yLWSGnfeTvh1@yury>","From":"Linus Torvalds <torvalds@linux-foundation.org>","Date":"Mon, 27 Apr 2026 14:52:05 -0700","X-Gmail-Original-Message-ID":"\n <CAHk-=wgPrLy0FR3sEWBYQuNAac1axDASYMnTuPuxEU0WytzL7w@mail.gmail.com>","X-Gm-Features":"AVHnY4LQUFWo9ODz4M3q2vZC9Gn8nsdYr95Nd4ky5ERVHHxIyN_9ZXY5zjebfdc","Message-ID":"\n <CAHk-=wgPrLy0FR3sEWBYQuNAac1axDASYMnTuPuxEU0WytzL7w@mail.gmail.com>","Subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","To":"Yury Norov <ynorov@nvidia.com>","Cc":"\"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>,\n Andrew Morton <akpm@linux-foundation.org>,\n\tDavid Laight <david.laight.linux@gmail.com>,\n Thomas Gleixner <tglx@linutronix.de>,\n\tlinux-alpha@vger.kernel.org, Yury Norov <yury.norov@gmail.com>,\n\tlinux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,\n\tsparclinux@vger.kernel.org, linux-um@lists.infradead.org,\n\tdmaengine@vger.kernel.org, linux-efi@vger.kernel.org,\n\tlinux-fsi@lists.ozlabs.org, amd-gfx@lists.freedesktop.org,\n\tdri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,\n\tlinux-wpan@vger.kernel.org, netdev@vger.kernel.org,\n\tlinux-wireless@vger.kernel.org, linux-spi@vger.kernel.org,\n\tlinux-media@vger.kernel.org, linux-staging@lists.linux.dev,\n\tlinux-serial@vger.kernel.org, linux-usb@vger.kernel.org,\n\txen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,\n\tocfs2-devel@lists.linux.dev, bpf@vger.kernel.org, kasan-dev@googlegroups.com,\n\tlinux-mm@kvack.org, linux-x25@vger.kernel.org,\n rust-for-linux@vger.kernel.org,\n\tlinux-sound@vger.kernel.org, sound-open-firmware@alsa-project.org,\n\tlinux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org,\n\tloongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org,\n\tlinux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org,\n\tlinux-sh@vger.kernel.org, linux-arch@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_MISSING,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}},{"id":3683033,"web_url":"http://patchwork.ozlabs.org/comment/3683033/","msgid":"<ae_jeJLlVWjJ4sOY@yury>","list_archive_url":null,"date":"2026-04-27T22:30:16","subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","submitter":{"id":92516,"url":"http://patchwork.ozlabs.org/api/people/92516/","name":"Yury Norov","email":"ynorov@nvidia.com"},"content":"On Mon, Apr 27, 2026 at 02:52:05PM -0700, Linus Torvalds wrote:\n> On Mon, 27 Apr 2026 at 12:19, Yury Norov <ynorov@nvidia.com> wrote:\n> >\n> > This is what Linus said when added x86 implementation for copy_from_user()\n> > in c512c69187197:\n> \n> Note that some things have happily changed in the six+ years since...\n> \n> >   That's partly because we have no current users of it, but also partly\n> >   because the copy_from_user() case is slightly different and cannot\n> >   efficiently be implemented in terms of a unsafe_get_user() loop (because\n> >   gcc can't do asm goto with outputs).\n> \n> now everybody can do asm goto with outputs.\n> \n> Yes, it's disabled on older versions, so it's not *always* available,\n> but all modern versions do it. And if you care about performance, you\n> won't be using an old compiler.\n\nThe minimal GCC version is 8.1, and asm goto with outputs is supported\nsince GCC-11. That would brake the build, if we just switch to using it\nwithout \"CC_IS_GCC && (GCC_VERSION >= 110100)\" guard.\n\nIs it worth to maintain 2 version of the function? I don't know...\n\nThanks,\nYury","headers":{"Return-Path":"\n <SRS0=rGrc=C2=vger.kernel.org=sparclinux+bounces-6748-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","sparclinux@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=nMn9Mg2e;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=rgrc=c2=vger.kernel.org=sparclinux+bounces-6748-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=fail smtp.remote-ip=172.105.105.114","gandalf.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","gandalf.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=nMn9Mg2e;\n\tdkim-atps=neutral","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=sparclinux+bounces-6748-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=\"nMn9Mg2e\"","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=40.107.201.36","smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=nvidia.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nvidia.com;"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4JDq61Dmz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 08:30:51 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g4JDk0Hwgz4wJX\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 08:30:46 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g4JDk09Shz4wKF; Tue, 28 Apr 2026 08:30:46 +1000 (AEST)","from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g4JDf43T1z4wJX\n\tfor <patchwork-incoming@ozlabs.org>; Tue, 28 Apr 2026 08:30:42 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 1B24C3016490\n\tfor <patchwork-incoming@ozlabs.org>; Mon, 27 Apr 2026 22:30:33 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id A29373ACA7C;\n\tMon, 27 Apr 2026 22:30:30 +0000 (UTC)","from CH4PR04CU002.outbound.protection.outlook.com\n (mail-northcentralusazon11013036.outbound.protection.outlook.com\n [40.107.201.36])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F25A264A97;\n\tMon, 27 Apr 2026 22:30:28 +0000 (UTC)","from CY8PR12MB8300.namprd12.prod.outlook.com (2603:10b6:930:7d::16)\n by SA1PR12MB6871.namprd12.prod.outlook.com (2603:10b6:806:25f::22) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.16; Mon, 27 Apr\n 2026 22:30:21 +0000","from CY8PR12MB8300.namprd12.prod.outlook.com\n ([fe80::ce75:8187:3ac3:c5de]) by CY8PR12MB8300.namprd12.prod.outlook.com\n ([fe80::ce75:8187:3ac3:c5de%3]) with mapi id 15.20.9870.013; Mon, 27 Apr 2026\n 22:30:18 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777329030; cv=fail;\n b=uxjiPRgsemOguxFsr/u526sua9Ji81Pb35xtaH2pR6oTiZQPDe+winqAOCzoPI0BhOUkrWj+qJttYHC+f9hh1032kQe//BSN8FpP1BAy2dzYtVb3KBLfP0muF8yw7elhPOLjzfULjh96oAHNIb1gvtfIAKgmeiHhZ7/Pnj6ey1s=","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=cw2dkYic0VXH1kOjwz3jIZQqr8NTQVH9DBTRDd+uRIJW8uYvfM3m58iBDy5zpHYFWzEy5HurjZ12uATc9tuoWjt6/VUzJQgYZAXBZYTEWP2XEmKALhwnH1ENaA8Ac3CwlRTLvFMEwZgba4b3Efi2fsBGQWsShlfVbk+iphjAE+Pk8XuV/eyWjUpmRM4Y9HTRa5iR9RbjMNZZynCz9AHHff0s05EhkIWAfnApXK/qNRqGYLDiFlw7SNnaj3GyeIXPMO8znU+1Kcc/CMVRnCsFx/w1kA7TU7UcIRQb+Rb580j65fMEeEArkSpCjuQa2ek7DCgnd0gLF6jXF9N06qZxtg=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777329030; c=relaxed/simple;\n\tbh=msNz8K+R7tcezW+jasT95EJ5zMdq6fMm1GADMREockM=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:Content-Type:\n\t Content-Disposition:In-Reply-To:MIME-Version;\n b=UzOeaFQ06qyjKdPahMdOFf/DENR+JGpgtdfdpzfacIoAJjlCQM00LBJXgr5pu6Jc/5uBc/NgNTEy8P6FyruwZ/71jtiAIVefZQpjYJtI0XGTluDo+0bCdQ9APmAqUcokGs8hmrGsN68f5O7OZImPtCmjuVmiEWuHWVhCdrccdPU=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=INTDocwjeOkxaSI4e6JrPlp7Kh7b3u8/5GXqjyNfeUk=;\n b=SqLxt4MZPnahGOYqHMCjywU0/HSF4waA/vwnt9ydy1Lm3yrvjNZmkOwuRl93fy6RdmE6bPOC0ZQH4p62+pUUajNd8KxX3yJjBZ746IuQ8gH2tmJrktf9NUD/vrVHw11Y2NBVtrlIsVl9bi7Gqi3ZmgASKvtgOkWY/PmrmgA8udiJVCjbw3br3CieEjsiA/YIbcoZFACykvsdKe3H0iQEMKywElW7FGY/qQYU/hi4PYicWTB3SL3zcJzUqBCWxEiVibRndteACQ6BsdcLI27Rvh553IDZD+jPGF6v9qtpISs3YncftmVw4ldPrz0yQOOExCWF0vjzgVzKvTwuTXEdYA=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n spf=fail smtp.mailfrom=nvidia.com;\n dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com\n header.b=nMn9Mg2e; arc=fail smtp.client-ip=40.107.201.36","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;\n dkim=pass header.d=nvidia.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=INTDocwjeOkxaSI4e6JrPlp7Kh7b3u8/5GXqjyNfeUk=;\n b=nMn9Mg2etjSkCULYpJ5Rnl9/tmBSYad+HpQiMXeFiB6hdvpkrBodtOjFqLvvae82lTwKkV5GAhUHMYupb9utCbBt74zqUto3WQW72bithMtImxRQVa6G6ZaLkW4OIEKHFvEKJ+4xMIBslyesZGqZr4aXMhT6ctHxrHNz0lcJuSDOtu83n51qwHc7wWb/LGrn5RUMmskk9za8NlV0oTff8Bpmfg6PDqFInZvOWRUYF9K6Lc76NhEMq83jHNyESr4la6NDuNth/60Y4SeDe0uNCU02GfnTMD1so+hMFearXgJnH1poNP4yUWzDn8gizO53kHtparXBSnIxAyJtXuIfFA==","Date":"Mon, 27 Apr 2026 18:30:16 -0400","From":"Yury Norov <ynorov@nvidia.com>","To":"Linus Torvalds <torvalds@linux-foundation.org>","Cc":"\"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>,\n\tAndrew Morton <akpm@linux-foundation.org>,\n\tDavid Laight <david.laight.linux@gmail.com>,\n\tThomas Gleixner <tglx@linutronix.de>, linux-alpha@vger.kernel.org,\n\tYury Norov <yury.norov@gmail.com>, linux-kernel@vger.kernel.org,\n\tlinux-snps-arc@lists.infradead.org,\n\tlinux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,\n\tsparclinux@vger.kernel.org, linux-um@lists.infradead.org,\n\tdmaengine@vger.kernel.org, linux-efi@vger.kernel.org,\n\tlinux-fsi@lists.ozlabs.org, amd-gfx@lists.freedesktop.org,\n\tdri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,\n\tlinux-wpan@vger.kernel.org, netdev@vger.kernel.org,\n\tlinux-wireless@vger.kernel.org, linux-spi@vger.kernel.org,\n\tlinux-media@vger.kernel.org, linux-staging@lists.linux.dev,\n\tlinux-serial@vger.kernel.org, linux-usb@vger.kernel.org,\n\txen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,\n\tocfs2-devel@lists.linux.dev, bpf@vger.kernel.org,\n\tkasan-dev@googlegroups.com, linux-mm@kvack.org,\n\tlinux-x25@vger.kernel.org, rust-for-linux@vger.kernel.org,\n\tlinux-sound@vger.kernel.org, sound-open-firmware@alsa-project.org,\n\tlinux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org,\n\tloongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org,\n\tlinux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org,\n\tlinux-sh@vger.kernel.org, linux-arch@vger.kernel.org","Subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","Message-ID":"<ae_jeJLlVWjJ4sOY@yury>","References":"<cover.1777306795.git.chleroy@kernel.org>\n <0ee46bb228d97163fbdc14f2a7c52b93d8bc34ce.1777306795.git.chleroy@kernel.org>\n <ae-j2_QirCySZD02@yury>\n <63a4d0f6-0eb3-48cd-9f98-bf7b223b2606@kernel.org>\n <ae-2yLWSGnfeTvh1@yury>\n <CAHk-=wgPrLy0FR3sEWBYQuNAac1axDASYMnTuPuxEU0WytzL7w@mail.gmail.com>","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"\n <CAHk-=wgPrLy0FR3sEWBYQuNAac1axDASYMnTuPuxEU0WytzL7w@mail.gmail.com>","X-ClientProxiedBy":"BN0PR04CA0197.namprd04.prod.outlook.com\n (2603:10b6:408:e9::22) To CY8PR12MB8300.namprd12.prod.outlook.com\n (2603:10b6:930:7d::16)","Precedence":"bulk","X-Mailing-List":"sparclinux@vger.kernel.org","List-Id":"<sparclinux.vger.kernel.org>","List-Subscribe":"<mailto:sparclinux+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:sparclinux+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"CY8PR12MB8300:EE_|SA1PR12MB6871:EE_","X-MS-Office365-Filtering-Correlation-Id":"1f3655ce-20ef-4e2c-2fe2-08dea4ac8fa5","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|10070799003|376014|7416014|366016|1800799024|56012099003|22082099003|18002099003;","X-Microsoft-Antispam-Message-Info":"\n\t/PUX5wTJGMs/KBsNviNpWA288jfovgZeFH/D5rlo4Ft68PLkNzRu+VJLbwZPVL7WMTmGE/7sGAUjidmOrf6PO7cVfcrQe6QT08Oqm4vVTbq+1kk8SU+vprwEBmYwG+gAfH2qmWzaQJsEm7YpHDRuW/7Cs1/Xk+BrlRiawZrKiyZzPhbDmpZp82G1md2nBR6MipihlTfUyQ+saizppq6JVvqKLc5dE++LYGjddOZxiO3yutMfU07Cp5tvF3yobREfTw/fDdOZgk2+rMoVASDdUVkAaqH0FXJ28Bm6NVJs+NSRjDYnMLXVfJoJcrsNuF4W22tsLIY5w3wDLjkrtfUAaGwMnqXvKgmEE1qpibH4HaSjxrWfCswHPCx7Vc7oELIEGKApXlepMVtafKQ1eBm0bnWKqspLr19ifmkOBqioMXptCdlJ75n5gVcLiBzfflllkv55OjNYGzmu/P23vn89/MqFVHCPYaOOw1vjLjy3Olm5/wQLP++hGKYxXIrZ64iQpyo+GIlD3HGQMFC+oPQ+4alqqHQ0+kc6l4epUtSsHVmWOEFWpRzFBafriU8ilGCl8/f8jCwsnB3t+/+q8pFFXiilqgDF9lWOw60zcIbP7xO24Ozxdu5GXF2ThaRP8NVaPA/4be0MJgysKa4xa0hnonHdTiIDcF4SkkqpHjiJ5qwmY2Gce2PdYuEwEpTf8TjR66psUlL2DcOZVs8sQNjcffnyedzo5Nat0VSDOW7wgzk=","X-Forefront-Antispam-Report":"\n\tCIP: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)(10070799003)(376014)(7416014)(366016)(1800799024)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n y1CvQpZYZ2eMHe2MhRl9jMjiWbPAKKWXFKb0rNr6P2FKNpuYqlm0vHnj/c+petrijvKck7MltKVOhuLlrUk/4maEie31AAuCO4vEDEQz7eLSMhE+LXqZ7580/dTzhhd6ZXj5MAUt3SGOfXeBZ9mnjjf2uZ2zVl0944wpMj1aPR6bhJJsKwkpVUL5kcdJLltj/bbXdIYt5R4Q5sFcreBO2t2YjdncWBk9awGhHkshgH2+xQK3KZ9jZvFRcaTs7WARWb/cK4emdp6bDzM7GZoacpZC4jFUpUOAzU++q1cUqbIpIcojDKNgAE9HncwAue719JnQVeUjYbuQfI9vFrEzSJwqQkAaJNY/N9KIqHH5gb6ElO029nGL4z2hh5SKSqKFAJYfJvd6N318L3xLFXMXoREhQbz05reO9kR7GWI0NeihuZjKnE/Ak2IoeTePP++KCVgyuhiSD0PXj7MCcQGFIfSjdMtsrSD0qpof8HORPaHefDg6xtvU0Ls17iRCuj1Xtuu5fBcRshNrriAJmj0nlZqzlPp0oq96Gm2fPd5N0qcJLOIB4vfutS46eOW3OBK4BlzxlMwOHl6WCEd/wmb2kDAKVPTN1pR756Yxc8PWdgyvhKBLft+N8lDJQGyoSrLOClJEovN6quxxF5UrmLglBSzU4GMBOjLU5qQqVVM1fzFPiQJrPzyeuGPUF6s5eWsZMUNFhY8uESY52c+SSE6TQJUy1lWTLGmxVFeFQgD9qZCVc47lVZv/tMLN8sA71HzeCfL2tx6zUAP1hu81S/ywLrBvCHKaffr0P8d1j0edNWOzngwXYnwimWLWnJ+OOYH82yO8AfMj9OG00BjXZXIsalWG80IQlBy27WpQ84/1c9oAnvbNeJfjdgOz4uIbM6FHkYyAMupGlptk1Xu50YbzeOZ03kGiMKX0VxGdprIqVjtikQtw3BlYFt0IIGwsWiy8wb6reRFBF6KZAnTmSERVS8uD68yLvuu4uDhGLoBqPxQofaxbHl5bqyIHeiVZJmIJF4RPeAJ5/v6RFBLjGohX5ZjyNkXJb9RZjSdHP1ziqpItJ3rcJG2ZFZJTTOtNJUdl8MYzQUzieK78aUKDOyKuWpAWh2Jep6/sVe9CBZ2NlHHJGqtGJ0+6owwVe4C6J1ikL7yn0gdEWIiiyjuOxoCdI3+hulZemm7LK5thRU+ZyJaPjQR+YK+iuiqW4QYnqG8Bp71RoCe6giJoTJeiqfcGpFeX0h22VmfkFjYMyp/W8nb3mBn+6WSNLOLGrrznB6jKXoRf6cnQ1xEMeJxPdXY/BnX2sOfoIY42tLqAScbNLtZ7qBEv6zip7I8sQ5//f4FDcyaAHJDISd0ze+LMD1SGCz1vUejeBGt5jNwEiyPDDoJ3VJHJ8aGIrV8p6MgUo+UO94WHdRtz/JHe7JLmdPqflsqW5Z53kqYwMP/nGig0/bW+qSUHZi0ybA7U9qUULzBtAdJ3gf4NkhxIRHImljJP3sZS+AbGVX+xV6ny9hftAe82VJ9ewoJIvZ1jOdavxAo38YgxrnhYM4VA4PLlPxMJgrFBbl95emjkBX7MxnGkfKrgN0u2MtTSs3sO1Wdm6BH6ZQ9kazGSKdvWqMQAmcgZ2TAXsG9f2jiTJy/XjYe+XqDYMz+09yazlugWhbXrIX8heUtqQqlD4RBq2C5JCuCIR2G+UzaeT6rHBATVfYnF1JfQa1er7U7HJW5PSDW8XBt5cyY/COXOF+YIh6yFwkKGk0zfxpHpRxxXg2KPpUtDCbrrUbX4jMC5IsdF387MIWjR","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 1f3655ce-20ef-4e2c-2fe2-08dea4ac8fa5","X-MS-Exchange-CrossTenant-AuthSource":"CY8PR12MB8300.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"27 Apr 2026 22:30:18.5780\n (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":"\n 8yVCjxcKtFstGt67IdVeO9hT/qCk0UDq0EBYtz0042ex6ttmtrXzmmIlGerSzGsUENgCE8ayV5UchO391MZbfA==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"SA1PR12MB6871","X-Spam-Status":"No, score=-1.2 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,\n\tHEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}},{"id":3683411,"web_url":"http://patchwork.ozlabs.org/comment/3683411/","msgid":"<afCX8WlnEFUei1y6@gate>","list_archive_url":null,"date":"2026-04-28T11:20:17","subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","submitter":{"id":134,"url":"http://patchwork.ozlabs.org/api/people/134/","name":"Segher Boessenkool","email":"segher@kernel.crashing.org"},"content":"Hi!\n\nOn Mon, Apr 27, 2026 at 06:30:16PM -0400, Yury Norov wrote:\n> On Mon, Apr 27, 2026 at 02:52:05PM -0700, Linus Torvalds wrote:\n> > On Mon, 27 Apr 2026 at 12:19, Yury Norov <ynorov@nvidia.com> wrote:\n> > >\n> > > This is what Linus said when added x86 implementation for copy_from_user()\n> > > in c512c69187197:\n> > \n> > Note that some things have happily changed in the six+ years since...\n> > \n> > >   That's partly because we have no current users of it, but also partly\n> > >   because the copy_from_user() case is slightly different and cannot\n> > >   efficiently be implemented in terms of a unsafe_get_user() loop (because\n> > >   gcc can't do asm goto with outputs).\n> > \n> > now everybody can do asm goto with outputs.\n> > \n> > Yes, it's disabled on older versions, so it's not *always* available,\n> > but all modern versions do it. And if you care about performance, you\n> > won't be using an old compiler.\n> \n> The minimal GCC version is 8.1, and asm goto with outputs is supported\n> since GCC-11. That would brake the build, if we just switch to using it\n> without \"CC_IS_GCC && (GCC_VERSION >= 110100)\" guard.\n> \n> Is it worth to maintain 2 version of the function? I don't know...\n\nGCC 11 was released five years and a day ago.  The last GCC 11 release\n(that of 11.5) is not even two years ago though (but there will be no\nmore!)\n\nSo it would be not conservative at all to require GCC 11 as minimum now,\nsome people might even call it a bit aggressive.  But in a year (or\nmaybe two) the lay of the land will be rather different.\n\n\nSegher","headers":{"Return-Path":"\n <SRS0=zT3L=C3=vger.kernel.org=sparclinux+bounces-6751-patchwork-incoming=ozlabs.org@ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","sparclinux@vger.kernel.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","patchwork-incoming@ozlabs.org"],"Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=ozlabs.org\n (client-ip=2404:9400:2221:ea00::3; helo=mail.ozlabs.org;\n envelope-from=srs0=zt3l=c3=vger.kernel.org=sparclinux+bounces-6751-patchwork-incoming=ozlabs.org@ozlabs.org;\n receiver=patchwork.ozlabs.org)","gandalf.ozlabs.org;\n arc=pass smtp.remote-ip=\"2600:3c04:e001:36c::12fc:5321\"\n arc.chain=subspace.kernel.org","gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=kernel.crashing.org","gandalf.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=sparclinux+bounces-6751-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org)","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=63.228.1.57","smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=kernel.crashing.org","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=kernel.crashing.org"],"Received":["from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4f6C5vhXz1xrS\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 21:56:19 +1000 (AEST)","from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3])\n\tby gandalf.ozlabs.org (Postfix) with ESMTP id 4g4f6C577dz4wGx\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 21:56:19 +1000 (AEST)","by gandalf.ozlabs.org (Postfix)\n\tid 4g4f6C4lSpz4wLn; Tue, 28 Apr 2026 21:56:19 +1000 (AEST)","from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby gandalf.ozlabs.org (Postfix) with ESMTPS id 4g4f682CFkz4wGx\n\tfor <patchwork-incoming@ozlabs.org>; Tue, 28 Apr 2026 21:56:16 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id A9E443086A35\n\tfor <patchwork-incoming@ozlabs.org>; Tue, 28 Apr 2026 11:28:22 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 61D1E3FCB2C;\n\tTue, 28 Apr 2026 11:21:27 +0000 (UTC)","from gate.crashing.org (gate.crashing.org [63.228.1.57])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id D44FE3E639B;\n\tTue, 28 Apr 2026 11:21:25 +0000 (UTC)","from gate.crashing.org (localhost [127.0.0.1])\n\tby gate.crashing.org (8.18.1/8.18.1/Debian-2) with ESMTP id 63SBKIxF1057213;\n\tTue, 28 Apr 2026 06:20:18 -0500","(from segher@localhost)\n\tby gate.crashing.org (8.18.1/8.18.1/Submit) id 63SBKHXo1057211;\n\tTue, 28 Apr 2026 06:20:17 -0500"],"ARC-Seal":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707; t=1777377379; cv=pass;\n\tb=BTf6RIptUjMzO+bhHr1D3+3+4ubxUYbJDdCUVJMls/Hj4tJ6Wj6qRzoAVFr3WqdiJtZ852OLzHB0hbQdvrcmxAv/RWJHSWTGW9uBlKW3fd6U895I6eQa+g8zYXSyGRBS3sQftuqXAG5Qm2/z548GMDtUqaAYcDnOIJKm8ObLyB8uknpeRDH+IKprHgedKbKxkIQTpcwnsLslyFCl7bn4j0P0CKah3rCGCV8PZZ2JX+Z+fkvmlKaXTTKZ+C/XwsIQrIbughphA55eqG6er3da4+a9/KhJ2XpBvII9FrILoQ6+PozVinBjGC/F982A5g50RrR+srs+sFORxH5CvvWMxA==","i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777375287; cv=none;\n b=rsLv5ksg+pZccawDdmqPDJtrde+qLU4mI+UjlpegBcAMMWRV+pcpyRQdnHPCcQR4zxv9unPXU9QkuPaQjm7B8GoMYylO7ATav9HNfdZZLS3ZV2quCKKN36PvemkmRjlawVOQjlR6tHRs3rWhre5HFI2q9XrRRcFu0VMUyBaPZMw="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=ozlabs.org; s=201707;\n\tt=1777377379; c=relaxed/relaxed;\n\tbh=wVlN3F/adnpU3EbVMRovr5PQ7UzNKrgvugpJLXSzjvA=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=si7ca04KA41U24r2+vWthrdyFcqWmp+Fp60C2OLUqNchZRmltvXC6LcrPnh6j9lcSyKTljoyUqBo6lg1qQ2tNuStHF92jpNhfoxGazZ2GYlnGbELNDJe1jESz9qsH3N6v3/P45SkHJB4ylUizYDyswl0vJMDsHOCcz19L6z597LA1mcPMvsLEzqVdFegWoOUFuo5wwVvarhX9GtnzdOWgUp9KAztZtN8oR+eEOlmVCD2uOzJWmL/KuzkkI2jr5N75zVm9rkM8NTgZZEzPzHoXDNE8nn3KeSBtniUvFRgHJT/DfFg9v++rLBZo+elqQDY+K4kmFWQvyBBpQqFDO+tzw==","i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777375287; c=relaxed/simple;\n\tbh=5DkX/L9B3d/cRrLHprvgAdk9AfWqqBG9xKTQLL8w4bk=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=ifTVo8zGagZ/MdjS/wuYsnorXKSpevC5JrwBnXijCGbLDkP4n0uhlrMnDm5YbFML5zbc/ed6U1ZpueaIm5J+BoI9Q68K4BirJZ1cHKBEdd09J0VmkeuTJuvVmAyjq1vl2EUPTwOpOaF/9cyCGZ3sr9duv3ZqHA/bN7RVjE4yzSQ="],"ARC-Authentication-Results":["i=2; gandalf.ozlabs.org;\n dmarc=none (p=none dis=none) header.from=kernel.crashing.org;\n spf=pass (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=sparclinux+bounces-6751-patchwork-incoming=ozlabs.org@vger.kernel.org;\n receiver=ozlabs.org) smtp.mailfrom=vger.kernel.org","i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=kernel.crashing.org;\n spf=pass smtp.mailfrom=kernel.crashing.org;\n arc=none smtp.client-ip=63.228.1.57"],"X-Authentication-Warning":"gate.crashing.org: segher set sender to\n segher@kernel.crashing.org using -f","Date":"Tue, 28 Apr 2026 06:20:17 -0500","From":"Segher Boessenkool <segher@kernel.crashing.org>","To":"Yury Norov <ynorov@nvidia.com>","Cc":"Linus Torvalds <torvalds@linux-foundation.org>,\n        \"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>,\n        Andrew Morton <akpm@linux-foundation.org>,\n        David Laight <david.laight.linux@gmail.com>,\n        Thomas Gleixner <tglx@linutronix.de>, linux-alpha@vger.kernel.org,\n        Yury Norov <yury.norov@gmail.com>, linux-kernel@vger.kernel.org,\n        linux-snps-arc@lists.infradead.org,\n        linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,\n        linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,\n        linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,\n        sparclinux@vger.kernel.org, linux-um@lists.infradead.org,\n        dmaengine@vger.kernel.org, linux-efi@vger.kernel.org,\n        linux-fsi@lists.ozlabs.org, amd-gfx@lists.freedesktop.org,\n        dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,\n        linux-wpan@vger.kernel.org, netdev@vger.kernel.org,\n        linux-wireless@vger.kernel.org, linux-spi@vger.kernel.org,\n        linux-media@vger.kernel.org, linux-staging@lists.linux.dev,\n        linux-serial@vger.kernel.org, linux-usb@vger.kernel.org,\n        xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,\n        ocfs2-devel@lists.linux.dev, bpf@vger.kernel.org,\n        kasan-dev@googlegroups.com, linux-mm@kvack.org,\n        linux-x25@vger.kernel.org, rust-for-linux@vger.kernel.org,\n        linux-sound@vger.kernel.org, sound-open-firmware@alsa-project.org,\n        linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org,\n        loongarch@lists.linux.dev, linux-m68k@vger.kernel.org,\n        linux-openrisc@vger.kernel.org, linux-parisc@vger.kernel.org,\n        linux-sh@vger.kernel.org, linux-arch@vger.kernel.org","Subject":"Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()","Message-ID":"<afCX8WlnEFUei1y6@gate>","References":"<cover.1777306795.git.chleroy@kernel.org>\n <0ee46bb228d97163fbdc14f2a7c52b93d8bc34ce.1777306795.git.chleroy@kernel.org>\n <ae-j2_QirCySZD02@yury>\n <63a4d0f6-0eb3-48cd-9f98-bf7b223b2606@kernel.org>\n <ae-2yLWSGnfeTvh1@yury>\n <CAHk-=wgPrLy0FR3sEWBYQuNAac1axDASYMnTuPuxEU0WytzL7w@mail.gmail.com>\n <ae_jeJLlVWjJ4sOY@yury>","Precedence":"bulk","X-Mailing-List":"sparclinux@vger.kernel.org","List-Id":"<sparclinux.vger.kernel.org>","List-Subscribe":"<mailto:sparclinux+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:sparclinux+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<ae_jeJLlVWjJ4sOY@yury>","X-Spam-Status":"No, score=-1.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,\n\tDMARC_MISSING,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,\n\tSPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on gandalf.ozlabs.org"}}]