Commit Graph

692 Commits

Author SHA1 Message Date
Shaowei Song
2e608cdf47 [vm] Avoid early munmap of shm 2023-09-21 10:11:27 +08:00
Qi Zheng
ad317e61f6 [exec] Increase sighandle stack size 2023-09-20 17:13:46 +08:00
wang384670111
3724a06714 modify_comment 2023-09-18 12:42:17 +08:00
Hui, Chunyang
3225a37832 Remove adding process pid when creating multi-vma chunk 2023-08-29 19:23:03 +08:00
Hui, Chunyang
94f9ff7814 Respect alignment when finding free ranges 2023-08-29 19:23:03 +08:00
Hui, Chunyang
56f7ab02a5 [vm] Refine VMA created with inherits_file_from 2023-08-24 19:47:09 +08:00
Hui, Chunyang
1e8584af10 Add capability to get precise free size for userspace 2023-08-15 15:02:24 +08:00
Qi Zheng
b5a32a8d8a Bump version to 0.29.7 2023-08-04 12:45:11 +08:00
ClawSeven
6b11e2ae3d Support fstat for Unix Domain Stream Socket 2023-07-25 16:00:43 +08:00
Shaowei Song
e2f7e6109a [vm] Minor fix in debug asserts in shm 2023-06-26 22:01:55 +08:00
Qi Zheng
52d6a92929 [ocall] Support alternative dcap device nodes 2023-06-26 17:54:16 +08:00
Shaowei Song
56add87c76 [net] Support send/receive control message in unix socket 2023-06-26 14:07:29 +08:00
Shaowei Song
b0de80bd50 [vm] Support shared memory (POSIX) 2023-06-22 15:20:29 +08:00
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
LI Qing
d63b3c561c Improve the usability of occlum start/exec/stop cmd 2022-12-11 19:33:04 +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
volcano0dr
c60a19177b Update pal error message 2022-10-19 09:45:27 +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
Zheng, Qi
27ca93c7ab Let the init process can accept the env values 2022-10-11 13:09:35 +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
volcano0dr
8fac6d3652 Upgrade dependencies for occlum_exec 2022-09-06 15:38:41 +08:00
Hui, Chunyang
171faccea7 [libos] Fix munmap conflict chunk range and vma range 2022-09-06 12:57:16 +08:00
volcano0dr
e3a17946ac Bump to 0.28.1 2022-08-25 08:33:06 +08:00
Hui, Chunyang
6cb9ca7e44 Add sendmsg/recvmsg support for unix domain socket 2022-08-23 20:37:57 +08:00
Hui, Chunyang
71c4937b45 Fix listening socket epoll_wait not waken by connect 2022-08-23 20:37:57 +08:00
Hui, Chunyang
f87ee7c7a4 Support munmap multiple single VMA chunks with remaining ranges 2022-08-23 16:58:03 +08:00
LI Qing
54de00a3bc Fix the issue when path is suffixed by "/" 2022-08-15 09:21:52 +08:00
LI Qing
54afae9ed5 Fix the path length limit and update sefs 2022-08-15 09:19:09 +08:00
LI Qing
0513a17e81 Skip the inode permission check if uid is root 2022-08-09 09:58:25 +08:00
Hui, Chunyang
d1acb84362 Add support for /proc/self(pid)/maps 2022-08-08 08:40:52 +08:00
Ikko Ashimine
fc0f913940 Fix typo in stream.rs
avaiable -> available
2022-07-24 18:53:35 +08:00
dr264275
67ca5444f4 Bump to 0.28.0
Signed-off-by: dr264275 <dr264275@antgroup.com>
2022-07-17 17:12:14 +08:00
zhubojun
338dda643b [libos] Add PKU support 2022-07-17 17:12:14 +08:00
Zheng, Qi
526b6e1753 Update QvE ISV SVN threshold value 2022-07-17 17:12:14 +08:00
LI Qing
a2991cc9c0 Add seek support for stdin and stdout 2022-07-15 23:48:27 +08:00
Hui, Chunyang
0b824d3a98 Fix panic when build process VM failed 2022-07-13 16:35:04 +08:00
LI Qing
1dc2b517fc Fix the issue about fsync on hostfs's dir
There are no sync methods about untrusted dir, so we do nothing.
2022-07-13 13:42:51 +08:00
LI Qing
98dd3e8af3 Modify hostfs to support mode and some ops for dir 2022-07-06 15:54:15 +08:00
Hui, Chunyang
04e00ddbc5 Refactor exec server status to handle init failure 2022-06-24 19:21:27 +08:00
Hui, Chunyang
5d75584e32 Stop interrupt thread before destroying the enclave when error 2022-06-24 19:21:27 +08:00
LI Qing
6dab561327 Disable DCAP in hyper mode 2022-06-23 10:25:16 +08:00
volcano0dr
fac632122e Bump to 0.27.3
Signed-off-by: volcano0dr <volcano_dr@163.com>
2022-06-06 09:32:50 +08:00
ClawSeven
40ad9d1648 [libos] Fix error handling of sendfile 2022-06-01 12:13:10 -07:00
Hui, Chunyang
2cd20d315e Refactor merge_all_single_vma_chunks to reduce iteration 2022-05-18 00:02:20 +08:00
Hui, Chunyang
849e35f01e Remove redundant sort logic for add_range_back_to_free_manager 2022-05-18 00:02:20 +08:00
Hui, Chunyang
70dbf84782 Fix single-VMA chunk range conflict due to mremap locking order 2022-05-17 23:58:00 +08:00
LI Qing
626ea3dc7c [libos] Add status_flags support for stdio 2022-05-16 15:29:26 +08:00
Hui, Chunyang
cd5d9e6d57 Refactor rwlock implementation
1. Improve readability
2. Ease the restriction on memory ordering for better performance
2022-05-11 14:57:17 +08:00
Hui, Chunyang
fd950132ce Fix chunk manager munmap range
When the munmap range is bigger than the Multi-VMA chunk's range, the
bound was wrong and the munmap will misbehave.
2022-05-10 23:30:29 +08:00
zhubojun
ed96ce55dd [libos] Add support for SHM 2022-04-28 20:05:50 +08:00
ClawSeven
c84c3b7b88 Refine hosts parser 2022-04-27 22:10:54 +08:00
volcano0dr
7a2c5a1f41 Bump to 0.27.2
Signed-off-by: volcano0dr <volcano_dr@163.com>
2022-04-25 15:02:41 +08:00
volcano
0182c097dd [hyper mode] Support ms buffer for deep copy hostfile 2022-04-24 17:48:58 +08:00
ClawSeven
036eb08193 Deep copy host file 2022-04-24 10:52:33 +08:00