chore(configs/libspdm): Update patch modifying LIBSPDM_STATUS_SUCCESS

This Changes updates the patch file that patched the
LIBSPDM_STATUS_SUCCESS macro. Instead of fixing LIBSPDM_STATUS_SUCCESS,
this update changes the LIBSPDM_STATUS_CONSTRUCT macro, to prevent misra
error detection.

Signed-off-by: Mate Toth-Pal <mate.toth-pal@arm.com>
Change-Id: I7de35005c76e6ced5a5da20cb1e76b9a80e1cd8c
diff --git a/app/device_assignment/el0_app/spdm_requester/CMakeLists.txt b/app/device_assignment/el0_app/spdm_requester/CMakeLists.txt
index 9f38dcf..f101f2c 100644
--- a/app/device_assignment/el0_app/spdm_requester/CMakeLists.txt
+++ b/app/device_assignment/el0_app/spdm_requester/CMakeLists.txt
@@ -25,7 +25,7 @@
 set(LIBSPDM_PATCH_DIR "${RMM_SOURCE_DIR}/configs/libspdm")
 set(LIBSPDM_PATCH_FILES
     "${LIBSPDM_PATCH_DIR}/0001-cryptlib_mbedtls-use-external-Mbed-TLS.patch"
-    "${LIBSPDM_PATCH_DIR}/0002-fix-libspdm_hmac_new-return-and-LIBSPDM_STATUS_SUCCE.patch"
+    "${LIBSPDM_PATCH_DIR}/0002-fix-libspdm_hmac_new-return-and-LIBSPDM_STATUS_CONST.patch"
     )
 Git_Apply_Patches(${LIBSPDM_DIR} "${LIBSPDM_PATCH_FILES}")
 
diff --git a/app/device_assignment/el0_app/src/dev_assign_el0_app.c b/app/device_assignment/el0_app/src/dev_assign_el0_app.c
index a1af487..9e5662b 100644
--- a/app/device_assignment/el0_app/src/dev_assign_el0_app.c
+++ b/app/device_assignment/el0_app/src/dev_assign_el0_app.c
@@ -24,10 +24,6 @@
 	info = spdm_to_dev_assign_info(spdm_context);
 
 	if ((uintptr_t)info->send_recv_buffer > (uintptr_t)request) {
-		/* cppcheck-suppress misra-c2012-12.2 */
-		/* cppcheck-suppress misra-c2012-10.1 */
-		/* coverity[misra_c_2012_rule_10_1_violation:SUPPRESS] */
-		/* coverity[misra_c_2012_rule_12_2_violation:SUPPRESS] */
 		return LIBSPDM_STATUS_SEND_FAIL;
 	}
 
@@ -42,10 +38,6 @@
 
 	if ((buf_offset + request_size_align)
 		> (PRIV_LIBSPDM_SEND_RECV_BUF_SIZE + PRIV_LIBSPDM_SCRATCH_BUF_SIZE)) {
-		/* cppcheck-suppress misra-c2012-12.2 */
-		/* cppcheck-suppress misra-c2012-10.1 */
-		/* coverity[misra_c_2012_rule_10_1_violation:SUPPRESS] */
-		/* coverity[misra_c_2012_rule_12_2_violation:SUPPRESS] */
 		return LIBSPDM_STATUS_SEND_FAIL;
 	}
 
@@ -62,10 +54,6 @@
 		info->enter_args.req_addr, request_size_align);
 
 	if (rc != 0) {
-		/* cppcheck-suppress misra-c2012-12.2 */
-		/* cppcheck-suppress misra-c2012-10.1 */
-		/* coverity[misra_c_2012_rule_10_1_violation:SUPPRESS] */
-		/* coverity[misra_c_2012_rule_12_2_violation:SUPPRESS] */
 		return LIBSPDM_STATUS_SEND_FAIL;
 	}
 
@@ -83,10 +71,6 @@
 	(void)memset(&info->exit_args, 0, sizeof(info->exit_args));
 
 	if (info->enter_args.status == RMI_DEV_COMM_ENTER_STATUS_ERROR) {
-		/* cppcheck-suppress misra-c2012-12.2 */
-		/* cppcheck-suppress misra-c2012-10.1 */
-		/* coverity[misra_c_2012_rule_10_1_violation:SUPPRESS] */
-		/* coverity[misra_c_2012_rule_12_2_violation:SUPPRESS] */
 		return LIBSPDM_STATUS_SEND_FAIL;
 	}
 
@@ -108,10 +92,6 @@
 	info = spdm_to_dev_assign_info(spdm_context);
 
 	if ((uintptr_t)info->send_recv_buffer > (uintptr_t)*response) {
-		/* cppcheck-suppress misra-c2012-12.2 */
-		/* cppcheck-suppress misra-c2012-10.1 */
-		/* coverity[misra_c_2012_rule_10_1_violation:SUPPRESS] */
-		/* coverity[misra_c_2012_rule_12_2_violation:SUPPRESS] */
 		return LIBSPDM_STATUS_RECEIVE_FAIL;
 	}
 
@@ -121,10 +101,6 @@
 
 	if ((buf_offset + resp_len_align)
 			> (PRIV_LIBSPDM_SEND_RECV_BUF_SIZE + PRIV_LIBSPDM_SCRATCH_BUF_SIZE)) {
-		/* cppcheck-suppress misra-c2012-12.2 */
-		/* cppcheck-suppress misra-c2012-10.1 */
-		/* coverity[misra_c_2012_rule_10_1_violation:SUPPRESS] */
-		/* coverity[misra_c_2012_rule_12_2_violation:SUPPRESS] */
 		return LIBSPDM_STATUS_RECEIVE_FAIL;
 	}
 
@@ -139,10 +115,6 @@
 		info->enter_args.resp_addr, resp_len_align);
 
 	if (rc != 0) {
-		/* cppcheck-suppress misra-c2012-12.2 */
-		/* cppcheck-suppress misra-c2012-10.1 */
-		/* coverity[misra_c_2012_rule_10_1_violation:SUPPRESS] */
-		/* coverity[misra_c_2012_rule_12_2_violation:SUPPRESS] */
 		return LIBSPDM_STATUS_RECEIVE_FAIL;
 	}
 
diff --git a/configs/libspdm/0002-fix-libspdm_hmac_new-return-and-LIBSPDM_STATUS_SUCCE.patch b/configs/libspdm/0002-fix-libspdm_hmac_new-return-and-LIBSPDM_STATUS_CONST.patch
similarity index 78%
rename from configs/libspdm/0002-fix-libspdm_hmac_new-return-and-LIBSPDM_STATUS_SUCCE.patch
rename to configs/libspdm/0002-fix-libspdm_hmac_new-return-and-LIBSPDM_STATUS_CONST.patch
index b4123c6..e564aa8 100644
--- a/configs/libspdm/0002-fix-libspdm_hmac_new-return-and-LIBSPDM_STATUS_SUCCE.patch
+++ b/configs/libspdm/0002-fix-libspdm_hmac_new-return-and-LIBSPDM_STATUS_CONST.patch
@@ -1,35 +1,32 @@
 From e9e88a3a7fbebeb0710a78b37f795fb628f8aa56 Mon Sep 17 00:00:00 2001
 From: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
 Date: Mon, 7 Oct 2024 16:09:26 +0100
-Subject: [PATCH] fix: libspdm_hmac_new return and LIBSPDM_STATUS_SUCCESS macro
+Subject: [PATCH] fix: libspdm_hmac_new return and LIBSPDM_STATUS_CONSTRUCT macro
 
 1. Fix return value of libspdm_hmac_new.
 
-2. use const for LIBSPDM_STATUS_SUCCESS
-   Using LIBSPDM_STATUS_CONSTRUCT macro for LIBSPDM_STATUS_SUCCESS
-   causes lot of misra errors due to left shift operation on value 0.
-   So do not use macro to construct LIBSPDM_STATUS_SUCCESS value.
+2. Cast all the macro parameters of LIBSPDM_STATUS_CONSTRUCT to
+   uint32_t to prevent misra check errors.
 
 Signed-off-by: Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>
 ---
- include/library/spdm_return_status.h        |  3 +--
+ include/library/spdm_return_status.h        |  2 +-
  library/spdm_crypt_lib/libspdm_crypt_hmac.c | 16 ++++++++--------
- 2 files changed, 9 insertions(+), 10 deletions(-)
+ 2 files changed, 9 insertions(+), 9 deletions(-)
 
 diff --git a/include/library/spdm_return_status.h b/include/library/spdm_return_status.h
 index 708c16d917..ad739d23d1 100644
 --- a/include/library/spdm_return_status.h
 +++ b/include/library/spdm_return_status.h
-@@ -55,8 +55,7 @@ typedef uint32_t libspdm_return_t;
-     ((libspdm_return_t)(((severity) << 28) | ((source) << 16) | (code)))
+@@ -52,7 +52,7 @@ typedef uint32_t libspdm_return_t;
+ #define LIBSPDM_SOURCE_RNG 0x06
+ 
+ #define LIBSPDM_STATUS_CONSTRUCT(severity, source, code) \
+-    ((libspdm_return_t)(((severity) << 28) | ((source) << 16) | (code)))
++    ((libspdm_return_t)(((uint32_t)(severity) << 28) | ((uint32_t)(source) << 16) | (uint32_t)(code)))
  
  /* Success status is always 0x00000000. */
--#define LIBSPDM_STATUS_SUCCESS \
--    LIBSPDM_STATUS_CONSTRUCT(LIBSPDM_SEVERITY_SUCCESS, LIBSPDM_SOURCE_SUCCESS, 0x0000)
-+#define LIBSPDM_STATUS_SUCCESS (((libspdm_return_t)0x00000000))
- 
- #define LIBSPDM_RET_ON_ERR(status) \
-     do { \
+ #define LIBSPDM_STATUS_SUCCESS \
 diff --git a/library/spdm_crypt_lib/libspdm_crypt_hmac.c b/library/spdm_crypt_lib/libspdm_crypt_hmac.c
 index 56f8b0efea..9ea14f3ea7 100644
 --- a/library/spdm_crypt_lib/libspdm_crypt_hmac.c