In my original use case, yes crc32c_generic is added to the initrd:
lsinitramfs /boot/initrd.img-4.14.36-test |grep crc32c lib/modules/4.14.36-test/kernel/arch/x86/crypto/crc32c-intel.ko lib/modules/4.14.36-test/kernel/crypto/crc32c_generic.ko
Note that I do not build libcrc32c at all. I personally prefer the way it was while changing my kernel config to building-in my choice of crc32c drivers. That way I don't have an unused module floating around. I can, however, see that this patch might be a better choice for distributions.
This has been fun,
- Jim
On Thu, 26 Apr 2018 02:22:51 -0400 "Theodore Y. Ts'o" tytso@mit.edu wrote:
François, James,
Does this fix things for you?
Thanks,
- Ted
From 7ef79ad52136712172eb0525bf0b462516bf2f93 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o tytso@mit.edu Date: Thu, 26 Apr 2018 00:44:46 -0400 Subject: [PATCH] ext4: add MODULE_SOFTDEP to ensure crc32c is included in the initramfs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
Fixes: a45403b51582 ("ext4: always initialize the crc32c checksum driver") Reported-by: François Valenduc francoisvalenduc@gmail.com Signed-off-by: Theodore Ts'o tytso@mit.edu Cc: stable@vger.kernel.org
fs/ext4/super.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 185f7e61f4cf..eb104e8476f0 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -5886,5 +5886,6 @@ static void __exit ext4_exit_fs(void) MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"); MODULE_DESCRIPTION("Fourth Extended Filesystem"); MODULE_LICENSE("GPL"); +MODULE_SOFTDEP("pre: crc32c"); module_init(ext4_init_fs) module_exit(ext4_exit_fs)