diff options
author | Ali Mohammad Pur <ali.mpfard@gmail.com> | 2022-03-25 01:17:42 +0430 |
---|---|---|
committer | Ali Mohammad Pur <Ali.mpfard@gmail.com> | 2022-03-26 21:34:56 +0430 |
commit | 8233da33985bf834685bc215a8a9ed261e674f5f (patch) | |
tree | 1d5d0db05c457b54db5d842aec87b303d37593ab /Base/usr | |
parent | 37073437c1fb6660e188805300ca0ef59696efca (diff) | |
download | serenity-8233da33985bf834685bc215a8a9ed261e674f5f.zip |
Kernel: Add a 'no_error' pledge promise
This makes pledge() ignore promises that would otherwise cause it to
fail with EPERM, which is very useful for allowing programs to run under
a "jail" so to speak, without having them termiate early due to a
failing pledge() call.
Diffstat (limited to 'Base/usr')
-rw-r--r-- | Base/usr/share/man/man2/pledge.md | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Base/usr/share/man/man2/pledge.md b/Base/usr/share/man/man2/pledge.md index e7a289b870..0304080ea3 100644 --- a/Base/usr/share/man/man2/pledge.md +++ b/Base/usr/share/man/man2/pledge.md @@ -54,6 +54,7 @@ If the process later attempts to use any system functionality it has previously * `ptrace`: The [`ptrace`(2)](help://man/2/ptrace) syscall (\*) * `prot_exec`: [`mmap`(2)](help://man/2/mmap) and [`mprotect`(2)](help://man/2/mprotect) with `PROT_EXEC` * `map_fixed`: [`mmap`(2)](help://man/2/mmap) with `MAP_FIXED` or `MAP_FIXED_NOREPLACE` (\*) +* `no_error`: Ignore requests of pledge elevation going forwards, this is useful for enforcing _execpromises_ while the child process wants to ask for more upfront (Note that the elevation requests are _not_ granted, merely ignored), this is similar to the `error` pledge in OpenBSD. Promises marked with an asterisk (\*) are SerenityOS specific extensions not supported by the original OpenBSD `pledge()`. |