Print this page
Caution with use after exi_rele()

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/nfs/nfs_srv.c
          +++ new/usr/src/uts/common/fs/nfs/nfs_srv.c
↓ open down ↓ 527 lines elided ↑ open up ↑
 528  528           * a pathname and follow symbolic links if
 529  529           * necessary.
 530  530           *
 531  531           * This may result in a vnode in another filesystem
 532  532           * which is OK as long as the filesystem is exported.
 533  533           */
 534  534          if (PUBLIC_FH2(fhp)) {
 535  535                  publicfh_flag = TRUE;
 536  536  
 537  537                  exi_rele(exi);
      538 +                exi = NULL;
 538  539  
 539  540                  error = rfs_publicfh_mclookup(name, dvp, cr, &vp, &exi,
 540  541                      &sec);
 541  542          } else {
 542  543                  /*
 543  544                   * Do a normal single component lookup.
 544  545                   */
 545  546                  error = VOP_LOOKUP(dvp, name, &vp, NULL, 0, NULL, cr,
 546  547                      NULL, NULL, NULL);
 547  548          }
↓ open down ↓ 2616 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX