mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-22 07:25:06 -04:00
Pull crypto library updates from Eric Biggers:
"This is the main crypto library pull request for 6.17. The main focus
this cycle is on reorganizing the SHA-1 and SHA-2 code, providing
high-quality library APIs for SHA-1 and SHA-2 including HMAC support,
and establishing conventions for lib/crypto/ going forward:
- Migrate the SHA-1 and SHA-512 code (and also SHA-384 which shares
most of the SHA-512 code) into lib/crypto/. This includes both the
generic and architecture-optimized code. Greatly simplify how the
architecture-optimized code is integrated. Add an easy-to-use
library API for each SHA variant, including HMAC support. Finally,
reimplement the crypto_shash support on top of the library API.
- Apply the same reorganization to the SHA-256 code (and also SHA-224
which shares most of the SHA-256 code). This is a somewhat smaller
change, due to my earlier work on SHA-256. But this brings in all
the same additional improvements that I made for SHA-1 and SHA-512.
There are also some smaller changes:
- Move the architecture-optimized ChaCha, Poly1305, and BLAKE2s code
from arch/$(SRCARCH)/lib/crypto/ to lib/crypto/$(SRCARCH)/. For
these algorithms it's just a move, not a full reorganization yet.
- Fix the MIPS chacha-core.S to build with the clang assembler.
- Fix the Poly1305 functions to work in all contexts.
- Fix a performance regression in the x86_64 Poly1305 code.
- Clean up the x86_64 SHA-NI optimized SHA-1 assembly code.
Note that since the new organization of the SHA code is much simpler,
the diffstat of this pull request is negative, despite the addition of
new fully-documented library APIs for multiple SHA and HMAC-SHA
variants.
These APIs will allow further simplifications across the kernel as
users start using them instead of the old-school crypto API. (I've
already written a lot of such conversion patches, removing over 1000
more lines of code. But most of those will target 6.18 or later)"
* tag 'libcrypto-updates-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux: (67 commits)
lib/crypto: arm64/sha512-ce: Drop compatibility macros for older binutils
lib/crypto: x86/sha1-ni: Convert to use rounds macros
lib/crypto: x86/sha1-ni: Minor optimizations and cleanup
crypto: sha1 - Remove sha1_base.h
lib/crypto: x86/sha1: Migrate optimized code into library
lib/crypto: sparc/sha1: Migrate optimized code into library
lib/crypto: s390/sha1: Migrate optimized code into library
lib/crypto: powerpc/sha1: Migrate optimized code into library
lib/crypto: mips/sha1: Migrate optimized code into library
lib/crypto: arm64/sha1: Migrate optimized code into library
lib/crypto: arm/sha1: Migrate optimized code into library
crypto: sha1 - Use same state format as legacy drivers
crypto: sha1 - Wrap library and add HMAC support
lib/crypto: sha1: Add HMAC support
lib/crypto: sha1: Add SHA-1 library functions
lib/crypto: sha1: Rename sha1_init() to sha1_init_raw()
crypto: x86/sha1 - Rename conflicting symbol
lib/crypto: sha2: Add hmac_sha*_init_usingrawkey()
lib/crypto: arm/poly1305: Remove unneeded empty weak function
lib/crypto: x86/poly1305: Fix performance regression on short messages
...
56 lines
2.0 KiB
Makefile
56 lines
2.0 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
# Makefile for Sparc library files..
|
|
#
|
|
|
|
asflags-y := -ansi -DST_DIV0=0x02
|
|
|
|
lib-$(CONFIG_SPARC32) += ashrdi3.o
|
|
lib-$(CONFIG_SPARC32) += memcpy.o memset.o
|
|
lib-y += strlen.o
|
|
lib-y += checksum_$(BITS).o
|
|
lib-$(CONFIG_SPARC32) += blockops.o
|
|
lib-y += memscan_$(BITS).o memcmp.o strncmp_$(BITS).o
|
|
lib-$(CONFIG_SPARC32) += divdi3.o udivdi3.o
|
|
lib-$(CONFIG_SPARC32) += copy_user.o locks.o
|
|
lib-$(CONFIG_SPARC64) += atomic_64.o
|
|
lib-$(CONFIG_SPARC32) += lshrdi3.o ashldi3.o
|
|
lib-$(CONFIG_SPARC32) += muldi3.o bitext.o
|
|
lib-$(CONFIG_SPARC64) += multi3.o
|
|
lib-$(CONFIG_SPARC64) += fls.o
|
|
lib-$(CONFIG_SPARC64) += fls64.o
|
|
lib-$(CONFIG_SPARC64) += NG4fls.o
|
|
|
|
lib-$(CONFIG_SPARC64) += copy_page.o clear_page.o bzero.o
|
|
lib-$(CONFIG_SPARC64) += csum_copy.o csum_copy_from_user.o csum_copy_to_user.o
|
|
lib-$(CONFIG_SPARC64) += VISsave.o
|
|
lib-$(CONFIG_SPARC64) += bitops.o
|
|
|
|
lib-$(CONFIG_SPARC64) += U1memcpy.o U1copy_from_user.o U1copy_to_user.o
|
|
|
|
lib-$(CONFIG_SPARC64) += U3memcpy.o U3copy_from_user.o U3copy_to_user.o
|
|
lib-$(CONFIG_SPARC64) += U3patch.o
|
|
|
|
lib-$(CONFIG_SPARC64) += NGmemcpy.o NGcopy_from_user.o NGcopy_to_user.o
|
|
lib-$(CONFIG_SPARC64) += NGpatch.o NGpage.o NGbzero.o
|
|
|
|
lib-$(CONFIG_SPARC64) += NG2memcpy.o NG2copy_from_user.o NG2copy_to_user.o
|
|
lib-$(CONFIG_SPARC64) += NG2patch.o
|
|
|
|
lib-$(CONFIG_SPARC64) += NG4memcpy.o NG4copy_from_user.o NG4copy_to_user.o
|
|
lib-$(CONFIG_SPARC64) += NG4patch.o NG4copy_page.o NG4clear_page.o NG4memset.o
|
|
|
|
lib-$(CONFIG_SPARC64) += Memcpy_utils.o
|
|
|
|
lib-$(CONFIG_SPARC64) += M7memcpy.o M7copy_from_user.o M7copy_to_user.o
|
|
lib-$(CONFIG_SPARC64) += M7patch.o M7memset.o
|
|
|
|
lib-$(CONFIG_SPARC64) += GENmemcpy.o GENcopy_from_user.o GENcopy_to_user.o
|
|
lib-$(CONFIG_SPARC64) += GENpatch.o GENpage.o GENbzero.o
|
|
|
|
lib-$(CONFIG_SPARC64) += copy_in_user.o memmove.o
|
|
lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o hweight.o ffs.o
|
|
|
|
obj-$(CONFIG_SPARC64) += iomap.o
|
|
obj-$(CONFIG_SPARC32) += atomic32.o
|
|
obj-$(CONFIG_SPARC64) += PeeCeeI.o
|