[PATCH] image: rsa: Move padding_algos to linker lists

Tom Rini trini at konsulko.com
Wed Sep 15 00:44:20 CEST 2021


On Wed, Aug 18, 2021 at 05:49:02PM -0500, Alexandru Gagniuc wrote:

> We are not guaranteed to have the padding_pkcs_15_verify symbol since
> commit 92c960bc1d ("lib: rsa: Remove #ifdefs from rsa.h"), and
> commit 61416fe9df ("Kconfig: FIT_SIGNATURE should not select RSA_VERIFY")
> 
> The padding_algos only make sense with RSA verification, which can now
> be disabled in lieu of ECDSA. In fact this will lead to build failures
> because of the missing symbol mentioned earlier.
> 
> To resolve this, move the padding_algos to a linker list, with
> declarations moved to rsa_verify.c. This is consistent with commit
> 6909edb4ce ("image: rsa: Move verification algorithm to a linker list")
> 
> One could argue that the added #ifdef USE_HOSTCC is ugly, and should
> be hidden within the U_BOOT_PADDING_ALGO() macro. However, this would
> be inconsistent with the "cryptos" list. This logic for was not
> previously explored:
> 
> Without knowledge of the U_BOOT_PADDING_ALGO() macro, its use is
> similar to something being declared. However, should #ifndef
> USE_HOSTCC be part of the macro, it would not be obvious that it
> behaves differently on host code and target code. Having the #ifndef
> outside the macro makes this obvious.
> 
> Also, the #ifdef is not always necessary. For example ecda-verify
> makes use of U_BOOT_CRYPTO_ALGO() without any accompanying #ifdefs.
> The fundamental issue is a lack of separation of host and target code
> in rsa_verify. Therefore, the declaration of a padding algo with the
> external #ifdef is more readable and consistent.
> 
> Signed-off-by: Alexandru Gagniuc <mr.nuke.me at gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210914/e3ede791/attachment.sig>


More information about the U-Boot mailing list