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); /*