Testing and kernel matrix
Real-kernel RAM qualification, seeded properties, and defects found during kernel testing.
On this page
Real-kernel qualification#
The M0 and M1a device stages cover a null target, a RAM target, and 1/2/4/8 queues. The corrected implementation passed the device stages on the kernels below. The validation record identifies the earlier failed revisions and the scope of each reported result.
Device-stage results recorded 2026-10-10. Validation evidence and scope.
| Kernel family | Kernel | M0/M1a device stages |
|---|---|---|
| Ubuntu | 6.8 | pass |
| Debian | 6.12 | pass |
| Ubuntu | 7.0 | pass |
| Mainline | 7.2.6 | pass |
| Fedora | 7.2.9 | pass |
| Mainline | 7.3-rc3 | pass |
The full core runbook passed 33/33 stages on Ubuntu 6.8 and Debian 6.12. Every binding passed its RAM data-integrity stages on Linux 6.12. Binding coverage on the other kernels hasn’t been established by these results.
The runbook checks direct write/read comparisons, CRC32C fio verification, lifecycle cleanup, leaked devices and mappings, and new kernel warnings. A skip or timeout doesn’t count as a pass. RAM qualification covers volatile storage; it doesn’t establish durability across a crash.
Seeded property campaign#
The committed campaign ledger records independent seeds for each case, with these results:
| Property | Cases | Failures |
|---|---|---|
| Request decoding | 200,000 | 0 |
| Completion sequences | 200,000 | 0 |
| Lifecycle against a model | 200,000 | 0 |
| Versioned record byte round trips | 200,000 | 0 |
These are bounded randomized properties with replayable seeds. They supplement deterministic models and real-kernel testing. Coverage-guided fuzzing isn’t qualified by this campaign.
Defects exposed by real kernels#
The validation record records these fixes:
| Defect | Correction |
|---|---|
| Failed START left primed FETCH commands to drain | Run STOP after partial priming or failed START, and keep the owners driving until abort completions drain. |
| FLUSH’s sentinel sector overflowed address arithmetic | Decode FLUSH without treating its wire range as an addressed payload. |
| Independent character-device opens failed with multiple queues | Open once, and duplicate the surviving file description for later queues. |
| Additive capability flags returned by newer kernels were rejected | Admit compatible capability flags while continuing to reject unrequested I/O modes and unknown bits. |
| A udev probe raced a held-request test | Arm the hold after client open, and match the intended direct request exactly. |
The comparative benchmarks have a separate measurement scope. The kernel bug guide tracks findings in the kernel itself.