Skip to content

Release candidate for mbed-os-5.11.5 #9805

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

Merged
merged 109 commits into from
Feb 25, 2019
Merged

Release candidate for mbed-os-5.11.5 #9805

merged 109 commits into from
Feb 25, 2019

Conversation

cmonr
Copy link
Contributor

@cmonr cmonr commented Feb 21, 2019

No description provided.

kjbracey and others added 30 commits February 21, 2019 14:25
Like all HAL APIs, the calls in trng_api.h are not expected to
be thread-safe.

All current accesses to the TRNG HAL are currently via
`mbedtls_hardware_poll`.  Mbed TLS does not currently serialise these
calls itself, as `MBEDTLS_THREADING_C` is not enabled. But even if
Mbed TLS's own accesses were serialised, there are other direct
users of `mbedtls_hardware_poll` such as randLIB, that need to use
direct calls due to lack of API to extract entropy from Mbed TLS.

As such it makes sense to treat `mbedtls_hardware_poll` as a de facto
public Mbed OS API, akin to the C++ veneers on top of the HAL, and add a
PlatformMutex there so that it is safe for multithreaded use.
Use PSA_NON_SECURE_ROM_START configuration value instead of hardcoded CY_CORTEX_M4_APPL_ADDR.
1. Removed random i/o glitches occurring during device reconfiguration
2. Fixed hazardous reads occurring at the end of transfer resulting
   in incorrect values being received
3. Added spi_free() function
4. Replaced default M0 image with a one ignoring i/o reservation. This is
   a workaround for missing proper destructors in Mbed drivers and BlockDevice
   tests failing on repeated initialization
Fixes issue #9620.
When building secure targets, we would like compile only files that are in the the mbe-os root folder.
This Fixes an issue when sending multiple --source parameters that are all inside the mbed-os tree
Previously, the CryptoToolbox was allocated once as part of the security manager.
This was inneficient memory wise as it is only use to prepare key at initialization
and when we need to compute shared keys.
This was also inneficient power consumption wise as the Crypto cell was kept enabled even
when it wasn't used.

This fix creates a CryptoToolbox whenever it is needed and release it once it has fulfilled its
purpose. Note that CryptoToolbox allocation happens on the heap as mbed tls data structure are huge
and there's an high risk of crushing the stack.
In case mbedtls fails to execute handshake advertising
MBEDTLS_ERR_SSL_WANT_READ or MBEDTLS_ERR_SSL_WANT_WRITE,
TLSSocketWrapper::continue_handshake returns NSAPI_ERROR_WOULD_BLOCK.
…nt have to change each run, just be unique. Because address seeds repeat themselves each run, rand() will produce repeating results that should not collide between different threads.
Port of NUC472/M487 crypto AC mgmt work to M2351:
1. Choose mutex to synchronize access to crypto non-SHA AC
2. Choose atomic flag to synchronize access to crypto SHA AC
Fix the following warning seen when built with GCC_ARM with mbed-cli v1.8.3

$ mbed compile -c -t GCC_ARM -m K64F
<snip>
[Warning] QUECTEL_M26_CellularStack.cpp@364,9: variable 'sent_acked' set but not used [-Wunused-but-set-variable]
<snip>
Fixes a bug where after dropping bad packets receiver doesn't restore
the socket back to non-blocking state as it's supposed to.
Test case is allowed to take not more than a half what has been given
to the whole UDP suite.

UDP test cases reorganized so that the longest running ones are
executed last.
@cmonr
Copy link
Contributor Author

cmonr commented Feb 21, 2019

CI started

@cmonr
Copy link
Contributor Author

cmonr commented Feb 21, 2019

@JanneKiiskila Please review and OK when able.

@mbed-ci
Copy link

mbed-ci commented Feb 21, 2019

Test run: FAILED

Summary: 3 of 8 test jobs failed
Build number : 1
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_build-IAR
  • jenkins-ci/mbed-os-ci_build-ARM
  • jenkins-ci/mbed-os-ci_build-GCC_ARM

@cmonr
Copy link
Contributor Author

cmonr commented Feb 22, 2019

Reverted PR: #9616 (comment)

@cmonr
Copy link
Contributor Author

cmonr commented Feb 22, 2019

CI restarted

@mbed-ci
Copy link

mbed-ci commented Feb 22, 2019

Test run: FAILED

Summary: 3 of 8 test jobs failed
Build number : 2
Build artifacts

Failed test jobs:

  • jenkins-ci/mbed-os-ci_build-IAR
  • jenkins-ci/mbed-os-ci_build-GCC_ARM
  • jenkins-ci/mbed-os-ci_build-ARM

@cmonr cmonr force-pushed the release-candidate branch from ab03bcd to f5eb87c Compare February 22, 2019 03:46
@cmonr
Copy link
Contributor Author

cmonr commented Feb 22, 2019

CI restarted.
Had to revert a couple more PRs to get the F411 to compile locally

@cmonr
Copy link
Contributor Author

cmonr commented Feb 22, 2019

@ARMmbed/mbed-os-psa Please review.

Had to revert hte following PRs to get a locall F411 build to pass:

@mbed-ci
Copy link

mbed-ci commented Feb 22, 2019

Test run: SUCCESS

Summary: 12 of 12 test jobs passed
Build number : 3
Build artifacts

@0xc0170
Copy link
Contributor

0xc0170 commented Feb 22, 2019

@ARMmbed/mbed-os-psa Please review.

I've left comments in the PRs that they moved to 5.12. Not certain why but might be some dependancy. All of these should be fine for 5.12. But we should rather wait for psa team to confirm.

@orenc17
Copy link
Contributor

orenc17 commented Feb 22, 2019

@Patater could you confirm that the target configuration is fine?

@Patater
Copy link
Contributor

Patater commented Feb 22, 2019

I had a look at targets.json between 5.11.0 and 5.11.5.

  • The label PSA was added to F411RE in a patch release, but no other PSA APIs like Crypto. The only benefit I see this having is enabling PSA ITS for this target. The FLASHIAP component was also added to this target in a patch release.
  • The label PSA was added to K66F, F429ZI, UBLOX_EVK_ODIN_W2 in a patch release, but no other PSA APIs like Crypto. If the point in adding PSA to these other targets is to make PSA available by default on platforms that Client wants, we should additionally add MBEDTLS_PSA_CRYPTO_C. Unlike the F411RE, we can enable Crypto on these targets by default because these targets do have a guaranteed source of entropy that Mbed OS can always assume exists: a TRNG.
  • The SD component was added to a few targets. Will this impact existing applications for these targets by making their file access code default to using SD instead of the previous storage option? Is there any possibility of a functional change here (for example, if, say, an SD card is not inserted)? CC @ARMmbed/mbed-os-storage

@0xc0170
Copy link
Contributor

0xc0170 commented Feb 22, 2019

@Patater To the problem we had on master, by not having the PRs referenced above in 5.11.5 - are we fine? will client work as it was for previous patch release? My assumption would be yes.

@Patater
Copy link
Contributor

Patater commented Feb 22, 2019

@0xc0170 Yes, the problem we had on master will not come up in 5.11.5 because there are no targets without guaranteed entropy having MBEDTLS_PSA_CRYPTO_C enabled.

@0xc0170
Copy link
Contributor

0xc0170 commented Feb 25, 2019

Confirmed, client tests are OK. This is ready for merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.