[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200602221057.GQ23230@ZenIV.linux.org.uk>
Date: Tue, 2 Jun 2020 23:10:57 +0100
From: Al Viro <viro@...iv.linux.org.uk>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: linux-kernel@...r.kernel.org, Jason Wang <jasowang@...hat.com>,
netdev@...r.kernel.org
Subject: Re: [PATCH RFC] uaccess: user_access_begin_after_access_ok()
On Tue, Jun 02, 2020 at 04:42:03PM -0400, Michael S. Tsirkin wrote:
> On Tue, Jun 02, 2020 at 05:30:48PM +0100, Al Viro wrote:
> > On Tue, Jun 02, 2020 at 04:45:05AM -0400, Michael S. Tsirkin wrote:
> > > So vhost needs to poke at userspace *a lot* in a quick succession. It
> > > is thus benefitial to enable userspace access, do our thing, then
> > > disable. Except access_ok has already been pre-validated with all the
> > > relevant nospec checks, so we don't need that. Add an API to allow
> > > userspace access after access_ok and barrier_nospec are done.
> >
> > This is the wrong way to do it, and this API is certain to be abused
> > elsewhere. NAK - we need to sort out vhost-related problems, but
> > this is not an acceptable solution. Sorry.
>
> OK so summarizing what you and Linus both said, we need at
> least a way to make sure access_ok (and preferably the barrier too)
> is not missed.
>
> Another comment is about actually checking that performance impact
> is significant and worth the complexity and risk.
>
> Is that a fair summary?
>
> I'm actually thinking it's doable with a new __unsafe_user type of
> pointer, sparse will then catch errors for us.
Er... how would sparse keep track of the range?
Powered by blists - more mailing lists