Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 03 Sep 2019 14:06:32 -0000
From:      Oliver Pinter <oliver.pinter@hardenedbsd.org>
To:        Chris Rees <crees@freebsd.org>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>,  "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,  "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, Konstantin Belousov <kib@freebsd.org>
Subject:   Re: svn commit: r346017 - in head: libexec/rc libexec/rc/rc.d share/man/man5
Message-ID:  <CAPQ4ffur6HEMX7RfCuy98aKoU649o9r5R49%2BVM5U1khYegW%2Bpg@mail.gmail.com>
In-Reply-To: <201904071831.x37IVj4r096803@repo.freebsd.org>
References:  <201904071831.x37IVj4r096803@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday, April 7, 2019, Chris Rees <crees@freebsd.org> wrote:

> Author: crees (doc,ports committer)
> Date: Sun Apr  7 18:31:45 2019
> New Revision: 346017
> URL: https://svnweb.freebsd.org/changeset/base/346017
>
> Log:
>   Remove now unnecessary kldstat check before attempting to load modules.
>
>   Since r233109, kldload has the -n option, which silently ignores options
>   that are already loaded.
>
>   https://lists.freebsd.org/pipermail/freebsd-rc/2018-December/003899.html
>
>   Note that this script no longer reports if the module is already loaded,
>   but it could be argued this wasn't particularly useful information.
>
>   PR:                   docs/234248


This is why a docs PR?


>   Reviewed by:          bcr (docs), kib, rgrimes (visual)


I haven't seen kib on the reviewers list.


