Skip to contentSkip to conversation

arm64: defconfig: enable crypto drivers as modules

PATCH New Ard Biesheuvel 2 participants 3 messages Jul 31, 2014 – Aug 1, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm64: defconfig: enable crypto drivers as modules

This changes the arm64 defconfig to build the ARMv8 Crypto Extensions and NEON based crypto drivers as modules rather than as built-ins. The reason is that the ARMv8 Crypto Extensions based modules will be probed for automatically through udev upon detecting the availability of the respective crypto instructions (AES, PMULL, SHA1, SHA256), and similarly, the NEON alternatives will be probed for upon request (i.e., at first use of the algorithm) if no hardware acceleration is available.

---
 arch/arm64/configs/defconfig | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
arch/arm64/configs/defconfig +7 -7
index c1071268c912..3310b4166dd0 100644
@@ -127,10 +127,10 @@ CONFIG_LOCKUP_DETECTOR=y
 CONFIG_SECURITY=y
 CONFIG_CRYPTO_ANSI_CPRNG=y
 CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA1_ARM64_CE=y
-CONFIG_CRYPTO_SHA2_ARM64_CE=y
-CONFIG_CRYPTO_GHASH_ARM64_CE=y
-CONFIG_CRYPTO_AES_ARM64_CE=y
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
-CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=m
+CONFIG_CRYPTO_SHA2_ARM64_CE=m
+CONFIG_CRYPTO_GHASH_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
Signature · 1 line
1.8.3.2
#1 lore raw

PATCH 1/1 arm64: defconfig: enable crypto drivers as modules

Hi Ard,

Quoted 25 lines · Ard Biesheuvel

This changes the arm64 defconfig to build the ARMv8 Crypto Extensions and NEON based crypto drivers as modules rather than as built-ins. The reason is that the ARMv8 Crypto Extensions based modules will be probed for automatically through udev upon detecting the availability of the respective crypto instructions (AES, PMULL, SHA1, SHA256), and similarly, the NEON alternatives will be probed for upon request (i.e., at first use of the algorithm) if no hardware acceleration is available.

---
 arch/arm64/configs/defconfig | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
arch/arm64/configs/defconfig +0 -4
index c1071268c912..3310b4166dd0 100644
@@ -127,10 +127,10 @@ CONFIG_LOCKUP_DETECTOR=y
 CONFIG_SECURITY=y
 CONFIG_CRYPTO_ANSI_CPRNG=y
 CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA1_ARM64_CE=y
-CONFIG_CRYPTO_SHA2_ARM64_CE=y
-CONFIG_CRYPTO_GHASH_ARM64_CE=y
-CONFIG_CRYPTO_AES_ARM64_CE=y

arch/arm64/configs/defconfig CONFIG_LOCKUP_DETECTOR=y · line 136

Quoted 10 lines
arch/arm64/configs/defconfig +7 -3
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
-CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=m
+CONFIG_CRYPTO_SHA2_ARM64_CE=m
+CONFIG_CRYPTO_GHASH_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m

Whilst I'm usually fairly open to defconfig updates if they make things more useful to people, I think building these as modules is going to be a pain for those not using udev (i.e. using busybox and/or simple filesystems for a VM). This seems more like something a distro might choose to do as opposed to something that is a good idea to have enabled by default.

There could be an argument for a distroconfig, but I don't have high hopes that anybody would actually use it in practice.

Will

#2 lore raw

PATCH 1/1 arm64: defconfig: enable crypto drivers as modules

Quoted 45 lines · Will Deacon

Hi Ard,

Quoted 25 lines · Ard Biesheuvel

This changes the arm64 defconfig to build the ARMv8 Crypto Extensions and NEON based crypto drivers as modules rather than as built-ins. The reason is that the ARMv8 Crypto Extensions based modules will be probed for automatically through udev upon detecting the availability of the respective crypto instructions (AES, PMULL, SHA1, SHA256), and similarly, the NEON alternatives will be probed for upon request (i.e., at first use of the algorithm) if no hardware acceleration is available.

---
 arch/arm64/configs/defconfig | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
arch/arm64/configs/defconfig +0 -4
index c1071268c912..3310b4166dd0 100644
@@ -127,10 +127,10 @@ CONFIG_LOCKUP_DETECTOR=y
 CONFIG_SECURITY=y
 CONFIG_CRYPTO_ANSI_CPRNG=y
 CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA1_ARM64_CE=y
-CONFIG_CRYPTO_SHA2_ARM64_CE=y
-CONFIG_CRYPTO_GHASH_ARM64_CE=y
-CONFIG_CRYPTO_AES_ARM64_CE=y

arch/arm64/configs/defconfig CONFIG_LOCKUP_DETECTOR=y · line 136

Quoted 10 lines
arch/arm64/configs/defconfig +7 -3
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
-CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=m
+CONFIG_CRYPTO_SHA2_ARM64_CE=m
+CONFIG_CRYPTO_GHASH_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m

Whilst I'm usually fairly open to defconfig updates if they make things more useful to people, I think building these as modules is going to be a pain for those not using udev (i.e. using busybox and/or simple filesystems for a VM). This seems more like something a distro might choose to do as opposed to something that is a good idea to have enabled by default.

Quoted 3 lines

There could be an argument for a distroconfig, but I don't have high hopes that anybody would actually use it in practice.

OK, fair enough