linux-crypto.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] crypto: ccp -- don't "select" CONFIG_DMADEVICES
@ 2020-04-08 16:26 Arnd Bergmann
  2020-04-08 17:00 ` Tom Lendacky
  2020-04-16  6:53 ` Herbert Xu
  0 siblings, 2 replies; 3+ messages in thread
From: Arnd Bergmann @ 2020-04-08 16:26 UTC (permalink / raw)
  To: Tom Lendacky, Herbert Xu, David S. Miller, Gary R Hook
  Cc: Arnd Bergmann, Ard Biesheuvel, Thomas Gleixner,
	Greg Kroah-Hartman, Hook, Gary, Eric Biggers, linux-crypto,
	linux-kernel

DMADEVICES is the top-level option for the slave DMA
subsystem, and should not be selected by device drivers,
as this can cause circular dependencies such as:

drivers/net/ethernet/freescale/Kconfig:6:error: recursive dependency detected!
drivers/net/ethernet/freescale/Kconfig:6:	symbol NET_VENDOR_FREESCALE depends on PPC_BESTCOMM
drivers/dma/bestcomm/Kconfig:6:	symbol PPC_BESTCOMM depends on DMADEVICES
drivers/dma/Kconfig:6:	symbol DMADEVICES is selected by CRYPTO_DEV_SP_CCP
drivers/crypto/ccp/Kconfig:10:	symbol CRYPTO_DEV_SP_CCP depends on CRYPTO
crypto/Kconfig:16:	symbol CRYPTO is selected by LIBCRC32C
lib/Kconfig:222:	symbol LIBCRC32C is selected by LIQUIDIO
drivers/net/ethernet/cavium/Kconfig:65:	symbol LIQUIDIO depends on PTP_1588_CLOCK
drivers/ptp/Kconfig:8:	symbol PTP_1588_CLOCK is implied by FEC
drivers/net/ethernet/freescale/Kconfig:23:	symbol FEC depends on NET_VENDOR_FREESCALE

The LIQUIDIO driver causing this problem is addressed in a
separate patch, but this change is needed to prevent it from
happening again.

Using "depends on DMADEVICES" is what we do for all other
implementations of slave DMA controllers as well.

Fixes: b3c2fee5d66b ("crypto: ccp - Ensure all dependencies are specified")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/crypto/ccp/Kconfig | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/crypto/ccp/Kconfig b/drivers/crypto/ccp/Kconfig
index e0a8bd15aa74..32268e239bf1 100644
--- a/drivers/crypto/ccp/Kconfig
+++ b/drivers/crypto/ccp/Kconfig
@@ -10,10 +10,9 @@ config CRYPTO_DEV_CCP_DD
 config CRYPTO_DEV_SP_CCP
 	bool "Cryptographic Coprocessor device"
 	default y
-	depends on CRYPTO_DEV_CCP_DD
+	depends on CRYPTO_DEV_CCP_DD && DMADEVICES
 	select HW_RANDOM
 	select DMA_ENGINE
-	select DMADEVICES
 	select CRYPTO_SHA1
 	select CRYPTO_SHA256
 	help
-- 
2.26.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] crypto: ccp -- don't "select" CONFIG_DMADEVICES
  2020-04-08 16:26 [PATCH] crypto: ccp -- don't "select" CONFIG_DMADEVICES Arnd Bergmann
@ 2020-04-08 17:00 ` Tom Lendacky
  2020-04-16  6:53 ` Herbert Xu
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Lendacky @ 2020-04-08 17:00 UTC (permalink / raw)
  To: Arnd Bergmann, Herbert Xu, David S. Miller
  Cc: Ard Biesheuvel, Thomas Gleixner, Greg Kroah-Hartman,
	Eric Biggers, linux-crypto, linux-kernel

