All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Al Viro <viro@zeniv.linux.org.uk>
Cc: Aleksa Sarai <cyphar@cyphar.com>, Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Christian Brauner <christian@brauner.io>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	GNU C Library <libc-alpha@sourceware.org>,
	Linux API <linux-api@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v1 1/4] lib: introduce copy_struct_from_user() helper
Date: Wed, 25 Sep 2019 13:23:27 -0700	[thread overview]
Message-ID: <CAHk-=whSHi46gH-aE8bQsv7hvKDSHpWKQyLW3qF3caAB59cH+g@mail.gmail.com> (raw)
In-Reply-To: <20190925194331.GL26530@ZenIV.linux.org.uk>

On Wed, Sep 25, 2019 at 12:43 PM Al Viro <viro@zeniv.linux.org.uk> wrote:
>
> FWIW, I would probably add a kernel-space analogue of that thing at the
> same time - check that an area is all-zeroes is not all that rare.

Hmm. Maybe.

> Another thing is that for s390 we almost certainly want something better
> than word-by-word.  IIRC, word-sized userland accesses really hurt there.
> It's nowhere near as critical as with strncpy_from_user(), but with the
> same underlying issue.

Well, s390 does have those magic "area" instructions, but part of why
it's expensive on s390 is that they haven't implemented the
"user_access_begin()/end()' stuff. I think s390 could use that to at
least minimize some of the costs.

With the common case presumably being just a couple of words, it migth
not be worth it doing anything more than that even on s390.

Interestingly (or perhaps not) if I read the internal s390
implementation correctly, they kind of _have_ that concept and they
use it internally. It's just that they call it "enable_sacf_uaccess()"
and "disable_sacf_uaccess()" instead.

           Linus

  reply	other threads:[~2019-09-25 20:23 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-25 16:59 [PATCH v1 0/4] lib: introduce copy_struct_from_user() helper Aleksa Sarai
2019-09-25 16:59 ` [PATCH v1 1/4] " Aleksa Sarai
2019-09-25 17:10   ` Linus Torvalds
2019-09-25 17:20     ` Aleksa Sarai
2019-09-25 17:48       ` Linus Torvalds
2019-09-25 18:04         ` Al Viro
2019-09-25 18:13           ` Linus Torvalds
2019-09-25 19:43             ` Al Viro
2019-09-25 20:23               ` Linus Torvalds [this message]
2019-09-25 17:18   ` Christian Brauner
2019-09-25 17:20     ` Christian Brauner
2019-09-25 19:16   ` kbuild test robot
2019-09-25 19:16     ` kbuild test robot
2019-09-25 20:47   ` kbuild test robot
2019-09-25 20:47     ` kbuild test robot
2019-09-25 16:59 ` [PATCH v1 2/4] clone3: switch to copy_struct_from_user() Aleksa Sarai
2019-09-25 17:22   ` Christian Brauner
2019-09-25 18:59   ` kbuild test robot
2019-09-25 18:59     ` kbuild test robot
2019-09-25 19:08   ` kbuild test robot
2019-09-25 19:08     ` kbuild test robot
2019-09-25 16:59 ` [PATCH v1 3/4] sched_setattr: " Aleksa Sarai
2019-09-25 16:59 ` [PATCH v1 4/4] perf_event_open: " Aleksa Sarai
2019-09-25 17:09 ` [PATCH v1 0/4] lib: introduce copy_struct_from_user() helper Christian Brauner

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='CAHk-=whSHi46gH-aE8bQsv7hvKDSHpWKQyLW3qF3caAB59cH+g@mail.gmail.com' \
    --to=torvalds@linux-foundation.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=christian@brauner.io \
    --cc=cyphar@cyphar.com \
    --cc=jolsa@redhat.com \
    --cc=libc-alpha@sourceware.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=viro@zeniv.linux.org.uk \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.