crypto: arm64/aes-neonbs - use frame_push/pop consistently
authorArd Biesheuvel <ardb@kernel.org>
Tue, 29 Nov 2022 16:48:49 +0000 (17:48 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 9 Dec 2022 10:45:00 +0000 (18:45 +0800)
Use the frame_push and frame_pop macros consistently to create the stack
frame, so that we will get PAC and/or shadow call stack handling as well
when enabled.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm64/crypto/aes-neonbs-core.S

index d427f4556b6eb2d8ddd3afb7dcf577ff3e6882ff..7278a37c2d5cd0005f935810703bd94bcaa7ee32 100644 (file)
@@ -760,7 +760,7 @@ SYM_FUNC_START_LOCAL(__xts_crypt8)
        eor             v6.16b, v6.16b, v31.16b
        eor             v7.16b, v7.16b, v16.16b
 
-       stp             q16, q17, [sp, #16]
+       stp             q16, q17, [x6]
 
        mov             bskey, x2
        mov             rounds, x3
@@ -768,8 +768,8 @@ SYM_FUNC_START_LOCAL(__xts_crypt8)
 SYM_FUNC_END(__xts_crypt8)
 
        .macro          __xts_crypt, do8, o0, o1, o2, o3, o4, o5, o6, o7
-       stp             x29, x30, [sp, #-48]!
-       mov             x29, sp
+       frame_push      0, 32
+       add             x6, sp, #.Lframe_local_offset
 
        ld1             {v25.16b}, [x5]
 
@@ -781,7 +781,7 @@ SYM_FUNC_END(__xts_crypt8)
        eor             v18.16b, \o2\().16b, v27.16b
        eor             v19.16b, \o3\().16b, v28.16b
 
-       ldp             q24, q25, [sp, #16]
+       ldp             q24, q25, [x6]
 
        eor             v20.16b, \o4\().16b, v29.16b
        eor             v21.16b, \o5\().16b, v30.16b
@@ -795,7 +795,7 @@ SYM_FUNC_END(__xts_crypt8)
        b.gt            0b
 
        st1             {v25.16b}, [x5]
-       ldp             x29, x30, [sp], #48
+       frame_pop
        ret
        .endm
 
@@ -820,9 +820,7 @@ SYM_FUNC_END(aesbs_xts_decrypt)
         *                   int rounds, int blocks, u8 iv[])
         */
 SYM_FUNC_START(aesbs_ctr_encrypt)
-       stp             x29, x30, [sp, #-16]!
-       mov             x29, sp
-
+       frame_push      0
        ldp             x7, x8, [x5]
        ld1             {v0.16b}, [x5]
 CPU_LE(        rev             x7, x7          )
@@ -862,6 +860,6 @@ CPU_LE(     rev             x8, x8          )
        b.gt            0b
 
        st1             {v0.16b}, [x5]
-       ldp             x29, x30, [sp], #16
+       frame_pop
        ret
 SYM_FUNC_END(aesbs_ctr_encrypt)