Commit Graph

95 Commits

Author SHA1 Message Date
tobiichi3227
0baa3107cb
forkexec: ensure bind mount preserve the mount flag from source (#17) 2025-10-11 16:11:06 -04:00
criyle
63db3b54e6 mount: ensure bind mount preserve the mount flag from source 2025-08-23 20:21:02 +00:00
criyle
7aa1c5a28b refactor: normalize error message & replace path with filepath 2025-05-25 22:02:23 -04:00
criyle
c63c27d3c2 test(pkg): add some unit tests 2025-05-25 20:24:59 -04:00
criyle
2ba894ffd1 vfork: fix asm on other architectures
doc: update

#13
2025-02-22 21:30:33 +00:00
criyle
396ac9723e forkexec: support vfork
(#13)
2025-02-22 20:04:15 +00:00
criyle
f0dd44f466 container: fix cgroup fd
forkexec: disabled VFORK for now as it is not working properly
#13
2025-02-20 22:52:26 -05:00
criyle
659099a2c0 forkexec: use vfork if no sync needed
#13
2025-02-20 22:35:09 +00:00
criyle
f8361a08a0 forkexec: only sync when syncFunc exists
#13
2025-02-20 21:45:03 +00:00
criyle
d32acd7591 cgroup&container: add ability to utilize cgroup fd with clone3
#13
2025-02-20 20:29:20 +00:00
criyle
3d8333e952 forkexec: initial support for clone3 2025-02-20 03:56:49 -05:00
criyle
f6f057edf9 cgroup: use rmdir to delete cgroup 2025-02-20 04:19:59 +00:00
criyle
0b6b557947 cgroup: add pids.peak for cgroup v2 kernel >= 6.1 2025-02-20 01:51:59 +00:00
criyle
4154f44d83 forkexec: add more benchmark for std fork 2025-02-19 00:03:36 -05:00
criyle
3fb1ccd890 pkg/cgroup: add enabled controler check for v2 2025-01-26 00:38:08 -05:00
BoYanZh
6c726c9b94
fix(pkg/cgroup): nil pointer dereference
when `build` is `V2.New`, `cg` will be `nil` if it is returned from `if !os.IsExist(err) {`
2025-01-10 03:42:03 -05:00
criyle
5bfbd6c8fe forkexec: fix unshare cgroup with ptracer 2024-06-14 10:26:07 +00:00
criyle
6d21194b72 mount: allow read write mount for /proc
criyle/go-judge#106

Co-authored-by: iBug <git@ibugone.com>
2024-05-23 10:21:46 +00:00
criyle
60a64d0fb1 container: add option to run init command after container initialization 2024-04-16 10:47:48 +00:00
criyle
598c606a99 deps: upgrade to rand/v2 2024-04-05 04:24:10 +00:00
criyle
f6274fd54c cgroup: rename types to remove stutters 2024-02-05 08:53:37 +00:00
criyle
ed93876f8c *: fix typos 2024-02-03 16:19:58 +00:00
criyle
231f3cb58f cgroup: refactor to support creating child cgroup directly 2023-11-09 10:21:07 +00:00
Nguyen Thanh Quang
656b493a3f
use memory.peak for cgroup v2 as an alternative to max_usage_in_bytes 2023-08-04 23:12:23 +07:00
criyle
25d0f22364 *: bump dependency version & better align 2023-04-12 01:19:47 -07:00
criyle
7af58bbeb9 forkexec: build for go1.19 2022-10-01 18:49:58 -07:00
criyle
69f0dffbeb container: fix file exists for bind mount 2022-08-27 00:29:34 -07:00
criyle
f308637481 forkexec: fix child error report 2022-08-13 01:32:16 -07:00
criyle
701fed8d1c forkexec: fix deadlock in go scheduler when syncWithChild
- also fix broken pipe when using fd as executable

resolves #2
2022-04-22 15:42:56 -07:00
criyle
ca60fcad98 *: fix macOS build for go1.18 2022-04-03 02:45:53 -07:00
criyle
8fc50bc5b7 *: bump to go1.18 2022-03-20 23:36:30 -07:00
criyle
2f85a420f9 cgroup: fix v1 set cpu bandwidth 2022-03-01 00:00:59 -08:00
criyle
c6519b09ec cgroup: add support of cgroup v2 nesting 2021-12-25 23:04:01 +00:00
criyle
5e5b00688a cgroup: implement cgroup v2 2021-12-24 10:42:42 +00:00
criyle
2889743b71 cgroup: initialize support for v2 implementation 2021-12-23 20:38:31 -08:00
criyle
76bbdf9ede forkexec: fix unit tests 2021-11-19 15:01:34 -08:00
criyle
b5d300a0e8 rlimit: restrict open file count 2021-11-12 00:23:34 -08:00
criyle
f965052804 mount: remove noatime from proc for compatibility 2021-09-20 18:33:48 -07:00
criyle
fded6ba8c7 *: bump dependency versions & go1.17 build tag 2021-09-19 14:10:44 -07:00
criyle
06ed42eb42 mount: add recursive flag to bind mounts 2021-09-19 13:35:11 -07:00
criyle
eec1a5a9e3 *: bump dependency versions with go1.17.1 2021-09-12 13:39:26 -07:00
criyle
4e55516ff3 forkexec: report error location 2021-08-04 22:41:36 -07:00
criyle
963e027b0a container: allocate buffers in advance 2021-04-25 17:58:00 -07:00
criyle
204d7949c6 unixsocket: non-blocking message & value passing 2021-03-27 19:16:41 -07:00
criyle
ebab07ec35 deprecate io/ioutil 2021-02-24 00:00:51 -08:00
criyle
9e8c4593c6 Update rlimit & remove discard reader 2021-02-06 12:21:22 -08:00
criyle
464c5ac932 Backwards compatibility for older kernels >= 3.10 2021-01-21 00:20:57 -08:00
criyle
29aefc839b misc benchmark 2021-01-16 18:19:25 -08:00
criyle
a17bcd105c small improvement 2021-01-08 23:50:40 -08:00
criyle
7603109e33 Refactor seccomp ptrace & improve container 2020-12-23 12:12:43 -08:00