FreeBSD/sys/kern/vfs_cache.c
/*
 * This function is similar to vn_fullpath, but it attempts to lookup the
 * pathname relative to the global root mount point.  This is required for the
 * auditing sub-system, as audited pathnames must be absolute, relative to the
 * global root mount point.
 */
This function is similar to vn_fullpath, but it attempts to lookup the
pathname relative to the global root mount point.  This is required for the
auditing sub-system, as audited pathnames must be absolute, relative to the
global root mount point.
This function is similar to vn_fullpath but it attempts to lookup the pathname relative to the global root mount point . This is required for the auditing sub - system as audited pathnames must be absolute relative to the global root mount point .
int
vn_fullpath_global(struct thread *td, struct vnode *vn,
    char **retbuf, char **freebuf)
{
	char *buf;
	int error;
	if (disablefullpath)
		return (ENODEV);
	if (vn == NULL)
		return (EINVAL);
	buf = malloc(MAXPATHLEN, M_TEMP, M_WAITOK);
	error = vn_fullpath1(td, vn, rootvnode, buf, retbuf, MAXPATHLEN);
	if (!error)
		*freebuf = buf;
	else
		free(buf, M_TEMP);
	return (error);
}
int vn_fullpath_global ( struct thread * td , struct vnode * vn , char * * retbuf , char * * freebuf ) { char * buf ; int error ; if ( disablefullpath ) return ( ENODEV ) ; if ( vn == NULL ) return ( EINVAL ) ; buf = malloc ( MAXPATHLEN , M_TEMP , M_WAITOK ) ; error = vn_fullpath1 ( td , vn , rootvnode , buf , retbuf , MAXPATHLEN ) ; if ( ! error ) * freebuf = buf ; else free ( buf , M_TEMP ) ; return ( error ) ; }
This function is similar to vn_fullpath, but it attempts to lookup the
 pathname relative to the global root mount point.
This function is similar to vn_fullpath but it attempts to lookup the pathname relative to the global root mount point .