On Thu, Aug 09, 2012 at 02:55:28AM +0530, Rajesh Ghanekar wrote: > Hi, > I am facing problem with reconnect_path failing with EACCES when doing > lookup_one_len. I have 2 users goind to same directory, one with uid=0 > and another with uid=xxx. Sometime for uid=0 request, nfsd is still is using > uid=xxx (as it was used previously), as uid=xxx doesn't have any permissions > on the directory. > > Should this probably do nfsd_setuser_and_check_port before > the below code in nfsd_set_fh_dentry()? As it carries older > fsuid and fsgid, can it create issues. This always happens > with disconnected dentries. > > if (exp->ex_flags & NFSEXP_NOSUBTREECHECK) { > /* Elevate privileges so that the lack of 'r' or 'x' > * permission on some parent directory will > * not stop exportfs_decode_fh from being able > * to reconnect a directory into the dentry cache. > * The same problem can affect "SUBTREECHECK" exports, > * but as nfsd_acceptable depends on correct > * access control settings being in effect, we cannot > * fix that case easily. Are you exporting with subtree_check or no_subtree_check? (What does "exportfs -v" say?) In the no_subtree_check case, the cap_raise_nfsd_set() is intended to override file permissions, so the uid and gid shouldn't matter. --b. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html