Skip to content

Commit 207a63b

Browse files
committed
process_runtime: channel: just copy the pgd entry
1 parent 923bb9b commit 207a63b

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

kernel/src/process_runtime/runtime.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,8 @@ pub fn create_channel(params: &mut RequestParams) -> Result<(), SvsmReqError> {
319319
// Trustlet2 CR3 -> PGD [INPUT_VADDR] -> <PUD B> -> ...
320320
// change trustlet2's PGD entry of INPUT_VADDR to point to trustlet1's output channel
321321
// Trustlet2 CR3 -> PGD [INPUT_VADDR] -> <PUD A> -> ...
322-
let target_addr = trustlet1_pgd_table[trustlet1_output_channel_pgd_idx] & !0xFFF;
323-
let pgd_entry = trustlet2_pgd_table[trustlet2_input_channel_pgd_idx];
324-
trustlet2_pgd_table[trustlet2_input_channel_pgd_idx] = target_addr | (pgd_entry & 0xFFF);
322+
let target_entry = trustlet1_pgd_table[trustlet1_output_channel_pgd_idx];
323+
trustlet2_pgd_table[trustlet2_input_channel_pgd_idx] = target_entry;
325324

326325
// TODO: free trustlet2's old input channel pages
327326

0 commit comments

Comments
 (0)