Author: kib
Date: Tue Aug 16 20:13:17 2011
New Revision: 224915
URL: http://svn.freebsd.org/changeset/base/224915
Log:
Do not return success and a string "unknown" when vn_fullpath() was unable
to resolve the path of the text vnode of the process. The behaviour is
very confusing for any consumer of the procfs, in particular, java.
Reported and tested by: bf
MFC after: 2 weeks
Approved by: re (bz)
Modified:
head/sys/fs/procfs/procfs.c
Modified: head/sys/fs/procfs/procfs.c
==============================================================================
--- head/sys/fs/procfs/procfs.c Tue Aug 16 20:07:47 2011 (r224914)
+++ head/sys/fs/procfs/procfs.c Tue Aug 16 20:13:17 2011 (r224915)
@@ -67,20 +67,23 @@
int
procfs_doprocfile(PFS_FILL_ARGS)
{
- char *fullpath = "unknown";
- char *freepath = NULL;
+ char *fullpath;
+ char *freepath;
struct vnode *textvp;
+ int error;
+ freepath = NULL;
PROC_LOCK(p);
textvp = p->p_textvp;
vhold(textvp);
PROC_UNLOCK(p);
- vn_fullpath(td, textvp, &fullpath, &freepath);
+ error = vn_fullpath(td, textvp, &fullpath, &freepath);
vdrop(textvp);
- sbuf_printf(sb, "%s", fullpath);
- if (freepath)
+ if (error == 0)
+ sbuf_printf(sb, "%s", fullpath);
+ if (freepath != NULL)
free(freepath, M_TEMP);
- return (0);
+ return (error);
}
/*
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"