# DF-2749 - Verification Verdict

**Status:** reproduced
**Impact:** none (hardening)
**Confidence:** certain

## Mechanism
journal_wthread pad-skip branch advances fifo.rindex by the padded record size but increments total_acked by bytes - the WHOLE pending amount - so every pad record inflates the acked-byte accounting reported through MOUNTCTL_STATUS; the non-fullduplex sub-branch already adds the pad size again (double count on that path).

## Verdict
source-confirmed (no runtime PoC; deterministic code trace of the cited path:line in the read-only sys/ tree). Code-certain accounting bug (bytessent/journal stats only); no runtime rig (mounting a journal requires the mountctl setup outside this Info batch budget). fix.diff counts the pad size once and stops the inner double-add.

## Threat / reachability
Journal status/ack accounting wrongness (bytessent inflated); no memory-safety impact.

## Privilege escalation assessment
n/a (hardening)

## Fix
total_acked += (rawp->recsize + 15) & ~15 once; drop the inner increment (keep the xindex advance).

## Kernel references
- `sys/kern/vfs_journal.c:220`
- `sys/kern/vfs_journal.c:221`

## Fix status (batch validation)
Applied with the 36 sibling fix.diffs of this batch in findings/poc/_batch41/all_fixes.patch; single in-guest `make -j6 nativekernel KERNCONF=X86_64_GENERIC` completed RC=0 with zero errors under -Werror (full log: findings/poc/_batch41/fix_build8.log). Behavior A/B intentionally skipped for this Info-tier item.
