- SPDX license headers and REUSE compliance
- GitHub Actions multi-kernel test suite
Full changelog
LiME v1.12.0
16 commits since v1.11.0 (March 23–24, 2026)
Bug Fixes (kernel module)
Hash / digest subsystem (hash.c)
- Fix multi-page vmalloc digest corruption — only the last page was being hashed
- Fix
crypto_digest_updatepassing byte length instead ofnsgcount - Fix memory leak:
digest_valuewas never freed inldigest_clean - Fix uninitialized
digestsizeon kernels 2.6.11–2.6.18 - Fix NULL dereference in
ldigest_cleanwhencrypto_allocfails - Add NULL checks on
outputanddigest_valueallocations
TCP subsystem (tcp.c)
- Fix
sizeof(struct iovec)used on astruct kvecvariable - Fix socket leak: pre-allocated socket was overwritten by
kernel_accept
Core module (main.c)
- Fix
ldigest_cleanextern return type mismatch (intvsvoid) - Fix wrong format specifier
%zufor signedssize_t - Fix missing
__get_free_pageandkmallocNULL checks - Fix resource leaks in
init()error paths - Fix
no_overlapset even when digest init fails
Code Quality
- Centralize all
externdeclarations inlime.h - Remove redundant includes and duplicate externs across files
- Extract
create_tcp_sock()helper to deduplicate socket creation intcp.c - Replace
strcpy/strcatchain withsnprintfinhash.c - Refactor
init()error paths to goto-based cleanup pattern - Fix
()vs(void)inconsistencies, declaration-after-statement issues, mixed indentation
REUSE / SPDX Compliance
- Add SPDX license headers to all source and script files
- Add
REUSE.tomlfor machine-readable license metadata - Replace monolithic
LICENSEfile withLICENSES/GPL-2.0-only.txt
Documentation
- Rename
doc/→docs/ - Rewrite and clarify
README.md(updated usage examples, parameter descriptions, sidecar digest naming) - Add
docs/test-architecture.mddescribing the CI and test framework design - Fix missing "padded" label in
docs/README.mdparameter description
CI / Testing
- Add GitHub Actions multi-kernel compile-test workflow (
build-test.yml) covering multiple kernel versions - Add sparse static analysis and QEMU smoke tests
- Add pre-commit hooks (trailing whitespace, markdown lint, flawfinder, codespell, REUSE)
- Add
test/directory with Dockerfile, kernel prep scripts, initramfs builder, and smoke-test harness - Update
actions/cacheto v5; fix objtool preservation during kernel tree stripping - Remove kernel 4.15 from CI matrix after extensive attempts to fix its toolchain incompatibilities
Full Changelog: https://github.com/jtsylve/LiME/compare/v1.11.0...v1.12.0