Page MenuHomeFreeBSD

D57706.diff
No OneTemporary

D57706.diff

diff --git a/libexec/rc/rc.d/kld b/libexec/rc/rc.d/kld
--- a/libexec/rc/rc.d/kld
+++ b/libexec/rc/rc.d/kld
@@ -44,10 +44,12 @@
local _kld
- startmsg "Loading kernel modules: ${kld_list}"
+ startmsg -n "Loading kernel modules:"
for _kld in $kld_list ; do
- load_kld -e ${_kld}.ko $_kld
+ load_kld $_kld
+ startmsg -n " ${_kld}"
done
+ startmsg "."
}
load_rc_config $name
diff --git a/libexec/rc/rc.d/ntpd b/libexec/rc/rc.d/ntpd
--- a/libexec/rc/rc.d/ntpd
+++ b/libexec/rc/rc.d/ntpd
@@ -67,7 +67,7 @@
# the policy module if not already present, then check whether the
# policy has been disabled via tunable or sysctl.
[ -n "$(sysctl -qn security.mac.version)" ] || return 1
- sysctl -qn security.mac.ntpd >/dev/null || kldload -qn mac_ntpd || return 1
+ load_kld mac_ntpd || return 1
[ "$(sysctl -qn security.mac.ntpd.enabled)" == "1" ] || return 1
# On older existing systems, the ntp dir may by owned by root, change
diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr
--- a/libexec/rc/rc.subr
+++ b/libexec/rc/rc.subr
@@ -2423,37 +2423,38 @@
# Code common to scripts that need to load a kernel module
# if it isn't in the kernel yet. Syntax:
-# load_kld [-e regex] [-m module] file
+# load_kld [-e regex | -m module] file
# where -e or -m chooses the way to check if the module
# is already loaded:
-# regex is egrep'd in the output from `kldstat -v',
-# module is passed to `kldstat -m'.
-# The default way is as though `-m file' were specified.
+# -e greps the output from `kldstat -v',
+# -m uses `kldstat -m module'.
+# The default way is as though `-m file` was specified.
load_kld()
{
- local _loaded _mod _opt _re
+ local _loaded _mod _opt _re _x
+ _x=0
while getopts "e:m:" _opt; do
case "$_opt" in
e) _re="$OPTARG" ;;
m) _mod="$OPTARG" ;;
- *) err 3 'USAGE: load_kld [-e regex] [-m module] file' ;;
+ *) _x=999 ;;
esac
+ _x=$((_x + 1))
done
shift $(($OPTIND - 1))
- if [ $# -ne 1 ]; then
- err 3 'USAGE: load_kld [-e regex] [-m module] file'
+ if [ $# -ne 1 ] || [ $_x -gt 1 ]; then
+ err 3 'USAGE: load_kld [-e regex | -m module] file'
fi
- _mod=${_mod:-$1}
_loaded=false
if [ -n "$_re" ]; then
if kldstat -v | egrep -q -e "$_re"; then
_loaded=true
fi
- else
- if kldstat -q -m "$_mod"; then
- _loaded=true
- fi
+ elif kldstat -q -m "${_mod:-$1}"; then
+ _loaded=true
+ elif kldstat -q -n "$1"; then
+ _loaded=true
fi
if ! $_loaded; then
if ! kldload "$1"; then

File Metadata

Mime Type
text/plain
Expires
Thu, Jun 25, 2:55 AM (20 h, 16 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34293405
Default Alt Text
D57706.diff (2 KB)

Event Timeline