u-boot/common
Alexandru Gagniuc de41f0ee0d image: rsa: Move padding_algos to linker lists
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@gmail.com>
2021-09-14 11:46:48 -04:00
..
eeprom SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
init bootstage: Eliminate when not enabled 2021-07-07 10:17:54 -04:00
spl common/spl: Drop [ST]PL_HASH_SUPPORT in favor of [ST]PL_HASH 2021-09-08 16:11:46 -04:00
android_ab.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
autoboot.c sandbox: Reduce keyed autoboot delay 2021-08-01 09:05:24 -06:00
avb_verify.c avb: Fix error when partition not found 2021-03-17 12:50:19 -04:00
bedbug.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
bloblist.c bloblist: Correct condition in bloblist_addrec() 2021-07-21 10:27:34 -06:00
board_f.c i2c: Rename CONFIG_SYS_I2C to CONFIG_SYS_I2C_LEGACY 2021-07-28 14:29:37 -04:00
board_info.c board-info: Call sysinfo_detect() before sysinfo_get_str() 2021-07-14 16:48:00 -04:00
board_r.c common: board_r: support enable_caches for RISC-V 2021-09-07 10:34:29 +08:00
boot_fit.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
bootm.c bootm: Skip command-line substitution if !CONFIG_CMDLINE 2021-03-27 15:04:31 +13:00
bootm_os.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
bootretry.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
bootstage.c bootstage: Warning if space is exhausted 2021-03-27 15:04:31 +13:00
bouncebuf.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
cli.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cli_hush.c cli: slighly more clear error messages 2021-05-17 17:06:42 -04:00
cli_readline.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cli_simple.c cli: Support macro processing with a fixed-size buffer 2020-12-04 16:10:01 -05:00
command.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
common_fit.c common: fit: Add weak board_fit_config_name_match 2021-04-14 15:23:01 -04:00
console.c test: add first autoboot unit tests 2021-07-23 13:36:20 -04:00
cros_ec.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ddr_spd.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfu.c dfu: add support for the dfu_alt_info reintialization from the flashed script 2021-01-31 14:08:56 +01:00
dlmalloc.c malloc: add SPDX license identifiers 2021-06-23 08:45:03 -04:00
dlmalloc.src Consolidate bool type 2013-04-01 16:33:52 -04:00
edid.c common: edid: Search for valid timing in extension block 2021-04-24 13:44:47 +02:00
exports.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
fdt_region.c fdt_region: Check for a single root node of the correct name 2021-02-15 19:17:18 -05:00
fdt_support.c fdt_support: Add kernel-doc for fdt_fixup_memory_banks() 2021-08-26 08:08:11 +02:00
flash.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
hash.c common: Move MD5 hash to hash_algo[] array. 2021-09-08 16:11:46 -04:00
hwconfig.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
image-android-dt.c common: image-android-dt: Fix logic in print fdt info routine 2019-08-07 15:31:05 -04:00
image-android.c image: android: Automatically detect more compression types 2021-07-15 19:06:49 -04:00
image-cipher.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
image-fdt.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
image-fit-sig.c fit: Fix verification of images with external data 2021-08-04 15:57:13 -04:00
image-fit.c image: Drop if/elseif hash selection in calculate_hash() 2021-09-08 16:12:09 -04:00
image-sig.c image: rsa: Move padding_algos to linker lists 2021-09-14 11:46:48 -04:00
image.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
iomux.c IOMUX: Fix buffer overflow in iomux_replace_device() 2021-04-27 08:05:30 -04:00
iotrace.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
kallsyms.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
Kconfig pci: Drop DM_PCI 2021-09-13 18:23:13 -04:00
Kconfig.boot image: Drop if/elseif hash selection in calculate_hash() 2021-09-08 16:12:09 -04:00
kgdb.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
kgdb_stubs.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
lcd.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
lcd_console.c global: Convert simple_strtoul() with decimal to dectoul() 2021-08-02 13:32:14 -04:00
lcd_console_rotation.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lcd_simplefb.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
log.c log: Add support for logging a buffer 2021-06-08 11:39:09 -04:00
log_console.c log: Allow padding of the function name 2021-07-21 10:27:35 -06:00
log_syslog.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
lynxkdi.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
main.c efi_loader: capsule: add capsule_on_disk support 2020-12-03 21:22:49 +01:00
Makefile common/spl: Drop [ST]PL_HASH_SUPPORT in favor of [ST]PL_HASH 2021-09-08 16:11:46 -04:00
malloc_simple.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
memsize.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
menu.c menu: add support for client defined statusline function 2020-05-07 09:01:42 -04:00
miiphyutil.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
qfw.c x86: qemu: move QFW to its own uclass 2021-04-12 17:44:55 -04:00
s_record.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
scp03.c common: SCP03 control (enable and provision of keys) 2021-03-13 13:14:52 -05:00
splash.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
splash_source.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
stackprot.c Add support for stack-protector 2021-04-20 07:31:12 -04:00
stdio.c i2c: Rename CONFIG_SYS_I2C to CONFIG_SYS_I2C_LEGACY 2021-07-28 14:29:37 -04:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c global: Convert simple_strtoul() with hex to hextoul() 2021-08-02 13:32:14 -04:00
usb.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
usb_hub.c usb: hub: Fix usb_get_port_status() for big-endian platforms 2021-04-06 16:38:57 +02:00
usb_kbd.c usb: kbd: Also accept keyboards with Interrupt OUT endpoint 2021-02-26 15:30:55 +01:00
usb_storage.c Xilinx changes for v2021.04 2021-01-06 07:57:33 -05:00
xyzModem.c common: rename getc() to getchar() 2020-10-22 09:54:53 -04:00