linux/Documentation
Linus Torvalds 95615dd9ff Crypto library updates for 7.4
- Migrate the x86 and riscv optimized implementations of various AES
   modes (ECB, CBC, CBC-CTS, CTR, XCTR, XTS) into lib/crypto/.
 
   This makes the library APIs be properly accelerated on these
   architectures, while still accelerating crypto_skcipher as well.
 
   It removes a lot of redundant glue code, since the crypto API
   boilerplate no longer needs to be duplicated for these architectures.
 
   It also fixes the longstanding issue where optimizations for these
   AES modes were disabled by default on these architectures.
 
 - Optimize AES-XTS on SPARC64 using the SPARC crypto opcodes
 
 - Move the SipHash code into lib/crypto/
 
 - Update the ChaCha and Poly1305 functions to take size_t lengths,
   resolving issues where lengths over INT_MAX were mishandled
 
 - Make frame pointer unwinding work properly in some of the x86
   assembly functions, by following the standard %rbp convention
 
 - Add helper functions for zeroizing structs
 
 - Make a few documentation improvements
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCatTfbBQcZWJpZ2dlcnNA
 a2VybmVsLm9yZwAKCRDzXCl4vpKOK9yhAP0RU5ofTuvc8jj2o02JlXnnxwzda+zh
 tpJYOIHfW6+2UwD/XjbNgngca3ByRL2f3rt2xdSaqSIjmRMP4Blkgeazsw4=
 =zs1E
 -----END PGP SIGNATURE-----

Merge tag 'libcrypto-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux

Pull crypto library updates from Eric Biggers:

 - Migrate the x86 and riscv optimized implementations of various AES
   modes (ECB, CBC, CBC-CTS, CTR, XCTR, XTS) into lib/crypto/.

   This makes the library APIs be properly accelerated on these
   architectures, while still accelerating crypto_skcipher as well.

   It removes a lot of redundant glue code, since the crypto API
   boilerplate no longer needs to be duplicated for these architectures.

   It also fixes the longstanding issue where optimizations for these
   AES modes were disabled by default on these architectures.

 - Optimize AES-XTS on SPARC64 using the SPARC crypto opcodes

 - Move the SipHash code into lib/crypto/

 - Update the ChaCha and Poly1305 functions to take size_t lengths,
   resolving issues where lengths over INT_MAX were mishandled

 - Make frame pointer unwinding work properly in some of the x86
   assembly functions, by following the standard %rbp convention

 - Add helper functions for zeroizing structs

 - Make a few documentation improvements

* tag 'libcrypto-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux: (49 commits)
  lib/crypto: md5: remove unused header
  lib/crypto: mips/chacha: Handle lengths of 2 GiB or more
  lib/crypto: arm/chacha: Handle lengths of 2 GiB or more in scalar code
  lib/crypto: chacha: Use size_t length
  lib/crypto: poly1305: Use size_t length
  lib/crypto: x86/sha512: Follow the normal %rbp convention
  lib/crypto: x86/sha256: Follow the normal %rbp convention
  lib/crypto: x86/sha1: Follow the normal %rbp convention
  lib/crypto: chacha20poly1305: zeroize state in __chacha20poly1305_decrypt
  lib/crypto: sparc/aes-xts: Add optimization using the AES opcodes
  lib: Move SipHash into lib/crypto/
  lib/crypto: x86/aes-ctr: Remove some unreachable code
  crypto: x86/aesni-intel - Add transitional selections
  crypto: aes - Boost priority of encryption modes further
  lib/crypto: x86/aes: Set RNDKEY in aes_cbc_encrypt_aesni()
  lib/crypto: riscv/aes-xts: Migrate optimized code into library
  lib/crypto: riscv/aes-ctr: Migrate optimized code into library
  lib/crypto: riscv/aes-cbc: Migrate optimized code into library
  lib/crypto: riscv/aes-ecb: Migrate optimized code into library
  lib/crypto: riscv/aes: Pass key struct to assembly code
  ...