On 4/8/20 11:26 AM, Arnd Bergmann wrote:
> DMADEVICES is the top-level option for the slave DMA
> subsystem, and should not be selected by device drivers,
> as this can cause circular dependencies such as:
> 
> drivers/net/ethernet/freescale/Kconfig:6:error: recursive dependency detected!
> drivers/net/ethernet/freescale/Kconfig:6:	symbol NET_VENDOR_FREESCALE depends on PPC_BESTCOMM
> drivers/dma/bestcomm/Kconfig:6:	symbol PPC_BESTCOMM depends on DMADEVICES
> drivers/dma/Kconfig:6:	symbol DMADEVICES is selected by CRYPTO_DEV_SP_CCP
> drivers/crypto/ccp/Kconfig:10:	symbol CRYPTO_DEV_SP_CCP depends on CRYPTO
> crypto/Kconfig:16:	symbol CRYPTO is selected by LIBCRC32C
> lib/Kconfig:222:	symbol LIBCRC32C is selected by LIQUIDIO
> drivers/net/ethernet/cavium/Kconfig:65:	symbol LIQUIDIO depends on PTP_1588_CLOCK
> drivers/ptp/Kconfig:8:	symbol PTP_1588_CLOCK is implied by FEC
> drivers/net/ethernet/freescale/Kconfig:23:	symbol FEC depends on NET_VENDOR_FREESCALE
> 
> The LIQUIDIO driver causing this problem is addressed in a
> separate patch, but this change is needed to prevent it from
> happening again.
> 
> Using "depends on DMADEVICES" is what we do for all other
> implementations of slave DMA controllers as well.
> 
> Fixes: b3c2fee5d66b ("crypto: ccp - Ensure all dependencies are specified")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Tom Lendacky <thomas.lendacky@amd.com>

> ---
>   drivers/crypto/ccp/Kconfig | 3 +--
>   1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/crypto/ccp/Kconfig b/drivers/crypto/ccp/Kconfig
> index e0a8bd15aa74..32268e239bf1 100644
> --- a/drivers/crypto/ccp/Kconfig
> +++ b/drivers/crypto/ccp/Kconfig
> @@ -10,10 +10,9 @@ config CRYPTO_DEV_CCP_DD
>   config CRYPTO_DEV_SP_CCP
>   	bool "Cryptographic Coprocessor device"
>   	default y
> -	depends on CRYPTO_DEV_CCP_DD
> +	depends on CRYPTO_DEV_CCP_DD && DMADEVICES
>   	select HW_RANDOM
>   	select DMA_ENGINE
> -	select DMADEVICES
>   	select CRYPTO_SHA1
>   	select CRYPTO_SHA256
>   	help
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] crypto: ccp -- don't "select" CONFIG_DMADEVICES
  2020-04-08 16:26 [PATCH] crypto: ccp -- don't "select" CONFIG_DMADEVICES Arnd Bergmann
  2020-04-08 17:00 ` Tom Lendacky
@ 2020-04-16  6:53 ` Herbert Xu
  1 sibling, 0 replies; 3+ messages in thread
From: Herbert Xu @ 2020-04-16  6:53 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Tom Lendacky, David S. Miller, Gary R Hook, Ard Biesheuvel,
	Thomas Gleixner, Greg Kroah-Hartman, Eric Biggers, linux-crypto,
	linux-kernel

On Wed, Apr 08, 2020 at 06:26:48PM +0200, Arnd Bergmann wrote:
> DMADEVICES is the top-level option for the slave DMA
> subsystem, and should not be selected by device drivers,
> as this can cause circular dependencies such as:
> 
> drivers/net/ethernet/freescale/Kconfig:6:error: recursive dependency detected!
> drivers/net/ethernet/freescale/Kconfig:6:	symbol NET_VENDOR_FREESCALE depends on PPC_BESTCOMM
> drivers/dma/bestcomm/Kconfig:6:	symbol PPC_BESTCOMM depends on DMADEVICES
> drivers/dma/Kconfig:6:	symbol DMADEVICES is selected by CRYPTO_DEV_SP_CCP
> drivers/crypto/ccp/Kconfig:10:	symbol CRYPTO_DEV_SP_CCP depends on CRYPTO
> crypto/Kconfig:16:	symbol CRYPTO is selected by LIBCRC32C
> lib/Kconfig:222:	symbol LIBCRC32C is selected by LIQUIDIO
> drivers/net/ethernet/cavium/Kconfig:65:	symbol LIQUIDIO depends on PTP_1588_CLOCK
> drivers/ptp/Kconfig:8:	symbol PTP_1588_CLOCK is implied by FEC
> drivers/net/ethernet/freescale/Kconfig:23:	symbol FEC depends on NET_VENDOR_FREESCALE
> 
> The LIQUIDIO driver causing this problem is addressed in a
> separate patch, but this change is needed to prevent it from
> happening again.
> 
> Using "depends on DMADEVICES" is what we do for all other
> implementations of slave DMA controllers as well.
> 
> Fixes: b3c2fee5d66b ("crypto: ccp - Ensure all dependencies are specified")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/crypto/ccp/Kconfig | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Patch applied.  Thanks.
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-04-16  6:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-08 16:26 [PATCH] crypto: ccp -- don't "select" CONFIG_DMADEVICES Arnd Bergmann
2020-04-08 17:00 ` Tom Lendacky
2020-04-16  6:53 ` Herbert Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).