The RSA public key algorithm needs to select MPILIB directly in Kconfig as the
'select' directive is not recursive and is thus MPILIB is not enabled by
selecting MPILIB_EXTRA.

Without this, the following errors can occur:

        crypto/built-in.o: In function `RSA_verify_signature':
        rsa.c:(.text+0x1d347): undefined reference to `mpi_get_nbits'
        rsa.c:(.text+0x1d354): undefined reference to `mpi_get_nbits'
        rsa.c:(.text+0x1d36e): undefined reference to `mpi_cmp_ui'
        rsa.c:(.text+0x1d382): undefined reference to `mpi_cmp'
        rsa.c:(.text+0x1d391): undefined reference to `mpi_alloc'
        rsa.c:(.text+0x1d3b0): undefined reference to `mpi_powm'
        rsa.c:(.text+0x1d3c3): undefined reference to `mpi_free'
        rsa.c:(.text+0x1d3d8): undefined reference to `mpi_get_buffer'
        rsa.c:(.text+0x1d4d4): undefined reference to `mpi_free'
        rsa.c:(.text+0x1d503): undefined reference to `mpi_get_nbits'

Reported-by: Randy Dunlap <[email protected]>
Signed-off-by: David Howells <[email protected]>
Acked-by: Randy Dunlap <[email protected]>
---

 crypto/asymmetric_keys/Kconfig |    1 +
 1 file changed, 1 insertion(+)

diff --git a/crypto/asymmetric_keys/Kconfig b/crypto/asymmetric_keys/Kconfig
index 82e7d6b0c276..03a6eb95ab50 100644
--- a/crypto/asymmetric_keys/Kconfig
+++ b/crypto/asymmetric_keys/Kconfig
@@ -23,6 +23,7 @@ config ASYMMETRIC_PUBLIC_KEY_SUBTYPE
 config PUBLIC_KEY_ALGO_RSA
        tristate "RSA public-key algorithm"
        select MPILIB_EXTRA
+       select MPILIB
        help
          This option enables support for the RSA algorithm (PKCS#1, RFC3447).
 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to