32 lines
1.3 KiB
Markdown
32 lines
1.3 KiB
Markdown
# Pre12 Batch 05: ZSTD window lower bound
|
|
|
|
## Change
|
|
|
|
- Removed only the `rq->em->zstd_windowlog + 10 < 10` subcondition from
|
|
`z_erofs_zstd_decompress`.
|
|
- Preserved the `> 20` upper bound, the `outputsize == 0` check, every
|
|
`return (-1)`, all ZSTD calls, resource release, and the complete disabled
|
|
`#else` stub.
|
|
- Did not change ZSTD configuration parsing, accepted configuration range,
|
|
conditional compilation, errno behavior, or control flow after the guard.
|
|
|
|
## Static proof
|
|
|
|
- `struct erofs_mount.zstd_windowlog` is `uint8_t`, so integer promotion gives
|
|
a value in the range 0 through 255.
|
|
- Adding 10 therefore produces a minimum value of 10; comparison with `< 10`
|
|
is unreachable for every representable field value.
|
|
- `z_erofs_load_zstd_config` still rejects `windowlog > 10`, so configured
|
|
mount values and the remaining decompression upper-bound behavior are
|
|
unchanged.
|
|
- Normalized function comparison confirms that the only removed logical
|
|
tokens are the single unreachable lower-bound subcondition and its `||`.
|
|
- `git diff --check` and `git diff --cached --check` completed without errors.
|
|
|
|
## Tests not run
|
|
|
|
Per the execution constraints, no build, QEMU run, smoke test, feature test,
|
|
or other dynamic test was run. A FreeBSD KLD build with `WITH_ZSTDIO=1`
|
|
remains mandatory during final validation so this enabled function body is
|
|
compiled.
|