]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(kernel-network-modules): allow specifying empty --hostonly-nics
authorCoiby Xu <coxu@redhat.com>
Sun, 24 Apr 2022 02:52:33 +0000 (10:52 +0800)
committerJóhann B. Guðmundsson <johannbg@gmail.com>
Sun, 24 Apr 2022 05:28:16 +0000 (05:28 +0000)
Commit 1e92f728 ("Add a --hostonly-nics option") allows only installing
the network drivers for specified NICs. But it doesn't allow an emtpy
--hostonly-nics. Specifying empty hostonly-nics is needed to address the
following use cases,
 - drivers/s390/net is installed regardless of --hostonly-nics. There is
   no need to repeat it.
 - get_dev_module couldn't find the driver for a bond or a bridge
   network interface so it's better for a module to install a bond
   or bridge driver itself
 - dracut kdump module wants to install the needed network drivers by
   itself because it can't add the --hostonly-nics option to dracut when
   itself is a dracut module

This patch distinguishes between an empty --hostonly-nics and --hostonly-nics
not added so a user can pass an empty --hostonly-nics option.

modules.d/90kernel-network-modules/module-setup.sh

index 8ebe93c6915ad69fc5e73c88cca814eebbde3b72..49823efd4c4e28bbb49227bb4f9a94ea7e5f769a 100755 (executable)
@@ -22,7 +22,7 @@ installkernel() {
         dracut_instmods -o -P ".*${_unwanted_drivers}.*" -s "$_net_symbols" "=drivers/s390/net"
     fi
 
-    if [[ $hostonly_mode == 'strict' ]] && [[ $hostonly_nics ]]; then
+    if [[ $hostonly_mode == 'strict' ]] && [[ -n ${hostonly_nics+x} ]]; then
         for _nic in $hostonly_nics; do
             mapfile -t _net_drivers < <(get_dev_module /sys/class/net/"$_nic")
             if ((${#_net_drivers[@]} == 0)); then