On Fri, Feb 14, 2020 at 12:03:14PM -0700, Tycho Andersen wrote: > On Fri, Feb 14, 2020 at 07:35:45PM +0100, Christian Brauner wrote: > > @@ -471,8 +484,13 @@ static long cp_new_stat64(struct kstat *stat, struct stat64 __user *statbuf) > > #endif > > tmp.st_mode = stat->mode; > > tmp.st_nlink = stat->nlink; > > - tmp.st_uid = from_kuid_munged(current_user_ns(), stat->uid); > > - tmp.st_gid = from_kgid_munged(current_user_ns(), stat->gid); > > + if (stat->userns_visible) { > > + tmp.st_uid, from_kuid_munged(current_user_ns(), stat->uid); > > + tmp.st_gid, from_kgid_munged(current_user_ns(), stat->gid); > > + } else { > > + tmp.st_uid, from_kfsuid_munged(current_user_ns(), stat->uid); > > + tmp.st_gid, from_kfsgid_munged(current_user_ns(), stat->gid); > > + } > > I suppose this should be = ? Good catch. I thought I had eliminated all those by doing automated conversion but apparently not. :) Christian