qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v4 06/17] sev: Fix error handling in sev_encrypt_flash()


From: Roy Hopkins
Subject: [PATCH v4 06/17] sev: Fix error handling in sev_encrypt_flash()
Date: Wed, 3 Jul 2024 12:05:44 +0100

The function sev_encrypt_flash() checks to see if the return value of
launch_update_data() < 0, but the function returns a non-zero (and not
necessarily negative) result on error. This means that some errors in
updating launch data will result in the function returning success.

In addition, the function takes an Error parameter which is not used
when an error is actually returned.

The return value is now checked for non-zero to indicate an error and
a suitable error message is logged.

Signed-off-by: Roy Hopkins <roy.hopkins@suse.com>
---
 target/i386/sev.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/target/i386/sev.c b/target/i386/sev.c
index 3ab8b3c28b..491ca5369e 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -1542,12 +1542,9 @@ sev_encrypt_flash(hwaddr gpa, uint8_t *ptr, uint64_t 
len, Error **errp)
 
     /* if SEV is in update state then encrypt the data else do nothing */
     if (sev_check_state(sev_common, SEV_STATE_LAUNCH_UPDATE)) {
-        int ret;
-
-        ret = klass->launch_update_data(sev_common, gpa, ptr, len);
-        if (ret < 0) {
-            error_setg(errp, "SEV: Failed to encrypt pflash rom");
-            return ret;
+        if (klass->launch_update_data(sev_common, gpa, ptr, len)) {
+            error_setg(errp, "SEV: Failed to encrypt flash");
+            return -1;
         }
     }
 
-- 
2.43.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]