kernel-packages team mailing list archive
-
kernel-packages team
-
Mailing list archive
-
Message #155545
Re: [Bug 1531747] Re: overlay: mkdir fails if directory exists in lowerdir in a user namespace
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.
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().
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1531747
Title:
overlay: mkdir fails if directory exists in lowerdir in a user
namespace
Status in linux package in Ubuntu:
Triaged
Status in linux source package in Wily:
Triaged
Status in linux source package in Xenial:
Triaged
Bug description:
If a directory exists in the lowerdir but not in the mounted
overlay, then mkdir of the directory in the target dir results
in a mysterious -EPERM. I've seen this both in wily kernel
(4.2.0-22-generic #27-Ubuntu) and in a hand-built xenial
master-next (with unrelated patches added).
=====================================================
#!/bin/sh -ex
dir=`mktemp -d`
cleanup() {
umount -l $dir/t
rm -rf $dir
}
trap cleanup EXIT
echo "dir is $dir"
mkdir -p $dir/l $dir/u $dir/w $dir/t
mkdir $dir/l/dev
mount -t overlay -o lowerdir=$dir/l,upperdir=$dir/u,workdir=$dir/w o $dir/t
stat $dir/t/dev
rmdir $dir/t/dev
mkdir $dir/t/dev
echo $?
echo "mkdir should have succeeded"
=====================================================
The above will work on the host, but fail in a user namespace, i.e
in a regular lxd container.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1531747/+subscriptions
Follow ups
References