On Thu, Apr 25, 2024 at 03:46:18PM -0700, Guenter Roeck wrote:
Hi,
On 2/21/24 05:00, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 5.15.149 release. There are 476 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Fri, 23 Feb 2024 12:59:02 +0000. Anything received after that time might be too late.
[ ... ]
Herbert Xu herbert@gondor.apana.org.au crypto: api - Disallow identical driver names
This patch results in a severe performance regression on arm64 systems; there is more than 50% throughput loss on some sequential read tests. The problem affects v5.15.y and older kernel branches.
Analysis shows that v5.15.y and older kernel _do_ try to register the same crypto algorithm twice, once through
__crypto_register_alg crypto_register_alg crypto_register_skciphers aes_init
and then again through
__crypto_register_alg crypto_register_alg crypto_register_skcipher simd_skcipher_create_compat aes_init
After above patch was applied, the second registration fails, resulting in the regression.
The problem is not seen in later kernels due to commit 676e508122d9 ("crypto: arm64/aes-ce - stop using SIMD helper for skciphers"). Applying this commit or reverting above commit fixes the regression in v5.15.y and older.
Thanks is due to Momoko Hattori for reporting the problem and finding the offending patch, Doug Anderson for finding the duplicate registration attempt, and Brian Norris for finding the fix. I copied them on this e-mail in case there are further questions.
Thanks for the report. I got a report that this breaks some android systems as well due to some FIPS crypto code that happens to duplicate the names as well. I think reverting it makes sense and I'll queue that up for the next round of releases.
greg k-h