nuttx/arch/arm
Ricard Rosson 2330e39546 arch/arm/rp23xx: harden the TRNG against health-test failures
The TRNG driver waited for EHR_VALID and copied the block out without
checking the CryptoCell health-test result, so a sample that failed the
on-chip von-Neumann, CRNGT or autocorrelation test was served as entropy.

Check RNG_ISR before consuming a block: on a health-test error, discard
the block and re-arm the source; only a block that passed is returned.
Add a small startup self-test that draws a few conditioned blocks and, if
the source is stuck (identical blocks), latches /dev/random and /dev/urandom
to fail with -EIO rather than emit predictable output that would silently
weaken every derived key.

Builds on the driver added in 52e84e0c0a.

Signed-off-by: Ricard Rosson <ricard@groundbits.com>
Assisted-by: Claude (Anthropic Claude Code)
Signed-off-by: Ricard Rosson <ricard@groundbits.com>
2026-07-28 02:46:02 +08:00
..
include arch/arm: add Realtek RTL8721Dx and RTL8720F (Ameba WHC) support 2026-07-01 09:18:06 -03:00
src arch/arm/rp23xx: harden the TRNG against health-test failures 2026-07-28 02:46:02 +08:00
CMakeLists.txt arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
Kconfig rp23xx: Add tickless OS support using the RP2350 hardware TIMER. 2026-07-25 12:58:40 -03:00