summaryrefslogtreecommitdiff
path: root/Base/usr/share
diff options
context:
space:
mode:
authorLiav A <liavalb@gmail.com>2022-12-16 10:55:58 +0200
committerBrian Gianforcaro <b.gianfo@gmail.com>2022-12-22 20:32:57 -0800
commit2b5d7a8a7237057487c2827b30484c9ba6905c22 (patch)
tree14a2066dc26e2f5874461087ebd0d64879ecc235 /Base/usr/share
parent4b4b15adb1c755bc650c999ac3c8e1b284687ad4 (diff)
downloadserenity-2b5d7a8a7237057487c2827b30484c9ba6905c22.zip
Base: Mention new immutable memory mappings security feature
Diffstat (limited to 'Base/usr/share')
-rw-r--r--Base/usr/share/man/man7/Mitigations.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/Base/usr/share/man/man7/Mitigations.md b/Base/usr/share/man/man7/Mitigations.md
index c2f0f33057..e7700b4ded 100644
--- a/Base/usr/share/man/man7/Mitigations.md
+++ b/Base/usr/share/man/man7/Mitigations.md
@@ -163,6 +163,37 @@ Date: Tue Feb 2 19:56:11 2021 +0100
Kernel: Add a way to specify which memory regions can make syscalls
```
+### Immutable memory mappings
+
+[Immutable memory mappings](https://lwn.net/SubscriberLink/915640/53bc300d11179c62/) is
+a mitigation which originated from OpenBSD.
+In short the annotation of a particular Kernel Region as immutable implies that
+that these virtual memory mappings are locked to their last state (in regard to protection bits, etc),
+and they cannot be unmapped by a process until that process gets finalized.
+
+It was first enabled in the following [commit](https://github.com/SerenityOS/serenity/commit/8585b2dc23ec206777a4cfbd558766d90fc577e7):
+
+```
+commit 8585b2dc23ec206777a4cfbd558766d90fc577e7
+Author: Liav A <liavalb@gmail.com>
+Date: Thu Dec 15 21:08:57 2022 +0200
+
+Kernel/Memory: Add option to annotate region mapping as immutable
+
+We add this basic functionality to the Kernel so Userspace can request a
+particular virtual memory mapping to be immutable. This will be useful
+later on in the DynamicLoader code.
+
+The annotation of a particular Kernel Region as immutable implies that
+the following restrictions apply, so these features are prohibited:
+- Changing the region's protection bits
+- Unmapping the region
+- Annotating the region with other virtual memory flags
+- Applying further memory advises on the region
+- Changing the region name
+- Re-mapping the region
+```
+
### Post-init read-only memory
[Post-init read-only memory](https://lwn.net/Articles/666550/) is