On Tue, Jan 12, 2016 at 05:16:28PM -0000, Serge Hallyn wrote:
> in ovl_clear_empty(), the opaque bit is set on the dir in workingdir
>
> in ovl_create_over_whiteout() (the case we're currently looking at) it is
> also being set in the working dir.
>
> in ovl_rename2(), it is set in two places, on the upper dentries for
> both the old and new.
>
> So it is never set on the lowerdir, at least.
Ah. So if it's never set on the lowerdir that does remove much of the
concern.
> I'm still looking, but it may be safe to say that all needed inode
> checks are already done before we call ovl_set_opaque() so that we
> can indeed just use prepare_kernel_cred(NULL) instead of prepare_cred().
On Tue, Jan 12, 2016 at 05:16:28PM -0000, Serge Hallyn wrote: over_whiteout( ) (the case we're currently looking at) it is
> in ovl_clear_empty(), the opaque bit is set on the dir in workingdir
>
> in ovl_create_
> also being set in the working dir.
>
> in ovl_rename2(), it is set in two places, on the upper dentries for
> both the old and new.
>
> So it is never set on the lowerdir, at least.
Ah. So if it's never set on the lowerdir that does remove much of the
concern.
> I'm still looking, but it may be safe to say that all needed inode kernel_ cred(NULL) instead of prepare_cred().
> checks are already done before we call ovl_set_opaque() so that we
> can indeed just use prepare_
Cool.