about summary refs log tree commit diff
path: root/src/libstd/sys/sgx/abi
AgeCommit message (Collapse)AuthorLines
2020-07-27mv std libs to library/mark-2027/+0
2020-07-16Rollup merge of #73269 - mzohreva:mz/sgx-wait-timeout, r=jethrogbManish Goregaokar-3/+89
Enable some timeouts in SGX platform This would partially resolve https://github.com/fortanix/rust-sgx/issues/31 cc @jethrogb and @Goirad
2020-07-15Move usercall_wait_timeout to abi::usercalls::wait_timeoutMohsen Zohrevandi-2/+72
2020-07-14Rollup merge of #73866 - Goirad:fix-entry-improper-ctypes, r=davidtwcoManish Goregaokar-3/+5
Obviate #[allow(improper_ctypes_definitions)] Modifies the return type for `fn entry` so that allowing improper_ctypes_definitions is no longer necessary. This change is derived from a similar pattern in `libstd/sys/sgx/abi/usercalls/raw.rs` with `UsercallReturn`. cc @jethrogb
2020-07-01Remove unnecessary check in SGX wait usercallMohsen Zohrevandi-2/+1
2020-06-29Obviate #[allow(improper_ctypes_definitions)]Dario Gonzalez-3/+5
Modifies the return type for `fn entry` so that allowing improper_ctypes_definitions is no longer necessary. This change is derived from a similar pattern in `libstd/sys/sgx/abi/usercalls/raw.rs` with `UsercallReturn`.
2020-06-26Rollup merge of #72937 - AdrianCX:master, r=nikomatsakisManish Goregaokar-5/+9
Fortanix SGX target libunwind build process changes Ticket: https://github.com/fortanix/rust-sgx/issues/174 LLVM related changes (merged): https://github.com/rust-lang/llvm-project/pull/57 Description: libunwind changes needed to run code in sgx environment via rust-sgx. Target that uses this in rust: x86_64-fortanix-unknown-sgx. Without this change, rust std for this toolchain is forced to use a precompiled library loaded via environment variable. With this change we act the same as musl target.
2020-06-24lints: add `improper_ctypes_definitions`David Wood-0/+1
This commit adds a new lint - `improper_ctypes_definitions` - which functions identically to `improper_ctypes`, but on `extern "C" fn` definitions (as opposed to `improper_ctypes`'s `extern "C" {}` declarations). Signed-off-by: David Wood <david@davidtw.co>
2020-06-24Update libunwind build process for x86_64-fortanix-unknown-sgx targetAdrian Cruceru-5/+9
2020-06-19Using xsave restore to restore complete FPU stateRaoul Strackx-12/+1
2020-06-18Improve wait_timeout_sgx, simplify usercalls::waitMohsen Zohrevandi-11/+6
2020-06-18Prevent attacker from manipulating FPU tag word used in SGX enclaveRaoul Strackx-0/+7
Insufficient sanitization of the x87 FPU tag word in the trusted enclave runtime allowed unprivileged adversaries in the containing host application to induce incoherent or unexpected results for ABI-compliant compiled enclave application code that uses the x87 FPU. Vulnerability was disclosed to us by Fritz Alder, Jo Van Bulck, David Oswald and Frank Piessens
2020-06-12Enable some timeouts in SGX platformMohsen Zohrevandi-1/+23
This would partially resolve https://github.com/fortanix/rust-sgx/issues/31
2020-06-07Enable LVI hardening for x86_64-fortanix-unknown-sgxJethro Beekman-5/+15
2020-03-26Rename asm! to llvm_asm!Amanieu d'Antras-1/+1
asm! is left as a wrapper around llvm_asm! to maintain compatibility.
2020-03-06fix various typosMatthias Krüger-1/+1
2020-02-13Add comment to SGX entry codeJethro Beekman-0/+1
2020-02-10Avoid jumping to Rust code with user %rsp (reentry_panic)Jethro Beekman-7/+6
2020-02-10sanitize MXCSR/FPU control registersRaoul Strackx-0/+11
2020-02-10Corrected ac_mitigation patch. That patch used the untrusted stack to clear ↵Raoul Strackx-7/+16
rflags during enclave (re-)entry
2020-01-10make use of pointer::is_nullLzu Tao-1/+1
2019-12-24x.py fmt after previous deignoreMark Rousskov-5/+3
2019-12-06Rewrite %rax register before syscall because it is overwritten by the ↵Pieter Agten-2/+2
syscall itself
2019-12-05Processed review commentsPieter Agten-7/+17
2019-12-04Create a separate entry point for the ELF file, instead of using the SGX ↵Pieter Agten-0/+20
entry point
2019-11-29Format libstd/sys with rustfmtDavid Tolnay-131/+142
This commit applies rustfmt with rust-lang/rust's default settings to files in src/libstd/sys *that are not involved in any currently open PR* to minimize merge conflicts. THe list of files involved in open PRs was determined by querying GitHub's GraphQL API with this script: https://gist.github.com/dtolnay/aa9c34993dc051a4f344d1b10e4487e8 With the list of files from the script in outstanding_files, the relevant commands were: $ find src/libstd/sys -name '*.rs' \ | xargs rustfmt --edition=2018 --unstable-features --skip-children $ rg libstd/sys outstanding_files | xargs git checkout -- Repeating this process several months apart should get us coverage of most of the rest of the files. To confirm no funny business: $ git checkout $THIS_COMMIT^ $ git show --pretty= --name-only $THIS_COMMIT \ | xargs rustfmt --edition=2018 --unstable-features --skip-children $ git diff $THIS_COMMIT # there should be no difference
2019-11-13Revert "Auto merge of #65134 - ↵Robin Kruppe-1/+0
davidtwco:issue-19834-improper-ctypes-in-extern-C-fn, r=rkruppe" This reverts commit 3f0e16473de5ec010f44290a8c3ea1d90e0ad7a2, reversing changes made to 61a551b4939ec1d5596e585351038b8fbd0124ba.
2019-11-05libstd: allow `improper_ctypes` in `sys/sgx`David Wood-0/+1
Signed-off-by: David Wood <david@davidtw.co>
2019-10-25forgot pushfq/popqfq: fixedRaoul Strackx-0/+2
2019-10-25cleaning up codeRaoul Strackx-9/+4
2019-10-25removed unnecessary pushRaoul Strackx-1/+0
2019-10-21fixed ac vulnerabilityRaoul Strackx-0/+10
2019-08-08Use associated_type_bounds where applicable - closes #61738Ilija Tovilo-2/+10
2019-05-02Fix potential integer overflow in SGX memory range calculation.Jethro Beekman-7/+17
Thanks to Eduard Marin and David Oswald at the University of Burmingham, and Jo Van Bulck at KU Leuven for discovering this issue.
2019-04-29SGX target: implemented vectored I/OJethro Beekman-8/+37
2019-04-29SGX target: don't unwind on usercall index out of boundsJethro Beekman-2/+10
2019-04-16SGX target: change re-entry abort logicJethro Beekman-19/+11
2019-04-01SGX target: convert a bunch of panics to abortsJethro Beekman-28/+31
2019-03-31libstd: deny(elided_lifetimes_in_paths), fixes in sgxMazdak Farrokhzad-4/+4
2019-03-25SGX target: fix std unit testsJethro Beekman-37/+18
2019-03-05SGX target: Expose thread id function in os moduleJethro Beekman-0/+1
2019-02-28Fix some imports and pathsTaiki Endo-1/+1
2019-02-28libstd => 2018Taiki Endo-25/+25
2019-02-13Auto merge of #58235 - jethrogb:jb/sgx-usercall-internals, r=alexcrichtonbors-80/+58
SGX target: simplify usercall internals This moves logic from assembly to Rust and removes the special case for exit/panic handling, merging it with regular usercall handling. Also, this fixes a bug in the exit usercall introduced in a75ae00. The bug would make regular exits look like panics with high probability. It would also with some probability leak information through uncleared registers. cc @VardhanThigle r? @alexcrichton
2019-02-10libs: doc commentsAlexander Regueiro-27/+34
2019-02-06SGX target: simplify usercall internalsJethro Beekman-80/+58
This moves logic from assembly to Rust and removes the special case for exit/panic handling, merging it with regular usercall handling. Also, this fixes a bug in the exit usercall introduced in a75ae00. The bug would make regular exits look like panics with high probability. It would also with some probability leak information through uncleared registers.
2019-02-06Rollup merge of #58182 - jethrogb:jb/sgx-bytebuffer-len-0, r=joshtriplettkennytm-2/+8
SGX target: handle empty user buffers correctly Also, expose correct items in `os::fortanix_sgx::usercalls::alloc` * [read_alloc documentation](https://edp.fortanix.com/docs/api/fortanix_sgx_abi/struct.Usercalls.html#method.read_alloc) * [Clarified ByteBuffer documentation](https://github.com/fortanix/rust-sgx/pull/94/files#diff-ca843ad9e25cacd63a80579c0f7efa56) r? @joshtriplett
2019-02-05SGX target: handle empty user buffers correctlyJethro Beekman-2/+8
2019-02-01Fix `std::os::fortanix_sgx::usercalls::raw::UsercallNrs`Jethro Beekman-4/+9
Fixes https://github.com/fortanix/rust-sgx/issues/88
2019-01-29SGX target: improve panic & exit handlingJethro Beekman-21/+31