From 1dc61299f7dfeba8a863e6a575e5ddc204420677 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 31 Mar 2021 10:01:18 +0200 Subject: [PATCH] fix(kernel-modules): shellcheck regression `$_hostonly_drvs` contained multiple arguments and was quoted. This patch converts `_hostonly_drvs` into an associative array, which enables easy deduplication and proper quoting in bash. Fixes: https://github.com/dracutdevs/dracut/issues/1276 --- modules.d/90kernel-modules/module-setup.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh index bbafb289a..1a1b56a29 100755 --- a/modules.d/90kernel-modules/module-setup.sh +++ b/modules.d/90kernel-modules/module-setup.sh @@ -3,7 +3,7 @@ # called by dracut installkernel() { local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_add_host|scsi_add_host_with_dma' - local _hostonly_drvs + local -A _hostonly_drvs find_kernel_modules_external() { local a @@ -17,14 +17,14 @@ installkernel() { record_block_dev_drv() { for _mod in $(get_dev_module /dev/block/"$1"); do - [[ " $_hostonly_drvs " != *$_mod* ]] && _hostonly_drvs+=" $_mod" + _hostonly_drvs["$_mod"]="$_mod" done - [[ "$_hostonly_drvs" ]] && return 0 + ((${#_hostonly_drvs[@]} > 0)) && return 0 return 1 } install_block_modules_strict() { - hostonly='' instmods "$_hostonly_drvs" + hostonly='' instmods "${_hostonly_drvs[@]}" } install_block_modules() { -- 2.47.3