public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fs: Add MODULE_SOFTDEP declarations for hard-coded crypto drivers
@ 2018-04-06 19:52 Mathieu Malaterre
  2018-05-02  8:01 ` Mathieu Malaterre
  0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Malaterre @ 2018-04-06 19:52 UTC (permalink / raw)
  To: tytso
  Cc: Milan Kupcevic, Ben Hutchings, Mathieu Malaterre, Andreas Dilger,
	linux-ext4, linux-kernel

This helps initramfs builders and other tools to find the full
dependencies of a module.

Debian on powerpc (ppc32) still uses yaboot as default boot loader. Using a
default installation (debian-installer) 64bit and metadata_csum feature are
not setup in ext4. This is discussed in more details at:

https://bugs.debian.org/825110#81

and implemented here:

https://anonscm.debian.org/cgit/d-i/partman-ext3.git/patch/?id=f87dc92157262de1ad8dd3f2343436f08271b4dc

This means that building the kernel as default debian package:

  make ARCH=powerpc XYZ_defconfig
  make -j8 ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- bindeb-pkg

Will lead to the following boot failure (initramfs prompt):

  /dev/sda3: clean, 127679/305216 files, 11128559/1220703 blocks done.
  [    5.592819] EXT4-fs (sda3): Cannot load crc32c driver.
  mount: mounting /dev/sda3 on /root failed: No such file or directory

Link: https://bugs.debian.org/819725
Link: https://salsa.debian.org/kernel-team/linux/blob/master/debian/patches/bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
Suggested-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Milan Kupcevic <milan@debian.org>
Signed-off-by: Mathieu Malaterre <malat@debian.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..10bda040e78f 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: crypto-crc32c");
 module_init(ext4_init_fs)
 module_exit(ext4_exit_fs)
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [PATCH] fs: Add MODULE_SOFTDEP declarations for hard-coded crypto drivers
@ 2016-05-17 13:36 Ben Hutchings
  2016-05-17 14:59 ` David Sterba
  0 siblings, 1 reply; 4+ messages in thread
From: Ben Hutchings @ 2016-05-17 13:36 UTC (permalink / raw)
  To: Alexander Viro
  Cc: linux-fsdevel, linux-btrfs, linux-cifs, linux-ext4,
	linux-f2fs-devel, linux-nfs

[-- Attachment #1: Type: text/plain, Size: 2550 bytes --]

This helps initramfs builders and other tools to find the full
dependencies of a module.

References: https://bugs.debian.org/819725
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/fs/btrfs/super.c
+++ b/fs/btrfs/super.c
@@ -2456,3 +2456,4 @@ late_initcall(init_btrfs_fs);
 module_exit(exit_btrfs_fs)
 
 MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c");
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -1373,5 +1373,13 @@ MODULE_DESCRIPTION
     ("VFS to access servers complying with the SNIA CIFS Specification "
      "e.g. Samba and Windows");
 MODULE_VERSION(CIFS_VERSION);
+
+#ifdef CONFIG_CIFS_SMB2
+#define CIFS_SMB2_EXTRA_SOFTDEPS " crypto-aes crypto-cmac crypto-sha256"
+#else
+#define CIFS_SMB2_EXTRA_SOFTDEPS ""
+#endif
+MODULE_SOFTDEP("pre: crypto-arc4 crypto-des crypto-ecb crypto-hmac crypto-md4 crypto-md5" CIFS_SMB2_EXTRA_SOFTDEPS);
+
 module_init(init_cifs)
 module_exit(exit_cifs)
--- a/fs/crypto/crypto.c
+++ b/fs/crypto/crypto.c
@@ -566,3 +566,4 @@ static void __exit fscrypt_exit(void)
 module_exit(fscrypt_exit);
 
 MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-aes crypto-ecb");
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -5441,5 +5441,13 @@ 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");
+
+#ifdef CONFIG_EXT4_FS_ENCRYPTION
+#define EXT4_ENC_EXTRA_SOFTDEPS " crypto-aes crypto-ecb"
+#else
+#define EXT4_ENC_EXTRA_SOFTDEPS ""
+#endif
+MODULE_SOFTDEP("pre: crypto-crc32c" EXT4_ENC_EXTRA_SOFTDEPS);
+
 module_init(ext4_init_fs)
 module_exit(ext4_exit_fs)
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -1742,3 +1742,4 @@ module_exit(exit_f2fs_fs)
 MODULE_AUTHOR("Samsung Electronics's Praesto Team");
 MODULE_DESCRIPTION("Flash Friendly File System");
 MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c");
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -2716,6 +2716,7 @@ static void __exit journal_exit(void)
 }
 
 MODULE_LICENSE("GPL");
+MODULE_SOFTDEP("pre: crypto-crc32c");
 module_init(journal_init);
 module_exit(journal_exit);
 
--- a/fs/nfsd/nfsctl.c
+++ b/fs/nfsd/nfsctl.c
@@ -1314,5 +1314,8 @@ static void __exit exit_nfsd(void)
 
 MODULE_AUTHOR("Olaf Kirch <okir@monad.swb.de>");
 MODULE_LICENSE("GPL");
+#ifdef CONFIG_NFSD_V4
+MODULE_SOFTDEP("pre: crypto-md5");
+#endif
 module_init(init_nfsd)
 module_exit(exit_nfsd)

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 811 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-05-02  8:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-04-06 19:52 [PATCH] fs: Add MODULE_SOFTDEP declarations for hard-coded crypto drivers Mathieu Malaterre
2018-05-02  8:01 ` Mathieu Malaterre
  -- strict thread matches above, loose matches on Subject: below --
2016-05-17 13:36 Ben Hutchings
2016-05-17 14:59 ` David Sterba

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox