Commit Graph

578 Commits

Author SHA1 Message Date
Hui, Chunyang
e574ab65d3 Fix sgx_tprotect_rsrv_mem failure on EDMM-enabled platform 2023-06-21 16:56:36 +08:00
Zheng, Qi
6048d1fcc1 Bump version to 0.29.6 2023-06-08 09:55:00 +08:00
Hui, Chunyang
0ddb8be317 [poll] Fix panic for non-opened fds 2023-06-05 15:35:47 +08:00
Zheng, Qi
9089764b64 Use sefs mount for generating runtime boot rootfs 2023-05-30 10:16:48 +08:00
Zheng, Qi
d4b762ebe5 [libos] Move runtime boot config to config.rs 2023-05-30 10:16:48 +08:00
Zheng, Qi
ac5d385747 Support passing user's envs for runtime boot case 2023-05-30 10:16:48 +08:00
Zheng, Qi
2347951743 Combine two config json files as one 2023-05-30 10:16:48 +08:00
Hui, Chunyang
0fef286df2 Refine poll handle negative poll_fds 2023-05-23 14:39:27 +08:00
Hui, Chunyang
c05744b8d4 Fix poll misbehavior with negative pollfd value 2023-05-16 08:57:50 +08:00
Hui, Chunyang
0b0fed947c Fix wait4 failure of child process created with vfork 2023-04-27 13:12:38 +08:00
LI Qing
634e9c3d68 Use the default poll implementation of INode 2023-04-21 13:32:23 +08:00
zhubojun
6cb368fbbe [libos] Retain red zone area and FLAGS unmodified across syscall
1. The previous implementation of __occlum_syret usse the red zone to
save the register temporarily, which may overwrite the red zone area.
This change avoids using the red zone when handling syscall.

2. Save and restore the FLAGS register before and after the operations
on PKRU to keep the FLAGS unmodified.
2023-03-31 12:35:13 +08:00
Zheng, Qi
79bbd2ad3e [libos] Print error sgx status when ocall failed 2023-03-21 15:08:49 +08:00
LI Qing
27a3c75209 [libos] Refine the getdents syscall. 2023-03-18 17:18:57 +08:00
Hui, Chunyang
478d0d381f Add catch unwind for occlum_ecall_init 2023-03-16 18:43:31 +08:00
Zheng, Qi
745a7619c9 Modify the project license description 2023-03-15 16:08:41 +08:00
LI Qing
573ba85634 [libos] Fix the file closing issue in dup2/dup3 2023-03-07 14:20:29 +08:00
LI Qing
0ac398b635 Add support to statfs on hostfs 2023-03-04 21:08:17 +08:00
Zheng, Qi
80e2858cee [libos] Support setting hard limit 2023-03-01 09:22:00 +08:00
Zheng, Qi
0bbfec0f24 [libos] Add syscall pwritev and preadv 2023-02-24 20:56:17 +08:00
Zheng, Qi
0f33e93fd5 [libos] Fix size checking bug for shmget 2023-02-24 20:56:17 +08:00
Zheng, Qi
6b86f37bd4 Bump version to 0.29.5 2023-02-24 11:20:00 +08:00
Zheng, Qi
500ca21d52 [libos] Fix bug of sigtimedwait for timeout NULL 2023-02-15 17:07:13 +08:00
Shaowei Song
dbe404f16a [sefs] Make cache size configurable in Occlum.json 2023-02-09 09:09:01 +08:00
Zheng, Qi
386e968ccb [libos] Enable backtrace for memory allocation failure 2023-02-02 10:26:12 +08:00
Hui, Chunyang
6107a32675 Fix mremap lock range when merging connecting chunks 2023-01-31 10:16:28 +08:00
volcano0dr
ea7a51be49 Bump version to 0.29.4 2023-01-16 11:32:43 +08:00
Hui, Chunyang
997c21a45f Fix reserved memory permission for EDMM support 2023-01-14 17:56:26 +08:00
Kun Lai
12cb488f36 [libos] Fix vulnerable nonce in DCAP verifier
This commit fixed a security issue in the dcap verifier. The issue was caused by the '[in, out]' attributes of pointer parameter qve_report_info in the ocall function occlum_ocall_verify_dcap_quote(). This led to the vulnerability where the protected qve_report_info.nonce field in libos could be arbitrarily rewritten by attacker outside libos.

Signed-off-by: Kun Lai <me@imlk.top>
2023-01-14 00:12:42 +08:00
Hui, Chunyang
f8825e453e Fix mmap with MAP_FIXED non-atomic behaviour 2023-01-11 16:47:20 +08:00
Hui, Chunyang
fb12642254 Fix brk not reset memory 2023-01-06 22:56:41 +08:00
Hui, Chunyang
0bf4a5a7f7 Fix mprotect and mremap potential failure 2023-01-06 22:56:41 +08:00
Zheng, Qi
7de4a2b3cd [libos] Add sgx_get_key ioctl command 2023-01-03 17:55:23 +08:00
Zheng, Qi
d34d54a821 Add syscall getrlimit and setrlimit support 2022-12-21 23:18:14 +08:00
Shaowei Song
588b458268 [sefs] Configure larger cache size to improve pfs performance 2022-12-12 14:03:59 +08:00
Zheng, Qi
77ff07f522 Bump to 0.29.3 2022-12-07 11:45:45 +08:00
Zheng, Qi
242e0b63d2 [libos] Fix envs overidden bug 2022-12-05 20:07:32 +08:00
LI Qing
70d3bf690c Print the raw errno if it is not an expected value 2022-12-05 13:57:13 +08:00
Hui, Chunyang
0f789b49bc Fix exit_group not interrupt wait4 2022-11-15 18:01:46 +08:00
Zheng, Qi
ac30c2b787 Bump to 0.29.2 2022-11-08 18:49:23 +08:00
LI Qing
64c75e6d40 Add partial support for '/proc/stat' and '/proc/[pid]/stat' 2022-11-06 20:56:29 +08:00
LI Qing
96166dadc2 Add setpriority and getpriority syscall 2022-10-26 13:00:19 +08:00
volcano0dr
a7da76ca42 Bump to 0.29.1 2022-10-24 14:28:01 +08:00
Hui, Chunyang
4c3ca79134 Make vfork stop parent child threads
When vfork is called and the current process has other running child threads,
for Linux, the other threads remain running. For Occlum, this behavior is
different. All the other threads will be frozen until the vfork returns
or execve is called in the child process.

The reason is that since Occlum doesn't support fork, many applications will
use vfork to replace fork. For multi-threaded applications, if vfork doesn't
stop other child threads, the application will be more likely to fail because
the child process directly uses the VM and the file table of the parent process.
2022-10-18 21:57:57 +08:00
LI Qing
f71e940cfd [libos] Fix the iterator index when unlock range lock 2022-10-13 17:29:23 +08:00
Hui, Chunyang
51eb43eb90 Fix epoll_ctl not waking up epoll_wait
Co-authored-by: rduan@apache.org
2022-09-22 15:11:31 +08:00
volcano0dr
52b75e3e06 Add metadata in HNode 2022-09-22 10:56:24 +08:00
volcano0dr
a389dc216c Bump to 0.29.0 2022-09-14 20:05:04 +08:00
volcano0dr
69b35e6429 [deps/rust-sgx-sdk] Upgrade rust-sgx-sdk to 1.1.5 2022-09-14 20:05:04 +08:00
volcano0dr
e13f6871cf Upgrade dependencies for libos 2022-09-07 10:01:34 +08:00