[PATCH v2 0/2] lib/crypto: arm64: Fix Poly1305 NEON resume carry loss

From: Jérémy Jean

Date: Thu Oct 08 2026 - 16:20:03 EST


When poly1305_blocks_neon() resumes from a base 2^26 accumulator with an
odd number of blocks, its base conversion can lose a carry into the top
limb and emit a wrong tag.

Patch 1 fixes the lost carry. Patch 2 adds a KUnit regression for the
split-update witness that triggers it.

Changes in v2:
- detail the computations reaching the bug and improve commit message,
- add a KUnit regression test.

Jérémy Jean (2):
lib/crypto: arm64: Fix lost Poly1305 carry when resuming NEON state
lib/crypto: tests: Add Poly1305 split-update carry regression test

lib/crypto/arm64/poly1305-armv8.pl | 2 +-
lib/crypto/tests/poly1305_kunit.c | 31 ++++++++++++++++++++++++++++++
2 files changed, 32 insertions(+), 1 deletion(-)

--
2.47.3