microsoft / microsoft/litebox

Improved fs support in Linux Userland Platform

Open
#341 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement layer-platform target-linux
Dominant language
Rust
Stars
2.7k
Forks
144
Avg merge
12h 21m
Merged PRs (30d)
146

Description

We need to better handle FS restoration/resetting specifically for the Linux Userland Platform.

There are some benefits to this:
- ability to use `std`
- nicer panics
- easier portability of platforms

There are various steps towards the full migration (probably each could be their own PR?):
- [ ] handle fs store/restore at the correct chokepoints (syscall entry/exit)
- [ ] switch away from systrap backend
- [ ] migrate threading to properly handle fs + TLS setup
- [ ] switch more of the platform to std-specific bits
- [ ] coalesce commonalities between platforms (if we notice that there is sufficient commonality that we could make a `litebox_platform_userland` on its own)

Related important reading: https://github.com/microsoft/litebox/pull/339#issuecomment-3286916904

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the related discussion in PR #339, then map how the Linux Userland Platform currently handles filesystem store/restore and where syscall entry/exit, the systrap backend, and threading setup are implemented. Done means completing the migration steps in the checklist, including FS and TLS handling and any identified platform commonality.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.