Repository navigation
This release is about NOR flash correctness. Four fixes address uninitialized state and unchecked parameters in the extended cache and the block reclaim and erase-search paths, each with a regression test that reproduces the fault. LevelX's regression suite now also gates changes to dev across every Linux configuration rather than running only on master.
We thank Logic Elements, along with the independent contributor @miracoli, for their valuable contributions to this release.
The LevelX user guide is attached to this release as a PDF, in A4 and US Letter.
Vulnerabilities Addressed
No new vulnerabilities were addressed in this release. You can access advisories for previously addressed vulnerabilities here.
Highlights
NOR Flash Fixes
Uninitialized mapped sector state in the erase search. The search for the next block to erase can take an obsolete count from the cache or from block metadata without scanning the mapping table, and then copied an uninitialized mapped count into its candidate state. It now initializes the availability flag and resets the mapped count for each block, and still scans the chosen block before returning a count that was unavailable. (#83, @miracoli)
Reclaim reported the wrong failure. On allocation failure, NOR block reclaim compared a null sector address against block pointers before reporting the error, and in LX_DIRECT_READ builds could return an uninitialized status. It now returns LX_SYSTEM_ALLOCATION_FAILED and skips the address comparisons when allocation leaves its output null. The defect in the direct-read status was identified by @jiri-novotny. (#84, @miracoli)
Extended cache size validation and zero base handling. _lx_nor_flash_extended_cache_enable() mishandled a cache size that did not match its expectations, and a cache based at address zero. Both are now rejected or handled explicitly, with the block erase boundary covered by tests. (#78, #79, @fdesbiens)
Regression Gating on dev
The regression suite now runs on dev as well as master, across every Linux configuration. Changes to dev were previously unguarded. (#90, @fdesbiens)
Other Changes
- Added a check that keeps the AI disclosure comment in its one accepted form, and corrected it where it matched ordinary prose (#87, #93, @fdesbiens)
- Normalized the AI disclosure comment to one fixed line per file (#85, @fdesbiens)
- Updated the contribution guide for the current build, test and submission workflows (#91, @fdesbiens)
- Linked readers to the published documentation rather than the archived site (#89, @fdesbiens)
- Updated the security policy (#80, @fdesbiens)
- Added a blame ignore list so the mechanical header and version passes no longer mask authorship (#86, @fdesbiens)
- Stopped the release script adding a
Co-authored-bytrailer, which asserts an authorship an AI cannot hold (#94, @fdesbiens)
New Contributors
Full Changelog: v6.5.1.202602_rel...v6.5.2.202603_rel