Skip to content

0.0.3

Choose a tag to compare

@JonasKruckenberg JonasKruckenberg released this 04 Sep 19:10
· 655 commits to main since this release

It's time for another one! A bit more exciting this time!

What's Changed

KASLR

Over the last two weeks I finally implemented Kernel Address Space Layout Randomization (KASLR) in the loader. This required making a few changes to the way the kernel is built (i.e. fully position independent) and the loader.

Every memory region (kernel elf, stacks, heap, physical memory) is now mapped at randomized offsets.

This code can easily be reused to implement ASLR for user space as well. Next up would be function-grained ASLR, but that is much more complicated and I've been bashing my head against it without much success, so I'll leave that for later.

Streamlined build system

The build system got simplified massively to the point where dependencies on various native tools could be removed. It should also be more streamlined now!

Tests are run in CI

The test suite now gets on in CI on every commit; This way we can better track exactly how far along the WASM journey we are!

Other

  • Removed the kconfig configuration system and simplified repo setup
  • vendored the linked_list_allocator to reduce the dependency tree and have better integration