RDKEMW-18043: Release Cryptography Vault singleton SecProcessor handle on deep sleep#4120
Open
sergiygladkyy wants to merge 1 commit into
Open
RDKEMW-18043: Release Cryptography Vault singleton SecProcessor handle on deep sleep#4120sergiygladkyy wants to merge 1 commit into
sergiygladkyy wants to merge 1 commit into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses a deep-sleep stability issue by ensuring the Cryptography Vault’s SecProcessor handle (held by a process-lifetime singleton) is explicitly released on deep-sleep entry, and by pulling in the corresponding call site from entservices-cryptography.
Changes:
- Adds a new ThunderClientLibraries patch that exposes a C-ABI
vault_processor_release()wrapper callingImplementation::Vault::ProcessorRelease(). - Updates
wpeframework-clientlibraries_4.4.bbto apply the new patch. - Bumps
entservices-cryptography.bbSRCREVto a commit that callsvault_processor_release()during deep-sleep transition handling.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| recipes-extended/wpe-framework/wpeframework-clientlibraries/r4.4/0002-RDKEMW-18043-Add-vault_processor_release-C-wrapper.patch | Adds a C-ABI wrapper to explicitly release the Vault singleton’s SecProcessor handle. |
| recipes-extended/wpe-framework/wpeframework-clientlibraries_4.4.bb | Applies the new clientlibraries patch via SRC_URI. |
| recipes-extended/entservices/entservices-cryptography.bb | Pulls in the paired deep-sleep hook by updating SRCREV. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
08a5980 to
d2a0a46
Compare
…s r4.4
Reason for change:
- Implementation::Vault::ProcessorRelease() exists in ThunderClientLibraries'
SecApi Vault.cpp (paired with ProcessorAcquire added by
0001-SecAPI-Re-acquire-sec-handle-after-flush.patch)
- No C ABI symbol exposes it for plugin callers
- Add vault_processor_release() extern "C" wrapper invoking it via
vault_instance(CRYPTOGRAPHY_VAULT_DEFAULT) so the CryptographyExtAccess
plugin (rdkcentral/entservices-cryptography
feature/RDKEMW-18043-cryptography-deep-sleep) can drive SecProcessor
handle release before deep sleep
- Re-acquire on wake remains automatic via the existing factory
Closes the residual SecProcessor handle leak at /opt/drm/vault/ that
survived destroyImplementation() on deep-sleep entry. The default
Implementation::Vault in vault_instance() is a function-static
(process-lifetime) singleton -- its destructor never runs at deep sleep,
so the SA2 SecProcessor handle stays open across S3 and triggers
SOFTWARE_MASTER_RESET on BCM Dhruv with Network Standby OFF (handle
0xeea3dc00 observed in RDKEMW-18043-8 reboot log).
Validation (RDKEMW-18043-11 image):
- MW IPK build: success (GHA run 25938241837)
- IA full-stack build: success (GHA run 25953125144)
Firmware: SKXI11BED_DEV_rel-15567_20260516045009_18043-11
- Symbol gates on resulting rootfs:
* T vault_processor_release in libWPEFrameworkCryptography.so.4.4.1
(sym 315, addr 0x14e81, 20 bytes)
* U vault_processor_release in libWPEFrameworkCryptographyExtAccess.so
(sym 147, UND -- resolves at dlopen)
- DevQA on Dhruv (Network Standby OFF, 3 iterations): no reboots;
SecProcessor_Release for /opt/drm/vault/ handle observed; existing
SecProcessor_Release sites for SecManager / DeviceProvisioning /
Widevine / PlayReady still firing.
Pairs with:
- rdkcentral/entservices-cryptography branch
feature/RDKEMW-18043-cryptography-deep-sleep (head db7b7d96)
- rdk-e/rdkservices-cpc PR #889 (DeviceProvisioning leg, from -5 / -8)
- rdk-e/meta-middleware-development PR #2777
(Widevine + PlayReady legs, from -8)
JIRA: https://jira.rdkcentral.com/jira/browse/RDKEMW-18043
Test Procedure: described in the ticket
Implements: bbappend patch on wpeframework-clientlibraries r4.4
Risks: Low
Source: COMCAST
License: Apache-2.0
Upstream-Status: Pending
Version: patch
Signed-off-by: Sergiy Gladkyy <sgladkyy@productengine.com>
d2a0a46 to
044e301
Compare
044e301 to
686b620
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Full rationale, validation, paired changes, and risk notes are in the lead commit message.
JIRA: https://jira.rdkcentral.com/jira/browse/RDKEMW-18043