Skip to contentSkip to conversation

mac802154: select CRYPTO when needed

PATCH In review Arnd Bergmann 3 participants 3 messages May 19, 2015

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mac802154: select CRYPTO when needed

The mac802154 subsystem uses functions from the crypto layer and correctly selects the individual crypto algorithms, but fails to build when the crypto layer is disabled altogether:

crypto/built-in.o: In function `crypto_ctr_free':
:(.text+0x80): undefined reference to crypto_drop_spawn' crypto/built-in.o: In function crypto_rfc3686_free':
:(.text+0xac): undefined reference to crypto_drop_spawn' crypto/built-in.o: In function crypto_ctr_crypt':
:(.text+0x2f0): undefined reference to blkcipher_walk_virt_block' :(.text+0x2f8): undefined reference to crypto_inc'

To solve that, this patch also selects the core crypto code, like all other users of that code do.

---
Found in ARM randconfig testing

net/mac802154/Kconfig +1 -0
index aa462b480a39..b355989c63b3 100644
@@ -1,6 +1,7 @@
 config MAC802154
 	tristate "Generic IEEE 802.15.4 Soft Networking Stack (mac802154)"
 	depends on IEEE802154
+	select CRYPTO
 	select CRC_CCITT
 	select CRYPTO_AUTHENC
 	select CRYPTO_CCM
Reviewed-by on v1 1/1
#1 lore raw

Hello.

Quoted 24 lines · Arnd Bergmann

The mac802154 subsystem uses functions from the crypto layer and correctly selects the individual crypto algorithms, but fails to build when the crypto layer is disabled altogether:

crypto/built-in.o: In function `crypto_ctr_free':
:(.text+0x80): undefined reference to crypto_drop_spawn' crypto/built-in.o: In function crypto_rfc3686_free':
:(.text+0xac): undefined reference to crypto_drop_spawn' crypto/built-in.o: In function crypto_ctr_crypt':
:(.text+0x2f0): undefined reference to blkcipher_walk_virt_block' :(.text+0x2f8): undefined reference to crypto_inc'

To solve that, this patch also selects the core crypto code, like all other users of that code do.

---
Found in ARM randconfig testing

net/mac802154/Kconfig +0 -0
index aa462b480a39..b355989c63b3 100644

net/mac802154/Kconfig line 7

Quoted 7 lines
net/mac802154/Kconfig +1 -0
@@ -1,6 +1,7 @@
  config MAC802154
  	tristate "Generic IEEE 802.15.4 Soft Networking Stack (mac802154)"
  	depends on IEEE802154
+	select CRYPTO
  	select CRC_CCITT
  	select CRYPTO_AUTHENC
  	select CRYPTO_CCM

Good point. I thought that would have been pulled in by CRYPTO_* automatically. Nicely spotted.

regards
Stefan Schmidt

#2 lore raw
In reply to Arnd Bergmann

Hi Arnd,

Quoted 12 lines

The mac802154 subsystem uses functions from the crypto layer and correctly selects the individual crypto algorithms, but fails to build when the crypto layer is disabled altogether:

crypto/built-in.o: In function `crypto_ctr_free':
:(.text+0x80): undefined reference to crypto_drop_spawn' crypto/built-in.o: In function crypto_rfc3686_free':
:(.text+0xac): undefined reference to crypto_drop_spawn' crypto/built-in.o: In function crypto_ctr_crypt':
:(.text+0x2f0): undefined reference to blkcipher_walk_virt_block' :(.text+0x2f8): undefined reference to crypto_inc'

Quoted 4 lines

To solve that, this patch also selects the core crypto code, like all other users of that code do.

patch has been applied to bluetooth-next tree.

Regards

Marcel