oxidecomputer / oxidecomputer/hubris
Plans to restrict kernel IPC to supervisor only?
@cbiffle is already working on this.
Since Apr 27, 2023.
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 239
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 23
Description
Dear Hubris team,
In the docs, I found the following: https://github.com/oxidecomputer/hubris/blob/5e473e4ec769c8cd3a15bfcbcb13e5bcc39b6c57/doc/kipc.adoc?plain=1#L47-L48
Since, in the current state, every task can use the kernel IPC, any misbehvaing task can currently cause a denial-of-service situation since it is able to continuously fault all other tasks. This goes against the general IPC design goal of limiting a task's ability to spam by blocking the task until it receives a sys_reply() after sys_send()ing, as outlined in: https://github.com/oxidecomputer/hubris/blob/5e473e4ec769c8cd3a15bfcbcb13e5bcc39b6c57/doc/ipc.adoc?plain=1#L78-L82
I was wondering if my assumptions are correct, if you at Oxide see this as a problem, and if there are plans to fix this in the future. Many thanks in advance!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.