svn commit: r329456 - head/etc/rc.d

Hans Petter Selasky hselasky at FreeBSD.org
Sat Feb 17 13:32:29 UTC 2018


Author: hselasky
Date: Sat Feb 17 13:32:29 2018
New Revision: 329456
URL: https://svnweb.freebsd.org/changeset/base/329456

Log:
  Fix handling of "one_nomatch" shell variable to preserve its contents
  appearing as a single argument passed to devmatch(8).
  
  Don't depend on "sort" utility from usr/bin which might not be
  available when devd is started.
  
  Sponsored by:	Mellanox Technologies

Modified:
  head/etc/rc.d/devmatch

Modified: head/etc/rc.d/devmatch
==============================================================================
--- head/etc/rc.d/devmatch	Sat Feb 17 13:13:55 2018	(r329455)
+++ head/etc/rc.d/devmatch	Sat Feb 17 13:32:29 2018	(r329456)
@@ -37,13 +37,17 @@ desc="Use devmatch(8) to load kernel modules"
 
 start_cmd="${name}_start"
 stop_cmd=':'
-[ -n "$2" ] && one_nomatch="-p '$2'"
+one_nomatch="$2"
 
 devmatch_start()
 {
 	local x
 
-	x=$(devmatch ${one_nomatch} | sort -u)
+	if [ -n "$one_nomatch" ]; then
+		x=$(devmatch -p "${one_nomatch}")
+	else
+		x=$(devmatch)
+	fi
 
 	[ -n "$x" ] || return
 
@@ -53,8 +57,8 @@ devmatch_start()
 	# We also optimize against the false positives
 	# or drivers that have symbolic links that
 	# confuse devmatch by running it -n.
-	echo "Autoloading modules: ${x}"
 	for m in ${x}; do
+		echo "Autoloading module: ${m}"
 		kldload -n ${m}
 	done
 }


More information about the svn-src-head mailing list