1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 06:58:11 +00:00

Kernel: Add mechanism to make some memory read-only after init finishes

You can now use the READONLY_AFTER_INIT macro when declaring a variable
and we will put it in a special ".ro_after_init" section in the kernel.

Data in that section remains writable during the boot and init process,
and is then marked read-only just before launching the SystemServer.

This is based on an idea from the Linux kernel. :^)
This commit is contained in:
Andreas Kling 2021-02-14 17:35:07 +01:00
parent 917f7d668c
commit d8013c60bb
5 changed files with 28 additions and 0 deletions

View file

@ -296,6 +296,9 @@ void init_stage2(void*)
load_kernel_symbol_table();
// NOTE: Everything marked READONLY_AFTER_INIT becomes non-writable after this point.
MM.protect_readonly_after_init_memory();
int error;
// FIXME: It would be nicer to set the mode from userspace.