Date: Mon, 22 Oct 2007 14:04:47 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: John Birrell <jb@FreeBSD.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libc/sys kldstat.2 src/sbin/kldstat kldstat.c src/sys/kern kern_linker.c src/sys/sys linker.h Message-ID: <20071022135710.H70919@fledge.watson.org> In-Reply-To: <200710220413.l9M4D8g3016327@repoman.freebsd.org> References: <200710220413.l9M4D8g3016327@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 22 Oct 2007, John Birrell wrote: > jb 2007-10-22 04:12:57 UTC > > FreeBSD src repository > > Modified files: > lib/libc/sys kldstat.2 > sbin/kldstat kldstat.c > sys/kern kern_linker.c > sys/sys linker.h > Log: > Add the full module path name to the kld_file_stat structure > for kldstat(2). > > This allows libdtrace to determine the exact file from which > a kernel module was loaded without having to guess. > > The kldstat(2) API is versioned with the size of the > kld_file_stat structure, so this change creates version 2. > > Add the pathname to the verbose output of kldstat(8) too. When using this function, keep in mind that, as with all stored path strings in the kernel, the string may become stale, be relative to a particular process cwd, or a particular process root. Automated use of similarly stored paths relating to mounted file systems are notoriously unreliable, especially if chroot() is in use. This doesn't make stored paths unuseful, just requires a little caution to make sure nothing relies on them working better than they actually do work. You might want to add a note in the BUGS or IMPLEMENTATION section to this extent. We had a rather nasty series of bugs in the user mount tool for a while in which an incorrect assumption was made that the path a file system was mounted as (and hence cached in the mount structure) would remain valid at unmount time -- as a result, file systems couldn't be unmounted from within chroots or if an intermediate directory in their path had been renamed. Robert N M Watson Computer Laboratory University of Cambridge
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071022135710.H70919>