From df965c411256ec12209a15f448c0122d79af3fe5 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Wed, 13 Apr 2016 22:16:43 +0100 Subject: [PATCH] fs: Add MODULE_SOFTDEP declarations for hard-coded crypto drivers (Closes: #819725) --- debian/changelog | 2 + ...ftdep-declarations-for-hard-coded-cr.patch | 120 ++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 123 insertions(+) create mode 100644 debian/patches/bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch diff --git a/debian/changelog b/debian/changelog index 931d898a0..823189a01 100644 --- a/debian/changelog +++ b/debian/changelog @@ -239,6 +239,8 @@ linux (4.5.1-1) UNRELEASED; urgency=medium - make sure e->next_offset covers remaining blob size * ipv4: Don't do expensive useless work during inetdev destroy (CVE-2016-3156) * [x86] mm/32: Enable full randomization on i386 and X86_32 (CVE-2016-3672) + * fs: Add MODULE_SOFTDEP declarations for hard-coded crypto drivers + (Closes: #819725) [ Aurelien Jarno ] * [mipsel/mips/config.loongson-2f] Disable VIDEO_CX23885, VIDEO_IVTV, diff --git a/debian/patches/bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch b/debian/patches/bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch new file mode 100644 index 000000000..45c20aefd --- /dev/null +++ b/debian/patches/bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch @@ -0,0 +1,120 @@ +From: Ben Hutchings +Date: Wed, 13 Apr 2016 21:48:06 +0100 +Subject: fs: Add MODULE_SOFTDEP declarations for hard-coded crypto drivers +Bug-Debian: https://bugs.debian.org/819725 + +This helps initramfs builders and other tools to find the full +dependencies of a module. + +Signed-off-by: Ben Hutchings +--- + fs/btrfs/hash.c | 2 ++ + fs/cifs/cifsencrypt.c | 2 ++ + fs/cifs/link.c | 2 ++ + fs/cifs/smb2transport.c | 2 ++ + fs/cifs/smbencrypt.c | 2 ++ + fs/ext4/crypto_key.c | 2 ++ + fs/ext4/super.c | 2 ++ + fs/f2fs/crypto_key.c | 2 ++ + fs/f2fs/super.c | 2 ++ + fs/jbd2/journal.c | 2 ++ + fs/nfsd/nfs4recover.c | 2 ++ + 11 files changed, 22 insertions(+) + +--- a/fs/btrfs/hash.c ++++ b/fs/btrfs/hash.c +@@ -44,3 +44,5 @@ u32 btrfs_crc32c(u32 crc, const void *ad + + return *ctx; + } ++ ++MODULE_SOFTDEP("pre: crypto-crc32c"); +--- a/fs/cifs/cifsencrypt.c ++++ b/fs/cifs/cifsencrypt.c +@@ -865,3 +865,5 @@ cifs_crypto_shash_release(struct TCP_Ser + kfree(server->secmech.sdescmd5); + server->secmech.sdescmd5 = NULL; + } ++ ++MODULE_SOFTDEP("pre: crypto-arc4 crypto-ecb crypto-hmac crypto-md5"); +--- a/fs/cifs/link.c ++++ b/fs/cifs/link.c +@@ -746,3 +746,5 @@ symlink_exit: + free_xid(xid); + return rc; + } ++ ++MODULE_SOFTDEP("pre: crypto-md5"); +--- a/fs/cifs/smb2transport.c ++++ b/fs/cifs/smb2transport.c +@@ -700,3 +700,5 @@ smb2_setup_async_request(struct TCP_Serv + + return mid; + } ++ ++MODULE_SOFTDEP("pre: crypto-aes crypto-cmac crypto-hmac crypto-sha256"); +--- a/fs/cifs/smbencrypt.c ++++ b/fs/cifs/smbencrypt.c +@@ -247,3 +247,5 @@ SMBNTencrypt(unsigned char *passwd, unsi + rc = E_P24(p21, c8, p24); + return rc; + } ++ ++MODULE_SOFTDEP("pre: crypto-des crypto-ecb crypto-md4"); +--- a/fs/ext4/crypto_key.c ++++ b/fs/ext4/crypto_key.c +@@ -274,3 +274,5 @@ int ext4_has_encryption_key(struct inode + + return (ei->i_crypt_info != NULL); + } ++ ++MODULE_SOFTDEP("pre: crypto-aes crypto-ecb"); +--- a/fs/ext4/super.c ++++ b/fs/ext4/super.c +@@ -5404,6 +5404,8 @@ static void __exit ext4_exit_fs(void) + ext4_exit_es(); + } + ++MODULE_SOFTDEP("pre: crypto-crc32c"); ++ + MODULE_AUTHOR("Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others"); + MODULE_DESCRIPTION("Fourth Extended Filesystem"); + MODULE_LICENSE("GPL"); +--- a/fs/f2fs/crypto_key.c ++++ b/fs/f2fs/crypto_key.c +@@ -252,3 +252,5 @@ int f2fs_has_encryption_key(struct inode + + return (fi->i_crypt_info != NULL); + } ++ ++MODULE_SOFTDEP("pre: crypto-aes crypto-ecb"); +--- a/fs/f2fs/super.c ++++ b/fs/f2fs/super.c +@@ -1640,6 +1640,8 @@ static void __exit exit_f2fs_fs(void) + f2fs_destroy_trace_ios(); + } + ++MODULE_SOFTDEP("pre: crypto-crc32c"); ++ + module_init(init_f2fs_fs) + module_exit(exit_f2fs_fs) + +--- a/fs/jbd2/journal.c ++++ b/fs/jbd2/journal.c +@@ -2693,6 +2693,8 @@ static void __exit journal_exit(void) + jbd2_journal_destroy_caches(); + } + ++MODULE_SOFTDEP("pre: crypto-crc32c"); ++ + MODULE_LICENSE("GPL"); + module_init(journal_init); + module_exit(journal_exit); +--- a/fs/nfsd/nfs4recover.c ++++ b/fs/nfsd/nfs4recover.c +@@ -1553,3 +1553,5 @@ unregister_cld_notifier(void) + { + rpc_pipefs_notifier_unregister(&nfsd4_cld_block); + } ++ ++MODULE_SOFTDEP("pre: crypto-md5"); diff --git a/debian/patches/series b/debian/patches/series index 6a172dbb9..e980d9035 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -142,3 +142,4 @@ bugfix/all/netfilter-x_tables-validate-e-target_offset-early.patch bugfix/all/netfilter-x_tables-make-sure-e-next_offset-covers-re.patch bugfix/all/ipv4-don-t-do-expensive-useless-work-during-inetdev-.patch bugfix/x86/x86-mm-32-enable-full-randomization-on-i386-and-x86_.patch +bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch