Print this page
Try to remove assumption that zone's root vnode is marked VROOT
*** 437,447 ****
fhp = &args->what.dir;
if (strcmp(args->what.name, "..") == 0 &&
EQFID(&exi->exi_fid, FH3TOFIDP(fhp))) {
if ((exi->exi_export.ex_flags & EX_NOHIDE) &&
! (dvp->v_flag & VROOT)) {
/*
* special case for ".." and 'nohide'exported root
*/
if (rfs_climb_crossmnt(&dvp, &exi, cr) != 0) {
resp->status = NFS3ERR_ACCES;
--- 437,447 ----
fhp = &args->what.dir;
if (strcmp(args->what.name, "..") == 0 &&
EQFID(&exi->exi_fid, FH3TOFIDP(fhp))) {
if ((exi->exi_export.ex_flags & EX_NOHIDE) &&
! ((dvp->v_flag & VROOT) || VN_IS_CURZONEROOT(dvp))) {
/*
* special case for ".." and 'nohide'exported root
*/
if (rfs_climb_crossmnt(&dvp, &exi, cr) != 0) {
resp->status = NFS3ERR_ACCES;