Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,011 changes: 528 additions & 483 deletions KNOWLEDGE_BASE.md

Large diffs are not rendered by default.

29 changes: 18 additions & 11 deletions issues/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,26 @@

| Metric | Value |
|--------|-------|
| Stars | 1 |
| Clones (last 14 days) | 528 |
| Open Issues | 0 |
| Total Issues | 0 |
| Dependabot Open Alerts | 1 |
| CodeScan Open Alerts | 1 |
| Stars | 2 |
| Clones (last 14 days) | 2241 |
| Open Issues | 5 |
| Total Issues | 3 |
| Dependabot Open Alerts | 0 |
| CodeScan Open Alerts | 8 |

## Issues

## Dependabot Alerts
- [Dependabot #0](./dependabot/alert_0.md) - unknown (N/A) - unknown
- [#22](./issue_22.md) - Isolation: full namespaces beyond seccomp/rlimit/nice (open)
- [#21](./issue_21.md) - SMP: per-AP LAPIC timer calibration (remove BSP tick dependency) (open)
- [#20](./issue_20.md) - MiniFS: crash consistency (journaling or ordered-write guarantees) (open)

## Code Scanning Alerts
- [CodeScan #0](./codescan/alert_0.md) - N/A (N/A) - unknown
- [CodeScan #24](./codescan/alert_24.md) - cpp/wrong-type-format-argument (error) - open
- [CodeScan #23](./codescan/alert_23.md) - cpp/wrong-type-format-argument (error) - open
- [CodeScan #22](./codescan/alert_22.md) - cpp/wrong-type-format-argument (error) - open
- [CodeScan #21](./codescan/alert_21.md) - cpp/integer-multiplication-cast-to-long (warning) - open
- [CodeScan #20](./codescan/alert_20.md) - cpp/integer-multiplication-cast-to-long (warning) - open
- [CodeScan #19](./codescan/alert_19.md) - cpp/integer-multiplication-cast-to-long (warning) - open
- [CodeScan #18](./codescan/alert_18.md) - cpp/toctou-race-condition (warning) - open
- [CodeScan #17](./codescan/alert_17.md) - cpp/command-line-injection (error) - open

Total issues downloaded: 0
Total issues downloaded: 3
10 changes: 0 additions & 10 deletions issues/codescan/alert_0.md

This file was deleted.

10 changes: 10 additions & 0 deletions issues/codescan/alert_17.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Code Scanning Alert #17: cpp/command-line-injection

- **State:** open
- **Severity:** error
- **Tool:** CodeQL
- **Created:** 2026-09-09T21:03:30Z
- **URL:** https://github.com/grisuno/miniOS/security/code-scanning/17

## Description
Uncontrolled data used in OS command
10 changes: 10 additions & 0 deletions issues/codescan/alert_18.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Code Scanning Alert #18: cpp/toctou-race-condition

- **State:** open
- **Severity:** warning
- **Tool:** CodeQL
- **Created:** 2026-09-09T21:03:30Z
- **URL:** https://github.com/grisuno/miniOS/security/code-scanning/18

## Description
Time-of-check time-of-use filesystem race condition
10 changes: 10 additions & 0 deletions issues/codescan/alert_19.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Code Scanning Alert #19: cpp/integer-multiplication-cast-to-long

- **State:** open
- **Severity:** warning
- **Tool:** CodeQL
- **Created:** 2026-09-09T21:03:30Z
- **URL:** https://github.com/grisuno/miniOS/security/code-scanning/19

## Description
Multiplication result converted to larger type
10 changes: 10 additions & 0 deletions issues/codescan/alert_20.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Code Scanning Alert #20: cpp/integer-multiplication-cast-to-long

- **State:** open
- **Severity:** warning
- **Tool:** CodeQL
- **Created:** 2026-09-09T21:03:30Z
- **URL:** https://github.com/grisuno/miniOS/security/code-scanning/20

## Description
Multiplication result converted to larger type
10 changes: 10 additions & 0 deletions issues/codescan/alert_21.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Code Scanning Alert #21: cpp/integer-multiplication-cast-to-long

- **State:** open
- **Severity:** warning
- **Tool:** CodeQL
- **Created:** 2026-09-09T21:03:30Z
- **URL:** https://github.com/grisuno/miniOS/security/code-scanning/21

## Description
Multiplication result converted to larger type
10 changes: 10 additions & 0 deletions issues/codescan/alert_22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Code Scanning Alert #22: cpp/wrong-type-format-argument

- **State:** open
- **Severity:** error
- **Tool:** CodeQL
- **Created:** 2026-09-09T21:03:30Z
- **URL:** https://github.com/grisuno/miniOS/security/code-scanning/22

## Description
Wrong type of arguments to formatting function
10 changes: 10 additions & 0 deletions issues/codescan/alert_23.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Code Scanning Alert #23: cpp/wrong-type-format-argument

- **State:** open
- **Severity:** error
- **Tool:** CodeQL
- **Created:** 2026-09-09T21:03:30Z
- **URL:** https://github.com/grisuno/miniOS/security/code-scanning/23

## Description
Wrong type of arguments to formatting function
10 changes: 10 additions & 0 deletions issues/codescan/alert_24.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Code Scanning Alert #24: cpp/wrong-type-format-argument

- **State:** open
- **Severity:** error
- **Tool:** CodeQL
- **Created:** 2026-09-09T21:03:30Z
- **URL:** https://github.com/grisuno/miniOS/security/code-scanning/24

## Description
Wrong type of arguments to formatting function
13 changes: 0 additions & 13 deletions issues/dependabot/alert_0.md

This file was deleted.

10 changes: 10 additions & 0 deletions issues/issue_20.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Issue #20: MiniFS: crash consistency (journaling or ordered-write guarantees)

- **State:** open
- **Created:** 2026-09-10T03:54:42Z
- **Updated:** 2026-09-10T03:54:42Z
- **Labels:** enhancement,filesystem

---

MiniFS has no journal. A power loss / QEMU kill between a data-block write and the block/inode bitmap sync in kfclose (minifs_sync) can leave allocated blocks unreferenced or a directory entry pointing at a partially written inode.\n\nScope: define the smallest crash-consistency contract worth having for a teaching FS (ordered writes + sync-on-close audit vs full WAL), then implement + add a host fault-injection test.\n\nContext: fs/minifs.c, kfclose path, docs/adr/ (new ADR when decided).
10 changes: 10 additions & 0 deletions issues/issue_21.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Issue #21: SMP: per-AP LAPIC timer calibration (remove BSP tick dependency)

- **State:** open
- **Created:** 2026-09-10T03:54:52Z
- **Updated:** 2026-09-10T05:00:13Z
- **Labels:** enhancement,smp

---

APs have no timer of their own by design: the only AP tick is the BSP 100 Hz IPI broadcast (smp.c). A per-AP LAPIC timer would allow decentralized scheduling, but a LAPIC count derived from PIT_HZ fires ~84 kHz under QEMU and wedges the machine (measured 2.6x slowdown + 176 percent host CPU on idle guest) — see CLAUDE.md SMP section.\n\nScope: proper per-AP calibration (divide-by + initial-count from PIT or TSC-deadline), storm guard, BDD proof (smp counters per CPU). Do NOT just divide PIT_HZ into the LAPIC.
10 changes: 10 additions & 0 deletions issues/issue_22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Issue #22: Isolation: full namespaces beyond seccomp/rlimit/nice

- **State:** open
- **Created:** 2026-09-10T03:54:52Z
- **Updated:** 2026-09-10T03:54:52Z
- **Labels:** enhancement,isolation

---

ABI v4 already ships SECCOMP (238, deny/allow per-syscall), RLIMIT (240: AS bytes, CPU ticks, NOFILE) and NICE (239, fair-share) — see docs/ABI.md and kernel/syscalls.c dispatch. What is missing vs Linux: mount/pid/net namespaces, i.e. a compromised ring-3 process still sees the single shared filesystem and process table.\n\nScope: decide the namespace subset that fits the single-address-space model (per-process CR3 is the documented Phase 5 prerequisite in CLAUDE.md); implement incrementally behind ABI version bump + _Static_asserts in kernel.c.
Loading
Loading