lib: halfmd4: Make halfmd4.c optional
Add a new config option HALFMD4 to compile out half-MD4 hash function.
This config is selected by config EXT3_FS and config EXT4_FS as
these file systems use half-MD4 hash function for directory indexing.
bloat-o-meter output:
move: 0/1 grow/shrink: 0/0 up/down: 0/-657 (-657)
function old new delta
half_md4_transform 657 - -657
Signed-off-by: Catalina Mocanu <catalina.mocanu@gmail.com>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Signed-off-by: Josh Triplett <josh@joshtriplett.org>
diff --git a/fs/ext3/Kconfig b/fs/ext3/Kconfig
index e8c6ba0..345277b 100644
--- a/fs/ext3/Kconfig
+++ b/fs/ext3/Kconfig
@@ -1,6 +1,7 @@
config EXT3_FS
tristate "Ext3 journalling file system support"
select JBD
+ select HALFMD4
help
This is the journalling version of the Second extended file system
(often called ext3), the de facto standard Linux file system
diff --git a/fs/ext4/Kconfig b/fs/ext4/Kconfig
index efea5d5..617f362 100644
--- a/fs/ext4/Kconfig
+++ b/fs/ext4/Kconfig
@@ -4,6 +4,7 @@
select CRC16
select CRYPTO
select CRYPTO_CRC32C
+ select HALFMD4
help
This is the next generation of the ext3 filesystem.
diff --git a/include/linux/cryptohash.h b/include/linux/cryptohash.h
index 2cd9f1c..ebf2043 100644
--- a/include/linux/cryptohash.h
+++ b/include/linux/cryptohash.h
@@ -13,6 +13,8 @@
void md5_transform(__u32 *hash, __u32 const *in);
+#ifdef CONFIG_HALFMD4
__u32 half_md4_transform(__u32 buf[4], __u32 const in[8]);
+#endif
#endif
diff --git a/lib/Kconfig b/lib/Kconfig
index 54cf309..78e8035 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -180,6 +180,9 @@
when they need to do cyclic redundancy check according CRC8
algorithm. Module will be called crc8.
+config HALFMD4
+ bool
+
config AUDIT_GENERIC
bool
depends on AUDIT && !AUDIT_ARCH
diff --git a/lib/Makefile b/lib/Makefile
index 7512dc9..26f7c25 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -22,11 +22,12 @@
lib-y += kobject.o klist.o
obj-y += lockref.o
-obj-y += bcd.o div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
+obj-y += bcd.o div64.o sort.o parser.o debug_locks.o random32.o \
bust_spinlocks.o hexdump.o kasprintf.o bitmap.o scatterlist.o \
gcd.o lcm.o list_sort.o uuid.o flex_array.o iovec.o clz_ctz.o \
bsearch.o find_last_bit.o find_next_bit.o llist.o memweight.o kfifo.o \
percpu-refcount.o percpu_ida.o hash.o rhashtable.o
+obj-$(CONFIG_HALFMD4) += halfmd4.o
obj-y += string_helpers.o
obj-$(CONFIG_TEST_STRING_HELPERS) += test-string_helpers.o
obj-y += kstrtox.o