[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wh_bQK5zs+CwQ5eyodq4sQT0eOPp60qzvVL2_EtgETP-g@mail.gmail.com>
Date: Fri, 2 Nov 2018 09:14:51 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: mst@...hat.com
Cc: mark.rutland@....com, Kees Cook <keescook@...omium.org>,
kvm@...r.kernel.org, virtualization@...ts.linux-foundation.org,
netdev@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
bijan.mottahedeh@...cle.com, gedwards@....com, joe@...ches.com,
lenaic@...ard.fr, liang.z.li@...el.com, mhocko@...nel.org,
mhocko@...e.com, stefanha@...hat.com, wei.w.wang@...el.com
Subject: Re: [PULL] vhost: cleanups and fixes
On Fri, Nov 2, 2018 at 6:04 AM Michael S. Tsirkin <mst@...hat.com> wrote:
>
> I've tried making access_ok mask the parameter it gets.
PLEASE don't do this.
Just use "copy_to/from_user()".
We have had lots of bugs because code bitrots.
And no, the access_ok() checks aren't expensive, not even in a loop.
They *used* to be somewhat expensive compared to the access, but that
simply isn't true any more. The real expense in copy_to_user and
friends are in the user access bit setting (STAC and CLAC on x86),
which easily an order of magnitude more expensive than access_ok().
So just get rid of the double-underscore version. It's basically
always a mis-optimization due to entirely historical reasons. I can
pretty much guarantee that it's not visible in profiles.
Linus
Powered by blists - more mailing lists