Blob Blame History Raw
From 586a56c2877ae8c0b365c3a6c69cd4ff8b27bf0c Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Fri, 24 Apr 2020 11:05:49 +0200
Subject: [PATCH] Install crypto modules in 90kernel-modules

We don't want to play catch up with hash and encryption algorithms.
To be safe, just use the hammer and include all crypto.

Fixes https://github.com/dracutdevs/dracut/issues/802
---
 modules.d/90btrfs/module-setup.sh          | 2 --
 modules.d/90crypt/module-setup.sh          | 6 +-----
 modules.d/90kernel-modules/module-setup.sh | 9 +++++++++
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
index 66a254e1..79f89a50 100755
--- a/modules.d/90btrfs/module-setup.sh
+++ b/modules.d/90btrfs/module-setup.sh
@@ -26,8 +26,6 @@ depends() {
 # called by dracut
 installkernel() {
     instmods btrfs
-    # Make sure btfs can use fast crc32c implementations where available (bsc#1011554)
-    instmods crc32c-intel
 }
 
 # called by dracut
diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
index 3ee4c545..a9dda734 100755
--- a/modules.d/90crypt/module-setup.sh
+++ b/modules.d/90crypt/module-setup.sh
@@ -25,11 +25,7 @@ depends() {
 # called by dracut
 installkernel() {
     hostonly="" instmods drbg
-    arch=$(uname -m)
-    [[ $arch == x86_64 ]] && arch=x86
-    [[ $arch == s390x ]] && arch=s390
-    [[ $arch == aarch64 ]] && arch=arm64
-    instmods dm_crypt =crypto =drivers/crypto =arch/$arch/crypto
+    instmods dm_crypt
 }
 
 # called by dracut
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index bc3810cc..28d291eb 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -104,6 +104,15 @@ installkernel() {
         elif [[ "${host_fs_types[*]}" ]]; then
             hostonly='' instmods "${host_fs_types[@]}"
         fi
+
+        arch=${DRACUT_ARCH:-$(uname -m)}
+
+        # We don't want to play catch up with hash and encryption algorithms.
+        # To be safe, just use the hammer and include all crypto.
+        [[ $arch == x86_64 ]] && arch=x86
+        [[ $arch == s390x ]] && arch=s390
+        [[ $arch == aarch64 ]] && arch=arm64
+        instmods "=crypto" "=arch/$arch/crypto" "=drivers/crypto"
     fi
     :
 }