Page MenuHomeFreeBSD

D27959.diff
No OneTemporary

D27959.diff

diff --git a/usr.sbin/kldxref/kldxref.8 b/usr.sbin/kldxref/kldxref.8
--- a/usr.sbin/kldxref/kldxref.8
+++ b/usr.sbin/kldxref/kldxref.8
@@ -26,7 +26,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 9, 2001
+.Dd February 25, 2023
.Dt KLDXREF 8
.Os
.Sh NAME
@@ -51,6 +51,16 @@
file is created, and the preexisting hint file (if there was one in
that directory) is removed.
.Pp
+.Nm
+ignores files with at least two "."s in the filename, such as
+.Pa foo.ko.debug
+or
+.Pa bar.ko.pkgsave .
+Note that this means that modules cannot have names such as
+.Pa foo.bar.ko .
+This limitation however, has been lived practice since the beginning of
+FreeBSD's kernel modules.
+.Pp
The following options are available:
.Bl -tag -width indent
.It Fl R
diff --git a/usr.sbin/kldxref/kldxref.c b/usr.sbin/kldxref/kldxref.c
--- a/usr.sbin/kldxref/kldxref.c
+++ b/usr.sbin/kldxref/kldxref.c
@@ -685,6 +685,7 @@
{
FTS *ftsp;
FTSENT *p;
+ char *dot = NULL;
int opt, fts_options, ival;
struct stat sb;
@@ -752,14 +753,15 @@
fwrite(&ival, sizeof(ival), 1, fxref);
reccnt = 0;
}
- /* skip non-files and separate debug files */
+ /* skip non-files.. */
if (p->fts_info != FTS_F)
continue;
- if (p->fts_namelen >= 6 &&
- strcmp(p->fts_name + p->fts_namelen - 6, ".debug") == 0)
- continue;
- if (p->fts_namelen >= 8 &&
- strcmp(p->fts_name + p->fts_namelen - 8, ".symbols") == 0)
+ /*
+ * Skip files that generate errors like .debug, .symbol and .pkgsave
+ * by generally skipping all files with 2 dots.
+ */
+ dot = strchr(p->fts_name, '.');
+ if (dot && strchr(dot + 1, '.') != NULL)
continue;
read_kld(p->fts_path, p->fts_name);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 24, 11:41 AM (8 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27896540
Default Alt Text
D27959.diff (1 KB)

Event Timeline