2019-05-27 08:55:01 +02:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-08-10 11:29:33 +02:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
2020-12-11 13:27:15 +01:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-06-06 01:10:58 +02:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2011-11-09 11:56:06 +08:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2017-04-02 21:19:14 +02:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2016-02-09 15:37:47 +01:00
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2011-03-30 22:57:33 -03:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-12-30 21:19:38 -06:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-03-13 22:52:57 +08:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-03-08 20:53:13 +08:00
|
|
|
|
2017-04-02 21:19:14 +02:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
|
|
|
|
|
2023-02-08 13:58:44 +08:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2023-02-08 13:58:44 +08:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-21 09:05:54 +03:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-08 13:58:44 +08:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2023-02-08 13:58:44 +08:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2019-04-15 14:35:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2019-04-15 14:35:19 +08:00
|
|
|
|
2023-01-22 16:07:37 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2023-01-22 16:07:37 +08:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
2019-04-15 14:35:19 +08:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-08 13:58:44 +08:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2023-02-08 13:58:44 +08:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2023-01-22 16:07:37 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2023-01-22 16:07:37 +08:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2018-09-11 09:40:08 +02:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2019-08-09 20:14:57 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2023-10-03 11:43:32 +08:00
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-02-26 12:24:10 +08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2020-07-09 23:20:38 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-02 19:58:45 -08:00
|
|
|
|
|
|
|
|
|
2025-05-15 16:34:04 +08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-02 19:58:45 -08:00
|
|
|
|
|
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-03 11:43:32 +08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-25 20:59:24 -08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2023-10-03 11:43:32 +08:00
|
|
|
|
2020-02-25 20:59:24 -08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-25 20:59:24 -08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-05-15 16:34:04 +08:00
|
|
|
|
2023-06-20 20:08:32 +00:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2026-06-06 01:10:58 +02:00
|
|
|
|
2023-06-20 20:08:32 +00:00
|
|
|
|
2020-02-25 20:59:24 -08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
2020-02-25 20:59:24 -08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
2017-09-26 08:17:44 +02:00
|
|
|
|
2020-02-25 20:59:24 -08:00
|
|
|
|
2017-09-26 08:17:44 +02:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-02-25 20:59:24 -08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
crypto: xts - use 'spawn' for underlying single-block cipher
Since commit adad556efcdd ("crypto: api - Fix built-in testing
dependency failures"), the following warning appears when booting an
x86_64 kernel that is configured with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y and CONFIG_CRYPTO_AES_NI_INTEL=y,
even when CONFIG_CRYPTO_XTS=y and CONFIG_CRYPTO_AES=y:
alg: skcipher: skipping comparison tests for xts-aes-aesni because xts(ecb(aes-generic)) is unavailable
This is caused by an issue in the xts template where it allocates an
"aes" single-block cipher without declaring a dependency on it via the
crypto_spawn mechanism. This issue was exposed by the above commit
because it reversed the order that the algorithms are tested in.
Specifically, when "xts(ecb(aes-generic))" is instantiated and tested
during the comparison tests for "xts-aes-aesni", the "xts" template
allocates an "aes" crypto_cipher for encrypting tweaks. This resolves
to "aes-aesni". (Getting "aes-aesni" instead of "aes-generic" here is a
bit weird, but it's apparently intended.) Due to the above-mentioned
commit, the testing of "aes-aesni", and the finalization of its
registration, now happens at this point instead of before. At the end
of that, crypto_remove_spawns() unregisters all algorithm instances that
depend on a lower-priority "aes" implementation such as "aes-generic"
but that do not depend on "aes-aesni". However, because "xts" does not
use the crypto_spawn mechanism for its "aes", its dependency on
"aes-aesni" is not recognized by crypto_remove_spawns(). Thus,
crypto_remove_spawns() unexpectedly unregisters "xts(ecb(aes-generic))".
Fix this issue by making the "xts" template use the crypto_spawn
mechanism for its "aes" dependency, like what other templates do.
Note, this fix could be applied as far back as commit f1c131b45410
("crypto: xts - Convert to skcipher"). However, the issue only got
exposed by the much more recent changes to how the crypto API runs the
self-tests, so there should be no need to backport this to very old
kernels. Also, an alternative fix would be to flip the list iteration
order in crypto_start_tests() to restore the original testing order.
I'm thinking we should do that too, since the original order seems more
natural, but it shouldn't be relied on for correctness.
Fixes: adad556efcdd ("crypto: api - Fix built-in testing dependency failures")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2023-10-08 19:31:16 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-03 11:43:32 +08:00
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
|
|
|
|
|
2020-02-25 20:59:24 -08:00
|
|
|
|
2016-11-22 20:08:19 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2020-02-25 20:59:24 -08:00
|
|
|
|
|
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
2025-04-30 16:17:02 +08:00
|
|
|
|
2020-07-10 20:34:28 -07:00
|
|
|
|
2007-09-19 20:23:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-24 16:32:38 -08:00
|
|
|
|
module: Convert symbol namespace to string literal
Clean up the existing export namespace code along the same lines of
commit 33def8498fdd ("treewide: Convert macro and uses of __section(foo)
to __section("foo")") and for the same reason, it is not desired for the
namespace argument to be a macro expansion itself.
Scripted using
git grep -l -e MODULE_IMPORT_NS -e EXPORT_SYMBOL_NS | while read file;
do
awk -i inplace '
/^#define EXPORT_SYMBOL_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/^#define MODULE_IMPORT_NS/ {
gsub(/__stringify\(ns\)/, "ns");
print;
next;
}
/MODULE_IMPORT_NS/ {
$0 = gensub(/MODULE_IMPORT_NS\(([^)]*)\)/, "MODULE_IMPORT_NS(\"\\1\")", "g");
}
/EXPORT_SYMBOL_NS/ {
if ($0 ~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+),/) {
if ($0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/ &&
$0 !~ /(EXPORT_SYMBOL_NS[^(]*)\(\)/ &&
$0 !~ /^my/) {
getline line;
gsub(/[[:space:]]*\\$/, "");
gsub(/[[:space:]]/, "", line);
$0 = $0 " " line;
}
$0 = gensub(/(EXPORT_SYMBOL_NS[^(]*)\(([^,]+), ([^)]+)\)/,
"\\1(\\2, \"\\3\")", "g");
}
}
{ print }' $file;
done
Requested-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://mail.google.com/mail/u/2/#inbox/FMfcgzQXKWgMmjdFwwdsfgxzKpVHWPlc
Acked-by: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2024-12-02 15:59:47 +01:00
|
|
|
|
2022-02-10 13:09:40 +11:00
|
|
|
|