freebsd-src/sys/crypto
Zachary Leaf 565c887a77 armv8_crypto: fix recursive fpu_kern_enter call
Now armv8_crypto is using FPU_KERN_NOCTX, this results in a kernel panic
in armv8_crypto.c:armv8_crypto_cipher_setup:

    panic: recursive fpu_kern_enter while in PCB_FP_NOSAVE state

This is because in armv8_crypto.c:armv8_crypto_cipher_process,
directly after calling fpu_kern_enter() a call is made to
armv8_crypto_cipher_setup(), resulting in nested calls to
fpu_kern_enter() without the required fpu_kern_leave() in between.

Move fpu_kern_enter() in armv8_crypto_cipher_process() after the
call to armv8_crypto_cipher_setup() to resolve this.

Reviewed by:	markj, andrew
Fixes: 6485286f53 ("armv8_crypto: Switch to using FPU_KERN_NOCTX")
Sponsored by: Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D41671
2023-09-01 10:56:58 +01:00
..
aesni aesni: Push FPU sections down further 2023-08-28 21:26:53 -04:00
armv8 armv8_crypto: fix recursive fpu_kern_enter call 2023-09-01 10:56:58 +01:00
blake2 blake2: Remove dieing flag and rw lock 2023-08-28 16:24:42 -07:00
camellia sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
ccp sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
chacha20 sys: Remove $FreeBSD$: one-line bare tag 2023-08-16 11:55:17 -06:00
des sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
libsodium sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
openssl ossl: Update the generated assembly files from OpenSSL 3.0. 2023-08-29 14:44:15 -07:00
rc4 sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
rijndael sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
sha2 sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
siphash sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
skein sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
via padlock: Switch to using FPU_KERN_NOCTX 2023-08-25 12:34:05 -07:00
chacha20_poly1305.c spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
chacha20_poly1305.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
curve25519.c spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
curve25519.h spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD 2023-05-12 10:44:03 -06:00
intake.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
sha1.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
sha1.h sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00