]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ipv6: Switch to higher-level SHA-1 functions
authorEric Biggers <ebiggers@kernel.org>
Fri, 23 Jan 2026 05:16:55 +0000 (21:16 -0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 27 Jan 2026 23:47:40 +0000 (15:47 -0800)
commit5023479627e3e85a97807f612bea2eddbf202e1d
treeeb5f5115b834fe54317f0d0047bfcfc87afd8586
parent62777c8015f3d86ab7853790192b24f0cee8a647
ipv6: Switch to higher-level SHA-1 functions

There's now a proper SHA-1 API that follows the usual conventions for
hash function APIs: sha1_init(), sha1_update(), sha1_final(), sha1().
The only remaining user of the older low-level SHA-1 API,
sha1_init_raw() and sha1_transform(), is ipv6_generate_stable_address().
I'd like to remove this older API, which is too low-level.

Unfortunately, ipv6_generate_stable_address() does in fact skip the
SHA-1 finalization for some reason.  So the values it computes are not
standard SHA-1 values, and it sort of does want the low-level API.

Still, it's still possible to use the higher-level functions sha1_init()
and sha1_update() to get the same result, provided that the resulting
state is used directly, skipping sha1_final().

So, let's do that instead.  This will allow removing the low-level API.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Acked-by: David Ahern <dsahern@kernel.org>
Link: https://patch.msgid.link/20260123051656.396371-2-ebiggers@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/addrconf.c