Re: [PATCH RFC] uaccess: user_access_begin_after_access_ok()

From: Al Viro
Date: Thu Jun 04 2020 - 10:59:34 EST


On Thu, Jun 04, 2020 at 02:10:27PM +0800, Jason Wang wrote:

> > > get_user(flags, desc->flags)
> > > smp_rmb()
> > > if (flags & VALID)
> > > copy_from_user(&adesc, desc, sizeof adesc);
> > >
> > > this would be a good candidate I think.
> > Perhaps, once we get stac/clac out of raw_copy_from_user() (coming cycle,
> > probably). BTW, how large is the structure and how is it aligned?
>
>
> Each descriptor is 16 bytes, and 16 bytes aligned.

Won't it be cheaper to grap the entire thing unconditionally? And what does
that rmb order, while we are at it - won't all coherency work in terms of
entire cachelines anyway?

Confused...