From: Yury Norov <ynorov@nvidia.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
David Laight <david.laight.linux@gmail.com>,
Thomas Gleixner <tglx@linutronix.de>,
linux-alpha@vger.kernel.org, Yury Norov <yury.norov@gmail.com>,
linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,
linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
sparclinux@vger.kernel.org, linux-um@lists.infradead.org,
dmaengine@vger.kernel.org, linux-efi@vger.kernel.org,
linux-fsi@lists.ozlabs.org, amd-gfx@lists.freedesktop.org,
dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
linux-wpan@vger.kernel.org, netdev@vger.kernel.org,
linux-wireless@vger.kernel.org, linux-spi@vger.kernel.org,
linux-media@vger.kernel.org, linux-staging@lists.linux.dev,
linux-serial@vger.kernel.org, linux-usb@vger.kernel.org,
xen-devel@lists.xenproject.org, linux-fsdevel@vger.kernel.org,
ocfs2-devel@lists.linux.dev, bpf@vger.kernel.org,
kasan-dev@googlegroups.com, linux-mm@kvack.org,
linux-x25@vger.kernel.org, rust-for-linux@vger.kernel.org,
linux-sound@vger.kernel.org,
sound-open-firmware@alsa-project.org, linux-csky@vger.kernel.org,
linux-hexagon@vger.kernel.org, loongarch@lists.linux.dev,
linux-m68k@lists.linux-m68k.org, linux-openrisc@vger.kernel.org,
linux-parisc@vger.kernel.org, linux-sh@vger.kernel.org,
linux-arch@vger.kernel.org
Subject: Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()
Date: Mon, 27 Apr 2026 18:30:16 -0400 [thread overview]
Message-ID: <ae_jeJLlVWjJ4sOY@yury> (raw)
In-Reply-To: <CAHk-=wgPrLy0FR3sEWBYQuNAac1axDASYMnTuPuxEU0WytzL7w@mail.gmail.com>
On Mon, Apr 27, 2026 at 02:52:05PM -0700, Linus Torvalds wrote:
> On Mon, 27 Apr 2026 at 12:19, Yury Norov <ynorov@nvidia.com> wrote:
> >
> > This is what Linus said when added x86 implementation for copy_from_user()
> > in c512c69187197:
>
> Note that some things have happily changed in the six+ years since...
>
> > That's partly because we have no current users of it, but also partly
> > because the copy_from_user() case is slightly different and cannot
> > efficiently be implemented in terms of a unsafe_get_user() loop (because
> > gcc can't do asm goto with outputs).
>
> now everybody can do asm goto with outputs.
>
> Yes, it's disabled on older versions, so it's not *always* available,
> but all modern versions do it. And if you care about performance, you
> won't be using an old compiler.
The minimal GCC version is 8.1, and asm goto with outputs is supported
since GCC-11. That would brake the build, if we just switch to using it
without "CC_IS_GCC && (GCC_VERSION >= 110100)" guard.
Is it worth to maintain 2 version of the function? I don't know...
Thanks,
Yury
next prev parent reply other threads:[~2026-04-27 22:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-27 17:13 [RFC PATCH v1 0/9] uaccess: Convert small fixed size copy_{to/from}_user() to scoped user access Christophe Leroy (CS GROUP)
2026-04-27 17:13 ` [RFC PATCH v1 1/9] uaccess: Split check_zeroed_user() out of usercopy.c Christophe Leroy (CS GROUP)
2026-04-27 17:13 ` [RFC PATCH v1 2/9] uaccess: Convert INLINE_COPY_{TO/FROM}_USER to kconfig and reduce ifdefery Christophe Leroy (CS GROUP)
2026-04-27 18:39 ` Yury Norov
2026-04-27 17:13 ` [RFC PATCH v1 3/9] x86/umip: Be stricter in fixup_umip_exception() Christophe Leroy (CS GROUP)
2026-04-27 17:13 ` [RFC PATCH v1 4/9] uaccess: Introduce copy_{to/from}_user_partial() Christophe Leroy (CS GROUP)
2026-04-27 17:13 ` [RFC PATCH v1 5/9] uaccess: Switch to copy_{to/from}_user_partial() when relevant Christophe Leroy (CS GROUP)
2026-04-27 18:07 ` Alice Ryhl
2026-04-27 19:01 ` Linus Torvalds
2026-04-27 21:29 ` David Laight
2026-04-27 21:39 ` Linus Torvalds
2026-04-27 17:13 ` [RFC PATCH v1 6/9] uaccess: Change copy_{to/from}_user to return -EFAULT Christophe Leroy (CS GROUP)
2026-04-27 17:13 ` [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user() Christophe Leroy (CS GROUP)
2026-04-27 17:58 ` Yury Norov
2026-04-27 18:20 ` Christophe Leroy (CS GROUP)
2026-04-27 19:19 ` Yury Norov
2026-04-27 21:52 ` Linus Torvalds
2026-04-27 22:30 ` Yury Norov [this message]
2026-04-27 17:13 ` [RFC PATCH v1 8/9] arm64: " Christophe Leroy (CS GROUP)
2026-04-27 17:13 ` [RFC PATCH v1 9/9] uaccess: Convert small fixed size copy_{to/from}_user() to scoped user access Christophe Leroy (CS GROUP)
2026-04-27 20:12 ` Yury Norov
2026-04-27 19:01 ` [RFC PATCH v1 0/9] " Helge Deller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ae_jeJLlVWjJ4sOY@yury \
--to=ynorov@nvidia.com \
--cc=akpm@linux-foundation.org \
--cc=amd-gfx@lists.freedesktop.org \
--cc=bpf@vger.kernel.org \
--cc=chleroy@kernel.org \
--cc=david.laight.linux@gmail.com \
--cc=dmaengine@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=kasan-dev@googlegroups.com \
--cc=kvm@vger.kernel.org \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-csky@vger.kernel.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-fsi@lists.ozlabs.org \
--cc=linux-hexagon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m68k@lists.linux-m68k.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-openrisc@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=linux-snps-arc@lists.infradead.org \
--cc=linux-sound@vger.kernel.org \
--cc=linux-spi@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=linux-um@lists.infradead.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=linux-wpan@vger.kernel.org \
--cc=linux-x25@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=loongarch@lists.linux.dev \
--cc=netdev@vger.kernel.org \
--cc=ocfs2-devel@lists.linux.dev \
--cc=rust-for-linux@vger.kernel.org \
--cc=sound-open-firmware@alsa-project.org \
--cc=sparclinux@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=xen-devel@lists.xenproject.org \
--cc=yury.norov@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox