Skip to content

Refactor OP-TEE TA lifecycle management - #865

Merged
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance
Jun 26, 2026
Merged

Refactor OP-TEE TA lifecycle management#865
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance

Conversation

@sangho2

@sangho2Sangho Lee (sangho2) commented May 22, 2026

Copy link
Copy Markdown
Contributor

This PR refactors OP-TEE TA lifecycle management to ensure the safety and compatibility with the original OP-TEE TA lifecycle management. Specifically, it serializes the execution of the same single-instance TA with its UUID and the execution of the same multi-instance TA with its session ID.

@sangho2Sangho Lee (sangho2) changed the title Revise OP-TEE TA lifecycle managementImprove OP-TEE TA lifecycle managementMay 22, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 799e55c to 96aeb7aCompareMay 23, 2026 00:34
@sangho2
Sangho Lee (sangho2) marked this pull request as ready for review May 23, 2026 00:34
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
@sangho2Sangho Lee (sangho2) added the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 26, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from 331b310 to acc0f04CompareMay 27, 2026 04:17
@sangho2Sangho Lee (sangho2) changed the title Improve OP-TEE TA lifecycle managementRefactor OP-TEE TA lifecycle managementMay 27, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from c33c1f2 to 8420de1CompareMay 28, 2026 04:46
@sangho2Sangho Lee (sangho2) added must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again and removed must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again labels May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 54ed8e0 to fac6a34CompareMay 28, 2026 18:05
@sangho2Sangho Lee (sangho2) removed the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from fac6a34 to c574487CompareMay 29, 2026 00:06
@wdcui

Copy link
Copy Markdown
Member

Weiteng Chen (@CvvT), can you also take a look at this PR? It has some subtle usage of locks.

@wdcuiWeidong Cui (wdcui) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments and asked Weiteng to take a look at this PR as well.

Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_runner_lvbs/src/lib.rs
@wdcui

Copy link
Copy Markdown
Member

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

@sangho2

Copy link
Copy Markdown
ContributorAuthor

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

Fair. However, these VTL1 base address and size are trusted input, so this check itself is somewhat redundant one.

Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from a82f389 to 455fd33CompareJune 25, 2026 01:32
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 607d5b9 to 1cd8b5dCompareJune 26, 2026 01:27
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure constructible_struct_adds_private_field: struct no longer constructible due to new private field ---
Description:
A struct constructible with a struct literal has a new non-public field. It can no longer be constructed using a struct literal outside of its crate.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/constructible_struct_adds_private_field.ron
Failed in:
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron
Failed in:
enum litebox_shim_optee::session::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
enum litebox_shim_optee::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron
Failed in:
function litebox_shim_optee::session::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::session::recycle_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:287
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron
Failed in:
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron
Failed in:
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron
Failed in:
struct litebox_shim_optee::session::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::session::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::session::SessionIdGuard, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:296
struct litebox_shim_optee::session::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
struct litebox_shim_optee::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_missing.ron
Failed in:
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
--- failure struct_pub_field_now_doc_hidden: pub struct field is now #[doc(hidden)] ---
Description:
A pub field of a pub struct is now marked #[doc(hidden)] and is no longer part of the public API.
ref: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#hidden
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_now_doc_hidden.ron
Failed in:
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121

@sangho2
Sangho Lee (sangho2) added this pull request to the merge queueJun 26, 2026
Merged via the queue into main with commit 7419f18Jun 26, 2026
14 checks passed
@sangho2
Sangho Lee (sangho2) deleted the sanghle/optee/single_instance branch June 26, 2026 03:05
Sign up for freeto 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.

3 participants

@sangho2@wdcui@CvvT
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Refactor OP-TEE TA lifecycle management by sangho2 · Pull Request #865 · microsoft/litebox · GitHub
Skip to content

Refactor OP-TEE TA lifecycle management - #865

Merged
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance
Jun 26, 2026
Merged

Refactor OP-TEE TA lifecycle management#865
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance

Conversation

@sangho2

@sangho2Sangho Lee (sangho2) commented May 22, 2026

Copy link
Copy Markdown
Contributor

This PR refactors OP-TEE TA lifecycle management to ensure the safety and compatibility with the original OP-TEE TA lifecycle management. Specifically, it serializes the execution of the same single-instance TA with its UUID and the execution of the same multi-instance TA with its session ID.

@sangho2Sangho Lee (sangho2) changed the title Revise OP-TEE TA lifecycle managementImprove OP-TEE TA lifecycle managementMay 22, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 799e55c to 96aeb7aCompareMay 23, 2026 00:34
@sangho2
Sangho Lee (sangho2) marked this pull request as ready for review May 23, 2026 00:34
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
@sangho2Sangho Lee (sangho2) added the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 26, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from 331b310 to acc0f04CompareMay 27, 2026 04:17
@sangho2Sangho Lee (sangho2) changed the title Improve OP-TEE TA lifecycle managementRefactor OP-TEE TA lifecycle managementMay 27, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from c33c1f2 to 8420de1CompareMay 28, 2026 04:46
@sangho2Sangho Lee (sangho2) added must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again and removed must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again labels May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 54ed8e0 to fac6a34CompareMay 28, 2026 18:05
@sangho2Sangho Lee (sangho2) removed the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from fac6a34 to c574487CompareMay 29, 2026 00:06
@wdcui

Copy link
Copy Markdown
Member

Weiteng Chen (@CvvT), can you also take a look at this PR? It has some subtle usage of locks.

@wdcuiWeidong Cui (wdcui) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments and asked Weiteng to take a look at this PR as well.

Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_runner_lvbs/src/lib.rs
@wdcui

Copy link
Copy Markdown
Member

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

@sangho2

Copy link
Copy Markdown
ContributorAuthor

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

Fair. However, these VTL1 base address and size are trusted input, so this check itself is somewhat redundant one.

Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from a82f389 to 455fd33CompareJune 25, 2026 01:32
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 607d5b9 to 1cd8b5dCompareJune 26, 2026 01:27
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure constructible_struct_adds_private_field: struct no longer constructible due to new private field ---
Description:
A struct constructible with a struct literal has a new non-public field. It can no longer be constructed using a struct literal outside of its crate.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/constructible_struct_adds_private_field.ron
Failed in:
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron
Failed in:
enum litebox_shim_optee::session::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
enum litebox_shim_optee::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron
Failed in:
function litebox_shim_optee::session::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::session::recycle_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:287
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron
Failed in:
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron
Failed in:
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron
Failed in:
struct litebox_shim_optee::session::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::session::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::session::SessionIdGuard, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:296
struct litebox_shim_optee::session::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
struct litebox_shim_optee::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_missing.ron
Failed in:
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
--- failure struct_pub_field_now_doc_hidden: pub struct field is now #[doc(hidden)] ---
Description:
A pub field of a pub struct is now marked #[doc(hidden)] and is no longer part of the public API.
ref: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#hidden
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_now_doc_hidden.ron
Failed in:
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121

@sangho2
Sangho Lee (sangho2) added this pull request to the merge queueJun 26, 2026
Merged via the queue into main with commit 7419f18Jun 26, 2026
14 checks passed
@sangho2
Sangho Lee (sangho2) deleted the sanghle/optee/single_instance branch June 26, 2026 03:05
Sign up for freeto 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.

3 participants

@sangho2@wdcui@CvvT
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Refactor OP-TEE TA lifecycle management by sangho2 · Pull Request #865 · microsoft/litebox · GitHub
Skip to content

Refactor OP-TEE TA lifecycle management - #865

Merged
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance
Jun 26, 2026
Merged

Refactor OP-TEE TA lifecycle management#865
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance

Conversation

@sangho2

@sangho2Sangho Lee (sangho2) commented May 22, 2026

Copy link
Copy Markdown
Contributor

This PR refactors OP-TEE TA lifecycle management to ensure the safety and compatibility with the original OP-TEE TA lifecycle management. Specifically, it serializes the execution of the same single-instance TA with its UUID and the execution of the same multi-instance TA with its session ID.

@sangho2Sangho Lee (sangho2) changed the title Revise OP-TEE TA lifecycle managementImprove OP-TEE TA lifecycle managementMay 22, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 799e55c to 96aeb7aCompareMay 23, 2026 00:34
@sangho2
Sangho Lee (sangho2) marked this pull request as ready for review May 23, 2026 00:34
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
@sangho2Sangho Lee (sangho2) added the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 26, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from 331b310 to acc0f04CompareMay 27, 2026 04:17
@sangho2Sangho Lee (sangho2) changed the title Improve OP-TEE TA lifecycle managementRefactor OP-TEE TA lifecycle managementMay 27, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from c33c1f2 to 8420de1CompareMay 28, 2026 04:46
@sangho2Sangho Lee (sangho2) added must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again and removed must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again labels May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 54ed8e0 to fac6a34CompareMay 28, 2026 18:05
@sangho2Sangho Lee (sangho2) removed the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from fac6a34 to c574487CompareMay 29, 2026 00:06
@wdcui

Copy link
Copy Markdown
Member

Weiteng Chen (@CvvT), can you also take a look at this PR? It has some subtle usage of locks.

@wdcuiWeidong Cui (wdcui) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments and asked Weiteng to take a look at this PR as well.

Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_runner_lvbs/src/lib.rs
@wdcui

Copy link
Copy Markdown
Member

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

@sangho2

Copy link
Copy Markdown
ContributorAuthor

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

Fair. However, these VTL1 base address and size are trusted input, so this check itself is somewhat redundant one.

Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from a82f389 to 455fd33CompareJune 25, 2026 01:32
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 607d5b9 to 1cd8b5dCompareJune 26, 2026 01:27
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure constructible_struct_adds_private_field: struct no longer constructible due to new private field ---
Description:
A struct constructible with a struct literal has a new non-public field. It can no longer be constructed using a struct literal outside of its crate.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/constructible_struct_adds_private_field.ron
Failed in:
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron
Failed in:
enum litebox_shim_optee::session::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
enum litebox_shim_optee::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron
Failed in:
function litebox_shim_optee::session::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::session::recycle_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:287
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron
Failed in:
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron
Failed in:
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron
Failed in:
struct litebox_shim_optee::session::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::session::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::session::SessionIdGuard, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:296
struct litebox_shim_optee::session::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
struct litebox_shim_optee::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_missing.ron
Failed in:
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
--- failure struct_pub_field_now_doc_hidden: pub struct field is now #[doc(hidden)] ---
Description:
A pub field of a pub struct is now marked #[doc(hidden)] and is no longer part of the public API.
ref: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#hidden
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_now_doc_hidden.ron
Failed in:
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121

@sangho2
Sangho Lee (sangho2) added this pull request to the merge queueJun 26, 2026
Merged via the queue into main with commit 7419f18Jun 26, 2026
14 checks passed
@sangho2
Sangho Lee (sangho2) deleted the sanghle/optee/single_instance branch June 26, 2026 03:05
Sign up for freeto 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.

3 participants

@sangho2@wdcui@CvvT
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Refactor OP-TEE TA lifecycle management by sangho2 · Pull Request #865 · microsoft/litebox · GitHub
Skip to content

Refactor OP-TEE TA lifecycle management - #865

Merged
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance
Jun 26, 2026
Merged

Refactor OP-TEE TA lifecycle management#865
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance

Conversation

@sangho2

@sangho2Sangho Lee (sangho2) commented May 22, 2026

Copy link
Copy Markdown
Contributor

This PR refactors OP-TEE TA lifecycle management to ensure the safety and compatibility with the original OP-TEE TA lifecycle management. Specifically, it serializes the execution of the same single-instance TA with its UUID and the execution of the same multi-instance TA with its session ID.

@sangho2Sangho Lee (sangho2) changed the title Revise OP-TEE TA lifecycle managementImprove OP-TEE TA lifecycle managementMay 22, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 799e55c to 96aeb7aCompareMay 23, 2026 00:34
@sangho2
Sangho Lee (sangho2) marked this pull request as ready for review May 23, 2026 00:34
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
@sangho2Sangho Lee (sangho2) added the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 26, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from 331b310 to acc0f04CompareMay 27, 2026 04:17
@sangho2Sangho Lee (sangho2) changed the title Improve OP-TEE TA lifecycle managementRefactor OP-TEE TA lifecycle managementMay 27, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from c33c1f2 to 8420de1CompareMay 28, 2026 04:46
@sangho2Sangho Lee (sangho2) added must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again and removed must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again labels May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 54ed8e0 to fac6a34CompareMay 28, 2026 18:05
@sangho2Sangho Lee (sangho2) removed the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from fac6a34 to c574487CompareMay 29, 2026 00:06
@wdcui

Copy link
Copy Markdown
Member

Weiteng Chen (@CvvT), can you also take a look at this PR? It has some subtle usage of locks.

@wdcuiWeidong Cui (wdcui) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments and asked Weiteng to take a look at this PR as well.

Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_runner_lvbs/src/lib.rs
@wdcui

Copy link
Copy Markdown
Member

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

@sangho2

Copy link
Copy Markdown
ContributorAuthor

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

Fair. However, these VTL1 base address and size are trusted input, so this check itself is somewhat redundant one.

Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from a82f389 to 455fd33CompareJune 25, 2026 01:32
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 607d5b9 to 1cd8b5dCompareJune 26, 2026 01:27
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure constructible_struct_adds_private_field: struct no longer constructible due to new private field ---
Description:
A struct constructible with a struct literal has a new non-public field. It can no longer be constructed using a struct literal outside of its crate.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/constructible_struct_adds_private_field.ron
Failed in:
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron
Failed in:
enum litebox_shim_optee::session::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
enum litebox_shim_optee::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron
Failed in:
function litebox_shim_optee::session::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::session::recycle_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:287
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron
Failed in:
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron
Failed in:
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron
Failed in:
struct litebox_shim_optee::session::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::session::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::session::SessionIdGuard, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:296
struct litebox_shim_optee::session::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
struct litebox_shim_optee::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_missing.ron
Failed in:
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
--- failure struct_pub_field_now_doc_hidden: pub struct field is now #[doc(hidden)] ---
Description:
A pub field of a pub struct is now marked #[doc(hidden)] and is no longer part of the public API.
ref: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#hidden
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_now_doc_hidden.ron
Failed in:
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121

@sangho2
Sangho Lee (sangho2) added this pull request to the merge queueJun 26, 2026
Merged via the queue into main with commit 7419f18Jun 26, 2026
14 checks passed
@sangho2
Sangho Lee (sangho2) deleted the sanghle/optee/single_instance branch June 26, 2026 03:05
Sign up for freeto 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.

3 participants

@sangho2@wdcui@CvvT
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Refactor OP-TEE TA lifecycle management by sangho2 · Pull Request #865 · microsoft/litebox · GitHub
Skip to content

Refactor OP-TEE TA lifecycle management - #865

Merged
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance
Jun 26, 2026
Merged

Refactor OP-TEE TA lifecycle management#865
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance

Conversation

@sangho2

@sangho2Sangho Lee (sangho2) commented May 22, 2026

Copy link
Copy Markdown
Contributor

This PR refactors OP-TEE TA lifecycle management to ensure the safety and compatibility with the original OP-TEE TA lifecycle management. Specifically, it serializes the execution of the same single-instance TA with its UUID and the execution of the same multi-instance TA with its session ID.

@sangho2Sangho Lee (sangho2) changed the title Revise OP-TEE TA lifecycle managementImprove OP-TEE TA lifecycle managementMay 22, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 799e55c to 96aeb7aCompareMay 23, 2026 00:34
@sangho2
Sangho Lee (sangho2) marked this pull request as ready for review May 23, 2026 00:34
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
@sangho2Sangho Lee (sangho2) added the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 26, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from 331b310 to acc0f04CompareMay 27, 2026 04:17
@sangho2Sangho Lee (sangho2) changed the title Improve OP-TEE TA lifecycle managementRefactor OP-TEE TA lifecycle managementMay 27, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from c33c1f2 to 8420de1CompareMay 28, 2026 04:46
@sangho2Sangho Lee (sangho2) added must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again and removed must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again labels May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 54ed8e0 to fac6a34CompareMay 28, 2026 18:05
@sangho2Sangho Lee (sangho2) removed the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from fac6a34 to c574487CompareMay 29, 2026 00:06
@wdcui

Copy link
Copy Markdown
Member

Weiteng Chen (@CvvT), can you also take a look at this PR? It has some subtle usage of locks.

@wdcuiWeidong Cui (wdcui) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments and asked Weiteng to take a look at this PR as well.

Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_runner_lvbs/src/lib.rs
@wdcui

Copy link
Copy Markdown
Member

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

@sangho2

Copy link
Copy Markdown
ContributorAuthor

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

Fair. However, these VTL1 base address and size are trusted input, so this check itself is somewhat redundant one.

Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from a82f389 to 455fd33CompareJune 25, 2026 01:32
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 607d5b9 to 1cd8b5dCompareJune 26, 2026 01:27
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure constructible_struct_adds_private_field: struct no longer constructible due to new private field ---
Description:
A struct constructible with a struct literal has a new non-public field. It can no longer be constructed using a struct literal outside of its crate.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/constructible_struct_adds_private_field.ron
Failed in:
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron
Failed in:
enum litebox_shim_optee::session::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
enum litebox_shim_optee::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron
Failed in:
function litebox_shim_optee::session::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::session::recycle_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:287
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron
Failed in:
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron
Failed in:
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron
Failed in:
struct litebox_shim_optee::session::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::session::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::session::SessionIdGuard, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:296
struct litebox_shim_optee::session::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
struct litebox_shim_optee::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_missing.ron
Failed in:
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
--- failure struct_pub_field_now_doc_hidden: pub struct field is now #[doc(hidden)] ---
Description:
A pub field of a pub struct is now marked #[doc(hidden)] and is no longer part of the public API.
ref: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#hidden
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_now_doc_hidden.ron
Failed in:
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121

@sangho2
Sangho Lee (sangho2) added this pull request to the merge queueJun 26, 2026
Merged via the queue into main with commit 7419f18Jun 26, 2026
14 checks passed
@sangho2
Sangho Lee (sangho2) deleted the sanghle/optee/single_instance branch June 26, 2026 03:05
Sign up for freeto 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.

3 participants

@sangho2@wdcui@CvvT
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Refactor OP-TEE TA lifecycle management by sangho2 · Pull Request #865 · microsoft/litebox · GitHub
Skip to content

Refactor OP-TEE TA lifecycle management - #865

Merged
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance
Jun 26, 2026
Merged

Refactor OP-TEE TA lifecycle management#865
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance

Conversation

@sangho2

@sangho2Sangho Lee (sangho2) commented May 22, 2026

Copy link
Copy Markdown
Contributor

This PR refactors OP-TEE TA lifecycle management to ensure the safety and compatibility with the original OP-TEE TA lifecycle management. Specifically, it serializes the execution of the same single-instance TA with its UUID and the execution of the same multi-instance TA with its session ID.

@sangho2Sangho Lee (sangho2) changed the title Revise OP-TEE TA lifecycle managementImprove OP-TEE TA lifecycle managementMay 22, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 799e55c to 96aeb7aCompareMay 23, 2026 00:34
@sangho2
Sangho Lee (sangho2) marked this pull request as ready for review May 23, 2026 00:34
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
@sangho2Sangho Lee (sangho2) added the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 26, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from 331b310 to acc0f04CompareMay 27, 2026 04:17
@sangho2Sangho Lee (sangho2) changed the title Improve OP-TEE TA lifecycle managementRefactor OP-TEE TA lifecycle managementMay 27, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from c33c1f2 to 8420de1CompareMay 28, 2026 04:46
@sangho2Sangho Lee (sangho2) added must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again and removed must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again labels May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 54ed8e0 to fac6a34CompareMay 28, 2026 18:05
@sangho2Sangho Lee (sangho2) removed the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from fac6a34 to c574487CompareMay 29, 2026 00:06
@wdcui

Copy link
Copy Markdown
Member

Weiteng Chen (@CvvT), can you also take a look at this PR? It has some subtle usage of locks.

@wdcuiWeidong Cui (wdcui) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments and asked Weiteng to take a look at this PR as well.

Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_runner_lvbs/src/lib.rs
@wdcui

Copy link
Copy Markdown
Member

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

@sangho2

Copy link
Copy Markdown
ContributorAuthor

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

Fair. However, these VTL1 base address and size are trusted input, so this check itself is somewhat redundant one.

Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from a82f389 to 455fd33CompareJune 25, 2026 01:32
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 607d5b9 to 1cd8b5dCompareJune 26, 2026 01:27
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure constructible_struct_adds_private_field: struct no longer constructible due to new private field ---
Description:
A struct constructible with a struct literal has a new non-public field. It can no longer be constructed using a struct literal outside of its crate.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/constructible_struct_adds_private_field.ron
Failed in:
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron
Failed in:
enum litebox_shim_optee::session::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
enum litebox_shim_optee::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron
Failed in:
function litebox_shim_optee::session::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::session::recycle_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:287
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron
Failed in:
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron
Failed in:
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron
Failed in:
struct litebox_shim_optee::session::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::session::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::session::SessionIdGuard, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:296
struct litebox_shim_optee::session::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
struct litebox_shim_optee::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_missing.ron
Failed in:
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
--- failure struct_pub_field_now_doc_hidden: pub struct field is now #[doc(hidden)] ---
Description:
A pub field of a pub struct is now marked #[doc(hidden)] and is no longer part of the public API.
ref: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#hidden
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_now_doc_hidden.ron
Failed in:
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121

@sangho2
Sangho Lee (sangho2) added this pull request to the merge queueJun 26, 2026
Merged via the queue into main with commit 7419f18Jun 26, 2026
14 checks passed
@sangho2
Sangho Lee (sangho2) deleted the sanghle/optee/single_instance branch June 26, 2026 03:05
Sign up for freeto 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.

3 participants

@sangho2@wdcui@CvvT
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Refactor OP-TEE TA lifecycle management by sangho2 · Pull Request #865 · microsoft/litebox · GitHub
Skip to content

Refactor OP-TEE TA lifecycle management - #865

Merged
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance
Jun 26, 2026
Merged

Refactor OP-TEE TA lifecycle management#865
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance

Conversation

@sangho2

@sangho2Sangho Lee (sangho2) commented May 22, 2026

Copy link
Copy Markdown
Contributor

This PR refactors OP-TEE TA lifecycle management to ensure the safety and compatibility with the original OP-TEE TA lifecycle management. Specifically, it serializes the execution of the same single-instance TA with its UUID and the execution of the same multi-instance TA with its session ID.

@sangho2Sangho Lee (sangho2) changed the title Revise OP-TEE TA lifecycle managementImprove OP-TEE TA lifecycle managementMay 22, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 799e55c to 96aeb7aCompareMay 23, 2026 00:34
@sangho2
Sangho Lee (sangho2) marked this pull request as ready for review May 23, 2026 00:34
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
@sangho2Sangho Lee (sangho2) added the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 26, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from 331b310 to acc0f04CompareMay 27, 2026 04:17
@sangho2Sangho Lee (sangho2) changed the title Improve OP-TEE TA lifecycle managementRefactor OP-TEE TA lifecycle managementMay 27, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from c33c1f2 to 8420de1CompareMay 28, 2026 04:46
@sangho2Sangho Lee (sangho2) added must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again and removed must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again labels May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 54ed8e0 to fac6a34CompareMay 28, 2026 18:05
@sangho2Sangho Lee (sangho2) removed the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from fac6a34 to c574487CompareMay 29, 2026 00:06
@wdcui

Copy link
Copy Markdown
Member

Weiteng Chen (@CvvT), can you also take a look at this PR? It has some subtle usage of locks.

@wdcuiWeidong Cui (wdcui) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments and asked Weiteng to take a look at this PR as well.

Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_runner_lvbs/src/lib.rs
@wdcui

Copy link
Copy Markdown
Member

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

@sangho2

Copy link
Copy Markdown
ContributorAuthor

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

Fair. However, these VTL1 base address and size are trusted input, so this check itself is somewhat redundant one.

Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from a82f389 to 455fd33CompareJune 25, 2026 01:32
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 607d5b9 to 1cd8b5dCompareJune 26, 2026 01:27
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure constructible_struct_adds_private_field: struct no longer constructible due to new private field ---
Description:
A struct constructible with a struct literal has a new non-public field. It can no longer be constructed using a struct literal outside of its crate.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/constructible_struct_adds_private_field.ron
Failed in:
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron
Failed in:
enum litebox_shim_optee::session::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
enum litebox_shim_optee::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron
Failed in:
function litebox_shim_optee::session::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::session::recycle_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:287
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron
Failed in:
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron
Failed in:
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron
Failed in:
struct litebox_shim_optee::session::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::session::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::session::SessionIdGuard, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:296
struct litebox_shim_optee::session::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
struct litebox_shim_optee::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_missing.ron
Failed in:
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
--- failure struct_pub_field_now_doc_hidden: pub struct field is now #[doc(hidden)] ---
Description:
A pub field of a pub struct is now marked #[doc(hidden)] and is no longer part of the public API.
ref: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#hidden
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_now_doc_hidden.ron
Failed in:
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121

@sangho2
Sangho Lee (sangho2) added this pull request to the merge queueJun 26, 2026
Merged via the queue into main with commit 7419f18Jun 26, 2026
14 checks passed
@sangho2
Sangho Lee (sangho2) deleted the sanghle/optee/single_instance branch June 26, 2026 03:05
Sign up for freeto 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.

3 participants

@sangho2@wdcui@CvvT
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Refactor OP-TEE TA lifecycle management by sangho2 · Pull Request #865 · microsoft/litebox · GitHub
Skip to content

Refactor OP-TEE TA lifecycle management - #865

Merged
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance
Jun 26, 2026
Merged

Refactor OP-TEE TA lifecycle management#865
Sangho Lee (sangho2) merged 28 commits into
mainfrom
sanghle/optee/single_instance

Conversation

@sangho2

@sangho2Sangho Lee (sangho2) commented May 22, 2026

Copy link
Copy Markdown
Contributor

This PR refactors OP-TEE TA lifecycle management to ensure the safety and compatibility with the original OP-TEE TA lifecycle management. Specifically, it serializes the execution of the same single-instance TA with its UUID and the execution of the same multi-instance TA with its session ID.

@sangho2Sangho Lee (sangho2) changed the title Revise OP-TEE TA lifecycle managementImprove OP-TEE TA lifecycle managementMay 22, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 799e55c to 96aeb7aCompareMay 23, 2026 00:34
@sangho2
Sangho Lee (sangho2) marked this pull request as ready for review May 23, 2026 00:34
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
@sangho2Sangho Lee (sangho2) added the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 26, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from 331b310 to acc0f04CompareMay 27, 2026 04:17
@sangho2Sangho Lee (sangho2) changed the title Improve OP-TEE TA lifecycle managementRefactor OP-TEE TA lifecycle managementMay 27, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch 2 times, most recently from c33c1f2 to 8420de1CompareMay 28, 2026 04:46
@sangho2Sangho Lee (sangho2) added must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again and removed must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again labels May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 54ed8e0 to fac6a34CompareMay 28, 2026 18:05
@sangho2Sangho Lee (sangho2) removed the must-not-merge:undergoing-restructuring Known deeper set of changes are happening on this PR before it is mergeable again label May 28, 2026
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from fac6a34 to c574487CompareMay 29, 2026 00:06
@wdcui

Copy link
Copy Markdown
Member

Weiteng Chen (@CvvT), can you also take a look at this PR? It has some subtle usage of locks.

@wdcuiWeidong Cui (wdcui) left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some comments and asked Weiteng to take a look at this PR as well.

Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_runner_lvbs/src/lib.rs
@wdcui

Copy link
Copy Markdown
Member

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

@sangho2

Copy link
Copy Markdown
ContributorAuthor

GPT-5.5: litebox_runner_lvbs/src/lib.rs:97, VTL1 minimum-size validation is smaller than later fixed-layout assumptions, so intermediate sizes can still panic later.

Fair. However, these VTL1 base address and size are trusted input, so this check itself is somewhat redundant one.

Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_shim_optee/src/session.rs
Comment threadlitebox_shim_optee/src/session.rs Outdated
Comment threadlitebox_runner_lvbs/src/lib.rs
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from a82f389 to 455fd33CompareJune 25, 2026 01:32
@sangho2
Sangho Lee (sangho2)force-pushed the sanghle/optee/single_instance branch from 607d5b9 to 1cd8b5dCompareJune 26, 2026 01:27
@github-actions

