[PATCH 1/2] powerpc/memcpy: Fix stack corruption for smaller sizes
Christophe Leroy
christophe.leroy at c-s.fr
Fri Sep 6 20:46:38 AEST 2019
Hi,
The subjet is misleading. This isn't powerpc but only powerpc/64, and
this is not memcpy() but memcpy_mcsafe()
Christophe
Le 03/09/2019 à 23:43, Santosh Sivaraj a écrit :
> For sizes lesser than 128 bytes, the code branches out early without saving
> the stack frame, which when restored later drops frame of the caller.
>
> Tested-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
> Signed-off-by: Santosh Sivaraj <santosh at fossix.org>
> ---
> arch/powerpc/lib/memcpy_mcsafe_64.S | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/lib/memcpy_mcsafe_64.S b/arch/powerpc/lib/memcpy_mcsafe_64.S
> index 949976dc115d..cb882d9a6d8a 100644
> --- a/arch/powerpc/lib/memcpy_mcsafe_64.S
> +++ b/arch/powerpc/lib/memcpy_mcsafe_64.S
> @@ -84,7 +84,6 @@ err1; stw r0,0(r3)
>
> 3: sub r5,r5,r6
> cmpldi r5,128
> - blt 5f
>
> mflr r0
> stdu r1,-STACKFRAMESIZE(r1)
> @@ -99,6 +98,7 @@ err1; stw r0,0(r3)
> std r22,STK_REG(R22)(r1)
> std r0,STACKFRAMESIZE+16(r1)
>
> + blt 5f
> srdi r6,r5,7
> mtctr r6
>
>
More information about the Linuxppc-dev
mailing list