svn commit: r244584 - in head: share/man/man9 sys/kern
Jaakko Heinonen
jh at FreeBSD.org
Sat Dec 22 13:33:29 UTC 2012
Author: jh
Date: Sat Dec 22 13:33:28 2012
New Revision: 244584
URL: http://svnweb.freebsd.org/changeset/base/244584
Log:
Reject spaces and double quotation marks in device names. devctl(4)
and devd(8) can't handle names with such characters properly.
PR: bin/144736, kern/161912
Discussed with: imp, kib, pjd
Modified:
head/share/man/man9/make_dev.9
head/sys/kern/kern_conf.c
Modified: head/share/man/man9/make_dev.9
==============================================================================
--- head/share/man/man9/make_dev.9 Sat Dec 22 13:02:03 2012 (r244583)
+++ head/share/man/man9/make_dev.9 Sat Dec 22 13:33:28 2012 (r244584)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 3, 2011
+.Dd Dec 22, 2012
.Dt MAKE_DEV 9
.Os
.Sh NAME
@@ -364,6 +364,10 @@ or
.Qq ..
path component or ends with
.Ql / .
+.It Bq Er EINVAL
+The
+.Dv MAKEDEV_CHECKNAME
+flag was specified and the provided device name contains invalid characters.
.It Bq Er EEXIST
The
.Dv MAKEDEV_CHECKNAME
Modified: head/sys/kern/kern_conf.c
==============================================================================
--- head/sys/kern/kern_conf.c Sat Dec 22 13:02:03 2012 (r244583)
+++ head/sys/kern/kern_conf.c Sat Dec 22 13:33:28 2012 (r244584)
@@ -698,6 +698,13 @@ prep_devname(struct cdev *dev, const cha
;
for (to = dev->si_name; *from != '\0'; from++, to++) {
+ /*
+ * Spaces and double quotation marks cause
+ * problems for the devctl(4) protocol.
+ * Reject names containing those characters.
+ */
+ if (isspace(*from) || *from == '"')
+ return (EINVAL);
/* Treat multiple sequential slashes as single. */
while (from[0] == '/' && from[1] == '/')
from++;
More information about the svn-src-all
mailing list