>   Approved by:          jilles
>   Differential Revision:        https://reviews.freebsd.org/D18670
>
> Modified:
>   head/libexec/rc/rc.d/abi
>   head/libexec/rc/rc.d/bthidd
>   head/libexec/rc/rc.d/cfumass
>   head/libexec/rc/rc.d/kld
>   head/libexec/rc/rc.d/mdconfig
>   head/libexec/rc/rc.d/mdconfig2
>   head/libexec/rc/rc.d/mountcritremote
>   head/libexec/rc/rc.d/syscons
>   head/libexec/rc/rc.subr
>   head/share/man/man5/rc.conf.5
>
> Modified: head/libexec/rc/rc.d/abi
> ============================================================
> ==================
> --- head/libexec/rc/rc.d/abi    Sun Apr  7 18:24:26 2019        (r346016)
> +++ head/libexec/rc/rc.d/abi    Sun Apr  7 18:31:45 2019        (r346017)
> @@ -27,10 +27,10 @@ linux_start()
>         local _tmpdir
>
>         echo -n ' linux'
> -       load_kld -e 'linux(aout|elf)' linux
> +       load_kld linux
>         case `sysctl -n hw.machine_arch` in
>         amd64)
> -               load_kld -e 'linux64elf' linux64
> +               load_kld linux64
>                 ;;
>         esac
>         if [ -x /compat/linux/sbin/ldconfigDisabled ]; then
>
> Modified: head/libexec/rc/rc.d/bthidd
> ============================================================
> ==================
> --- head/libexec/rc/rc.d/bthidd Sun Apr  7 18:24:26 2019        (r346016)
> +++ head/libexec/rc/rc.d/bthidd Sun Apr  7 18:31:45 2019        (r346017)
> @@ -34,11 +34,11 @@ evdev_enabled()
>  bthidd_prestart()
>  {
>         if evdev_enabled; then
> -               load_kld -m uinput uinput
> +               load_kld uinput
>         fi
> -       load_kld -m kbdmux kbdmux
> -       load_kld -m vkbd vkbd
> -       load_kld -m ng_btsocket ng_btsocket
> +       load_kld kbdmux
> +       load_kld vkbd
> +       load_kld ng_btsocket
>         return 0
>  }
>
>
> Modified: head/libexec/rc/rc.d/cfumass
> ============================================================
> ==================
> --- head/libexec/rc/rc.d/cfumass        Sun Apr  7 18:24:26 2019
> (r346016)
> +++ head/libexec/rc/rc.d/cfumass        Sun Apr  7 18:31:45 2019
> (r346017)
> @@ -75,7 +75,7 @@ cfumass_start()
>                 return "${err}"
>         fi
>
> -       load_kld -e cfumass cfumass
> +       load_kld cfumass
>
>         # If the template is already switched to Mass Storage, then reset
>         # it to -1 to force the host to reenumerate it; otherwise it might
>
> Modified: head/libexec/rc/rc.d/kld
> ============================================================
> ==================
> --- head/libexec/rc/rc.d/kld    Sun Apr  7 18:24:26 2019        (r346016)
> +++ head/libexec/rc/rc.d/kld    Sun Apr  7 18:31:45 2019        (r346017)
> @@ -46,7 +46,7 @@ kld_start()
>
>         echo 'Loading kernel modules:'
>         for _kld in $kld_list ; do
> -               load_kld -e ${_kld}.ko $_kld
> +               load_kld $_kld
>         done
>  }
>
>
> Modified: head/libexec/rc/rc.d/mdconfig
> ============================================================
> ==================
> --- head/libexec/rc/rc.d/mdconfig       Sun Apr  7 18:24:26 2019
> (r346016)
> +++ head/libexec/rc/rc.d/mdconfig       Sun Apr  7 18:31:45 2019
> (r346017)
> @@ -114,7 +114,7 @@ mdconfig_start()
>                                         continue
>                                 fi
>                                 if [ "${_file}" != "${_file%.uzip}" ]; then
> -                                       load_kld -m g_uzip geom_uzip ||
> return 3
> +                                       load_kld geom_uzip || return 3
>                                         # sleep a bit to allow creation of
> /dev/mdX.uzip
>                                         sleep 2
>                                 fi
>
> Modified: head/libexec/rc/rc.d/mdconfig2
> ============================================================
> ==================
> --- head/libexec/rc/rc.d/mdconfig2      Sun Apr  7 18:24:26 2019
> (r346016)
> +++ head/libexec/rc/rc.d/mdconfig2      Sun Apr  7 18:31:45 2019
> (r346017)
> @@ -123,7 +123,7 @@ mdconfig2_start()
>                 # been created.
>                 if [ "${_type}" = "vnode" -a "${_fs}" != "/" ]; then
>                         if [ "${_file}" != "${_file%.uzip}" ]; then
> -                               load_kld -m g_uzip geom_uzip || return 3
> +                               load_kld geom_uzip || return 3
>                         fi
>                         if is_readonly ${_fs}; then
>                                 warn "${_fs} is mounted read-only,
> skipping ${_md}."
>
> Modified: head/libexec/rc/rc.d/mountcritremote
> ============================================================
> ==================
> --- head/libexec/rc/rc.d/mountcritremote        Sun Apr  7 18:24:26 2019
>       (r346016)
> +++ head/libexec/rc/rc.d/mountcritremote        Sun Apr  7 18:31:45 2019
>       (r346017)
> @@ -27,7 +27,7 @@ mountcritremote_precmd()
>         case "`mount -d -a -t nfs 2> /dev/null`" in
>         *mount_nfs*)
>                 # Handle absent nfs client support
> -               load_kld -m nfs nfscl || return 1
> +               load_kld nfscl || return 1
>                 ;;
>         esac
>         return 0
>
> Modified: head/libexec/rc/rc.d/syscons
> ============================================================
> ==================
> --- head/libexec/rc/rc.d/syscons        Sun Apr  7 18:24:26 2019
> (r346016)
> +++ head/libexec/rc/rc.d/syscons        Sun Apr  7 18:31:45 2019
> (r346017)
> @@ -346,7 +346,7 @@ syscons_start()
>                 for i in `kldstat | awk '$5 ~ "_saver\.ko$" { print $5
> }'`; do
>                         kldunload ${i}
>                 done
> -               load_kld -e _saver ${saver}_saver
> +               load_kld ${saver}_saver
>                 ;;
>         esac
>
>
> Modified: head/libexec/rc/rc.subr
> ============================================================
> ==================
> --- head/libexec/rc/rc.subr     Sun Apr  7 18:24:26 2019        (r346016)
> +++ head/libexec/rc/rc.subr     Sun Apr  7 18:31:45 2019        (r346017)
> @@ -1853,48 +1853,29 @@ mount_md()
>  }
>
>  # 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
> -# 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.
> +# if it isn't in the kernel yet.  Syntax:
> +#   load_kld file
>  load_kld()
>  {
> -       local _loaded _mod _opt _re
> +       local _opt
>
> +       # Silently ignore legacy options; they are unnecessary
>         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' ;;
> +               e) ;;
> +               m) ;;
> +               *) err 3 'USAGE: load_kld file' ;;
>                 esac
>         done
>         shift $(($OPTIND - 1))
>         if [ $# -ne 1 ]; then
> -               err 3 'USAGE: load_kld [-e regex] [-m module] file'
> +               err 3 'USAGE: load_kld file'
>         fi
> -       _mod=${_mod:-$1}
> -       _loaded=false
> -       if [ -n "$_re" ]; then
> -               if kldstat -v | egrep -q -e "$_re"; then
> -                       _loaded=true
> -               fi
> +       if ! kldload -n "$1"; then
> +               warn "Unable to load kernel module $1"
> +               return 1
>         else
> -               if kldstat -q -m "$_mod"; then
> -                       _loaded=true
> -               fi
> -       fi
> -       if ! $_loaded; then
> -               if ! kldload "$1"; then
> -                       warn "Unable to load kernel module $1"
> -                       return 1
> -               else
> -                       info "$1 kernel module loaded."
> -               fi
> -       else
> -               debug "load_kld: $1 kernel module already loaded."
> +               info "$1 kernel module loaded."
>         fi
>         return 0
>  }
>
> Modified: head/share/man/man5/rc.conf.5
> ============================================================
> ==================
> --- head/share/man/man5/rc.conf.5       Sun Apr  7 18:24:26 2019
> (r346016)
> +++ head/share/man/man5/rc.conf.5       Sun Apr  7 18:31:45 2019
> (r346017)
> @@ -24,7 +24,7 @@
>  .\"
>  .\" $FreeBSD$
>  .\"
> -.Dd March 21, 2019
> +.Dd April 7, 2019
>  .Dt RC.CONF 5
>  .Os
>  .Sh NAME
> @@ -249,9 +249,7 @@ Default
>  .It Va kld_list
>  .Pq Vt str
>  A whitespace-separated list of kernel modules to load right after
> -the local disks are mounted, without any
> -.Pa .ko
> -extension or path.
> +the local disks are mounted, with optional path.
>  Loading modules at this point in the boot process is
>  much faster than doing it via
>  .Pa /boot/loader.conf
> _______________________________________________
> svn-src-head@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/svn-src-head
> To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPQ4ffur6HEMX7RfCuy98aKoU649o9r5R49%2BVM5U1khYegW%2Bpg>