diff --git a/Cargo.lock b/Cargo.lock index 456cf1eb..d9c566a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.39" +version = "1.0.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cddc5f91628367664cc7c69714ff08deee8a3efc54623011c772544d7b2767" +checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61" [[package]] name = "array-init" @@ -23,18 +23,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f30bbe2f5e3d117f55bd8c7a1f9191e4a5deba9f15f595bbea4f670c59c765db" -[[package]] -name = "arrayref" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - [[package]] name = "atty" version = "0.2.14" @@ -52,12 +40,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" -[[package]] -name = "base64" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" - [[package]] name = "bit_field" version = "0.9.0" @@ -76,22 +58,11 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" -[[package]] -name = "blake2b_simd" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" -dependencies = [ - "arrayref", - "arrayvec", - "constant_time_eq", -] - [[package]] name = "cc" -version = "1.0.67" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" +checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" [[package]] name = "cfg-if" @@ -156,23 +127,6 @@ dependencies = [ "syn", ] -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "crossbeam-utils" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7e9d99fa91428effe99c5c6d4634cdeba32b8cf784fc428a2a687f61a952c49" -dependencies = [ - "autocfg", - "cfg-if", - "lazy_static", -] - [[package]] name = "crt0stack" version = "0.1.0" @@ -181,18 +135,18 @@ checksum = "9274b445ee572d50bdeb17a1101be829becc565b5c12b21a697af4d360b48e8d" [[package]] name = "dirs" -version = "3.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142995ed02755914747cc6ca76fc7e4583cd18578746716d0508ea6ed558b9ff" +checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309" dependencies = [ "dirs-sys", ] [[package]] name = "dirs-sys" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a" +checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" dependencies = [ "libc", "redox_users", @@ -254,24 +208,13 @@ checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba" [[package]] name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" dependencies = [ "cfg-if", "libc", - "wasi 0.10.2+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -304,18 +247,18 @@ checksum = "62aca2aba2d62b4a7f5b33f3712cb1b0692779a56fb510499d5c0aa594daeaf3" [[package]] name = "heck" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cbf45460356b7deeb5e3415b5563308c0a9b057c85e12b06ad551f98d0a6ac" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" dependencies = [ "unicode-segmentation", ] [[package]] name = "hermit-abi" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" dependencies = [ "libc", ] @@ -373,15 +316,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.91" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7" +checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" [[package]] name = "lock_api" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" dependencies = [ "scopeguard", ] @@ -418,15 +361,15 @@ checksum = "c619aa76dbb3f67970c7cf10fc3efa81da412be26d4dda1726af76b25260dc66" [[package]] name = "once_cell" -version = "1.7.2" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" [[package]] name = "openssl" -version = "0.10.33" +version = "0.10.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a61075b62a23fef5a29815de7536d940aa35ce96d18ce0cc5076272db678a577" +checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885" dependencies = [ "bitflags", "cfg-if", @@ -438,9 +381,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.61" +version = "0.9.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "313752393519e876837e09e1fa183ddef0be7735868dced3196f4472d536277f" +checksum = "7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d" dependencies = [ "autocfg", "cc", @@ -469,7 +412,7 @@ dependencies = [ "cfg-if", "instant", "libc", - "redox_syscall 0.2.5", + "redox_syscall", "smallvec", "winapi", ] @@ -518,9 +461,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.24" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ "unicode-xid", ] @@ -537,24 +480,24 @@ dependencies = [ [[package]] name = "protobuf" -version = "2.22.1" +version = "2.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b7f4a129bb3754c25a4e04032a90173c68f85168f77118ac4cb4936e7f06f92" +checksum = "db50e77ae196458ccd3dc58a31ea1a90b0698ab1b7928d89f644c25d72070267" [[package]] name = "protobuf-codegen" -version = "2.22.1" +version = "2.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2fa3a461857508103b914da60dd7b489c1a834967c2e214ecc1496f0c486a" +checksum = "09321cef9bee9ddd36884f97b7f7cc92a586cdc74205c4b3aeba65b5fc9c6f90" dependencies = [ "protobuf", ] [[package]] name = "protobuf-codegen-pure" -version = "2.22.1" +version = "2.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3a2520307dbb0df861ed77603770dc23b0ec15e5048272416d6447de98e862b" +checksum = "1afb68a6d768571da3db86ce55f0f62966e0fc25eaf96acd070ea548a91b0d23" dependencies = [ "protobuf", "protobuf-codegen", @@ -608,28 +551,21 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.1.57" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" - -[[package]] -name = "redox_syscall" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9" +checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" dependencies = [ "bitflags", ] [[package]] name = "redox_users" -version = "0.3.5" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" dependencies = [ - "getrandom 0.1.16", - "redox_syscall 0.1.57", - "rust-argon2", + "getrandom", + "redox_syscall", ] [[package]] @@ -641,18 +577,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "rust-argon2" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" -dependencies = [ - "base64", - "blake2b_simd", - "constant_time_eq", - "crossbeam-utils", -] - [[package]] name = "sallyport" version = "0.1.0" @@ -699,9 +623,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.125" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558dc50e1a5a5fa7112ca2ce4effcb321b0300c0d4ccf0776a9f60cd89031171" +checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" dependencies = [ "serde_derive", ] @@ -717,9 +641,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.125" +version = "1.0.126" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b093b7a2bb58203b5da3056c05b4ec1fed827dcfdb37347a8841695263b3d06d" +checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" dependencies = [ "proc-macro2", "quote", @@ -767,7 +691,7 @@ dependencies = [ [[package]] name = "sgx" version = "0.1.0" -source = "git+https://github.com/enarx/sgx?rev=e805b51#e805b514b34dfd206305f95ddff992b7a2462fc2" +source = "git+https://github.com/enarx/sgx?rev=4bb50e55bc8717c5bc2a98d680bf1be436cda8de#4bb50e55bc8717c5bc2a98d680bf1be436cda8de" dependencies = [ "bitflags", "cc", @@ -819,9 +743,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.64" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd9d1e9976102a03c542daa2eff1b43f9d72306342f3f8b3ed5fb8908195d6f" +checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" dependencies = [ "proc-macro2", "quote", @@ -861,9 +785,9 @@ checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" [[package]] name = "unicode-xid" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "uuid" @@ -871,15 +795,15 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.2", + "getrandom", "serde", ] [[package]] name = "vcpkg" -version = "0.2.11" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00bca6106a5e23f3eee943593759b7fcddb00554332e856d990c893966879fb" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "vdso" @@ -924,12 +848,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/Cargo.toml b/Cargo.toml index 05a9ba3d..c10b95ff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ backend-sgx = ["sgx"] [dependencies] sallyport = { git = "https://github.com/enarx/sallyport", rev = "efccf0f" } sev = { version = "0.1", features = ["openssl"], optional = true } -sgx = { git = "https://github.com/enarx/sgx", rev = "e805b51", features = ["asm", "crypto"], optional = true } +sgx = { git = "https://github.com/enarx/sgx", rev = "4bb50e55bc8717c5bc2a98d680bf1be436cda8de", features = ["asm", "crypto"], optional = true } koine = { git = "https://github.com/enarx/koine", optional = true } x86_64 = { version = "0.11", default-features = false, features = ["stable"], optional = true } kvm-bindings = { version = "0.4", optional = true } diff --git a/helper/parse-trace.sh b/helper/parse-trace.sh index dfa2e134..8d3fdd69 100755 --- a/helper/parse-trace.sh +++ b/helper/parse-trace.sh @@ -42,7 +42,7 @@ while read line; do fi if [[ $ADDR2LINE = "REGS" ]]; then - if [[ $line = *"rflags:"* ]] || [[ $line = *"rsp:"* ]] || [[ $line = *"rbp:"* ]]; then + if [[ $line = *"rflags:"* ]] || [[ $line = *"rsp:"* ]] || [[ $line = *"rbp:"* ]] || [[ $line = *"rbx:"* ]]; then continue fi fi diff --git a/internal/shim-sev/Cargo.lock b/internal/shim-sev/Cargo.lock index 4dfa5c07..089fea7b 100644 --- a/internal/shim-sev/Cargo.lock +++ b/internal/shim-sev/Cargo.lock @@ -22,9 +22,9 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "compiler_builtins" -version = "0.1.39" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3748f82c7d366a0b4950257d19db685d4958d2fa27c6d164a3f069fec42b748b" +checksum = "d69484e04eab372f5f345920e3a8c7a06e7dcbb75c0944eccdc3e3160aeee3c7" [[package]] name = "crt0stack" @@ -44,9 +44,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.91" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7" +checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" [[package]] name = "linked_list_allocator" @@ -56,9 +56,9 @@ checksum = "822add9edb1860698b79522510da17bef885171f75aa395cff099d770c609c24" [[package]] name = "lock_api" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" dependencies = [ "scopeguard", ] @@ -147,9 +147,9 @@ dependencies = [ [[package]] name = "x86_64" -version = "0.13.3" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d9164ba09d4a6744b87c540d02556722080bd7689e92b6ff008b803b1460647" +checksum = "021b49a4cb0a0d9490265cc169ca816014cbf61d3f3b75424815912977b81871" dependencies = [ "bit_field", "bitflags", diff --git a/internal/shim-sev/src/asm.rs b/internal/shim-sev/src/asm.rs index e45b5b00..284d3d96 100644 --- a/internal/shim-sev/src/asm.rs +++ b/internal/shim-sev/src/asm.rs @@ -56,19 +56,18 @@ pub unsafe fn _enarx_asm_triple_fault() -> ! { // Provoke an #UD, which will lead to a triple fault, because of the invalid IDT asm!("ud2", in("rax") frames[2], // the first two frames are from panic - in("rbx") frames[3], - in("rcx") frames[4], - in("rdx") frames[5], - in("rsi") frames[6], - in("rdi") frames[7], - in("r8") frames[8], - in("r9") frames[9], - in("r10") frames[10], - in("r11") frames[11], - in("r12") frames[12], - in("r13") frames[13], - in("r14") frames[14], - in("r15") frames[15], + in("rcx") frames[3], + in("rdx") frames[4], + in("rsi") frames[5], + in("rdi") frames[6], + in("r8") frames[7], + in("r9") frames[8], + in("r10") frames[9], + in("r11") frames[10], + in("r12") frames[11], + in("r13") frames[12], + in("r14") frames[13], + in("r15") frames[14], options(nomem, nostack) ); diff --git a/internal/shim-sev/src/gdt.rs b/internal/shim-sev/src/gdt.rs index 41578d19..03d86549 100644 --- a/internal/shim-sev/src/gdt.rs +++ b/internal/shim-sev/src/gdt.rs @@ -45,26 +45,31 @@ pub static TSS: Lazy = Lazy::new(|| { tss.privilege_stack_table[0] = INITIAL_STACK.pointer; + let ptr_interrupt_stack_table = core::ptr::addr_of_mut!(tss.interrupt_stack_table); + let mut interrupt_stack_table = unsafe { ptr_interrupt_stack_table.read_unaligned() }; + // Assign the stacks for the exceptions and interrupts + interrupt_stack_table + .iter_mut() + .enumerate() + .for_each(|(idx, p)| { + let offset: u64 = align_up( + SHIM_EX_STACK_SIZE + .checked_add(Page::::SIZE.checked_mul(2).unwrap()) + .unwrap(), + Page::::SIZE, + ); + + let stack_offset = offset.checked_mul(idx as _).unwrap(); + let start = VirtAddr::new(SHIM_EX_STACK_START.checked_add(stack_offset).unwrap()); + + *p = init_stack_with_guard(start, SHIM_EX_STACK_SIZE, PageTableFlags::empty()).pointer; + }); + unsafe { - tss.interrupt_stack_table - .iter_mut() - .enumerate() - .for_each(|(idx, p)| { - let offset: u64 = align_up( - SHIM_EX_STACK_SIZE - .checked_add(Page::::SIZE.checked_mul(2).unwrap()) - .unwrap(), - Page::::SIZE, - ); - - let stack_offset = offset.checked_mul(idx as _).unwrap(); - let start = VirtAddr::new(SHIM_EX_STACK_START.checked_add(stack_offset).unwrap()); - - *p = init_stack_with_guard(start, SHIM_EX_STACK_SIZE, PageTableFlags::empty()) - .pointer; - }); + ptr_interrupt_stack_table.write_unaligned(interrupt_stack_table); } + tss }); diff --git a/internal/shim-sgx/Cargo.lock b/internal/shim-sgx/Cargo.lock index ee3ed6fe..434e056f 100644 --- a/internal/shim-sgx/Cargo.lock +++ b/internal/shim-sgx/Cargo.lock @@ -10,15 +10,15 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" [[package]] name = "cc" -version = "1.0.67" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd" +checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" [[package]] name = "compiler_builtins" -version = "0.1.39" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3748f82c7d366a0b4950257d19db685d4958d2fa27c6d164a3f069fec42b748b" +checksum = "d69484e04eab372f5f345920e3a8c7a06e7dcbb75c0944eccdc3e3160aeee3c7" [[package]] name = "const-default" @@ -58,9 +58,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.91" +version = "0.2.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7" +checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" [[package]] name = "lset" @@ -88,9 +88,9 @@ checksum = "979d94833957a6485c5cac4b71d552a9cd0b9f3f6fd1c7c5dc8096b3ee2bcd13" [[package]] name = "proc-macro2" -version = "1.0.24" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" dependencies = [ "unicode-xid", ] @@ -131,7 +131,7 @@ checksum = "fda28d4b4830b807a8b43f7b0e6b5df875311b3e7621d84577188c175b6ec1ec" [[package]] name = "sgx" version = "0.1.0" -source = "git+https://github.com/enarx/sgx?rev=5292e53#5292e53679a29099d3c2570e2bcb66c9a84de0fd" +source = "git+https://github.com/enarx/sgx?rev=4bb50e55bc8717c5bc2a98d680bf1be436cda8de#4bb50e55bc8717c5bc2a98d680bf1be436cda8de" dependencies = [ "bitflags", "cc", @@ -170,9 +170,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.64" +version = "1.0.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fd9d1e9976102a03c542daa2eff1b43f9d72306342f3f8b3ed5fb8908195d6f" +checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" dependencies = [ "proc-macro2", "quote", @@ -181,9 +181,9 @@ dependencies = [ [[package]] name = "unicode-xid" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" [[package]] name = "xsave" diff --git a/internal/shim-sgx/Cargo.toml b/internal/shim-sgx/Cargo.toml index 2d20695e..b6427dec 100644 --- a/internal/shim-sgx/Cargo.toml +++ b/internal/shim-sgx/Cargo.toml @@ -14,7 +14,7 @@ sgx-heap = { path = "../sgx-heap" } sallyport = { git = "https://github.com/enarx/sallyport", rev = "efccf0f" } rcrt1 = { git = "https://github.com/enarx/rcrt1", rev = "2205dc7" } compiler_builtins = { version = "0.1", default-features = false, features = [ "mem" ] } -sgx = { git = "https://github.com/enarx/sgx", rev = "5292e53", features = [ "asm" ] } +sgx = { git = "https://github.com/enarx/sgx", rev = "4bb50e55bc8717c5bc2a98d680bf1be436cda8de", features = [ "asm" ] } goblin = { version = "0.3", default-features = false, features = [ "elf64" ] } crt0stack = { version = "0.1", default-features = false } libc = { version = "0.2", default-features = false } diff --git a/internal/shim-sgx/src/handler.rs b/internal/shim-sgx/src/handler.rs index 7527b6ca..9ce83ed1 100644 --- a/internal/shim-sgx/src/handler.rs +++ b/internal/shim-sgx/src/handler.rs @@ -467,7 +467,7 @@ impl<'a> EnarxSyscallHandler for Handler<'a> { }; let c = self.new_cursor(); - let (c, shim_nonce_ptr) = c.copy_from_slice(&report_bytes).or(Err(libc::EMSGSIZE))?; + let (c, shim_nonce_ptr) = c.copy_from_slice(report_bytes).or(Err(libc::EMSGSIZE))?; let (_, shim_buf_ptr) = c.alloc::(buf_len).or(Err(libc::EMSGSIZE))?; let req = request!(SYS_ENARX_GETATT => shim_nonce_ptr.as_ptr(), report_bytes.len(), shim_buf_ptr.as_ptr(), buf_len); let result = unsafe { self.proxy(req)? }; diff --git a/src/backend/sgx/attestation.rs b/src/backend/sgx/attestation.rs index ec71935b..d94a5b5f 100644 --- a/src/backend/sgx/attestation.rs +++ b/src/backend/sgx/attestation.rs @@ -255,7 +255,7 @@ fn get_quote(report: &[u8], akid: Vec, out_buf: &mut [u8]) -> Result