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

allow hash or mac on large buffers with less memory use #9758

Merged

Conversation

Projects
None yet
7 participants
@NirSonnenschein
Copy link
Contributor

commented Feb 19, 2019

Description

Previously a buffer the size of whole input was allocated for hash or MAC operations which is inefficient. This change allows the use of a fixed size buffer for large inputs to process the input
in multiple smaller pieces.

Pull request type

[ ] Fix
[ ] Refactor
[ ] Target update
[x] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

@avolinski @itayzafrir

Release Notes

description: Hash and mac operations are now processed in secure partition in multiple chunks internally leading to decrease in memory use for large buffers.
effect analysis: This change has no impact on API and should not alter behavior from the user perspective.
Migration: not action should be required from the user side.

Nir Sonnenschein
allow calling hash or mac on large buffers without large memory alloc…
…ation

use a fixed size buffer for large inputs to process the input
in multiple smaller pieces.

@ciarmcom ciarmcom requested review from avolinski, itayzafrir and ARMmbed/mbed-os-maintainers Feb 19, 2019

@ciarmcom

This comment has been minimized.

Copy link
Member

commented Feb 19, 2019

@NirSonnenschein, thank you for your changes.
@avolinski @itayzafrir @ARMmbed/mbed-os-maintainers please review.

@0xc0170

This comment has been minimized.

Copy link
Member

commented Feb 20, 2019

Needs coding style update (review Travis astyle job)

@@ -28,6 +33,12 @@ typedef struct psa_spm_hash_clone_s {
// ---------------------------------- Globals ----------------------------------
static int psa_spm_init_refence_counter = 0;

/* maximal memoty allocation for reading large hash ort mac input buffers.

This comment has been minimized.

Copy link
@0xc0170

0xc0170 Feb 20, 2019

Member

memoty -> memory ?

This comment has been minimized.

Copy link
@NirSonnenschein

NirSonnenschein Feb 24, 2019

Author Contributor

oops, good catch : fixed.

Nir Sonnenschein and others added some commits Feb 24, 2019

Nir Sonnenschein
Nir Sonnenschein
Nir Sonnenschein
@itayzafrir
Copy link
Contributor

left a comment

LGTM

@0xc0170

This comment has been minimized.

Copy link
Member

commented Feb 25, 2019

Ci started

@mbed-ci

This comment has been minimized.

Copy link

commented Feb 25, 2019

Test run: SUCCESS

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

@0xc0170 0xc0170 added ready for merge and removed needs: CI labels Feb 25, 2019

@cmonr cmonr merged commit ed350dc into ARMmbed:master Feb 25, 2019

27 checks passed

continuous-integration/jenkins/pr-head This commit looks good
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jenkins-ci/build-ARM Success
Details
jenkins-ci/build-ARMC6 Success
Details
jenkins-ci/build-GCC_ARM Success
Details
jenkins-ci/build-IAR Success
Details
jenkins-ci/cloud-client-test Success
Details
jenkins-ci/dynamic-memory-usage RTOS ROM(+0 bytes) RAM(+0 bytes)
Details
jenkins-ci/exporter Success
Details
jenkins-ci/greentea-test Success
Details
jenkins-ci/mbed2-build-ARM Success
Details
jenkins-ci/mbed2-build-GCC_ARM Success
Details
jenkins-ci/mbed2-build-IAR Success
Details
jenkins-ci/unittests Success
Details
travis-ci/astyle Local astyle testing has passed
Details
travis-ci/docs Local docs testing has passed
Details
travis-ci/doxy-spellcheck Local doxy-spellcheck testing has passed
Details
travis-ci/events Passed, runtime is 9256 cycles (-951 cycles)
Details
travis-ci/gitattributestest Local gitattributestest testing has passed
Details
travis-ci/include_check Local include_check testing has passed
Details
travis-ci/licence_check Local licence_check testing has passed
Details
travis-ci/littlefs Passed, code size is 8408B (+0.00%)
Details
travis-ci/psa-autogen Local psa-autogen testing has passed
Details
travis-ci/tools-py2.7 Local tools-py2.7 testing has passed
Details
travis-ci/tools-py3.5 Local tools-py3.5 testing has passed
Details
travis-ci/tools-py3.6 Local tools-py3.6 testing has passed
Details
travis-ci/tools-py3.7 Local tools-py3.7 testing has passed
Details

@cmonr cmonr removed the ready for merge label Feb 25, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.