From 974a95948a897f2bbbf0b7d4476e4d06ef2ef8df Mon Sep 17 00:00:00 2001 From: Hans Petter Selasky Date: Sat, 17 Feb 2018 13:32:29 +0000 Subject: [PATCH] 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 --- etc/rc.d/devmatch | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/etc/rc.d/devmatch b/etc/rc.d/devmatch index 8f749330b531..8bcde70702b5 100755 --- a/etc/rc.d/devmatch +++ b/etc/rc.d/devmatch @@ -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 }