summaryrefslogtreecommitdiff
path: root/Base/usr
diff options
context:
space:
mode:
authorAli Mohammad Pur <ali.mpfard@gmail.com>2022-03-25 01:17:42 +0430
committerAli Mohammad Pur <Ali.mpfard@gmail.com>2022-03-26 21:34:56 +0430
commit8233da33985bf834685bc215a8a9ed261e674f5f (patch)
tree1d5d0db05c457b54db5d842aec87b303d37593ab /Base/usr
parent37073437c1fb6660e188805300ca0ef59696efca (diff)
downloadserenity-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.md1
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()`.