crypto: x86 - Add missing RETs
Add explicit RETs to the tail calls of AEGIS and MORUS crypto algorithms otherwise they run into INT3 padding due to ("x86/asm: Pad assembly functions with INT3 instructions") leading to spurious debug exceptions. Mike Galbraith <efault@gmx.de> took care of all the remaining callsites. Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Ondrej Mosnacek <omosnacek@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>hifive-unleashed-5.1
parent
a068b94d74
commit
221e00d1fc
|
@ -535,6 +535,7 @@ ENTRY(crypto_aegis128_aesni_enc_tail)
|
||||||
movdqu STATE3, 0x40(STATEP)
|
movdqu STATE3, 0x40(STATEP)
|
||||||
|
|
||||||
FRAME_END
|
FRAME_END
|
||||||
|
ret
|
||||||
ENDPROC(crypto_aegis128_aesni_enc_tail)
|
ENDPROC(crypto_aegis128_aesni_enc_tail)
|
||||||
|
|
||||||
.macro decrypt_block a s0 s1 s2 s3 s4 i
|
.macro decrypt_block a s0 s1 s2 s3 s4 i
|
||||||
|
|
|
@ -645,6 +645,7 @@ ENTRY(crypto_aegis128l_aesni_enc_tail)
|
||||||
state_store0
|
state_store0
|
||||||
|
|
||||||
FRAME_END
|
FRAME_END
|
||||||
|
ret
|
||||||
ENDPROC(crypto_aegis128l_aesni_enc_tail)
|
ENDPROC(crypto_aegis128l_aesni_enc_tail)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -543,6 +543,7 @@ ENTRY(crypto_aegis256_aesni_enc_tail)
|
||||||
state_store0
|
state_store0
|
||||||
|
|
||||||
FRAME_END
|
FRAME_END
|
||||||
|
ret
|
||||||
ENDPROC(crypto_aegis256_aesni_enc_tail)
|
ENDPROC(crypto_aegis256_aesni_enc_tail)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -453,6 +453,7 @@ ENTRY(crypto_morus1280_avx2_enc_tail)
|
||||||
vmovdqu STATE4, (4 * 32)(%rdi)
|
vmovdqu STATE4, (4 * 32)(%rdi)
|
||||||
|
|
||||||
FRAME_END
|
FRAME_END
|
||||||
|
ret
|
||||||
ENDPROC(crypto_morus1280_avx2_enc_tail)
|
ENDPROC(crypto_morus1280_avx2_enc_tail)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -652,6 +652,7 @@ ENTRY(crypto_morus1280_sse2_enc_tail)
|
||||||
movdqu STATE4_HI, (9 * 16)(%rdi)
|
movdqu STATE4_HI, (9 * 16)(%rdi)
|
||||||
|
|
||||||
FRAME_END
|
FRAME_END
|
||||||
|
ret
|
||||||
ENDPROC(crypto_morus1280_sse2_enc_tail)
|
ENDPROC(crypto_morus1280_sse2_enc_tail)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -437,6 +437,7 @@ ENTRY(crypto_morus640_sse2_enc_tail)
|
||||||
movdqu STATE4, (4 * 16)(%rdi)
|
movdqu STATE4, (4 * 16)(%rdi)
|
||||||
|
|
||||||
FRAME_END
|
FRAME_END
|
||||||
|
ret
|
||||||
ENDPROC(crypto_morus640_sse2_enc_tail)
|
ENDPROC(crypto_morus640_sse2_enc_tail)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue