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. -- MST