Copy link
Copy Markdown

🤖 SemverChecks 🤖 ⚠️ Potential breaking API changes detected ⚠️

Click for details
--- failure constructible_struct_adds_private_field: struct no longer constructible due to new private field ---
Description:
A struct constructible with a struct literal has a new non-public field. It can no longer be constructed using a struct literal outside of its crate.
ref: https://doc.rust-lang.org/reference/expressions/struct-expr.html
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/constructible_struct_adds_private_field.ron
Failed in:
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
field TaInstance.ta_uuid in /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:134
--- failure enum_missing: pub enum removed or renamed ---
Description:
A publicly-visible enum cannot be imported by its prior path. A `pub use` may have been removed, or the enum itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/enum_missing.ron
Failed in:
enum litebox_shim_optee::session::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
enum litebox_shim_optee::CreationReservation, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:333
--- failure function_missing: pub fn removed or renamed ---
Description:
A publicly-visible function cannot be imported by its prior path. A `pub use` may have been removed, or the function itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/function_missing.ron
Failed in:
function litebox_shim_optee::session::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::allocate_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:280
function litebox_shim_optee::session::recycle_session_id, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:287
--- failure inherent_method_missing: pub method removed or renamed ---
Description:
A publicly-visible method or associated fn is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/inherent_method_missing.ron
Failed in:
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
SessionManager::sessions, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:389
SessionManager::single_instance_cache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:394
SessionManager::cache_single_instance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:399
SessionManager::get_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:404
SessionManager::get_session_entry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:409
SessionManager::get_known_flags, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:417
SessionManager::register_session, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:422
SessionManager::remove_single_instance_if_same, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:445
SessionManager::instance_count, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:458
SessionManager::is_at_capacity, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:475
SessionManager::with_creation_slot, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:490
--- failure pub_module_level_const_missing: pub module-level const is missing ---
Description:
A public const is missing or renamed
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/pub_module_level_const_missing.ron
Failed in:
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
MAX_TA_INSTANCES in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:102
--- failure struct_missing: pub struct removed or renamed ---
Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_missing.ron
Failed in:
struct litebox_shim_optee::session::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::SessionMap, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:147
struct litebox_shim_optee::session::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::SingleInstanceCache, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:225
struct litebox_shim_optee::session::SessionIdGuard, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:296
struct litebox_shim_optee::session::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
struct litebox_shim_optee::SessionEntry, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:135
--- failure struct_pub_field_missing: pub struct's pub field removed or renamed ---
Description:
A publicly-visible struct has at least one public field that is no longer available under its prior name. It may have been renamed or removed entirely.
ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_missing.ron
Failed in:
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
field shim of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:113
field loaded_program of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:117
field task_page_table_id of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:120
field closed of struct TaInstance, previously in file /home/runner/work/litebox/litebox/target/semver-checks/git-main/0bc7b7e45e71b1f2e4f3ebfa0622863a3f9b9ef3/litebox_shim_optee/src/session.rs:126
--- failure struct_pub_field_now_doc_hidden: pub struct field is now #[doc(hidden)] ---
Description:
A pub field of a pub struct is now marked #[doc(hidden)] and is no longer part of the public API.
ref: https://doc.rust-lang.org/rustdoc/write-documentation/the-doc-attribute.html#hidden
impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.48.0/src/lints/struct_pub_field_now_doc_hidden.ron
Failed in:
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.shim in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.loaded_program in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121
field TaInstance.task_page_table_id in file /home/runner/work/litebox/litebox/litebox_shim_optee/src/session.rs:121

@sangho2
Sangho Lee (sangho2) added this pull request to the merge queueJun 26, 2026
Merged via the queue into main with commit 7419f18Jun 26, 2026
14 checks passed
@sangho2
Sangho Lee (sangho2) deleted the sanghle/optee/single_instance branch June 26, 2026 03:05
Sign up for freeto 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.

3 participants

@sangho2@wdcui@CvvT