powerpc/memcpy: Fix stack corruption for smaller sizes
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@linux.ibm.com> Signed-off-by: Santosh Sivaraj <santosh@fossix.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20190903214359.23887-1-santosh@fossix.org
This commit is contained in:
parent
aa497d4352
commit
20055a8bfa
|
@ -84,7 +84,6 @@ err1; stw r0,0(r3)
|
||||||
|
|
||||||
3: sub r5,r5,r6
|
3: sub r5,r5,r6
|
||||||
cmpldi r5,128
|
cmpldi r5,128
|
||||||
blt 5f
|
|
||||||
|
|
||||||
mflr r0
|
mflr r0
|
||||||
stdu r1,-STACKFRAMESIZE(r1)
|
stdu r1,-STACKFRAMESIZE(r1)
|
||||||
|
@ -99,6 +98,7 @@ err1; stw r0,0(r3)
|
||||||
std r22,STK_REG(R22)(r1)
|
std r22,STK_REG(R22)(r1)
|
||||||
std r0,STACKFRAMESIZE+16(r1)
|
std r0,STACKFRAMESIZE+16(r1)
|
||||||
|
|
||||||
|
blt 5f
|
||||||
srdi r6,r5,7
|
srdi r6,r5,7
|
||||||
mtctr r6
|
mtctr r6
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue