Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fixes from Herbert Xu: "This fixes a build problem with sha-mb with old toolchains and an implementation bug in the ctr(aes)/by8 branch of aesni-intel that's enabled when AVX is available" * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: sha-mb - Add avx2_supported check. crypto: aesni - fix "by8" variant for 128 bit keys
This commit is contained in:
commit
716c13a817
|
@ -26,7 +26,6 @@ obj-$(CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL) += ghash-clmulni-intel.o
|
||||||
|
|
||||||
obj-$(CONFIG_CRYPTO_CRC32C_INTEL) += crc32c-intel.o
|
obj-$(CONFIG_CRYPTO_CRC32C_INTEL) += crc32c-intel.o
|
||||||
obj-$(CONFIG_CRYPTO_SHA1_SSSE3) += sha1-ssse3.o
|
obj-$(CONFIG_CRYPTO_SHA1_SSSE3) += sha1-ssse3.o
|
||||||
obj-$(CONFIG_CRYPTO_SHA1_MB) += sha-mb/
|
|
||||||
obj-$(CONFIG_CRYPTO_CRC32_PCLMUL) += crc32-pclmul.o
|
obj-$(CONFIG_CRYPTO_CRC32_PCLMUL) += crc32-pclmul.o
|
||||||
obj-$(CONFIG_CRYPTO_SHA256_SSSE3) += sha256-ssse3.o
|
obj-$(CONFIG_CRYPTO_SHA256_SSSE3) += sha256-ssse3.o
|
||||||
obj-$(CONFIG_CRYPTO_SHA512_SSSE3) += sha512-ssse3.o
|
obj-$(CONFIG_CRYPTO_SHA512_SSSE3) += sha512-ssse3.o
|
||||||
|
@ -46,6 +45,7 @@ endif
|
||||||
ifeq ($(avx2_supported),yes)
|
ifeq ($(avx2_supported),yes)
|
||||||
obj-$(CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64) += camellia-aesni-avx2.o
|
obj-$(CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64) += camellia-aesni-avx2.o
|
||||||
obj-$(CONFIG_CRYPTO_SERPENT_AVX2_X86_64) += serpent-avx2.o
|
obj-$(CONFIG_CRYPTO_SERPENT_AVX2_X86_64) += serpent-avx2.o
|
||||||
|
obj-$(CONFIG_CRYPTO_SHA1_MB) += sha-mb/
|
||||||
endif
|
endif
|
||||||
|
|
||||||
aes-i586-y := aes-i586-asm_32.o aes_glue.o
|
aes-i586-y := aes-i586-asm_32.o aes_glue.o
|
||||||
|
|
|
@ -208,7 +208,7 @@ ddq_add_8:
|
||||||
|
|
||||||
.if (klen == KEY_128)
|
.if (klen == KEY_128)
|
||||||
.if (load_keys)
|
.if (load_keys)
|
||||||
vmovdqa 3*16(p_keys), xkeyA
|
vmovdqa 3*16(p_keys), xkey4
|
||||||
.endif
|
.endif
|
||||||
.else
|
.else
|
||||||
vmovdqa 3*16(p_keys), xkeyA
|
vmovdqa 3*16(p_keys), xkeyA
|
||||||
|
@ -224,7 +224,7 @@ ddq_add_8:
|
||||||
add $(16*by), p_in
|
add $(16*by), p_in
|
||||||
|
|
||||||
.if (klen == KEY_128)
|
.if (klen == KEY_128)
|
||||||
vmovdqa 4*16(p_keys), xkey4
|
vmovdqa 4*16(p_keys), xkeyB
|
||||||
.else
|
.else
|
||||||
.if (load_keys)
|
.if (load_keys)
|
||||||
vmovdqa 4*16(p_keys), xkey4
|
vmovdqa 4*16(p_keys), xkey4
|
||||||
|
@ -234,7 +234,12 @@ ddq_add_8:
|
||||||
.set i, 0
|
.set i, 0
|
||||||
.rept by
|
.rept by
|
||||||
club XDATA, i
|
club XDATA, i
|
||||||
vaesenc xkeyA, var_xdata, var_xdata /* key 3 */
|
/* key 3 */
|
||||||
|
.if (klen == KEY_128)
|
||||||
|
vaesenc xkey4, var_xdata, var_xdata
|
||||||
|
.else
|
||||||
|
vaesenc xkeyA, var_xdata, var_xdata
|
||||||
|
.endif
|
||||||
.set i, (i +1)
|
.set i, (i +1)
|
||||||
.endr
|
.endr
|
||||||
|
|
||||||
|
@ -243,13 +248,18 @@ ddq_add_8:
|
||||||
.set i, 0
|
.set i, 0
|
||||||
.rept by
|
.rept by
|
||||||
club XDATA, i
|
club XDATA, i
|
||||||
vaesenc xkey4, var_xdata, var_xdata /* key 4 */
|
/* key 4 */
|
||||||
|
.if (klen == KEY_128)
|
||||||
|
vaesenc xkeyB, var_xdata, var_xdata
|
||||||
|
.else
|
||||||
|
vaesenc xkey4, var_xdata, var_xdata
|
||||||
|
.endif
|
||||||
.set i, (i +1)
|
.set i, (i +1)
|
||||||
.endr
|
.endr
|
||||||
|
|
||||||
.if (klen == KEY_128)
|
.if (klen == KEY_128)
|
||||||
.if (load_keys)
|
.if (load_keys)
|
||||||
vmovdqa 6*16(p_keys), xkeyB
|
vmovdqa 6*16(p_keys), xkey8
|
||||||
.endif
|
.endif
|
||||||
.else
|
.else
|
||||||
vmovdqa 6*16(p_keys), xkeyB
|
vmovdqa 6*16(p_keys), xkeyB
|
||||||
|
@ -267,12 +277,17 @@ ddq_add_8:
|
||||||
.set i, 0
|
.set i, 0
|
||||||
.rept by
|
.rept by
|
||||||
club XDATA, i
|
club XDATA, i
|
||||||
vaesenc xkeyB, var_xdata, var_xdata /* key 6 */
|
/* key 6 */
|
||||||
|
.if (klen == KEY_128)
|
||||||
|
vaesenc xkey8, var_xdata, var_xdata
|
||||||
|
.else
|
||||||
|
vaesenc xkeyB, var_xdata, var_xdata
|
||||||
|
.endif
|
||||||
.set i, (i +1)
|
.set i, (i +1)
|
||||||
.endr
|
.endr
|
||||||
|
|
||||||
.if (klen == KEY_128)
|
.if (klen == KEY_128)
|
||||||
vmovdqa 8*16(p_keys), xkey8
|
vmovdqa 8*16(p_keys), xkeyB
|
||||||
.else
|
.else
|
||||||
.if (load_keys)
|
.if (load_keys)
|
||||||
vmovdqa 8*16(p_keys), xkey8
|
vmovdqa 8*16(p_keys), xkey8
|
||||||
|
@ -288,7 +303,7 @@ ddq_add_8:
|
||||||
|
|
||||||
.if (klen == KEY_128)
|
.if (klen == KEY_128)
|
||||||
.if (load_keys)
|
.if (load_keys)
|
||||||
vmovdqa 9*16(p_keys), xkeyA
|
vmovdqa 9*16(p_keys), xkey12
|
||||||
.endif
|
.endif
|
||||||
.else
|
.else
|
||||||
vmovdqa 9*16(p_keys), xkeyA
|
vmovdqa 9*16(p_keys), xkeyA
|
||||||
|
@ -297,7 +312,12 @@ ddq_add_8:
|
||||||
.set i, 0
|
.set i, 0
|
||||||
.rept by
|
.rept by
|
||||||
club XDATA, i
|
club XDATA, i
|
||||||
vaesenc xkey8, var_xdata, var_xdata /* key 8 */
|
/* key 8 */
|
||||||
|
.if (klen == KEY_128)
|
||||||
|
vaesenc xkeyB, var_xdata, var_xdata
|
||||||
|
.else
|
||||||
|
vaesenc xkey8, var_xdata, var_xdata
|
||||||
|
.endif
|
||||||
.set i, (i +1)
|
.set i, (i +1)
|
||||||
.endr
|
.endr
|
||||||
|
|
||||||
|
@ -306,7 +326,12 @@ ddq_add_8:
|
||||||
.set i, 0
|
.set i, 0
|
||||||
.rept by
|
.rept by
|
||||||
club XDATA, i
|
club XDATA, i
|
||||||
vaesenc xkeyA, var_xdata, var_xdata /* key 9 */
|
/* key 9 */
|
||||||
|
.if (klen == KEY_128)
|
||||||
|
vaesenc xkey12, var_xdata, var_xdata
|
||||||
|
.else
|
||||||
|
vaesenc xkeyA, var_xdata, var_xdata
|
||||||
|
.endif
|
||||||
.set i, (i +1)
|
.set i, (i +1)
|
||||||
.endr
|
.endr
|
||||||
|
|
||||||
|
@ -412,7 +437,6 @@ ddq_add_8:
|
||||||
/* main body of aes ctr load */
|
/* main body of aes ctr load */
|
||||||
|
|
||||||
.macro do_aes_ctrmain key_len
|
.macro do_aes_ctrmain key_len
|
||||||
|
|
||||||
cmp $16, num_bytes
|
cmp $16, num_bytes
|
||||||
jb .Ldo_return2\key_len
|
jb .Ldo_return2\key_len
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue