arm-trusted-firmware/drivers
Sandrine Bailleux a93084be95 build(deps): upgrade to mbed TLS 2.28.0
Upgrade to the latest and greatest 2.x release of Mbed TLS library
(i.e. v2.28.0) to take advantage of their bug fixes.

Note that the Mbed TLS project published version 3.x some time
ago. However, as this is a major release with API breakages, upgrading
to 3.x might require some more involved changes in TF-A, which we are
not ready to do. We shall upgrade to mbed TLS 3.x after the v2.7
release of TF-A.

Actually, the upgrade this time simply boils down to including the new
source code module 'constant_time.c' into the firmware.

To quote mbed TLS v2.28.0 release notes [1]:

  The mbedcrypto library includes a new source code module
  constant_time.c, containing various functions meant to resist timing
  side channel attacks. This module does not have a separate
  configuration option, and functions from this module will be
  included in the build as required.

As a matter of fact, if one is attempting to link TF-A against mbed
TLS v2.28.0 without the present patch, one gets some linker errors
due to missing symbols from this new module.

Apart from this, none of the items listed in mbed TLS release
notes [1] directly affect TF-A. Special note on the following one:

  Fix a bug in mbedtls_gcm_starts() when the bit length of the iv
  exceeds 2^32.

In TF-A, we do use mbedtls_gcm_starts() when the firmware decryption
feature is enabled with AES-GCM as the authenticated decryption
algorithm (DECRYPTION_SUPPORT=aes_gcm). However, the iv_len variable
which gets passed to mbedtls_gcm_starts() is an unsigned int, i.e. a
32-bit value which by definition is always less than 2**32. Therefore,
we are immune to this bug.

With this upgrade, the size of BL1 and BL2 binaries does not appear to
change on a standard sample test build (with trusted boot and measured
boot enabled).

[1] https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.28.0

Change-Id: Icd5dbf527395e9e22c8fd6b77427188bd7237fd6
Signed-off-by: Sandrine Bailleux <sandrine.bailleux@arm.com>
2022-04-25 10:23:52 +02:00
..
allwinner feat(allwinner): apx803: add aldo1 regulator 2022-02-21 16:26:54 +01:00
amlogic Don't return error information from console_flush 2020-10-09 10:21:50 -05:00
arm feat(gic600ae_fmu): enable all GICD, PPI, ITS SMs 2022-04-07 15:21:40 +02:00
auth build(deps): upgrade to mbed TLS 2.28.0 2022-04-25 10:23:52 +02:00
brcm fix: libc: use long for 64-bit types on aarch64 2021-11-08 14:41:17 +00:00
cadence/uart/aarch64 cadence: Change logic in uart driver 2021-01-11 17:28:00 +00:00
cfi/v2m coverity: fix MISRA violations 2020-02-18 10:47:46 -06:00
clk feat(clk): add a minimal clock framework 2021-12-22 13:07:23 +01:00
console Don't return error information from console_flush 2020-10-09 10:21:50 -05:00
coreboot/cbmem_console/aarch64 Don't return error information from console_flush 2020-10-09 10:21:50 -05:00
delay_timer include: move MHZ_TICKS_PER_SEC to utils_def.h 2020-02-20 09:25:45 -08:00
fwu fix(fwu): rename is_fwu_initialized 2022-03-28 09:10:11 +02:00
gpio Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
imx Don't return error information from console_flush 2020-10-09 10:21:50 -05:00
intel/soc/stratix10/io io: change seek offset to signed long long 2020-01-10 21:14:57 +01:00
io fix(mtd): correct types in messages 2022-02-15 18:09:51 +01:00
marvell refactor(drivers/marvell/comphy-3700): rename Clock Source Low value constants 2021-12-09 01:29:13 +01:00
measured_boot/event_log refactor(measured-boot): cleanup Event Log makefile 2022-02-02 16:08:58 +00:00
mentor/i2c Enable -Wlogical-op always 2019-11-19 08:53:21 -06:00
mmc feat(drivers/mmc): boot partition read support 2021-06-04 09:52:37 +02:00
mtd fix(mtd): correct types in messages 2022-02-15 18:09:51 +01:00
nxp fix(nxp-ddr): fix coverity issue 2022-03-29 14:43:12 +08:00
partition feat(partition): add a function to identify a partition by GUID 2022-01-27 18:09:02 +05:30
rambus drivers/rambus: add TRNG-IP-76 driver 2021-02-11 09:43:18 +00:00
renesas feat(plat/rcar3): modify type for Internal function argument 2021-12-12 13:07:06 +01:00
rpi3 rpi3: gpio: Simplify GPIO setup 2020-03-17 12:44:09 +00:00
scmi-msg fix(scmi): use same type for message_id 2022-03-17 12:48:18 +08:00
st feat(st-sdmmc2): allow compatible to be defined in platform code 2022-03-22 09:09:23 +01:00
synopsys Merge changes from topic "jc/shift-overflow" into integration 2019-07-16 10:11:27 +00:00
ti/uart Don't return error information from console_flush 2020-10-09 10:21:50 -05:00
ufs fix(ufs): move nutrs assignment to ufs_init 2022-03-16 09:12:44 +05:30
usb fix(usb): correct type in message 2022-02-15 18:09:51 +01:00