From owner-svn-src-projects@FreeBSD.ORG Wed Jun 24 15:10:13 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 366D8106566C; Wed, 24 Jun 2009 15:10:13 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C715C8FC19; Wed, 24 Jun 2009 15:10:12 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5OFACX4018019; Wed, 24 Jun 2009 15:10:12 GMT (envelope-from lulf@svn.freebsd.org) Received: (from lulf@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5OFAC6q018017; Wed, 24 Jun 2009 15:10:12 GMT (envelope-from lulf@svn.freebsd.org) Message-Id: <200906241510.n5OFAC6q018017@svn.freebsd.org> From: Ulf Lilleengen Date: Wed, 24 Jun 2009 15:10:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r194839 - projects/libprocstat/sys/kern X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Jun 2009 15:10:13 -0000 Author: lulf Date: Wed Jun 24 15:10:12 2009 New Revision: 194839 URL: http://svn.freebsd.org/changeset/base/194839 Log: - Only set data given from VOP_GETATTR if it does not fail. If it does fail, that is ok, the fields will be left with zeros from an earlier bzero call. Pointed out by: rwatson Modified: projects/libprocstat/sys/kern/kern_descrip.c Modified: projects/libprocstat/sys/kern/kern_descrip.c ============================================================================== --- projects/libprocstat/sys/kern/kern_descrip.c Wed Jun 24 15:00:45 2009 (r194838) +++ projects/libprocstat/sys/kern/kern_descrip.c Wed Jun 24 15:10:12 2009 (r194839) @@ -2914,12 +2914,14 @@ export_vnode_for_sysctl(struct vnode *vp freepath = NULL; fullpath = "-"; FILEDESC_SUNLOCK(fdp); - VOP_GETATTR(vp, &va, NULL); - kif->kf_fsid = va.va_fsid; - kif->kf_fileid = va.va_fileid; - kif->kf_mode = MAKEIMODE(va.va_type, va.va_mode); - kif->kf_size = va.va_size; - kif->kf_rdev = va.va_rdev; + error = VOP_GETATTR(vp, &va, NULL); + if (error == 0) { + kif->kf_fsid = va.va_fsid; + kif->kf_fileid = va.va_fileid; + kif->kf_mode = MAKEIMODE(va.va_type, va.va_mode); + kif->kf_size = va.va_size; + kif->kf_rdev = va.va_rdev; + } vn_fullpath(curthread, vp, &fullpath, &freepath); vfslocked = VFS_LOCK_GIANT(vp->v_mount); @@ -3096,12 +3098,15 @@ sysctl_kern_proc_filedesc(SYSCTL_HANDLER freepath = NULL; fullpath = "-"; FILEDESC_SUNLOCK(fdp); - VOP_GETATTR(vp, &va, NULL); - kif->kf_fsid = va.va_fsid; - kif->kf_fileid = va.va_fileid; - kif->kf_mode = MAKEIMODE(va.va_type, va.va_mode); - kif->kf_size = va.va_size; - kif->kf_rdev = va.va_rdev; + error = VOP_GETATTR(vp, &va, NULL); + if (error == 0) { + kif->kf_fsid = va.va_fsid; + kif->kf_fileid = va.va_fileid; + kif->kf_mode = MAKEIMODE(va.va_type, + va.va_mode); + kif->kf_size = va.va_size; + kif->kf_rdev = va.va_rdev; + } vn_fullpath(curthread, vp, &fullpath, &freepath); vfslocked = VFS_LOCK_GIANT(vp->v_mount); vrele(vp);