2026-10-20 15:38:53 -10:00
..
ABI It was a reasonably busy cycle for docs; changes include: 2026-10-20 14:38:38 -10:00
accel
accounting
admin-guide It was a reasonably busy cycle for docs; changes include: 2026-10-20 14:38:38 -10:00
arch It was a reasonably busy cycle for docs; changes include: 2026-10-20 14:38:38 -10:00
block A handful of late-arriving fixes, a Japanese translation that was ready 2026-08-26 09:25:12 -07:00
bpf bpf: Add KF_PERFMON kfunc flag 2026-09-10 16:55:47 -07:00
cdrom
core-api It was a reasonably busy cycle for docs; changes include: 2026-10-20 14:38:38 -10:00
cpu-freq
crypto lib: Move SipHash into lib/crypto/ 2026-10-03 18:30:12 +02:00
dev-tools mm.git review status for linus..mm-stable 2026-08-27 09:17:06 -07:00
devicetree spi: Fixes for v7.3 2026-10-11 11:33:26 -07:00
doc-guide docs: kernel-doc: inform that '@' applies to other fields 2026-09-15 13:02:10 -06:00
driver-api It was a reasonably busy cycle for docs; changes include: 2026-10-20 14:38:38 -10:00
edac
fault-injection nvme: add opcode filtering for fault injection 2026-08-19 07:51:23 -07:00
fb
features It was a reasonably busy cycle for docs; changes include: 2026-10-20 14:38:38 -10:00
filesystems It was a reasonably busy cycle for docs; changes include: 2026-10-20 14:38:38 -10:00
firmware_class
firmware-guide
fpga
gpu DRM Rust changes for v7.3-rc1 2026-08-10 14:48:11 +10:00
hid HID: add documentation and Coccinelle script for FF registration race 2026-08-14 14:46:20 +02:00
hwmon hwmon: (cgbc-hwmon) Add missing sensors 2026-09-13 21:19:48 -07:00
i2c
iio
images
infiniband
input Documentation: input: Fix bracket 2026-09-15 13:34:14 -06:00
kbuild
kernel-hacking
leds
litmus-tests
livepatch Documentation: livepatch: Point klp_callbacks kernel-doc at livepatch_external.h 2026-09-07 09:47:56 -06:00
locking
maintainer
mhi
misc-devices docs: misc-devices/spear-pcie-gadget.txt: Fix bracket and whitespace 2026-09-07 09:54:06 -06:00
mm mm.git review status for linus..mm-stable 2026-08-27 09:17:06 -07:00
netlabel
netlink net: devmem: document that bind-tx is unprivileged by design 2026-09-22 18:40:15 -07:00
networking strparser: make sure __strp_recv isn't running before tearing down the parser 2026-10-06 18:29:12 -07:00
nvdimm
nvme
PCI Documentation: PCI: Document how to write PCI Host Controller drivers 2026-08-12 14:20:48 -05:00
pcmcia
peci
power
process docs: remove Assisted-by references 2026-10-14 10:51:49 -06:00
RCU
rust docs: rust: quick-start: remove Ubuntu 25.10 2026-08-10 06:44:10 +02:00
scheduler It was a reasonably busy cycle for docs; changes include: 2026-10-20 14:38:38 -10:00
scsi scsi: leapraid: Standardize NCQ priority sysfs attributes 2026-08-23 21:57:41 -04:00
security Landlock update for v7.3-rc1 2026-08-21 12:28:35 -07:00
sound ALSA: usb-audio: Reverse MIXER_GET_CUR_BROKEN as MIXER_GET_CUR_OK 2026-08-23 11:03:34 +02:00
sphinx
sphinx-includes
sphinx-static
spi docs: spi: add documentation for userspace device instantiation 2026-08-06 19:13:15 +01:00
staging
sunrpc/xdr nfsd: add support to CB_NOTIFY for dir attribute changes 2026-08-10 09:54:35 -04:00
target
tee
timers docs: timers: hpet: Document userspace API and ioctl commands 2026-09-29 16:55:31 -06:00
tools
trace landlock: Fix tracepoint contract documentation 2026-09-20 14:13:33 +02:00
translations It was a reasonably busy cycle for docs; changes include: 2026-10-20 14:38:38 -10:00
usb
userspace-api docs: ioctl: fix stale NVMe registry entry and note N conflict 2026-09-15 13:44:43 -06:00
virt Documentation: virt: Fix the struct snp_guest_request_ioctl name in sev-guest.rst 2026-09-15 13:28:10 -06:00
w1
watchdog docs: watchdog: npcm: Add reset status description 2026-08-10 09:00:04 -07:00
wmi
.gitignore
.renames.txt
atomic_bitops.txt
atomic_t.txt
Changes
CodingStyle
conf.py docs: conf.py: fix the 'utf-8' typo 2026-08-11 10:45:54 -06:00
docutils.conf
index.rst
Kconfig
Makefile docs: Makefile: Add a testdocs target for the documentation unit tests 2026-09-26 09:27:05 -06:00
memory-barriers.txt
SubmittingPatches
subsystem-apis.rst