Skip to content

Conversation

@BKSSMVenkateswarlu
Copy link
Contributor

  1. Release all the pool instances back to pool memory when card reset happens. Added new function in KMSEProvider interface (releaseAllOperations()).
  2. Always pass the card reset status back to HAL in the response along with error code (CANARY_BIT_FLAG + KMError)
  3. Use reclaimIndex (KMRepository.java) as the basis to confirm the card reset event
  4. Handle the errorCode with CANARY_BIT_FLAG in the HAL side.
  5. when card upgrade happens explicitly set CANARY_BIT_FLAG to make sure that HAL release its operation table.
  6. Moved operationTable from EEPROM to RAM (Modified files: KMRepository.java and KMOperationState.java)
  7. Moved KMOperationImpl from EEPROM to RM (Inside AndroidSEProvider).
  8. At the begining of the process() function update card reset status.
  9. Updated the Unit test to test different combinations of card reset functinality.

@mdwivedi mdwivedi merged commit 34d0f79 into divegeek:jc_keymaster_41_android_11 Apr 28, 2021
@BKSSMVenkateswarlu BKSSMVenkateswarlu deleted the jc_keymaster_41_android_11_nvm_phase_2 branch April 29, 2021 10:05
subrahmanyaman referenced this pull request in subrahmanyaman/JavaCardKeymaster Aug 26, 2021
…d_11_nvm_phase_2

NVM phase 2 - Moving operation state table to RAM. Handle power reset
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.

2 participants