iap->ia_valid |= ATTR_GID;
gid = ntohl(*p++);
}
- iap->ia_uid = INOXID_UID(1, uid, gid);
- iap->ia_gid = INOXID_GID(1, uid, gid);
- iap->ia_xid = INOXID_XID(1, uid, gid, 0);
+ iap->ia_uid = INOXID_UID(XID_TAG_NFSD, uid, gid);
+ iap->ia_gid = INOXID_GID(XID_TAG_NFSD, uid, gid);
+ iap->ia_xid = INOXID_XID(XID_TAG_NFSD, uid, gid, 0);
if (*p++) {
u64 newsize;
if (isdotent(name, namlen)) {
if (namlen == 2) {
dchild = dget_parent(dparent);
+ if (dchild == dparent) {
+ /* filesystem root - cannot return filehandle for ".." */
+ dput(dchild);
+ return 1;
+ }
} else
dchild = dget(dparent);
} else