Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configs: Add several CRYPTO options required by iwd #3748

Closed
wants to merge 1 commit into from
Closed

configs: Add several CRYPTO options required by iwd #3748

wants to merge 1 commit into from

Conversation

iamdavidcz
Copy link

See: #3547

@iamdavidcz
Copy link
Author

@pelwell are there any chances that this reaches rpi-5.4.y as fast as this from the original issue? ;)

@pelwell
Copy link
Contributor

pelwell commented Jul 23, 2020

That was to enable a single, tiny module to drive a thermocouple. This is a boat-load of crypto options - a very different prospect. It's on the list.

@pelwell
Copy link
Contributor

pelwell commented Jul 23, 2020

This commit doesn't do what you think it does. Try comparing the .config for a platform with and without this patch - you'll find they are virtually identical.

If you run "make ARCH=arm savedefconfig" (or ARCH=arm64) and compare the file "defconfig" with the respective source file you'll see that most of the options have been removed. Overwriting the _defconfigs in place with their newly saved versions you get:

diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
index d513083..5eaa8be 100644
--- a/arch/arm/configs/bcm2709_defconfig
+++ b/arch/arm/configs/bcm2709_defconfig
@@ -1443,16 +1443,6 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_CBC=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 # CONFIG_CRYPTO_HW is not set
diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig
index 28507dc..8f261ce 100644
--- a/arch/arm/configs/bcm2711_defconfig
+++ b/arch/arm/configs/bcm2711_defconfig
@@ -1482,16 +1482,6 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_CBC=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 # CONFIG_CRYPTO_HW is not set
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
index 8160f46..9631a72 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -1443,7 +1443,6 @@ CONFIG_DLM=m
 # CONFIG_SECURITYFS is not set
 CONFIG_CRYPTO_USER=m
 CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_CTS=m
 CONFIG_CRYPTO_XTS=m
 CONFIG_CRYPTO_XCBC=m
@@ -1452,16 +1451,6 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_CBC=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 # CONFIG_CRYPTO_HW is not set
diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig
index 607be2b..e9eb3a8 100644
--- a/arch/arm64/configs/bcm2711_defconfig
+++ b/arch/arm64/configs/bcm2711_defconfig
@@ -1474,16 +1474,6 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_CBC=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 # CONFIG_CRYPTO_HW is not set
diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig
index 2a23f9c..05459f7 100644
--- a/arch/arm64/configs/bcmrpi3_defconfig
+++ b/arch/arm64/configs/bcmrpi3_defconfig
@@ -1317,16 +1317,6 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_HMAC=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_CBC=m
 CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 CONFIG_CRC_ITU_T=y

Notice the anomaly that bcmrpi_defconfig has CONFIG_CRYPTO_CBC=y. I don't know why that would be.

Comparing this new state with the state before you patch you see the true picture:

diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
index e087265..5eaa8be 100644
--- a/arch/arm/configs/bcm2709_defconfig
+++ b/arch/arm/configs/bcm2709_defconfig
@@ -1443,6 +1443,7 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 # CONFIG_CRYPTO_HW is not set
 CONFIG_CRC_ITU_T=y
diff --git a/arch/arm/configs/bcm2711_defconfig b/arch/arm/configs/bcm2711_defconfig
index 9aeb3aa..8f261ce 100644
--- a/arch/arm/configs/bcm2711_defconfig
+++ b/arch/arm/configs/bcm2711_defconfig
@@ -1482,6 +1482,7 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 # CONFIG_CRYPTO_HW is not set
 CONFIG_CRC_ITU_T=y
diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
index 18e7506..9631a72 100644
--- a/arch/arm/configs/bcmrpi_defconfig
+++ b/arch/arm/configs/bcmrpi_defconfig
@@ -1443,7 +1443,6 @@ CONFIG_DLM=m
 # CONFIG_SECURITYFS is not set
 CONFIG_CRYPTO_USER=m
 CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_CBC=y
 CONFIG_CRYPTO_CTS=m
 CONFIG_CRYPTO_XTS=m
 CONFIG_CRYPTO_XCBC=m
@@ -1452,6 +1451,7 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 # CONFIG_CRYPTO_HW is not set
 CONFIG_CRC_ITU_T=y
diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig
index e8eee34..e9eb3a8 100644
--- a/arch/arm64/configs/bcm2711_defconfig
+++ b/arch/arm64/configs/bcm2711_defconfig
@@ -1474,6 +1474,7 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 # CONFIG_CRYPTO_HW is not set
 CONFIG_CRC_ITU_T=y
diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig
index 0412841..05459f7 100644
--- a/arch/arm64/configs/bcmrpi3_defconfig
+++ b/arch/arm64/configs/bcmrpi3_defconfig
@@ -1317,6 +1317,7 @@ CONFIG_CRYPTO_WP512=m
 CONFIG_CRYPTO_CAST5=m
 CONFIG_CRYPTO_DES=y
 CONFIG_CRYPTO_LZ4=m
+CONFIG_CRYPTO_USER_API_HASH=m
 CONFIG_CRYPTO_USER_API_SKCIPHER=m
 CONFIG_CRC_ITU_T=y
 CONFIG_LIBCRC32C=y

As such it only costs an additional ~13KB per build for algif_hash.ko, which is acceptable.

At the very least I want these files to have been run through savedefconfig, but you might want to rethink.

@iamdavidcz
Copy link
Author

@pelwell Thank you for your detailed explanation. The way make ARCH=arm savedefconfig works is counter-intuitive at the very least. Let's keep CONFIG_CRYPTO_USER_API_HASH then. I'll run savedefconfig and update this PR.

@iamdavidcz
Copy link
Author

@pelwell I will provide a new PR with just CONFIG_CRYPTO_USER_API_HASH=m tomorrow. Thank you again for your help.

@iamdavidcz iamdavidcz closed this Jul 23, 2020
@iamdavidcz iamdavidcz deleted the support-for-iwd branch July 23, 2020 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants