Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DNM: Entropy generator loop fix #2464

Open
wants to merge 7,186 commits into
base: main
Choose a base branch
from

Conversation

frkv
Copy link
Contributor

@frkv frkv commented Feb 5, 2025

Just for testing

@NordicBuilder
Copy link
Contributor

NordicBuilder commented Feb 5, 2025

The following west manifest projects have been modified in this Pull Request:

Name Old Revision New Revision Diff
cmsis-dsp zephyrproject-rtos/cmsis-dsp@6489e77 (zephyr-3.6) zephyrproject-rtos/cmsis-dsp@d80a49b (zephyr-4.0) zephyrproject-rtos/[email protected]
cmsis_6 N/A zephyrproject-rtos/CMSIS_6@783317a (main) N/A
hal_adi zephyrproject-rtos/hal_adi@de5dadb zephyrproject-rtos/hal_adi@b1a1023 zephyrproject-rtos/[email protected]
hal_ambiq zephyrproject-rtos/hal_ambiq@df4a986 zephyrproject-rtos/hal_ambiq@87a188b zephyrproject-rtos/[email protected]
hal_espressif zephyrproject-rtos/hal_espressif@aa6a967 zephyrproject-rtos/hal_espressif@e523710 zephyrproject-rtos/[email protected]
hal_ethos_u zephyrproject-rtos/hal_ethos_u@8e2cf75 zephyrproject-rtos/hal_ethos_u@50ddffc (main) zephyrproject-rtos/[email protected]
hal_infineon zephyrproject-rtos/hal_infineon@88d2529 zephyrproject-rtos/hal_infineon@a9b75e0 zephyrproject-rtos/[email protected]
hal_intel zephyrproject-rtos/hal_intel@0905a52 zephyrproject-rtos/hal_intel@0355bb8 (main) zephyrproject-rtos/[email protected]
hal_nordic zephyrproject-rtos/hal_nordic@fae1542 zephyrproject-rtos/hal_nordic@ecea8cd zephyrproject-rtos/[email protected]
hal_nxp zephyrproject-rtos/hal_nxp@f4e26fa zephyrproject-rtos/hal_nxp@0ac8302 zephyrproject-rtos/[email protected]
hal_renesas zephyrproject-rtos/hal_renesas@1ec8891 zephyrproject-rtos/hal_renesas@64fce2e zephyrproject-rtos/[email protected]
hal_rpi_pico zephyrproject-rtos/hal_rpi_pico@fba7162 zephyrproject-rtos/hal_rpi_pico@79ee0f9 zephyrproject-rtos/[email protected]
hal_silabs zephyrproject-rtos/hal_silabs@4c813a1 zephyrproject-rtos/hal_silabs@6371fa8 zephyrproject-rtos/[email protected]
hal_st zephyrproject-rtos/hal_st@b2f548f zephyrproject-rtos/hal_st@05fd453 (master) zephyrproject-rtos/[email protected]
hal_stm32 zephyrproject-rtos/hal_stm32@c4099c2 zephyrproject-rtos/hal_stm32@3784237 zephyrproject-rtos/[email protected]
hal_tdk N/A zephyrproject-rtos/hal_tdk@e0ade95 N/A
hal_wch N/A zephyrproject-rtos/hal_wch@1de9d3e (main) N/A
hal_wurthelektronik zephyrproject-rtos/hal_wurthelektronik@e5bcb2e zephyrproject-rtos/hal_wurthelektronik@e3e2797 (zephyr) zephyrproject-rtos/[email protected]
hal_xtensa zephyrproject-rtos/hal_xtensa@a2d6585 zephyrproject-rtos/hal_xtensa@baa56aa zephyrproject-rtos/[email protected]
hostap zephyrproject-rtos/hostap@4428531 zephyrproject-rtos/hostap#76 zephyrproject-rtos/hostap#76/files
liblc3 zephyrproject-rtos/liblc3@1a5938e zephyrproject-rtos/liblc3@bb85f7d (main) zephyrproject-rtos/[email protected]
libmetal zephyrproject-rtos/libmetal@a6851ba zephyrproject-rtos/libmetal@3e8781a (main) zephyrproject-rtos/[email protected]
lvgl zephyrproject-rtos/lvgl@2b498e6 zephyrproject-rtos/lvgl@6decbb7 zephyrproject-rtos/[email protected]
mbedtls zephyrproject-rtos/mbedtls@fb36f3f zephyrproject-rtos/mbedtls@4952e13 (zephyr) zephyrproject-rtos/[email protected]
mcuboot zephyrproject-rtos/mcuboot@e890df7 zephyrproject-rtos/mcuboot@a2bc982 zephyrproject-rtos/[email protected]
nanopb zephyrproject-rtos/nanopb@4474bd3 zephyrproject-rtos/nanopb@7307ce3 (master) zephyrproject-rtos/[email protected]
nrf_wifi zephyrproject-rtos/nrf_wifi@f6b950a zephyrproject-rtos/nrf_wifi@0f53c9e zephyrproject-rtos/[email protected]
open-amp zephyrproject-rtos/open-amp@b735edb zephyrproject-rtos/open-amp@52bb178 (main) zephyrproject-rtos/[email protected]
percepio zephyrproject-rtos/percepio@b68d179 zephyrproject-rtos/percepio@0d44033 zephyrproject-rtos/[email protected]
picolibc zephyrproject-rtos/picolibc@27746bb zephyrproject-rtos/picolibc@82d62ed (zephyr-no-lto) zephyrproject-rtos/[email protected]
segger zephyrproject-rtos/segger@b011c45 zephyrproject-rtos/segger@cf56b1d (master) zephyrproject-rtos/[email protected]
sof zephyrproject-rtos/sof@0e4c4ef zephyrproject-rtos/sof@bc08c9c (zephyr) zephyrproject-rtos/[email protected]
tf-m-tests zephyrproject-rtos/tf-m-tests@d552e4f zephyrproject-rtos/tf-m-tests@502ea90 (main,v3.7-branch) zephyrproject-rtos/[email protected]
trusted-firmware-m zephyrproject-rtos/trusted-firmware-m@a11cd27 zephyrproject-rtos/trusted-firmware-m@fa020a8 zephyrproject-rtos/[email protected]
zcbor zephyrproject-rtos/zcbor@47f34dd zephyrproject-rtos/zcbor@9b07780 (main) zephyrproject-rtos/[email protected]
zephyr-lang-rust N/A zephyrproject-rtos/zephyr-lang-rust@7af3db4 (v4.0-branch) N/A

Note: This message is automatically posted and updated by the Manifest GitHub Action.

jhedberg and others added 25 commits February 5, 2025 16:19
Mention the removed prompt for BT_ECC in the migration guide, and also add
a note about the removed HCI emulation layer to the release notes.

Signed-off-by: Johan Hedberg <[email protected]>
(cherry picked from commit b3c6151679cfe333625198d465ad4e5952d53b81)
…got deprecated

This is a follow-up to commit 8cfad44.

Replace the deprecated BT_LE_ADV_CONN macro with BT_LE_ADV_CONN_FAST_2.

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit f930739acf8586e9e27ebf20bbe4df6189d348d3)
-liblc3 added a library-internal path to zephyr_interface containing
 a file that collides with common.h required e.g. by Mbed TLS
 This commit fixes build-issues by making this include-folder
 PRIVATE to the named library liblc3

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
(cherry picked from commit 2ca64a3449c3e4b6fd457a0e15c8f3a1af5de337)
-Mbed TLS requires common.h to build. The sample provides common.h
 in sample folder level but included the path to zephyr_interface.
 This commit changes the include to be sample-specific

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
(cherry picked from commit 627d2f971db7a7e09be63518e43dd74a0b4e4f2f)
…rm_zeroize

-Adding explicit include for mbedtls/platform_util.h to get acces
 to mbedtls_platform_zeroize in ITS. Somehow not visibile in Zephyr but
 it caused build issues in nRF Connect SDK.

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
(cherry picked from commit 202c2c41ab90ab961c60f39bde68aa36bf12f562)
…he boards

Bring the change that was already in place for the qemu_cortex_m3 board
to all the other ones, since also nrf52840 had a similar problem
(see issue #82812).

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 9d0b1248caebcc3d25b9b548702d42ed058959e2)
The BT Host module also uses import/export PSA functions alongside the
generate one, so these PSA_WANT should be added as well.

Previously it happened to work only because Mbed TLS is enabling
IMPORT/EXPORT internally whenever GENERATE/DERIVE is set. However the
same might not be true for all PSA Crypto providers.

Signed-off-by: Valerio Setti <[email protected]>
(cherry picked from commit 222f8d87b546c5e91ce132449b4fd41d55ed7207)
There's no point building the sample for platforms that do not support
networking, hence add netif dependency to reduce the CI execution
scope.

Signed-off-by: Robert Lubos <[email protected]>
(cherry picked from commit 3df9b5f87340fc5f8d37ba65ff00f17b18a545b6)
Refactors the code to avoid 'unused variable' warning
that is problematic for some builds.

Signed-off-by: Piotr Koziar <[email protected]>
(cherry picked from commit 8f83ffc302dec61a06418efa317336016e820c65)
This is a follow-up to commit 12eee61.

Explicitly enable "PSA_WANT_ALG_ECB_NO_PADDING" to select the AES ECB
mode that it is used in CMAC operation.

This is done because CMAC uses AES-ECB, so both AES and ECB must
be explicitly enabled. Previously it worked because Mbed TLS is
not currently performing any check internally on this and it's
just enabling ECB automatically.

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit dff78b4813e8fffd28c552b66abb8c656c990a28)
Define HSFLL120 clock.

Signed-off-by: Gerard Marull-Paretas <[email protected]>
(cherry picked from commit 332a335)
Due to a copy-paste error, it duplicated `ttgo_lora32/esp32/procpu`.
Also, remove the `lora` tag, as it seems to be omitted from devicetree.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit c074661de91b7ee17b6450d5e34b0e4fe0ee6ce1)
…rver

The unicast server does not need GATT caching and it was likely
incorrectly added earlier as a dependency.

Upstream PR #: 84232

Signed-off-by: Emil Gydesen <[email protected]>
… updates

-Update hostap to PR nrfconnect#76 which adds support for
 CONFIG_MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG instead of relying on legacy
 Mbed TLS ctr_drbg and entropy APIs. This change is in line with
 PSA crypto entropy changes in Zephyr happening with TinyCrypt
 deprecation and advancement of PSA crypto mechanisms
-Remove defconfigs for currently sets the Kconfigs:
 -CONFIG_MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
 -CONFIG_MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG_ALLOW_NON_CSPRNG

Upstream PR #: 84517

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
…endencies

-PSA_WANT_ALG_CMAC must be set for PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128
 to be valid. This commit fixes this mismatch for hostap

Upstream PR #: 84517

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
…nfigurations

-Mbed TLS has come up with its own naming-convention with regards
 to certain Mbed TLS configurations for TLS/DTLS and X.509. This
 commit fixes a couple of them by depending on MBEDTLS_BUILTIN
 which is set when Kconfig.tls-generic is used
 1. Make MBEDTLS_PEM_CERTIFICATE_FORMAT depend on MBEDTLS_BUILTIN
    The proper name for this functionaity is MBEDTL_PEM_PARSE_C and
    MBEDTLS_PEM_WRITE_C
 2. Make MBEDTLS_SERVER_NAME_INDICATION depend on MBEDTLS_BUILTIN
    The proper name for this is MBEDTLS_SSL_SERVER_NAME_INDICATION

Upstream PR #: 84517

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
nRF boards have a ROM crunch esp. with combined with Matter/networking
features, as the advanced features are not essential for typical Wi-Fi
operation, disable them by default. Individual samples can choose to
enable it.

Upstream PR #: 84940

Signed-off-by: Chaitanya Tata <[email protected]>
Problem
-------

Board & SoC extensions are used to define out-of-tree board variants or
SoC qualifiers. When a board is extended, it has multiple directories
associated with it (each with its own `board.yml`), where twister should
be able to find additional platform files to support these qualifiers.
Currently, this doesn't work, because twister only traverses the primary
BOARD_DIR and ignores the rest.

The fix would've been trivial in the case of "legacy" platform files,
i.e. those of the form `<normalized_board_target>.yaml`, but it's less
straightforward for the newly introduced `twister.yaml` format.

A `twister.yaml` file contains platform configuration that can be shared
by multiple board targets and tweaked for specific targets by using the
top-level `variants` key. Normally, there is at most one `twister.yaml`
per board, but the file isn't necessarily unique to one board. Instead,
it's unique to one directory, which may define multiple boards (as is
the case with e.g. `boards/qemu/x86/`).

With extensions in the picture, the goal is to initialize platforms when
given multiple `twister.yaml` per board. The OOT files are expected to
only provide information about OOT board targets, without being able to
override in-tree targets (same principle as in the Zephyr build system).

Solution
--------

Scanning for `twister.yaml` is broken up into multiple passes - first
loading all the files, then splitting the `variants` keys apart from the
shared configuration, before constructing the Platform instances.

The purpose of the split is to treat the variant information as global,
instead of making unnecessary or faulty assumptions about locality.
Remember that the build system can derive board target names not only
from `board.yml`, but from `soc.yml` too. Considering that any board may
end up using an OOT-extended SoC (and hence multiple `soc.yml` files),
not every board target can be said to belong to some board dir.

Unlike the variant data, the remaining top-level config is still rooted
to the primary BOARD_DIR and inherited by the extension dirs from there.
This is quite intuitive in most imagined cases, but there is a caveat:
if a `twister.yaml` resides in an extension dir, then it is allowed to
have a top-level config of its own, but it will be silently ignored.
This is to support corner cases where, much like how a single board dir
can define multiple boards, a single board dir can also extend multiple
boards, or even do both. In those cases, the primary BOARD_DIR rule
should make it unambiguous which config belongs to which board, even if
it may seem counter-intuitive at first.

Upstream PR #: 84975

Signed-off-by: Grzegorz Swiderski <[email protected]>
test_k_workqueue_stop uses an uninitialized variable, causing
sporadic test failures.

Signed-off-by: Robin Kastberg <[email protected]>
(cherry picked from commit 75daa43)
Non-secure variants for nRF7002 DK were removed from upstream
in commit 10d4973. Revert these
changes downstream, so that the NS variants are still available.

Signed-off-by: Andrzej Głąbek <[email protected]>
…en built-in in PSA"

This reverts commit ac6d834.

Temporarily revert an upstream change that leads to a Kconfig dependency
loop with MBEDTLS_CIPHER_AES_ENABLED. This is supposed to be replaced
with a better fix later.

Signed-off-by: Andrzej Głąbek <[email protected]>
This test cannot be executed with the SDFW Service Framework client
started, so disable its initialization.

Signed-off-by: Andrzej Głąbek <[email protected]>
The BT_DRIVERS symbol default value 'y' used to depend on !BT_CTLR
but now it is always on when BT is set. For BT_RPC the BT_DRIVERS
symbol must not be enabled on the client side as no driver is used.

The temporary solution is to set BT_DRIVERS to 'y' by default only when
BT_HCI stack selection is enabled. It will be 'n' when BT_RPC_STACK
is enabled. The fix should be fine as NCS uses either HCI or RPC stack.

Signed-off-by: Michał Grochala <[email protected]>
noup because it's about partition manager.

Fix the build of secure_storage.psa.its.secure_storage.store.zms on
nrf54l15dk/nrf54l15/cpuapp by disabling partition manager, which is
incompatible with the ZMS implementation of the ITS store module.

Disabling it only for that test as it's not needed for the others
and even makes the NS board targets fail if disabling PM.

Signed-off-by: Tomi Fontanilles <[email protected]>
-Adding imply MBEDTLS_CIPHER_AES_ENABLED if not TF-M build
 in BT_CRYPTO
-Needed to set a specific symbol for MBEDTLS + MBEDTLS_BUILTIN
 to work on network core build.
-This [nrf noup] can be removed once PSA crypto is fully
 supported in network core, or PSA crypto is not compiled in at all
 and is provided as a RPC-mechanism via the app-core

Signed-off-by: Frank Audun Kvamtrø <[email protected]>
@frkv frkv force-pushed the entropy_generator_loop_fix branch from f5fb6bc to 48587e8 Compare February 6, 2025 08:41
Set CONFIG_TFM_PROFILE_TYPE_MEDIUM for boards with TF-M to enable
ITS and PS.

Enable CONFIG_PSA_WANT_GENERATE_RANDOM to fix persistent_key
tests when TF-M is used.

native_sim target needs CONFIG_PSA_WANT_ALG_ECB_NO_PADDING.

Skip checking of private_reserved field in psa_key_attributes if
present.

Increase maximum ITS asset size.

Signed-off-by: Juha Ylinen <[email protected]>
Signed-off-by: Frank Audun Kvamtrø <[email protected]>
Set CONFIG_TFM_PROFILE_TYPE_MEDIUM for boards with TF-M to enable
ITS and PS.

Enable CONFIG_PSA_WANT_GENERATE_RANDOM to fix persistent_key
sample.

native_sim requires ECB cipher to be enabled.

Signed-off-by: Juha Ylinen <[email protected]>
Signed-off-by: Frank Audun Kvamtrø <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment