Skip to content

Commit 145cea8

Browse files
harshj-xlnxsaddepal
authored andcommitted
Revert "pmufw: Use XSecure_MemCpy in sha update"
This reverts commit f8e8b0d159103a6014204e26a399bf04d60fd49f. Standart library memcpy() API used in Xil_SMemCpy() failed to copy data. Acked-by: Mohan Marutirao Dhanawade <mohan.dhanawade@amd.com>
1 parent 72f2bee commit 145cea8

1 file changed

Lines changed: 6 additions & 23 deletions

File tree

lib/sw_services/xilsecure/src/server/zynqmp/xsecure_sha.c

Lines changed: 6 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/******************************************************************************
22
* Copyright (c) 2014 - 2021 Xilinx, Inc. All rights reserved.
3-
* Copyright (c) 2022 - 2025 Advanced Micro Devices, Inc. All Rights Reserved.
3+
* Copyright (c) 2022 - 2024 Advanced Micro Devices, Inc. All Rights Reserved.
44
* SPDX-License-Identifier: MIT
55
*******************************************************************************/
66

@@ -54,7 +54,6 @@
5454
* 4.7 am 11/26/21 Resolved doxygen warnings
5555
* 5.2 ng 07/05/23 add SDT support
5656
* ss 04/05/24 Fixed doxygen warnings
57-
* 5.6 hj 09/20/25 Change copy API to handle unaligned data in Sha3Update
5857
*
5958
* @note
6059
*
@@ -599,16 +598,9 @@ static u32 XSecure_Sha3DataUpdate(XSecure_Sha3 *InstancePtr, const u8 *Data,
599598
/* Handle Partial data and non dword aligned data address */
600599
if ((PrevPartialLen != 0U) ||
601600
(((UINTPTR)DataPtr & XCSUDMA_ADDR_LSB_MASK) != 0U)) {
602-
Status = (u32)Xil_SMemCpy((void *)&PartialData[PrevPartialLen],
603-
XSECURE_SHA3_BLOCK_LEN - PrevPartialLen,
604-
(void *)DataPtr, XSECURE_SHA3_BLOCK_LEN - PrevPartialLen,
605-
XSECURE_SHA3_BLOCK_LEN - PrevPartialLen);
606-
if (Status != XST_SUCCESS) {
607-
(void)memset(&InstancePtr->PartialData, 0,
608-
sizeof(InstancePtr->PartialData));
609-
610-
goto END;
611-
}
601+
XSecure_MemCpy((void *)&PartialData[PrevPartialLen],
602+
(void *)DataPtr,
603+
XSECURE_SHA3_BLOCK_LEN - PrevPartialLen);
612604
DmableData = PartialData;
613605
DmableDataLen = XSECURE_SHA3_BLOCK_LEN;
614606
DataPtr += XSECURE_SHA3_BLOCK_LEN - PrevPartialLen;
@@ -640,17 +632,8 @@ static u32 XSecure_Sha3DataUpdate(XSecure_Sha3 *InstancePtr, const u8 *Data,
640632
/* Handle remaining data during processing of next data chunk or during
641633
data padding */
642634
if(RemainingDataLen > 0U) {
643-
Status = (u32)Xil_SMemCpy((void *)(PartialData + PrevPartialLen),
644-
XSECURE_SHA3_BLOCK_LEN - PrevPartialLen,
645-
(void *)DataPtr,
646-
(RemainingDataLen - PrevPartialLen),
647-
(RemainingDataLen - PrevPartialLen));
648-
if (Status != XST_SUCCESS) {
649-
(void)memset(&InstancePtr->PartialData, 0,
650-
sizeof(InstancePtr->PartialData));
651-
652-
goto END;
653-
}
635+
XSecure_MemCpy((void *)(PartialData + PrevPartialLen), (void *)DataPtr,
636+
(RemainingDataLen - PrevPartialLen));
654637
}
655638
InstancePtr->PartialLen = RemainingDataLen;
656639
(void)memset(&InstancePtr->PartialData[RemainingDataLen], 0,

0 commit comments

Comments
 (0)