* [PATCH] lib/crypto: poly1305: Restore dependency of arch code on !KMSAN
@ 2025-10-22 3:34 Eric Biggers
2025-10-22 10:14 ` Ard Biesheuvel
0 siblings, 1 reply; 2+ messages in thread
From: Eric Biggers @ 2025-10-22 3:34 UTC (permalink / raw)
To: linux-crypto
Cc: linux-kernel, Ard Biesheuvel, Jason A . Donenfeld, Herbert Xu,
Pei Xiao, Alexander Potapenko, kasan-dev, Eric Biggers,
syzbot+01fcd39a0d90cdb0e3df
Restore the dependency of the architecture-optimized Poly1305 code on
!KMSAN. It was dropped by commit b646b782e522 ("lib/crypto: poly1305:
Consolidate into single module").
Unlike the other hash algorithms in lib/crypto/ (e.g., SHA-512), the way
the architecture-optimized Poly1305 code is integrated results in
assembly code initializing memory, for several different architectures.
Thus, it generates false positive KMSAN warnings. These could be
suppressed with kmsan_unpoison_memory(), but it would be needed in quite
a few places. For now let's just restore the dependency on !KMSAN.
Note: this should have been caught by running poly1305_kunit with
CONFIG_KMSAN=y, which I did. However, due to an unrelated KMSAN bug
(https://lore.kernel.org/r/20251022030213.GA35717@sol/), KMSAN currently
isn't working reliably. Thus, the warning wasn't noticed until later.
Fixes: b646b782e522 ("lib/crypto: poly1305: Consolidate into single module")
Reported-by: syzbot+01fcd39a0d90cdb0e3df@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/r/68f6a48f.050a0220.91a22.0452.GAE@google.com/
Reported-by: Pei Xiao <xiaopei01@kylinos.cn>
Closes: https://lore.kernel.org/r/751b3d80293a6f599bb07770afcef24f623c7da0.1761026343.git.xiaopei01@kylinos.cn/
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
---
lib/crypto/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig
index eea17e36a22be..8886055e938f2 100644
--- a/lib/crypto/Kconfig
+++ b/lib/crypto/Kconfig
@@ -95,11 +95,11 @@ config CRYPTO_LIB_POLY1305
The Poly1305 library functions. Select this if your module uses any
of the functions from <crypto/poly1305.h>.
config CRYPTO_LIB_POLY1305_ARCH
bool
- depends on CRYPTO_LIB_POLY1305 && !UML
+ depends on CRYPTO_LIB_POLY1305 && !UML && !KMSAN
default y if ARM
default y if ARM64 && KERNEL_MODE_NEON
default y if MIPS
# The PPC64 code needs to be fixed to work in softirq context.
default y if PPC64 && CPU_LITTLE_ENDIAN && VSX && BROKEN
base-commit: 552c50713f273b494ac6c77052032a49bc9255e2
--
2.51.1.dirty
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] lib/crypto: poly1305: Restore dependency of arch code on !KMSAN
2025-10-22 3:34 [PATCH] lib/crypto: poly1305: Restore dependency of arch code on !KMSAN Eric Biggers
@ 2025-10-22 10:14 ` Ard Biesheuvel
0 siblings, 0 replies; 2+ messages in thread
From: Ard Biesheuvel @ 2025-10-22 10:14 UTC (permalink / raw)
To: Eric Biggers
Cc: linux-crypto, linux-kernel, Jason A . Donenfeld, Herbert Xu,
Pei Xiao, Alexander Potapenko, kasan-dev,
syzbot+01fcd39a0d90cdb0e3df
On Wed, 22 Oct 2025 at 05:37, Eric Biggers <ebiggers@kernel.org> wrote:
>
> Restore the dependency of the architecture-optimized Poly1305 code on
> !KMSAN. It was dropped by commit b646b782e522 ("lib/crypto: poly1305:
> Consolidate into single module").
>
> Unlike the other hash algorithms in lib/crypto/ (e.g., SHA-512), the way
> the architecture-optimized Poly1305 code is integrated results in
> assembly code initializing memory, for several different architectures.
> Thus, it generates false positive KMSAN warnings. These could be
> suppressed with kmsan_unpoison_memory(), but it would be needed in quite
> a few places. For now let's just restore the dependency on !KMSAN.
>
> Note: this should have been caught by running poly1305_kunit with
> CONFIG_KMSAN=y, which I did. However, due to an unrelated KMSAN bug
> (https://lore.kernel.org/r/20251022030213.GA35717@sol/), KMSAN currently
> isn't working reliably. Thus, the warning wasn't noticed until later.
>
> Fixes: b646b782e522 ("lib/crypto: poly1305: Consolidate into single module")
> Reported-by: syzbot+01fcd39a0d90cdb0e3df@syzkaller.appspotmail.com
> Closes: https://lore.kernel.org/r/68f6a48f.050a0220.91a22.0452.GAE@google.com/
> Reported-by: Pei Xiao <xiaopei01@kylinos.cn>
> Closes: https://lore.kernel.org/r/751b3d80293a6f599bb07770afcef24f623c7da0.1761026343.git.xiaopei01@kylinos.cn/
> Signed-off-by: Eric Biggers <ebiggers@kernel.org>
> ---
> lib/crypto/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-10-22 10:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-22 3:34 [PATCH] lib/crypto: poly1305: Restore dependency of arch code on !KMSAN Eric Biggers
2025-10-22 10:14 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox