Guan Xin: > Now I removed (commented out) that lazy umount. > My mounts looks like this and the error persists: > > rootfs / rootfs rw 0 0 > proc /proc proc rw,relatime 0 0 > sysfs /sys sysfs rw,relatime 0 0 > tmpfs /run tmpfs rw,relatime,mode=755 0 0 > devtmpfs /dev devtmpfs rw,relatime,size=1020396k,nr_inodes=220181,mode=755 0 0 > /dev/loop0 /mnt0 squashfs ro,relatime 0 0 > tmpfs /mnt1 tmpfs rw,relatime,size=20971520k 0 0 > /dev/sda1 /mnt2 ext2 ro,relatime,errors=continue,user_xattr,acl 0 0 > aufs / aufs rw,relatime,si=bdb9caa6 0 0 > devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0 > cgroup /sys/fs/cgroup cgroup > rw,relatime,perf_event,blkio,net_cls,freezer,devices,cpuacct,cpu,cpuset > 0 0 > fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 > /dev/sda1 /boot ext2 ro,relatime,errors=continue,user_xattr,acl 0 0 > /dev/sdb2 /home ext4 rw,relatime,data=ordered 0 0 > /dev/sdb4 /usr/src ext4 ro,relatime,data=ordered 0 0 > tmpfs /dev/shm tmpfs rw,relatime 0 0
Hmm... Just to make sure, you can success chdir("/mnt[012]/home/username"), right? Will you show me the output of this command? $ ls -ld / /mnt[012] /mnt[012]/home /mnt[012]/home/username /home /home/username chdir(2) essentially calls two kernel internal functions, user_path_dir() and inode_permission(). Can you distinguish which one returns EACCES by ftrace or something? If not, will you try this patch which is just for debug print? diff --git a/fs/open.c b/fs/open.c index 7e4c856..26e682e 100644 --- a/fs/open.c +++ b/fs/open.c @@ -382,12 +382,18 @@ SYSCALL_DEFINE1(chdir, const char __user *, filename) int error; error = user_path_dir(filename, &path); - if (error) + if (error) { + pr_err("%s:%d: %d\n", __func__, __LINE__, error); goto out; + } error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_CHDIR); - if (error) + if (error) { + pr_err("%s:%d: %.*s, %d\n", __func__, __LINE__, + path.dentry->d_name.len, path.dentry->d_name.name, + error); goto dput_and_out; + } set_fs_pwd(current->fs, &path); J. R. Okajima ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev