Print this page
5780 Truncated coredumps
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/exec/elf/elf_notes.c
          +++ new/usr/src/uts/common/exec/elf/elf_notes.c
↓ open down ↓ 368 lines elided ↑ open up ↑
 369  369                  mutex_exit(&fip->fi_lock);
 370  370  
 371  371                  /*
 372  372                   * There are some vnodes that have no corresponding
 373  373                   * path.  Its reasonable for this to fail, in which
 374  374                   * case the path will remain an empty string.
 375  375                   */
 376  376                  (void) vnodetopath(vroot, fvp, fdinfo.pr_path,
 377  377                      sizeof (fdinfo.pr_path), credp);
 378  378  
 379      -                error = VOP_GETATTR(fvp, &vattr, 0, credp, NULL);
 380      -                if (error != 0) {
      379 +                if (VOP_GETATTR(fvp, &vattr, 0, credp, NULL) != 0) {
 381  380                          VN_RELE(fvp);
 382  381                          VN_RELE(vroot);
 383      -                        goto done;
      382 +                        continue;
 384  383                  }
 385  384  
 386  385                  if (fvp->v_type == VSOCK)
 387  386                          fdinfo.pr_fileflags |= sock_getfasync(fvp);
 388  387  
 389  388                  VN_RELE(fvp);
 390  389  
 391  390                  /*
 392  391                   * This logic mirrors fstat(), which we cannot use
 393  392                   * directly, as it calls copyout().
↓ open down ↓ 169 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX