Print this page
curzone reality check and teardown changes to use the RIGHT zone
*** 434,443 ****
--- 434,444 ----
resp->status = NFS3ERR_ACCES;
goto out1;
}
fhp = &args->what.dir;
+ ASSERT3P(curzone, ==, exi->exi_zone); /* exi is guaranteed non-NULL. */
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))) {
/*
*** 1323,1332 ****
--- 1324,1334 ----
if (vp == NULL) {
error = ESTALE;
goto err;
}
+ ASSERT3P(curzone, ==, exi->exi_zone); /* exi is guaranteed non-NULL. */
ns = zone_getspecific(rfs3_zone_key, curzone);
if (is_system_labeled()) {
bslabel_t *clabel = req->rq_label;
ASSERT(clabel != NULL);
*** 4123,4132 ****
--- 4125,4135 ----
if (vp == NULL) {
error = ESTALE;
goto out;
}
+ ASSERT3P(curzone, ==, exi->exi_zone); /* exi is guaranteed non-NULL. */
ns = zone_getspecific(rfs3_zone_key, curzone);
bva.va_mask = AT_ALL;
error = VOP_GETATTR(vp, &bva, 0, cr, NULL);
/*