diff options
author | Ondrej Mosnacek <omosnace@redhat.com> | 2018-08-03 14:37:50 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2018-08-07 12:51:15 +0300 |
commit | 877ccce7cbe8409256616f5e6bdedb08ce2e82db (patch) | |
tree | f77516c63353b6e6c4ae7df3390ce30298b59e1e /net/ipv6 | |
parent | f10dc56c64bb662822475304508c1ce99f194e70 (diff) | |
download | linux-877ccce7cbe8409256616f5e6bdedb08ce2e82db.tar.xz |
crypto: x86/aegis,morus - Fix and simplify CPUID checks
It turns out I had misunderstood how the x86_match_cpu() function works.
It evaluates a logical OR of the matching conditions, not logical AND.
This caused the CPU feature checks for AEGIS to pass even if only SSE2
(but not AES-NI) was supported (or vice versa), leading to potential
crashes if something tried to use the registered algs.
This patch switches the checks to a simpler method that is used e.g. in
the Camellia x86 code.
The patch also removes the MODULE_DEVICE_TABLE declarations which
actually seem to cause the modules to be auto-loaded at boot, which is
not desired. The crypto API on-demand module loading is sufficient.
Fixes: 1d373d4e8e15 ("crypto: x86 - Add optimized AEGIS implementations")
Fixes: 6ecc9d9ff91f ("crypto: x86 - Add optimized MORUS implementations")
Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
Tested-by: Milan Broz <gmazyland@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'net/ipv6')
0 files changed, 0 insertions, 0 deletions