mbox series

[0/4] crypto: arm64 - use frame_push/pop macros

Message ID 20221129164852.2051561-1-ardb@kernel.org (mailing list archive)
Headers show
Series crypto: arm64 - use frame_push/pop macros | expand

Message

Ard Biesheuvel Nov. 29, 2022, 4:48 p.m. UTC
We have a pair of macros on arm64 that can be used in asm code to set up
and tear down the stack frame when implementing a non-leaf function.

We will be adding support for shadow call stack and pointer
authentication to those macros, so that the code in question is less
likely to be abused for someone's ROP/JOP enjoyment. So let's fix the
existing crypto code to use those macros where they should be used.

Ard Biesheuvel (4):
  crypto: arm64/aes-neonbs - use frame_push/pop consistently
  crypto: arm64/aes-modes - use frame_push/pop macros consistently
  crypto: arm64/crct10dif - use frame_push/pop macros consistently
  crypto: arm64/ghash-ce - use frame_push/pop macros consistently

 arch/arm64/crypto/aes-modes.S         | 34 +++++++-------------
 arch/arm64/crypto/aes-neonbs-core.S   | 16 ++++-----
 arch/arm64/crypto/crct10dif-ce-core.S |  5 ++-
 arch/arm64/crypto/ghash-ce-core.S     |  8 ++---
 4 files changed, 24 insertions(+), 39 deletions(-)

Comments

Herbert Xu Dec. 9, 2022, 11:07 a.m. UTC | #1
On Tue, Nov 29, 2022 at 05:48:48PM +0100, Ard Biesheuvel wrote:
> We have a pair of macros on arm64 that can be used in asm code to set up
> and tear down the stack frame when implementing a non-leaf function.
> 
> We will be adding support for shadow call stack and pointer
> authentication to those macros, so that the code in question is less
> likely to be abused for someone's ROP/JOP enjoyment. So let's fix the
> existing crypto code to use those macros where they should be used.
> 
> Ard Biesheuvel (4):
>   crypto: arm64/aes-neonbs - use frame_push/pop consistently
>   crypto: arm64/aes-modes - use frame_push/pop macros consistently
>   crypto: arm64/crct10dif - use frame_push/pop macros consistently
>   crypto: arm64/ghash-ce - use frame_push/pop macros consistently
> 
>  arch/arm64/crypto/aes-modes.S         | 34 +++++++-------------
>  arch/arm64/crypto/aes-neonbs-core.S   | 16 ++++-----
>  arch/arm64/crypto/crct10dif-ce-core.S |  5 ++-
>  arch/arm64/crypto/ghash-ce-core.S     |  8 ++---
>  4 files changed, 24 insertions(+), 39 deletions(-)
> 
> -- 
> 2.35.1

All applied.  Thanks.