Re: [RFC PATCH v1 7/9] x86: Add unsafe_copy_from_user()
Linus Torvalds <[email protected]> Mon, 27 Apr 2026 14:52:05 -0700
| Newsgroups | org.kernel.vger.linux-x25,dev.linux.lists.linux-staging,dev.linux.lists.loongarch,dev.linux.lists.ocfs2-devel,org.freedesktop.lists.amd-gfx,org.freedesktop.lists.dri-devel,org.freedesktop.lists.intel-gfx,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-riscv,org.infradead.lists.linux-snps-arc,org.infradead.lists.linux-um,org.kernel.vger.bpf,org.kernel.vger.dmaengine,org.kernel.vger.kvm,org.kernel.vger.linux-alpha,org.kernel.vger.linux-arch,org.kernel.vger.linux-csky,org.kernel.vger.linux-efi,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-hexagon,org.kernel.vger.linux-kernel,org.kernel.vger.linux-m68k,org.kernel.vger.linux-media,org.kernel.vger.linux-mips,org.kernel.vger.linux-openrisc,org.kernel.vger.linux-parisc,org.kernel.vger.linux-s390,org.kernel.vger.linux-serial,org.kernel.vger.linux-sh,org.kernel.vger.linux-sound,org.kernel.vger.linux-spi,org.kernel.vger.linux-usb,org.kernel.vger.linux-wireless,org.kernel.vger.linux-wpan,org.kernel.vger.netdev,org.kernel.vger.rust-for-linux,org.kernel.vger.sparclinux,org.kvack.linux-mm,org.ozlabs.lists.linuxppc-dev,org.xenproject.lists.xen-devel |
|---|---|
| Message-ID | <CAHk-=wgPrLy0FR3sEWBYQuNAac1axDASYMnTuPuxEU0WytzL7w@mail.gmail.com> |
On Mon, 27 Apr 2026 at 12:19, Yury Norov <[email protected]> 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. Linus