feat: add Rust userspace support; fix TLS layout for p_align < 16; kill whole process on sibling-thread faults
This commit is contained in:
1 parent
a81298fb24
commit
f8b8f9610f
31 files changed
+1076
-38
No files matched your search
@@ -12,4 +12,4 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#define MONTAUK_BUILD_NUMBER 302
|
||||
#define MONTAUK_BUILD_NUMBER 306
|
||||
@@ -221,6 +221,10 @@ namespace montauk::abi {
|
||||
}
|
||||
|
||||
static int Sys_Kill(int pid) {
|
||||
// A process may always kill itself: a sibling thread has no other
|
||||
// way to take the whole process down (SYS_EXIT from a sibling ends
|
||||
// only that thread), which abort()/panic=abort need.
|
||||
if (pid == Sched::GetCurrentPid()) return Sched::KillProcess(pid);
|
||||
if (!Sched::HasCapability(CAP_PROCESS_ADMIN)) {
|
||||
int ancestor = pid;
|
||||
bool descendant = false;
|
||||
|
||||
Reference in new issue
Block a user